diff --git a/.github/workflows/report.yml b/.github/workflows/report.yml index 60990b24ca..2ba1b6252d 100644 --- a/.github/workflows/report.yml +++ b/.github/workflows/report.yml @@ -26,7 +26,7 @@ jobs: - name: Grab Needed Data run: | wget -q https://nvd.handsonhacking.org/nvd.jsonl - wget -q https://raw.githubusercontent.com/CVEProject/cve-website/dev/src/assets/data/CNAsList.json + wget -q https://raw.githubusercontent.com/CVEProject/cve-website/main/src/assets/data/CNAsList.json ls -lh - name: Run Notebooks env: diff --git a/CVE2016.ipynb b/CVE2016.ipynb index 2edf6e1ca6..1e3177f3c2 100644 --- a/CVE2016.ipynb +++ b/CVE2016.ipynb @@ -15,10 +15,10 @@ "id": "91b44dc2", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:10.424213Z", - "iopub.status.busy": "2024-09-13T08:21:10.423801Z", - "iopub.status.idle": "2024-09-13T08:21:11.067809Z", - "shell.execute_reply": "2024-09-13T08:21:11.067136Z" + "iopub.execute_input": "2025-02-02T04:19:44.332234Z", + "iopub.status.busy": "2025-02-02T04:19:44.332055Z", + "iopub.status.idle": "2025-02-02T04:19:44.989314Z", + "shell.execute_reply": "2025-02-02T04:19:44.988760Z" }, "tags": [ "remove-cell" @@ -100,10 +100,10 @@ "id": "98bafc2f-2e20-4032-a091-ec2dc0ecb7a5", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:11.070371Z", - "iopub.status.busy": "2024-09-13T08:21:11.069938Z", - "iopub.status.idle": "2024-09-13T08:21:30.630294Z", - "shell.execute_reply": "2024-09-13T08:21:30.629625Z" + "iopub.execute_input": "2025-02-02T04:19:44.991423Z", + "iopub.status.busy": "2025-02-02T04:19:44.991024Z", + "iopub.status.idle": "2025-02-02T04:20:08.752291Z", + "shell.execute_reply": "2025-02-02T04:20:08.751719Z" }, "tags": [ "remove-cell" @@ -226,10 +226,10 @@ "id": "fb2368b3", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:30.633064Z", - "iopub.status.busy": "2024-09-13T08:21:30.632850Z", - "iopub.status.idle": "2024-09-13T08:21:30.648606Z", - "shell.execute_reply": "2024-09-13T08:21:30.648045Z" + "iopub.execute_input": "2025-02-02T04:20:08.754453Z", + "iopub.status.busy": "2025-02-02T04:20:08.754267Z", + "iopub.status.idle": "2025-02-02T04:20:08.764441Z", + "shell.execute_reply": "2025-02-02T04:20:08.763882Z" }, "tags": [ "remove-input" @@ -274,10 +274,10 @@ "id": "39c9867a", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:30.650868Z", - "iopub.status.busy": "2024-09-13T08:21:30.650664Z", - "iopub.status.idle": "2024-09-13T08:21:30.672393Z", - "shell.execute_reply": "2024-09-13T08:21:30.671880Z" + "iopub.execute_input": "2025-02-02T04:20:08.766262Z", + "iopub.status.busy": "2025-02-02T04:20:08.766079Z", + "iopub.status.idle": "2025-02-02T04:20:08.783371Z", + "shell.execute_reply": "2025-02-02T04:20:08.782815Z" }, "tags": [ "remove-cell" @@ -309,10 +309,10 @@ "id": "a776139d", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:30.677056Z", - "iopub.status.busy": "2024-09-13T08:21:30.676521Z", - "iopub.status.idle": "2024-09-13T08:21:30.960273Z", - "shell.execute_reply": "2024-09-13T08:21:30.959588Z" + "iopub.execute_input": "2025-02-02T04:20:08.785351Z", + "iopub.status.busy": "2025-02-02T04:20:08.785037Z", + "iopub.status.idle": "2025-02-02T04:20:09.010682Z", + "shell.execute_reply": "2025-02-02T04:20:09.010091Z" }, "tags": [ "remove-input" @@ -321,7 +321,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABT4AAAK9CAYAAAANLXNZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACcOUlEQVR4nOzdd3hUZd7G8TsJSShShBWQFVlWVwWUVWCVKCooEBErWEFFARHEAryisiICFkRFROk1IB3pndBBQguEDlJCDQklpLcp5/0jm5FIS8LMnCnfz3Vx4cx55pzfcD1mztx5SoBhGIYAAAAAAAAAwIcEml0AAAAAAAAAADgbwScAAAAAAAAAn0PwCQAAAAAAAMDnEHwCAAAAAAAA8DkEnwAAAAAAAAB8DsEnAAAAAAAAAJ9D8AkAAAAAAADA5xB8AgAAAAAAAPA5BJ8AAAAAAAAAfA7BJwAAAAAAAACfQ/AJAADgZw4fPqx33nlH//znP1W8eHGVKVNGDz30kAYNGqTMzExt27ZNAQEB6tmz5xXPcfDgQQUEBKhbt26SpN69eysgIOCKf+Lj46+r5qNHj+Y7X1BQkG699VY9//zziomJua5zX0vHjh0VEhKi3bt3X3LMarWqdu3a+sc//qH09HSX1gEAAIDCKWZ2AQAAAHCfhQsX6sUXX1RoaKjeeOMN3X333crJydH69evVvXt37dmzRyNHjtRdd92lKVOm6KuvvrrseSZPnixJeu211/I9P2zYMN1www2XtC9XrpxT6n/11Vf15JNPymazad++fRo2bJgWL16sjRs36t5773XKNf7q22+/1dy5c9WxY0etW7dOAQEBjmMDBw7Url27tHDhQpUqVcol1wcAAEDREHwCAAD4idjYWL3yyiuqVq2aVq5cqZtvvtlxrHPnzjp06JAWLlwoSWrdurU+//xzbdy4UfXr17/kXFOmTNFdd92lOnXq5Hv+hRde0N/+9jeXvYc6derkC1sfeughPfPMMxo2bJhGjBhxXedOT0+/bHhZrlw5DRo0SC+//LJGjRqlDh06SJKOHz+uPn366KWXXtKTTz55XdcuCKvVKrvdrpCQEJdfCwAAwBcw1R0AAMBPfPfdd0pLS9OYMWPyhZ55br/9dn344YeScoNP6c+RnReLjo7WgQMHHG0K65dfflGtWrVUsmRJ3XjjjapXr95lr1MQjz32mKTcUDfPpk2b9MQTT6hs2bIqWbKkHn30Uf3+++/5Xpc3NX/v3r1q1aqVbrzxRjVo0OCK18kLNz/99FOdOXNGkvT+++8rODhYgwYNkiSdOnVKbdu2VaVKlRQaGqpatWpp7Nix+c6Tk5OjXr16qW7duipbtqxKlSqlhx9+WKtWrcrXLm9q/w8//KCffvpJt912m0JDQ7V3794i/TsBAAD4I0Z8AgAA+In58+frn//8px588MFrtq1evboefPBBTZ8+XQMHDlRQUJDjWF5I2apVq0tel5iYeMlzxYoVc0x1HzVqlD744AO98MIL+vDDD5WVlaWdO3dq06ZNlz3ftRw+fFiSVKFCBUnSypUr1axZM9WtW1dffPGFAgMDNW7cOD322GNat26d7r///nyvf/HFF/Wvf/1L33zzjQzDuOq1hg4dqlq1aqlr16566aWXNG/ePA0fPlyVK1dWQkKC6tevr4CAAL333nu66aabtHjxYrVr104pKSnq0qWLJCklJUWjR4/Wq6++qrffflupqakaM2aMwsPDtXnz5kum648bN05ZWVnq0KGDQkNDVb58+UL/GwEAAPgrgk8AAAA/kJKSolOnTunZZ58t8Gtat26tzp07a8WKFWratKkkyW63a9q0aQoLC9M///nPS15z5513Xva5/fv3S8pdY7RWrVqaMWNGkd5HRkaGzp07J5vNpv3796tr166ScgNMwzDUsWNHNWrUSIsXL3asxfnOO++oVq1a6tmzp5YtW5bvfP/+978LPNq0WrVq6tOnjz766CMtWbJEDz30kGPa+2effSabzaZdu3Y5QtiOHTvq1VdfVe/evfXOO++oRIkSuvHGG3X06NF809Xffvtt3XXXXfrll180ZsyYfNc8efKkDh06pJtuuqlI/14AAAD+jKnuAAAAfiAlJUWSVLp06QK/5uWXX1ZwcHC+YHDNmjU6derUFae5z5w5U5GRkfn+jBs3znG8XLlyOnnypLZs2VKk9/HFF1/opptuUuXKldWwYUMdPnxY/fv3V4sWLRQTE6ODBw+qVatWOn/+vM6dO6dz584pPT1djz/+uNauXSu73Z7vfB07dizU9bt06aLatWsrKSlJI0aMUEBAgAzD0MyZM/X000/LMAzHdc+dO6fw8HAlJydr27ZtkqSgoCBH6Gm325WYmCir1ap69eo52lysZcuWhJ4AAABFxIhPAAAAP1CmTBlJUmpqaoFfU6FCBYWHh2v27NkaPny4ihcvrsmTJ6tYsWJ66aWXLvuaRx555KqbG33yySdavny57r//ft1+++1q2rSpWrVqpYceeqhANXXo0EEvvviiAgMDVa5cOdWqVUuhoaGSpIMHD0qS2rRpc8XXJycn68Ybb3Q8rl69eoGumycoKEj33XefDh8+rFq1akmSzp49q6SkJI0cOVIjR4687Ovy1gWVpPHjx2vAgAHav3+/LBbLVWspbH0AAAD4E8EnAACAHyhTpoyqVKmi3bt3F+p1r732mhYsWKAFCxbomWee0cyZM9W0adMij0KsUaOGDhw4oAULFmjJkiWaOXOmhg4dql69eqlPnz7XfP2//vUvNW7c+LLH8kZzfv/995eslZnnhhtuyPe4RIkShXsDV7nua6+9dsXQtXbt2pKkiRMn6s0339Rzzz2n7t27q2LFigoKClK/fv0c65U6uz4AAAB/RfAJAADgJ5566imNHDlSUVFRCgsLK9BrnnnmGZUuXVqTJ09WcHCwLly4UOTd3POUKlVKL7/8sl5++WXl5OSoRYsW+vrrr9WjRw8VL168yOe97bbbJOWGvFcKR13hpptuUunSpWWz2a553d9++03//Oc/NWvWLMcapFLuFH4AAAA4F2t8AgAA+ImPP/5YpUqVUvv27ZWQkHDJ8cOHD2vQoEH5nitRooSef/55LVq0SMOGDVOpUqUKtUHSX50/fz7f45CQENWsWVOGYeSb9l0UdevW1W233aYffvhBaWlplxw/e/bsdZ3/SoKCgtSyZUvNnDnzsiNqL75uUFCQJOXbQX7Tpk2KiopySW0AAAD+jBGfAAAAfuK2227T5MmT9fLLL6tGjRp64403dPfddysnJ0cbNmzQjBkz9Oabb17yutdee00TJkzQ0qVL1bp1a5UqVeqK1/jtt98umU4uSU2aNFGlSpXUtGlTVa5cWQ899JAqVaqkffv2afDgwWrevHmhNl66nMDAQI0ePVrNmjVTrVq19NZbb+nvf/+7Tp06pVWrVqlMmTKaP3/+dV3jSr799lutWrVKDzzwgN5++23VrFlTiYmJ2rZtm5YvX67ExERJuaNuZ82apeeff17NmzdXbGyshg8frpo1a142rAUAAEDREXwCAAD4kWeeeUY7d+7U999/r7lz52rYsGEKDQ1V7dq1NWDAAL399tuXvOaxxx7TzTffrNOnT19zmnunTp0u+/yqVatUqVIlvfPOO5o0aZJ+/PFHpaWl6ZZbbtEHH3ygnj17OuX9NWzYUFFRUfryyy81ePBgpaWlqXLlynrggQf0zjvvOOUal1OpUiVt3rxZffv21axZszR06FBVqFBBtWrVUv/+/R3t3nzzTcXHx2vEiBFaunSpatasqYkTJ2rGjBlavXq1y+oDAADwRwHGxfNsAAAAAAAAAMAHsMYnAAAAAAAAAJ9D8AkAAAAAAADA5xB8AgAAAAAAAPA5BJ8AAAAAAAAAfA7BJwAAAAAAAACfQ/AJAAAAAAAAwOcUM7sAb2C32xUXF6fSpUsrICDA7HIAAAAAAAAAr2IYhlJTU1WlShUFBrpnLCbBZwHExcWpatWqZpcBAAAAAAAAeLUTJ07olltuccu1CD4LoHTp0pKk2NhYlS9f3uRq4MssFouWLVumpk2bKjg42Oxy4MPoa3AX+hrchb4Gd6GvwV3oa3AX+hrcJTExUdWrV3fkbO5A8FkAedPbS5curTJlyphcDXyZxWJRyZIlVaZMGT5w4FL0NbgLfQ3uQl+Du9DX4C70NbgLfQ3uYrFYJMmty0iyuREAAAAAAAAAn0PwCQAAAAAAAMDnEHwCAAAAAAAA8DkEnwAAAAAAAAB8DsEnAAAAAAAAAJ9D8AkAAAAAAADA5xB8AgAAAAAAAPA5BJ8AAAAAAAAAfA7BJwAAAAAAAACfQ/AJAAAAAAAAwOcQfAIAAAAAAADwOQSfAAAAAAAAAHwOwScAAAAAAAAAn0PwCQAAAAAAAMDnEHwCAAAAAAAA8DkEnwAAAAAAAAB8DsEnAAAAAAAAAJ9D8AkAAAAAAADA5xB8AgAAAAAAAPA5BJ8AAAAAAAAAfA7BJwAAAAAAAACfQ/AJAAAAAAAAwOcQfAIAAAAAAADwOaYGnzabTZ9//rmqV6+uEiVK6LbbbtOXX34pwzAcbQzDUK9evXTzzTerRIkSaty4sQ4ePJjvPImJiWrdurXKlCmjcuXKqV27dkpLS8vXZufOnXr44YdVvHhxVa1aVd99951b3iMAAAAAAAAA9zM1+Ozfv7+GDRumwYMHa9++ferfv7++++47/fLLL4423333nX7++WcNHz5cmzZtUqlSpRQeHq6srCxHm9atW2vPnj2KjIzUggULtHbtWnXo0MFxPCUlRU2bNlW1atUUHR2t77//Xr1799bIkSPd+n4BAAAAAAAAuIepweeGDRv07LPPqnnz5vrHP/6hF154QU2bNtXmzZsl5Y72/Omnn9SzZ089++yzql27tiZMmKC4uDjNmTNHkrRv3z4tWbJEo0eP1gMPPKAGDRrol19+0dSpUxUXFydJmjRpknJycjR27FjVqlVLr7zyij744AP9+OOPZr11AAAAAAAA040bF6O2bfdo6dLDZpcCOF0xMy/+4IMPauTIkfrjjz90xx13aMeOHVq/fr0jkIyNjVV8fLwaN27seE3ZsmX1wAMPKCoqSq+88oqioqJUrlw51atXz9GmcePGCgwM1KZNm/T8888rKipKjzzyiEJCQhxtwsPD1b9/f124cEE33nhjvrqys7OVnZ3teJySkiJJslgsslgsLvm3ACQ5+hf9DK5GX4O70NfgLvQ1uAt9De5CX4M72Gx29e27TomJFrVsOUN79nRStWplzS4LPsqMn2emBp+ffvqpUlJSdNdddykoKEg2m01ff/21WrduLUmKj4+XJFWqVCnf6ypVquQ4Fh8fr4oVK+Y7XqxYMZUvXz5fm+rVq19yjrxjfw0++/Xrpz59+lxS76pVq1SyZMmivl2gwCIjI80uAX6CvgZ3oa/BXehrcBf6GtyFvgZX2ro1RadOpUqScnLsevrpCH311e0qVizA5MrgizIyMtx+TVODz+nTp2vSpEmaPHmyatWqpZiYGHXp0kVVqlRRmzZtTKurR48e6tatm+NxSkqKqlatqkaNGqlChQqm1QXfZ7FYFBkZqSZNmig4ONjscuDD6GtwF/oa3IW+Bnehr8Fd6Gtwh7Fjf5Mk1a9fVps2JWv//nTNnGnV+PHPmlwZfNH58+fdfk1Tg8/u3bvr008/1SuvvCJJuueee3Ts2DH169dPbdq0UeXKlSVJCQkJuvnmmx2vS0hI0L333itJqly5ss6cOZPvvFarVYmJiY7XV65cWQkJCfna5D3Oa3Ox0NBQhYaGXvJ8cHAwHzhwC/oa3IW+Bnehr8Fd6GtwF/oa3IW+Blc5fTpVCxcelCS1bn2ztm1LUU6OoSlT9uipp+5Qq1a1Ta4QvsaMn2Wmbm6UkZGhwMD8JQQFBclut0uSqlevrsqVK2vFihWO4ykpKdq0aZPCwsIkSWFhYUpKSlJ0dLSjzcqVK2W32/XAAw842qxduzbfWgKRkZG68847L5nmDgAAAAAA4OsiImJksxkKDJSqVi2uoKA/p7e/+eZcHTuWZF5xgJOYGnw+/fTT+vrrr7Vw4UIdPXpUs2fP1o8//qjnn39ekhQQEKAuXbroq6++0rx587Rr1y698cYbqlKlip577jlJUo0aNfTEE0/o7bff1ubNm/X777/rvffe0yuvvKIqVapIklq1aqWQkBC1a9dOe/bs0bRp0zRo0KB809kBAAAAAAD8gd1uaPTo7ZJ02fU8LRa7Hn00QhaLzd2lAU5l6lT3X375RZ9//rneffddnTlzRlWqVNE777yjXr16Odp8/PHHSk9PV4cOHZSUlKQGDRpoyZIlKl68uKPNpEmT9N577+nxxx9XYGCgWrZsqZ9//tlxvGzZslq2bJk6d+6sunXr6m9/+5t69eqlDh06uPX9AgAAAAAAmG3VqlgdOXJBkhR4hSFxx44l66235mrixBZurAxwLlODz9KlS+unn37STz/9dMU2AQEB6tu3r/r27XvFNuXLl9fkyZOveq3atWtr3bp1RS0VAAAAAADAJ4watU2SFBCQm7tcyaRJu/TUU3folVfudldpgFOZOtUdAAAAAAAA7nPuXIZmz94vSTKMa7d/443ZOn482cVVAa5B8AkAAAAAAOAnJkzYoZycgq/dmbve5zhZrXYXVgW4BsEnAAAAAACAHzAMI98094I6ejRZbdvOdVFVgOsQfAIAAAAAAPiBDRtOaP/+c5IKNs39Yr/+ulPTpu1xQVWA6xB8AgAAAAAA+IGijPa82Ouvz9KJE6z3Ce9B8AkAAAAAAODjkpKyNH167ojNwo72zJO73mcE633CaxB8AgAAAAAA+LjJk3cpM9N63eeJjU1Su3as9wnvQPAJAAAAAADgw4q6qdGVTJiwUzNmsN4nPB/BJwAAAAAAgA+Ljj6tmJh4SUWf5v5XrVuz3ic8H8EnAAAAAACADxs1KlqSc0Z75rFY7GrYkPU+4dkIPgEAAAAAAHxUWlqOJk/eLcl5oz3zHDmSpPbt5zn3pIATEXwCAAAAAAD4qGnTdistLcdl5x8/fodmztzrsvMD14PgEwAAAAAAwEc5c1OjK2nVapZOnUpx3QWAIiL4BAAAAAAA8EG7diVo06ZTkpw/zf1iOTk2PfII633C8xB8AgAAAAAA+KDRo7e57VpHjlxQhw7z3XY9oCAIPgEAAAAAAHxMVpZVv/66063XHDcuRjNn7nPrNYGrIfgEAAAAAADwMTNn7tWFC1luv26rVjMVF8d6n/AMBJ8AAAAAAAA+xh2bGl1O3nqfNhvrfcJ8BJ8AAAAAAAA+5I8/zmvNmmOSXLup0ZUcPnxB77yzwP0XBv6C4BMAAAAAAMCHuHNToysZM2a7Zs9mvU+Yi+ATAAAAAADAR+Tk2BQREWN2GZKkV1+dqdOnU80uA36M4BMAAAAAAMBHzJt3QGfPZphdhiQpO5v1PmEugk8AAAAAAAAfYdamRldy6FCiOnZkvU+Yg+ATAAAAAADABxw9mqTIyMOSzNnU6EpGj96uuXP3m10G/BDBJwAAAAAAgA8YO3a7RwWeF3v55d9Y7xNuR/AJAAAAAADg5axWu8aO3W52GVeUnW3To4+y3ifci+ATAAAAAADAyy1ZckinTnn2iMqDBxP17rsLzS4DfoTgEwAAAAAAwMt52qZGVzJy5DbNm3fA7DLgJwg+AQAAAAAAvFhcXKoWLvxDkmdtanQlL700Q/Hxnj06Fb6B4BMAAAAAAMCLjRu3XTabFySe/5OdbVPDhuNZ7xMuR/AJAAAAAADgpex2Q2PGeO6mRldy4MB5de68yOwy4OMIPgEAAAAAALzUihVHFBubZHYZRTJiRLQWLPjD7DLgwwg+AQAAAAAAvJS3bGp0JS+8MJ31PuEyBJ8AAAAAAABe6OzZdM2Zs1+Sd2xqdDnZ2TY1ajRedruXvgF4NIJPAAAAAAAALzRhwg5ZLN6/QdD+/ef13nus9wnnI/gEAAAAAADwMoZheP0094sNG7ZVCxey3ieci+ATAAAAAADAy6xff1wHDpyX5L3T3P/qhRdmKCEhzewy4EMIPgEAAAAAALyML432zJOVZVXDhqz3Cech+AQAAAAAAPAiFy5kasaMvZJ8Z7Rnnv37z+mDDxabXQZ8BMEnAAAAAACAF5k0aZeysqxml+EyQ4Zs0aJFB80uAz6A4BMAAAAAAMBL+NqmRlfSsuV0nTnDep+4PgSfAAAAAAAAXmLLljjt3JkgyfemuV8sK8uqRo1Y7xPXh+ATAAAAAADAS4waFS3Jt0d75tm795w+/JD1PlF0BJ8AAAAAAABeIDU1W1Om7Jbk26M9LzZ48BYtWXLI7DLgpQg+AQAAAAAAvMC0aXuUnm4xuwy3a9FiGut9okgIPgEAAAAAALyAP2xqdDmZmVY1ajSB9T5RaASfAAAAAAAAHm7nzgRt3nxKkv9Mc7/Y3r1n1bXrUrPLgJch+AQAAAAAAPBweZsa+bOff96kpUtZ7xMFR/AJAAAAAADgwTIzLZo4cZfZZXiE55+fprNn080uA16C4BMAAAAAAMCD/fbbXiUlZZldhkfIzLTqscfGs94nCoTgEwAAAAAAwIP566ZGV7J791l168Z6n7g2gk8AAAAAAAAPtX//Oa1bd1ySf25qdCWDBm1SZORhs8uAhyP4BAAAAAAA8FCjR28zuwSP9eyzU3XuHOt94soIPgEAAAAAADxQdrZV48fvMLsMj5W73ucE1vvEFRF8AgAAAAAAeKB58w7o3LkMs8vwaLt2ndH//R/rfeLyCD4BAAAAAAA8EJsaFcxPP23S8uWs94lLEXwCAAAAAAB4mNjYC4qMPCKJTY0K4tlnp7HeJy5B8AkAAAAAAOBhxozZbnYJXiUjw6LHH/9VBikxLkLwCQAAAAAA4EGsVrvGjYsxuwyvs3Nngj76KNLsMuBBCD4BAAAAAAA8yKJFBxUXl2p2GV7pxx+jtGLFEbPLgIcg+AQAAAAAAPAgbGp0fZ55ZqrOn88wuwx4AIJPAAAAAAAAD3HyZIoWLTooiU2Niip3vc8JrPcJc4PPf/zjHwoICLjkT+fOnSVJWVlZ6ty5sypUqKAbbrhBLVu2VEJCQr5zHD9+XM2bN1fJkiVVsWJFde/eXVarNV+b1atXq06dOgoNDdXtt9+uiIgId71FAAAAAACAAhs3brvsdgK767VjR4I+/pj1Pv2dqcHnli1bdPr0acefyMjcDvniiy9Kkrp27ar58+drxowZWrNmjeLi4tSiRQvH6202m5o3b66cnBxt2LBB48ePV0REhHr16uVoExsbq+bNm6tRo0aKiYlRly5d1L59ey1dutS9bxYAAAAAAOAq7HaD3dyd6IcforRyZazZZcBExcy8+E033ZTv8bfffqvbbrtNjz76qJKTkzVmzBhNnjxZjz32mCRp3LhxqlGjhjZu3Kj69etr2bJl2rt3r5YvX65KlSrp3nvv1ZdffqlPPvlEvXv3VkhIiIYPH67q1atrwIABkqQaNWpo/fr1GjhwoMLDw93+ngEAAAAAAC5n+fIjOnYs2ewyfMozz0zRsWNdVKFCSbNLgQlMDT4vlpOTo4kTJ6pbt24KCAhQdHS0LBaLGjdu7Ghz11136dZbb1VUVJTq16+vqKgo3XPPPapUqZKjTXh4uDp16qQ9e/bovvvuU1RUVL5z5LXp0qXLFWvJzs5Wdna243FKSookyWKxyGKxOOkdA5fK61/0M7gafQ3uQl+Du9DX4C70NbgLfc0/jRixVZIUHBygYsXcs7NRiRKB+f72FYZhKDvbUHq6RY0bT9CmTW0VwG5RpjLj55nHBJ9z5sxRUlKS3nzzTUlSfHy8QkJCVK5cuXztKlWqpPj4eEebi0PPvON5x67WJiUlRZmZmSpRosQltfTr1099+vS55PlVq1apZEl+QwDXy1v2AXA1+hrchb4Gd6GvwV3oa3AX+pr/SEqyaN68A5Kk77+/Q//4x6V5hSuNHXu3W6/nDocPZ+iTTw4qJiZBnTqN1zPPVDS7JL+WkZHh9mt6TPA5ZswYNWvWTFWqVDG7FPXo0UPdunVzPE5JSVHVqlXVqFEjVahQwcTK4OssFosiIyPVpEkTBQcHm10OfBh9De5CX4O70NfgLvQ1uAt9zf8MGLBRVuseBQRIPXocdNt1S5QI1Nixd6tt293KzLS77brukjfIc9y4OLVu3UgPP1zN3IL82Pnz591+TY8IPo8dO6bly5dr1qxZjucqV66snJwcJSUl5Rv1mZCQoMqVKzvabN68Od+58nZ9v7jNX3eCT0hIUJkyZS472lOSQkNDFRoaesnzwcHBfODALehrcBf6GtyFvgZ3oa/BXehrcBf6mn8wDEPjxu1wPDYjgMzMtPtk8JnHMKRnnpmuEye66sYb3TuaFrnM+FnmEQs4jBs3ThUrVlTz5s0dz9WtW1fBwcFasWKF47kDBw7o+PHjCgsLkySFhYVp165dOnPmjKNNZGSkypQpo5o1azraXHyOvDZ55wAAAAAAADDT2rXH9McfuaPhDMPkYnxY3nqfBv/IfsP04NNut2vcuHFq06aNihX7cwBq2bJl1a5dO3Xr1k2rVq1SdHS03nrrLYWFhal+/fqSpKZNm6pmzZp6/fXXtWPHDi1dulQ9e/ZU586dHSM2O3bsqCNHjujjjz/W/v37NXToUE2fPl1du3Y15f0CAAAAAABcbNSobZL+nJYN19m2LV49eqy4dkP4BNODz+XLl+v48eNq27btJccGDhyop556Si1bttQjjzyiypUr55sOHxQUpAULFigoKEhhYWF67bXX9MYbb6hv376ONtWrV9fChQsVGRmpf//73xowYIBGjx6t8PBwt7w/AAAAAACAK0lMzNRvv+2VxGhPd+nf/3etXXvU7DLgBqav8dm0adMrDjEuXry4hgwZoiFDhlzx9dWqVdOiRYuueo2GDRtq+/bt11UnAAAAAACAs02cuFPZ2Tazy/A7zZtP0YkTXVWuXHGzS4ELmT7iEwAAAAAAwB8ZhsE0d5OkpeWw3qcfIPgEAAAAAAAwwebNp7R7d+6GzeRv7hcdfVqffbbS7DLgQgSfAAAAAAAAJmC0p/n69VuvdeuOmV0GXITgEwAAAAAAwM1SU7M1depuSYz2NNuTT05WUlKW2WXABQg+AQAAAAAA3GzKlN1KT7eYXQaUu95nkyas9+mLCD4BAAAAAADcjGnunmXr1tP6/PNVZpcBJyP4BAAAAAAAcKOYmHht3RoniWnunuSbb9Zp/frjZpcBJyL4BAAAAAAAcKNRo6IlMdrT0xiG9OSTk5SczHqfvoLgEwAAAAAAwE0yMiyaNGmXJEZ7eqLU1Bw1afIr6336CIJPAAAAAAAAN5kxY4+Sk7PNLgNXsWVLnHr1Wm12GXACgk8AAAAAAAA3YVMj7/D112v1++8nzC4D14ngEwAAAAAAwA327TvrCNOYSe3ZDENq1mwi6316OYJPAAAAAAAANxg9epvZJaAQUlNz1LTpRNb79GIEnwAAAAAAAC6WnW3V+PE7zC4DhbR58yn17r3a7DJQRASfAAAAAAAALjZnzn6dP59pdhkogi+/XKuoKNb79EYEnwAAAAAAAC7GpkbeyzCkJ56YpJSUbLNLQSERfAIAAJex2w0lJGTr9Ok0ZWRYWB8JAAD4pcOHE7ViRawkNjXyVikp2Wra9FfuZ71MMbMLAAAAvuujjyI1ePA+SfskScWKBapMmVCVK1dc5coVV9myof/7O/e/L338Z7u850JDuX0BAADeZcyY7WaXACfYtOmU+vZdoy++aGh2KSggvjkAAACXWLfumAYP3prvOavVrsTETCUmFn19q5CQIEdAmheS/hmOXj4s/WuYWqwYk14AAIB7WCw2jRsXY3YZcJI+fdaoadPbFBZW1exSUAAEnwAAwOmysqxq336+JKlJkwpaty5RWVkFmxZ08bpXl5tJlJNj09mzGTp7NqPI9ZUsGXyFkadXDksvPl6mTKgCA1mgCwAAXNvChQcVH59mdhlwkrz1Pk+c6KoyZULNLgfXQPAJAACc7quv1uqPP85Lktq0uVnr11+QVLDg0xnLJl0rPM3IsCgjw3JdX0JKlw5RmTKhuvHGi0edFnzk6Q03hCiA3Q0AAPB5F29qxPKQviElJVvh4RO1YUNb7uc8HMEnAABwqp07E9S//++SpNDQQN1wg/tvN5wZnl7pXKmpOUpNzdGpU6lFOn9gYIBKlw654pT9J5/8l5o1+1cRqwcAAJ7gxIlkLVlySBKhp6/ZuPGk3nxzrpo0+acqVCihChVKqnz5EqpQoYTKli3O7CAPQfAJAACcxmazq337ebJa7ZKkQC9eStPV4andbig5OVvJydk6diz5kuODB2/RJ588pH79HmckAQAAXmrcuBjZ7SSevmrChB2aMGHHJc8HBQWobNni+tvfSupvfyvpCEYrVCjhCEfzHl/8d/HixHTOxr8oAABwmp9/3qQtW+LMLsNjXG942r//74qNvaBJk1qyIRMAAF7GZrOzm7uPu9IvuW02w7GhZ97yTwVRokQx3XhjCd10U8mLAtH84ehfg9Ny5YorKIj7xCsh+AQAAE4RG3tBPXuuksQaVs40ffpenTiRomXLXtcNN4SYXQ4AACigyMgjOn780lkd8B1Fvd+9UmCamWlVZmaq4uIKvpRSQIDyjS79Mxi9/KjSvOMlSwb7xawigk8AAHDdDMNQx44LlZFh+d9jkwvyMVFRJ/Xvfw/Xhg1tVanSDWaXAwAACoBNjXAlRekPVwpLDUNKSspSUlKWDh1KLPD5QkKCVL58ib9Mx8+bin9pYFqhQgndeGMJr5uFRPAJAACu28SJO7Vs2WGzy/BpR45cUM2aQ7VhQ1vdeeffzC4HAABcRUJCmubNOyCJ0BPO4ezRpTk5NsXHpyk+Pq1Q5ytdOkQVKpQs1HT8G24IMW10KcEnAAC4LmfOpKtLl6WScjczsttNLsiHJSZm6t57R2jZstf08MPVzC4HAABcQUREjGOzR8BM1zO69HKvT03NUWpqjo4eTSrw+YoVC1T58iVUrlzha7le3jU+FQAAeJwuXZYoMTFTEqGnO2RlWdWw4XhNmbLb7FIAAMBlGIah0aNzNzXygyUU4YMM488/hREQcPk+b7XadeZMeqE2enIWgk8AAFBkCxf+QQBnArvdUKtWM/XNN+vMLgUAAPzF6tVHHWstMs0d/uRaYWlwsPt/E0DwCQAAiiQ1NVudOi2UxGgGs3z22Uq1azdXdjvfqgAA8BQXb2oE4E9BQQSfAADAS3z22UqdOJEiidEMZho7Nkbh4b8qK8tqdikAAPi98+czNHPmPkncHwGegOATAAAUWlTUCQ0evNnsMvA/y5fHql69kY61VgEAgDkmTtypnByb2WUA+B+CTwAAUCjZ2Va1azdPhsEULk+yZ89Z1ao1tFA7bAIAAOcxDINp7oCHIfgEAACF8u2367Vv3zlJTOHyNPHxabrnnmGKjo4zuxQAAPzOxo0ntWfPWUncIwGeguATAAAU2N69Z/X117k7iTOSwTOlpeWofv0xmjfvgNmlAADgVxjtCXgegk8AAFAgNptd7dvPk8Vil8RIBk9mtdr13HNTWYcVAAA3SUnJ1rRpeyRxjwR4EoJPAABQIMOGbVVU1Emzy0ABGYb0/vuL1bXrEhl8AwMAwKUmT96ljAyL2WUA+AuCTwAAcE3HjyerR48Vkpi+5W1++mmTWrSYJouFHWYBAHAVprkDnongEwAAXJVhGOrUaaHS0nL+99jkglBoc+Yc0IMPjlVKSrbZpQAA4HO2bTutbdtOS+I+CfA0BJ8AAOCqpk3bo0WLDppdBq7T1q1xql17mOLiUs0uBQAAnzJqVLQkRnsCnojgEwAAXNH58xn64IPFkqTAQO7mvd2xY8mqVWuodu9OMLsUAAB8Qnp6jiZN2iWJ0Z6AJyL4BAAAV9St2zKdPZshSbLbuZv3BUlJWapbd5RWrDhidikAAHi9GTP2KjU1x+wyAFwBwScAALisZcsOa8KEHWaXARfIybGpadOJGj8+xuxSAADwamxqBHg2gk8AAHCJ9PQcvfPOAkncyPsqu93Qm2/O1RdfrJLB3DwAAAptz54z2rDhhCSmuQOeiuATAABc4vPPV+no0SRJ3Mj7ur5916pNmzmy2exmlwIAgFcZPXqb2SUAuAaCTwAAkM/mzac0aNAms8uAG/366049/vgEZWRYzC4FAACvkJVl1YQJO80uA8A1EHwCAAAHi8Wm9u3nyW43mOLuZ9asOaY6dUbo7Nl0s0sBAMDjzZ69T4mJmWaXAeAaCD4BAIDD999v0K5dZyQxxd0fHThwXrVqDdXhw4lmlwIAgEdjUyPAOxB8AgAASdKBA+fUt+8aSdzE+7OzZzNUu/Zwbdx40uxSAADwSIcOJWrVqqOS+EUx4OkIPgEAgOx2Q2+/PV/Z2TZJ3MT7u4wMixo0GKuZM/eaXQoAAB6HTY0A70HwCQAANGpUtNatO252GfAgNpuhF16YoQEDoswuBQAAj2Gx2BQREWN2GQAKiOATAAA/d+pUij7+eLkkprjjUh99tEydOy+U3c4wYAAAFiz4QwkJbAQIeAuCTwAA/JhhGOrceZFSUrL/99jkguCRhg7dqqefnqycHJvZpQAAYCo2NQK8C8EnAAB+bObMfZo794DZZcALLFp0SPffP0pJSVlmlwIAgCmOH0/WkiWHJPHLYsBbEHwCAOCnLlzI1HvvLZLEqAUUzI4dCbrnnmE6cSLZ7FIAAHC7sWO3E3gCXobgEwAAP9W9e6RjjSpu4lFQJ0+m6O67h2nHjnizSwEAwG1sNrvGjt1udhkACongEwAAP7RyZazGjOHmHUWTkpKt//xnlJYtO2x2KQAAuMXSpYd14kSK2WUAKCSCTwAA/ExGhkUdOsyXxBR3FJ3FYtcTT0zUqFHRZpcCAIDLsakR4J0IPgEA8DN9+qzW4cMXJDHFHdfHMKQOHRaoR4/lMuhMAAAfdfp0qubPz90Mko87wLsQfAIA4Ee2bTutAQOiJDFiAc7z7be/65VXfpPVaje7FAAAnC4iIkY2G4kn4I0IPgEA8BNWq13t289z3LgzYgHONH36Xj366DilpeWYXQoAAE5jtxsaPTp3XXR+aQx4H9ODz1OnTum1115ThQoVVKJECd1zzz3aunWr47hhGOrVq5duvvlmlShRQo0bN9bBgwfznSMxMVGtW7dWmTJlVK5cObVr105paWn52uzcuVMPP/ywihcvrqpVq+q7775zy/sDAMBT/PhjlLZvZyduuM6GDSd1773DlZCQdu3GAAB4gdWrj+rIEZYIAryVqcHnhQsX9NBDDyk4OFiLFy/W3r17NWDAAN14442ONt99951+/vlnDR8+XJs2bVKpUqUUHh6urKwsR5vWrVtrz549ioyM1IIFC7R27Vp16NDBcTwlJUVNmzZVtWrVFB0dre+//169e/fWyJEj3fp+AQAwy6FDifrii9WSGK0A1zp8+IJq1hyqAwfOmV0KAADXjU2NAO9WzMyL9+/fX1WrVtW4ceMcz1WvXt3x34Zh6KefflLPnj317LPPSpImTJigSpUqac6cOXrllVe0b98+LVmyRFu2bFG9evUkSb/88ouefPJJ/fDDD6pSpYomTZqknJwcjR07ViEhIapVq5ZiYmL0448/5gtIAQDwRYZhqEOH+crKsv7vsckFweclJmbq3ntHKDLydTVocKvZ5QAAUCTnzmVo1qx9krh/AryVqcHnvHnzFB4erhdffFFr1qzR3//+d7377rt6++23JUmxsbGKj49X48aNHa8pW7asHnjgAUVFRemVV15RVFSUypUr5wg9Jalx48YKDAzUpk2b9PzzzysqKkqPPPKIQkJCHG3Cw8PVv39/XbhwId8IU0nKzs5Wdna243FKSookyWKxyGKxuOTfApDk6F/0M7gafc2/RETs0KpVRyVJoaEBCgx035CFEiUC8/0N32cYhrKzDWVlWdWwYYTGj39WL71U0+XX5eca3IW+Bnehr5kvImK7cnJsCgiQihf33XsZ7tfgLsWLB+qiCdxuYWrweeTIEQ0bNkzdunXTf//7X23ZskUffPCBQkJC1KZNG8XH565DVqlSpXyvq1SpkuNYfHy8KlasmO94sWLFVL58+XxtLh5JevE54+PjLwk++/Xrpz59+lxS76pVq1SyZMnreMdAwURGRppdAvwEfc33XbhgUdeu+yVJb75ZRc89V/Ear3CNsWPvNuW6MEd2tl0DBhzV5s0pev31OVq1aouefvomt1ybn2twF/oa3IW+Zg7DMDRoUO491Dvv3KInnvibyRW5HvdrcLWMjAy1auXea5oafNrtdtWrV0/ffPONJOm+++7T7t27NXz4cLVp08a0unr06KFu3bo5HqekpKhq1apq1KiRKlSoYFpd8H0Wi0WRkZFq0qSJgoODzS4HPoy+5j9eeWWW0tNzRypMnXpa06a5d3OjEiUCNXbs3WrbdrcyM+1uvTbMZRiGgoIkm00aM+aUDONvGjr0SZeNOObnGtyFvgZ3oa+Za8OGEzp5cockKSLilMaPjzO5Itfhfg3uUrx4jtuvaWrwefPNN6tmzfxTn2rUqKGZM2dKkipXrixJSkhI0M033+xok5CQoHvvvdfR5syZM/nOYbValZiY6Hh95cqVlZCQkK9N3uO8NhcLDQ1VaGjoJc8HBwfzgQO3oK/BXehrvm3OnP2aNSt3pIJhSFlZhiRzFqjKzLRzI+3nxo7doePHUzR/fisVL+66W1B+rsFd6GtwF/qaOcaN2ykpd1MjM++h3In7NbiaYbi/f5m6gMNDDz2kAwcO5Hvujz/+ULVq1STlbnRUuXJlrVixwnE8JSVFmzZtUlhYmCQpLCxMSUlJio6OdrRZuXKl7Ha7HnjgAUebtWvX5lsbJTIyUnfeeecl09wBAPAFyclZ6tx5kSR2IYXnWL48VvXqjVRiYqbZpQAAcEVJSVmaPn2PJDY1ArydqcFn165dtXHjRn3zzTc6dOiQJk+erJEjR6pz586SpICAAHXp0kVfffWV5s2bp127dumNN95QlSpV9Nxzz0nKHSH6xBNP6O2339bmzZv1+++/67333tMrr7yiKlWqSJJatWqlkJAQtWvXTnv27NG0adM0aNCgfNPZAQDwJZ9+ulxxcamSuGGHZ9mz56xq1Rqqo0eTzC4FAIDLmjx5lzIzrWaXAcAJTA0+//Of/2j27NmaMmWK7r77bn355Zf66aef1Lp1a0ebjz/+WO+//746dOig//znP0pLS9OSJUtUvHhxR5tJkybprrvu0uOPP64nn3xSDRo00MiRIx3Hy5Ytq2XLlik2NlZ169bV//3f/6lXr17q0KGDW98vAADusHbtMQ0fHn3thoBJ4uPTdM89wxQd7bvrpQEAvJNhGBo1apskZs0AvsDUNT4l6amnntJTTz11xeMBAQHq27ev+vbte8U25cuX1+TJk696ndq1a2vdunVFrhMAAG+QlWXV22/Pl5R7s85oT3iqtLQc1a8/RrNmvaSnn77T7HIAAJAkbdt2WjExuZtBch8FeD9TR3wCAADn+uqrtfrjj/OSuFmH57Na7Xr22akaPHiz2aUAACBJjPYEfAzBJwAAPmLnzgT17/+7JG7W4T0MQ3r//cXq1m2pDNJ6AICJ0tJyNHnyLkn8AhnwFQSfAAD4AJvNrvbt58lqtUviZh3eZ+DAjWrRYrosFpvZpQAA/NT06XuUmppjdhkAnIjgEwAAH/Dzz5u0ZQsbxcC7zZmzXw8+OFYpKdlmlwIA8ENMcwd8D8EnAABeLjb2gnr2XCWJG3V4v61b41S79jDFxaWaXQoAwI/s3n1GGzeelMTMGcCXEHwCAODFDMNQx44LlZFh+d9jkwsCnODYsWTVqjVUu3cnmF0KAMBPjBoVbXYJAFyA4BMAAC/26687tWzZYbPLAJwuKSlL9eqN0sqVsWaXAgDwcVlZVv36606zywDgAgSfAAB4qTNn0tW161JJUiCf6PBB2dk2NWnyq8aPjzG7FACAD5s5c68uXMgyuwwALlDM7AIAAEDRdOmyRImJmZIku93kYgAXsdsNvfnmXMXGJumLLx5VAAvZFll6eo5OnUrVyZMpOnUqRSdPpuj06TQ99lh1PffcXWaXBwCmydvUKDCQeyrA1xB8AgDghRYu/ENTpuw2uwzAbfr0WaMjRy5o3LhnFRTEEOeLGYahxMTMS0LNvMd5/52UdPnRTL/8sllff/2Y/vvfh91cOQCY748/zmvNmmOSCD0BX0TwCQCAl0lNzVanTgsl5e7izoZG8Be//rpTx48na9Gi1ipZMtjsctzCZrMrISH9ogAzf6iZ93dWlrXQ577458dnn61UmTKheu+9+538DgDAs40Zs83sEgC4EMEnAABe5r//XaETJ1IkEXrC/6xZc0x16ozQ+vVt9be/lTS7nOuSlWVVXNzVR2mePp0qm61w/6PnrQZwrZ8Pfz3+/vuLVbp0iNq0ubdQ1wMAb5WTY1NExA6zywDgQgSfAAB4kQ0bTmjIkC1mlwGY6sCB86pVa4g2bGin224rb3Y5l5WSkp0v0LzcKM1z5zIKfd6ChJrX8wuRt96aq1KlQvTCCzWLfhIA8BLz5x/QmTPpZpcBwIUIPgEA8BLZ2Va1bz9PhsEUd+DMmQzVrj1cK1a8ofr1b3Hbde12Q+fOZVx1lObJkylKS8sp9LkL8v+1q/+/NwzppZdmaNGi1nriidtdezEAMFnepkbcVwG+i+ATAAAv8e2367Vv3zlJ3JwDkpSRYVGDBmM1ffoLevrpf133+SwWm06fTrvqKM24uFTl5NgKdd6iTj03i2FITz01WStXttEjj1QzuxwAcImjR5O0bNlhSZ7z8xeA8xF8AgDgBfbsOaOvv14niVEJwMVsNkMtW87Qd989rjvuuHK79PQcnTqVetVRmgkJaYX+f8vVU8/NYrMZatx4gjZsaKt69f5udjkA4HRjx273yp/PAAqH4BMAAA9ns9nVvv18WSx2Sd4ZogCu9vHHK/TUU3/T6dPbFR+f8ZfRmim6cCGr0Of01VCzoCwWuxo0GKfo6A6qVaui2eUAgNNYrXaNHbvd7DIAuAHBJwAAHm7YsK3auPGk2WUAHm/BgnNasGBxgdp6wnqa3iA726b77x+tHTve0e23VzC7HABwiiVLDunUqVSzywDgBoFmFwAAAK7s+PFk9eixQtKfo88AXCo4OEA1a5ZSUFCAAgtwh0uoWXAZGRbVrTtKx48nmV0KADjFxZsaAfBtBJ8AAHgowzDUqdNCx+7QBDXAlRUrFqBvvvmXQkICZLebXY3vSUnJVt26I5WQkGZ2KQBwXeLiUrVw4R+SuLcC/AHBJwAAHmrq1N1atOig2WUAgCTp3LlM1akzQomJmWaXAgBFFhERI5uNxBPwFwSfAAB4oHPnMvTBB0skSYGBzMMC4Bni4tJUr95IpaRkm10KABSa3W5o9OhtZpcBwI0IPgEA8ED/93/LdO5chqTcm3QA8BSxsUl64IHRysiwmF0KABTKypWxio1NMrsMAG5E8AkAgIdZtuywJkzYYXYZAHBF+/efU4MGY5WdbTW7FAAoMDY1AvwPwScAAB4kLS1H77yzQBI35QA82/bt8Xr88QmyWtlNCoDnO3s2XbNn75PEpkaAPyH4BADAg/TqtUpHjyZJ4qYcgOf7/fcTevLJSSzJAcDjTZiwQxYLv6gB/A3BJwAAHmLz5lMaNGiT2WUAQKFERh7RCy9Ml8FvawB4KMMwmOYO+CmCTwAAPIDFYlP79vNktxvckAPwOrNn79ebb84l/ATgkdavP64DB85LYkYN4G8IPgEA8ADfffe7du06I4kbcgDeacKEHfrgg8VmlwEAl2C0J+C/CD4BADDZ/v3n1LfvWknckAPwboMHb9F//7vC7DIAwOHChUzNmLFXEr9cBvwRwScAACay2w116DBfOTk2SdyQA/B+/fqtV79+68wuAwAkSZMn71JWltXsMgCYhOATAAATjRoVrXXrjptdBgA41X//u1KDB282uwwAfo5NjQAQfAIAYJJTp1L08cfLJXEzDsD3vP/+Yk2YEGN2GQD82NatcdqxI0ESs2oAf0XwCQCACQzD0LvvLlJKSvb/HptcEAC4wJtvztWsWXvNLgOAn2K0JwCCTwAATDBz5j7Nm3fA7DIAwKUMQ3rxxd+0dOkhs0sB4GfS0nI0ZcpuSfyCGfBnBJ8AALjZhQuZeu+9RZIYgQDA99nthpo3n6x1646ZXQoAPzJ16m6lpeWYXQYAkxF8AgDgZt27RyohIV0SIxAA+AebzdDjj09QdHSc2aUA8BNMcwcgEXwCAOBWK1fGasyY7WaXAQBuZ7HY1aDBOO3Zc8bsUgD4uJ07E7R58ylJ/JIZ8HcEnwAAuElGhkUdOsyXxOgDAP4pK8uqBx4YrcOHE80uBYAPGzUq2uwSAHiIYmYXAACAv+jTZ7UOH74gidEHAPxXerpFdeuO1O7d7+qWW8qYXQ7gsbKzrdq6NVlW6x8qVSpUISFBCg0N+t/fxa76OMCPf8OamWnRxIm7zC4DgIcg+AQAwA22bTutAQOiJOWO9iT4BODPkpOzdd99I7Rnz7uqWLGU2eUAHicjw6LGjSdp06ZTkmIL/frg4ECFhARdFIYWU/HiuX8XNDwNDS1Im4I/zvvvwEDXhrIzZ+5TUlKWS68BwHsQfAIA4GJWq13t28+TzWYQegLA/5w7l6H77huhXbs6qXz5EmaXA3gMq9Wul1/+TZs2nVLJkoHKyrLLbi/cOSwWuywWu9LTLa4p8joUKxao4OBARyCbG4peHJJeXyA7fHjuNPfAwADZ7dx0Af6O4BMAABf78ccobd8eL4nQEwAuFheXqnr1RmrHjo4qXTrU7HIA0xmGoU6dFmjBgj8kSZ9//k/17XtEmZmFTD6d7Eoz54tyX2O12mW12pWZaZWUfV11XQ2hJwCJzY0AAHCpQ4cS9cUXqyWxoREAXE5sbJLuv3+0MjI8b2Qa4G69e6/W6NHbJUmhoYGqUeMGkyvKZRiX/+MJAgIu/wcAJIJPAABcxjAMdegwX1lZ1v89NrkgAPBQ+/ef08MPj1N2ttXsUgDTjBixVX37rpWUG9wF8m29QDw5lAVgPn6UAgDgImPHbteqVUfNLgMAvMK2bafVuPGvslrNndILmGHOnP16991FktgEEQCcieATAAAXOH06VR99FClJLt+9FAB8xfr1x9W8+WTW5oNfWb/+uF59dabsdjZBBABnI/gEAMAFPvhgiZKSsiSxuD4AFMayZYf14ovTZZD+wA/s3XtWTz89hWVxAMBFCD4BAHCyOXP267ff9ppdBgB4rVmz9uvNN+cSfsKnnTyZoieemOj4RSkAwPkIPgEAcKLk5Cx17vznGl0AgKKZMGGHPvhgsdllAC5x4UKmmjWbpBMnUswuBQB8GsEnAABO9MknyxUXlyqJ6WoAcL0GD96izz5bYXYZgFNlZVn17LNTtXv3GbNLAQCfR/AJAICTrF17TCNGRJtdBgD4lG++Wa9vv11vdhmAU9hsdrVuPUvr1h03uxQA8AsEnwAAOEFWllVvvz1fElPcAcDZevRYoSFDNptdBnBdDMPQhx8u0axZ+8wuBQD8BsEnAABO8NVXa/XHH+clMcUdAFzhvfcWa8KEHWaXARRZv37rNWTIFklSIN/EAcAt+HELAMB12rkzQf37/y6J0Z4A4EpvvjlHs2czWg7eZ9y47frss5WScu8V7HaTCwIAP0HwCQDAdbDZ7GrXbp6s1txvMIz2BADXMQzphRdmaNmyw2aXAhTYokUH8y2Hw70CALgPwScAANfh5583aevWOLPLAAC/YbcbevLJSVq//pjZpQDXtGnTSb344gzZbAahJwCYgOATAIAiio29oJ49V0liijsAuJPNZuixxyYoOppfPMFz/fHHeTVvPlkZGRZJhJ4AYAaCTwAAisAwDL3zzgK+zACASSwWuxo0GKe9e8+aXQpwidOnUxUePlHnz2eaXQoA+DWCTwAAiuDXX3cqMvKI2WUAgF/LyrLq/vtH6fDhRLNLARxSUrL15JOTdfRoktmlAIDfI/gEAKCQzpxJV9euSyVJgXySAoCp0tMtqldvpE6eTDG7FEDZ2Va1aDFNMTHxZpcCABDBJwAAhdalyxIlJuZOXbPbTS4GAKCkpGzdd98InTmTbnYp8GN2u6E335yrFStizS4FAPA/BJ8AABTCwoV/aMqU3WaXAQD4i3PnMlSnzghduMCaijBH9+7LNHVq7j0Cmx4CgGcwNfjs3bu3AgIC8v256667HMezsrLUuXNnVahQQTfccINatmyphISEfOc4fvy4mjdvrpIlS6pixYrq3r27rFZrvjarV69WnTp1FBoaqttvv10RERHueHsAAB+Tmpqtjh0XSuILDQB4olOnUlWv3iilpmabXQr8zIABG/Tjjxsl5d4jsOkhAHgG00d81qpVS6dPn3b8Wb9+veNY165dNX/+fM2YMUNr1qxRXFycWrRo4Thus9nUvHlz5eTkaMOGDRo/frwiIiLUq1cvR5vY2Fg1b95cjRo1UkxMjLp06aL27dtr6dKlbn2fAADv99//rnCsIccXGgDwTEeOXNADD4xWRobF7FLgJyZN2qmPPoqUJAUGBnCPAAAepJjpBRQrpsqVK1/yfHJyssaMGaPJkyfrsccekySNGzdONWrU0MaNG1W/fn0tW7ZMe/fu1fLly1WpUiXde++9+vLLL/XJJ5+od+/eCgkJ0fDhw1W9enUNGDBAklSjRg2tX79eAwcOVHh4+GVrys7OVnb2n78lTknJ/ZJrsVhksXADBdfJ61/0M7gafa3wDhw4ryFDtkiSQkMDFBjIkM+CKFEiMN/fgKvQ1yDlrrGYnW1o375zevjhsVqz5g2Fhjr3Kw+fobjY8uWxeuutuZKk4OAABQVJAQHO+TnEzzW4C30N7lK8eKCystx7TdODz4MHD6pKlSoqXry4wsLC1K9fP916662Kjo6WxWJR48aNHW3vuusu3XrrrYqKilL9+vUVFRWle+65R5UqVXK0CQ8PV6dOnbRnzx7dd999ioqKyneOvDZdunS5Yk39+vVTnz59Lnl+1apVKlmy5PW/aeAaIiMjzS4BfoK+VnCjRp2UYUj/+U8ZffbZP80ux+uMHXu32SXAT9DXsHdvmnr3Pqxt2+LVpMkIde/+DwUFOf+XVXyG4vDhDH322SFZLHY9/HA5de1azSW/GOXnGtyFvgZXy8jIUKtW7r2mqcHnAw88oIiICN155506ffq0+vTpo4cffli7d+9WfHy8QkJCVK5cuXyvqVSpkuLj4yVJ8fHx+ULPvON5x67WJiUlRZmZmSpRosQldfXo0UPdunVzPE5JSVHVqlXVqFEjVahQ4brfN3AlFotFkZGRatKkiYKDg80uBz6MvlY4aWk5euONXyRJO3ak6tVXd5pckfcoUSJQY8ferbZtdysz0252OfBh9DVczsaNyRo5MlVz577stECKz1BI0uHDF9Shw3hlZdkVGCht2ZKs1q13OfUa/FyDu9DX4C7Fi+e4/ZqmBp/NmjVz/Hft2rX1wAMPqFq1apo+ffplA0l3CQ0NVWho6CXPBwcHc3MDt6CvwV3oawUzbdoOpaTkLoGSk2NIYvGuwsrMtHMjDbegr+Gvli49otat52jGjBcV4MSd6fgM9V9nzqTr6aen6cyZDEmS3S5lZbnu/oCfa3AX+hpczTDc3788agGHcuXK6Y477tChQ4dUuXJl5eTkKCkpKV+bhIQEx5qglStXvmSX97zH12pTpkwZU8NVAIB3MAzDsbYnO7kDgHeaOXOf3nprrgx2ncF1SkvL0VNPTdahQ4lmlwIAKACPCj7T0tJ0+PBh3Xzzzapbt66Cg4O1YsUKx/EDBw7o+PHjCgsLkySFhYVp165dOnPmjKNNZGSkypQpo5o1azraXHyOvDZ55wAA4GrWrTuu3btzP2f4vgwA3mv8+B3q0mWJ2WXAi1ksNr344gxt2RJndikAgAIyNfj86KOPtGbNGh09elQbNmzQ888/r6CgIL366qsqW7as2rVrp27dumnVqlWKjo7WW2+9pbCwMNWvX1+S1LRpU9WsWVOvv/66duzYoaVLl6pnz57q3LmzY6p6x44ddeTIEX388cfav3+/hg4dqunTp6tr165mvnUAgJdgtCcA+I6ff96snj1Xml0GvJBhGGrffr6WLDlkdikAgEIwdY3PkydP6tVXX9X58+d10003qUGDBtq4caNuuukmSdLAgQMVGBioli1bKjs7W+Hh4Ro6dKjj9UFBQVqwYIE6deqksLAwlSpVSm3atFHfvn0dbapXr66FCxeqa9euGjRokG655RaNHj1a4eHhbn+/AADvcvp0qmbN2ieJ0Z4A4Cu+/nqdSpcO0SefNDC7FHiRzz5bqQkTdkjK/WUo9wUA4B1MDT6nTp161ePFixfXkCFDNGTIkCu2qVatmhYtWnTV8zRs2FDbt28vUo0AAP81cmS0rFYWeAcAX/PppytUpkyoOnX6j9mlwAv88ssm9eu3XhKhJwB4G49a4xMAAE9hsdg0YkS02WUAAFzk3XcX6ddfd5hdBjzcjBl79OGHuWvDBgYGEHoCgJch+AQA4DLmzNmv06fTzC4DAOBCbdrM0Zw5+8wuAx5q9eqjeu212TKM3JGedjupJwB4G4JPAAAug02NAMD3GYbUsuUMRUYeNrsUeJidOxP07LNTlZNjk8T0dgDwVgSfAAD8xe7dZ7RmzTFJfNEBAF9ntxtq1mySfv/9uNmlwEMcO5akZs0mKSUl2+xSAADXieATAIC/GDp0i9klAADcyGYz1KjReG3bFmd2KTDZ+fMZeuKJSYqLSzW7FACAExB8AgBwkZSUbP36606zywAAuJnFYtdDD43T3r1nzS4FJsnIsOjpp6do//5zZpcCAHASgk8AAC4yYcIOpaXlmF0GAMAEWVlW3X//KB05kmh2KXAzq9WuV1+dqaiok2aXAgBwIoJPAAD+xzAMxzR3NjUCAP+Unm5R3bqjdOpUitmlwE0Mw9C77y7UvHkHzC4FAOBkBJ8AAPzPqlVHtW9f7vQ2NjUCAP+VlJSl++4boTNn0s0uBW7Qt+8ajRq1TRK/+AQAX0PwCQDA/wwZwmhPAECus2czVKfOCF24kGl2KXChkSOj1bv3Gkm5n//84hMAfAvBJwAAkk6eTNHcufsl8aUHAJDr1KlU/ec/o5Samm12KXCBuXP3q1OnhZIIPQHAVxF8AgAgacSIrbLZ+MYDAMjv8OELql9/jDIzLWaXAif6/ffjeuWVmbLbDUJPAPBhBJ8AAL+Xk2NzrO0FAMBf7d17Vg8/PE45OTazS4ET7Nt3Vk8/PUVZWVZJhJ4A4MsIPgEAfm/mzL1KSGADCwDAlUVHn1bjxhNktdrNLgXX4dSpFIWHT9SFC1lmlwIAcAOCTwCA38vb1CgwkF2NAABXtm7dcT3//HTZ7QwR9EZJSVl64olJOnEixexSAABuUszsAgAAMNOOHfH6/fcTksQXWQDANS1dekQBARXUvDmfGd4kK8uq556bqt27z5hdCgDAjRjxCQDwa3mjPQMY7AkAKKAlS86rZs3hmjx5F1PfvYDNZtfrr8/WmjXHzC4FAOBmTgk+k5KSnHEaAADcKikpS5Mm7ZLExgYAgIIJDg5Q8eKBOnz4glq3nqWqVQdq8ODNyshg13dPZBiGunRZot9+2yuJX3QCgL8pdPDZv39/TZs2zfH4pZdeUoUKFfT3v/9dO3bscGpxAAC4UkREDF9UAQCFUqxYgEaPrqlixXITtPj4NL3//mJVqTJAX321VhcuZJpcIS7Wv//vGjz4z9kd/KITAPxLoYPP4cOHq2rVqpKkyMhIRUZGavHixWrWrJm6d+/u9AIBAHAFu93Q0KFMcwcAFN4NNxRTcHD+D4/k5Gx9/vkqVanyo7p1W6pTp9hAx2wRETHq0WOFpNwNDAk9AcD/FDr4jI+PdwSfCxYs0EsvvaSmTZvq448/1pYtW5xeIAAArrB8+REdPJgoidEfAADnycqyauDAjapW7Se9+eYcHThwzuyS/NLixQfVvv08Sbm/4GQDQwDwT4UOPm+88UadOJG7++2SJUvUuHFjSblrp9hsNudWBwCAi7CpEQDAlWw2Q+PH71CNGkP09NOTtWXLKbNL8hubN5/SCy/MkM1mML0dAPxcoYPPFi1aqFWrVmrSpInOnz+vZs2aSZK2b9+u22+/3ekFAgDgbMeOJWnBgj8k8WUIAOBahiEtWHBQ998/Wg89NFaRkYdl8OHjMgcPnlfz5pMda3jzTw0A/q3QwefAgQP13nvvqWbNmoqMjNQNN9wgSTp9+rTeffddpxcIAICzDR++lSlvAAC327DhhJo2nahatYZq+vQ9stnsZpfkU+Lj0xQePlHnzmWYXQoAwEMUK+wLgoOD9dFHH13yfNeuXZ1SEAAArpSVZdXo0dvNLgMA4Mf27Tunl1/+TbfcUkaff/6I3njj3ypevNBfzXCRlJRsPfnkJMXGJpldCgDAgxR4xOe7776rtLQ0x+MpU6YoPT3d8TgpKUlPPvmkc6sDAMDJZszYw0gQAIBHOHkyRe+8s0BVqgzQt9+uV3JyltkleaWcHJtatpyu7dvjzS4FAOBhChx8jhgxQhkZf35RfOedd5SQkOB4nJ2draVLlzq3OgAAnCxvU6PAQHY1AgB4hgsXstSjxwrdfPMAffJJpOLj0679IkjK3a39rbfmavnyI2aXAgDwQAUOPv+6ADcLcgMAvE10dJw2bcrdVZc1PgEAniYz06rvvtugqlUH6u235+nw4USzS/J4H38cqcmTd0mSAvidJgDgLwq9uREAAN4qb7QnX4wAAJ7MarVr9Ojt+te/flGLFtO0fftps0vySD/+GKUBA6Ik5X62MzYHAPBXBJ8AAL9w/nyGpkzZLYkvRgAA72AY0uzZ+1Wnzkg1bBihVatimXn3P1Om7NL//d8ySVJgIJ/tAIDLK9TWgb169VLJkiUlSTk5Ofr6669VtmxZScq3/icAAJ5m3LgYZWVZzS4DAIAiWbPmmB57bIJq166k3r0f1bPP3uW361UvX35EbdrMkZQ70tNuN7ceAIDnKnDw+cgjj+jAgQOOxw8++KCOHDlySRsAADyN3W5o2LCtkpgKBwDwbjt3JqhFi+mqVq2svvjiUbVuXVshIUFml+U227ef1vPPT5PFYuczHQBwTQUOPlevXu3CMgAAcJ2lSw/pyJELkviCBADwDceOJatt23n6+OPl+vTTh9ShQ12VLh1qdlkuFRt7Qc2aTVJaWo4kPtMBANdW4DU+P/roI+3fv9+VtQAA4BJsagQA8FXnzmXoo48idfPNA9Sz50qdPZtudkkucfZsusLDJyohwTffHwDANQocfM6dO1e1atXSgw8+qLFjxyo9nQ8cAIDni429oEWLDkpiZAgAwHelp1v09dfrdMstP+rddxfq6NEks0tymvT0HDVvPlkHDyaaXQoAwMsUOPg8ePCgVq1apTvuuEMffvihKleurLZt22rDhg2urA8AgOsybNhWAk8AgN/IybFr2LCtuu22n/XKK79p164Es0u6LhaLTS+99Ju2bIkzuxQAgBcqcPAp5W5eFBERofj4eA0aNEgHDx5UgwYNVKNGDf3www9KSPDuD1UAgG/JzLRozJjtZpcBAIDb2e2Gpk3bo9q1h6tp01+1fv1xs0sqNMMw1KHDAsfMDQAACqtQwWeeUqVKqW3btlq3bp3++OMPtWjRQv369dOtt97q7PoAACiyadP2KDEx0+wyAAAwVWTkET388DjVqzdSCxb8IbvdO6ZC9Oy5UhERMZJYpxsAUDRFCj7zpKena926dVqzZo0uXLigf/7zn86qCwCA68amRgAA/Ck6+rSefnqK7rjjF/366w5ZLDazS7qiwYM365tv1kvK/Rxn2RoAQFEUKfhcv3692rZtq5tvvlkffPCB7rjjDq1bt0779u1zdn0AABTJ5s2ntHVr7npgfFkCAOBPhw9f0BtvzFHVqgP188+blJFhMbukfH77ba8++GCxJCkwkM9xAEDRFTj4PH36tL799lvdddddeuSRR7R//379+OOPOn36tMaOHauHHnrIlXUCAFAojPYEAODqEhLS9eGHS3TzzQPUp89qj1geZs2ao2rdepYMI/cz3G43uyIAgDcrVtCGVatWVYUKFfT666+rXbt2qlGjhivrAgCgyM6dy9C0abslMUoEAIBrSUnJVu/ea9Sv33q98049de/+oG65pYzb69i1K0HPPjtVOTm5U/D5DAcAXK8Cj/icPn26Tp06pR9++IHQEwDg0caM2absbM9dtwwAAE+UnW3Tzz9v0j/+8ZNef3229u0767ZrHz+erGbNJik5Odtt1wQA+L4CB5/169fXp59+qpSUlEuOJScnq3v37kpISHBqcQAAFJbNZtewYVslMc0dAICisNkMTZy4UzVrDlXz5pO0adNJl14vMTFTTzwxUadOpbr0OgAA/1Pg4PPHH39USkqKypS5dMpD2bJllZqaqh9//NGpxQEAUFiLFh3UsWPJkpgiBwDA9Vq06JDq1x+jsLAxWrr0kAwnf7hmZlr09NNTtG/fOaeeFwAAqRDB55IlS/TGG29c8fgbb7yhBQsWOKUoAACKik2NAABwvo0bT+qJJyapZs2hmjp1t6zW6991yGq169VXZ2rDhhNOqBAAgEsVOPiMjY3VrbfeesXjt9xyi44ePeqMmgAAKJKDB89r6dLDkhjtCQCAK+zff06v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q0KFkq6/KAolM9Oi116brVmz9kmSAgMDLtncCgAAAAAAOI+pIz779eun//znPypdurQqVqyo5557TgcOHMjXJisrS507d1aFChV0ww03qGXLlkpISMjX5vjx42revLlKliypihUrqnv37rJarfnarF69WnXq1FFoaKhuv/12RUREuPrtwYcZhqF1647pqacm6557hmnChB35Qs/cNu6uSRo7druqVftJQ4dukc3mgiGmKJJz5zLUuPGvjtAzIECEngAAAAAAuJipweeaNWvUuXNnbdy4UZGRkbJYLGratKnS09Mdbbp27ar58+drxowZWrNmjeLi4tSiRQvHcZvNpubNmysnJ0cbNmzQ+PHjFRERoV69ejnaxMbGqnnz5mrUqJFiYmLUpUsXtW/fXkuXLnXr+4X3s9sNzZ27Xw89NFaPPBKhhQsPml3SJdLTLerceZFq1Bii9euPm12O3zty5IIefHCMNmw44XiOJVkBAAAAAHA9U6e6L1myJN/jiIgIVaxYUdHR0XrkkUeUnJysMWPGaPLkyXrsscckSePGjVONGjW0ceNG1a9fX8uWLdPevXu1fPlyVapUSffee6++/PJLffLJJ+rdu7dCQkI0fPhwVa9eXQMGDJAk1ahRQ+vXr9fAgQMVHh7u9vcN75OTY9PEiTv1/fcbtH//OcfzedPZPdHBg4l6+OFxev75u/TLL83097+XMbskv7Nlyyk99dQUnTmTfu3GAAAAAADAqTxqjc/k5GRJUvny5SVJ0dHRslgsaty4saPNXXfdpVtvvVVRUVGqX7++oqKidM8996hSpUqONuHh4erUqZP27Nmj++67T1FRUfnOkdemS5cul60jOztb2dnZjscpKSmSJIvFIovF4pT3Cu+QkpKt0aO36+efNysuLs3xfEhIgAIDpQAn705TokRgvr+LyjAMWSyGbDZp9uz9WrjwoD77rIG6dXtAoaEe9b+9z1q48KBat56jjAyLAgKk0NAAp/eX6+GsvgZcC30N7kJfg7vQ1+Au9DW4C30N7lK8eKCystx7TY9JQOx2u7p06aKHHnpId999tyQpPj5eISEhKleuXL62lSpVUnx8vKPNxaFn3vG8Y1drk5KSoszMTJUoUSLfsX79+qlPnz6X1Lhq1SqVLMmmMf4gKcmi+fPPavHic8rIyF0rs3z5YD3zzE1q2rSCSpYMcun1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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABT4AAAK9CAYAAAANLXNZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnDlJREFUeJzs3Xd4VGXexvE7CUkoUoQVkBVZVlcFlFVglSgqKBARK1hBRQERxAK8orIiAhZERUTpNSAd6Z3QQUILhA5SQg0JJaS3Kef9I5uRSEvCzJwp3891ceHMeeac33A9Zs7ceUqAYRiGAAAAAAAAAMCHBJpdAAAAAAAAAAA4G8EnAAAAAAAAAJ9D8AkAAAAAAADA5xB8AgAAAAAAAPA5BJ8AAAAAAAAAfA7BJwAAAAAAAACfQ/AJAAAAAAAAwOcQfAIAAAAAAADwOQSfAAAAAAAAAHwOwScAAAAAAAAAn0PwCQAA4GcOHz6sd955R//85z9VvHhxlSlTRg899JAGDRqkzMxMbdu2TQEBAerZs+cVz3Hw4EEFBASoW7dukqTevXsrICDgin/i4+Ovq+ajR4/mO19QUJBuvfVWPf/884qJibmuc19Lx44dFRISot27d19yzGq1qnbt2vrHP/6h9PR0l9YBAACAwilmdgEAAABwn4ULF+rFF19UaGio3njjDd19993KycnR+vXr1b17d+3Zs0cjR47UXXfdpSlTpuirr7667HkmT54sSXrttdfyPT9s2DDdcMMNl7QvV66cU+p/9dVX9eSTT8pms2nfvn0aNmyYFi9erI0bN+ree+91yjX+6ttvv9XcuXPVsWNHrVu3TgEBAY5jAwcO1K5du7Rw4UKVKlXKJdcHAABA0RB8AgAA+InY2Fi98sorqlatmlauXKmbb77Zcaxz5846dOiQFi5cKElq3bq1Pv/8c23cuFH169e/5FxTpkzRXXfdpTp16uR7/oUXXtDf/vY3l72HOnXq5AtbH3roIT3zzDMaNmyYRowYcV3nTk9Pv2x4Wa5cOQ0aNEgvv/yyRo0apQ4dOkiSjh8/rj59+uill17Sk08+eV3XLgir1Sq73a6QkBCXXwsAAMAXMNUdAADAT3z33XdKS0vTmDFj8oWeeW6//XZ9+OGHknKDT+nPkZ0Xi46O1oEDBxxtCuuXX35RrVq1VLJkSd14442qV6/eZa9TEI899pik3FA3z6ZNm/TEE0+obNmyKlmypB599FH9/vvv+V6XNzV/7969atWqlW688UY1aNDgitfJCzc//fRTnTlzRpL0/vvvKzg4WIMGDZIknTp1Sm3btlWlSpUUGhqqWrVqaezYsfnOk5OTo169eqlu3boqW7asSpUqpYcfflirVq3K1y5vav8PP/ygn376SbfddptCQ0O1d+/eIv07AQAA+CNGfAIAAPiJ+fPn65///KcefPDBa7atXr26HnzwQU2fPl0DBw5UUFCQ41heSNmqVatLXpeYmHjJc8WKFXNMdR81apQ++OADvfDCC/rwww+VlZWlnTt3atOmTZc937UcPnxYklShQgVJ0sqVK9WsWTPVrVtXX3zxhQIDAzVu3Dg99thjWrdune6///58r3/xxRf1r3/9S998840Mw7jqtYYOHapatWqpa9eueumllzRv3jwNHz5clStXVkJCgurXr6+AgAC99957uummm7R48WK1a9dOKSkp6tKliyQpJSVFo0eP1quvvqq3335bqampGjNmjMLDw7V58+ZLpuuPGzdOWVlZ6tChg0JDQ1W+fPlC/xsBAAD4K4JPAAAAP5CSkqJTp07p2WefLfBrWrdurc6dO2vFihVq2rSpJMlut2vatGkKCwvTP//5z0tec+edd172uf3790vKXWO0Vq1amjFjRpHeR0ZGhs6dOyebzab9+/era9euknIDTMMw1LFjRzVq1EiLFy92rMX5zjvvqFatWurZs6eWLVuW73z//ve/CzzatFq1aurTp48++ugjLVmyRA899JBj2vtnn30mm82mXbt2OULYjh076tVXX1Xv3r31zjvvqESJErrxxht19OjRfNPV3377bd1111365ZdfNGbMmHzXPHnypA4dOqSbbrqpSP9eAAAA/oyp7gAAAH4gJSVFklS6dOkCv+bll19WcHBwvmBwzZo1OnXq1BWnuc+cOVORkZH5/owbN85xvFy5cjp58qS2bNlSpPfxxRdf6KabblLlypXVsGFDHT58WP3791eLFi0UExOjgwcPqlWrVjp//rzOnTunc+fOKT09XY8//rjWrl0ru92e73wdO3Ys1PW7dOmi2rVrKykpSSNGjFBAQIAMw9DMmTP19NNPyzAMx3XPnTun8PBwJScna9u2bZKkoKAgR+hpt9uVmJgoq9WqevXqOdpcrGXLloSeAAAARcSITwAAAD9QpkwZSVJqamqBX1OhQgWFh4dr9uzZGj58uIoXL67JkyerWLFieumlly77mkceeeSqmxt98sknWr58ue6//37dfvvtatq0qVq1aqWHHnqoQDV16NBBL774ogIDA1WuXDnVqlVLoaGhkqSDBw9Kktq0aXPF1ycnJ+vGG290PK5evXqBrpsnKChI9913nw4fPqxatWpJks6ePaukpCSNHDlSI0eOvOzr8tYFlaTx48drwIAB2r9/vywWy1VrKWx9AAAA+BPBJwAAgB8oU6aMqlSpot27dxfqda+99poWLFigBQsW6JlnntHMmTPVtGnTIo9CrFGjhg4cOKAFCxZoyZIlmjlzpoYOHapevXqpT58+13z9v/71LzVu3Piyx/JGc37//feXrJWZ54Ybbsj3uESJEoV7A1e57muvvXbF0LV27dqSpIkTJ+rNN9/Uc889p+7du6tixYoKCgpSv379HOuVOrs+AAAAf0XwCQAA4CeeeuopjRw5UlFRUQoLCyvQa5555hmVLl1akydPVnBwsC5cuFDk3dzzlCpVSi+//LJefvll5eTkqEWLFvr666/Vo0cPFS9evMjnve222yTlhrxXCkdd4aabblLp0qVls9mued3ffvtN//znPzVr1izHGqRS7hR+AAAAOBdrfAIAAPiJjz/+WKVKlVL79u2VkJBwyfHDhw9r0KBB+Z4rUaKEnn/+eS1atEjDhg1TqVKlCrVB0l+dP38+3+OQkBDVrFlThmHkm/ZdFHXr1tVtt92mH374QWlpaZccP3v27HWd/0qCgoLUsmVLzZw587Ijai++blBQkCTl20F+06ZNioqKckltAAAA/owRnwAAAH7itttu0+TJk/Xyyy+rRo0aeuONN3T33XcrJydHGzZs0IwZM/Tmm29e8rrXXntNEyZM0NKlS9W6dWuVKlXqitf47bffLplOLklNmjRRpUqV1LRpU1WuXFkPPfSQKlWqpH379mnw4MFq3rx5oTZeupzAwECNHj1azZo1U61atfTWW2/p73//u06dOqVVq1apTJkymj9//nVd40q+/fZbrVq1Sg888IDefvtt1axZU4mJidq2bZuWL1+uxMRESbmjbmfNmqXnn39ezZs3V2xsrIYPH66aNWteNqwFAABA0RF8AgAA+JFnnnlGO3fu1Pfff6+5c+dq2LBhCg0NVe3atTVg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5YXi0wP27TupIUOilZDwvcs4hScAAAAAAABQPig+LZSfX6xXXvlKr766UUVFDknc1g4AAAAAAAC4A8WnRb788rCeeeYzfffdKZdxSk8AAAAAAACg/FF8utmJE2c1evTniora7RzjKk8AAAAAAADAvSg+3cThMFqwYLvGjv1SWVn5knh4EQAAAAAAAGAVik832LPnhIYMidamTcdcxik8AQAAAAAAAGtQfJajvLwi/fOfCZo+PVHFxTy8CAAAAAAAAPAUis9yEhPznYYO/UxHjmS5jFN6AgAAAAAAANaj+Pyd0tLOaNSoz7V8eYpzjKs8AQAAAAAAAM+i+Cwjh8No/vxtev75WOXkFEji4UUAAAAAAACAt6D4LIOdO9M1eHC0tmz50WWcwhMAAAAAAADwDhSfpXD2bKFeffULvfHG1yopOd9ycls7AAAAAAAA4H38PXnyDRs2qFevXqpVq5b8/Py0atUql+PGGI0fP141a9ZUlSpV1KlTJx08eNBlzqlTp/TEE08oJCRE1113nfr376/c3FyXObt27VL79u0VFBSkOnXqaOrUqWVab7t2izR9eqKz9Dy/xjK9FAAAAAAAAAA38mjxefbsWbVo0UJz58697PGpU6dq9uzZevvtt7VlyxZdffXV6tq1q/Lz851znnjiCaWkpGjdunWKjo7Whg0bNGjQIOfxnJwcdenSRfXq1VNSUpKmTZumiRMn6p133in1en/4IUfS+as8AQAAAAAAAHgvj97q3r17d3Xv3v2yx4wxmjlzpl566SX17t1bkrRkyRKFhYVp1apVeuyxx7R3717FxMRo69atuv322yVJc+bM0f3336/p06erVq1aioqKUmFhoSIjI1W5cmXdcsstSk5O1owZM1wK0osVFBSooKDA+XVOzvnCMyjIX5Kf/Gg+4SZVqvi7/C/gLmQNViFrsApZg1XIGqxC1mAVsgarBAX566JrGS3hZ4x33Kzt5+enjz/+WA888IAk6fDhw/rDH/6gHTt2qGXLls55d999t1q2bKlZs2YpMjJSzz77rE6fPu08XlxcrKCgIK1cuVIPPvigIiIilJOT43Ib/fr163Xvvffq1KlTqlq16iVrmThxoiZNmnTJ+NKlSxUcHFxuewYAAAAAAAB8QV5enh5//HFlZ2crJCTEknN67cON0tPTJUlhYWEu42FhYc5j6enpql69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tn79evXr10///ve/dcstt7j1XPBO7szawIED9fjjj6tDhw7l/tqoeNz9u0FBQYGWLFni/F10wYIFat26tfbv33/FzwHwuVvdhw8frujoaK1fv1433XSTc7xGjRoqLCxUVlaWy/yMjAzVqFHDOefnT6G68PVvzQkJCeEXNh/j7qxdsGzZMg0YMEArVqy45GMW4BvcmbUzZ85o27ZtGj58uAICAhQQEKDJkydr586dCggIKNW/tKHic/f7Ws2aNVW7dm1n6SlJTZo0kTFGP/zwgzu2BC/l7qxNmTJF7dq105gxY9S8eXN17dpV8+bNU2RkpNLS0ty4M3ib35O1K1Gan+lgb+7O2gUJCQnq1auX3njjDUVERPzeZaMCcnfW4uLiNH36dOfvBv3791d2drYCAgIUGRlZXttABeDurNWsWVMBAQEuF+A0adJEkpSamnrFr+MzxacxRsOHD9fHH3+suLi4S245ad26ta666irFxsY6x/bv36/U1FSFh4dLOv95ULt379aJEyecc9atW6eQkBA1bdrUOefi17gw58JrwP6sypokvf/+++rXr5/ef/999ejRw807g7exImshISHavXu3kpOTnX+GDBmixo0bKzk5WW3btrVms/Aoq97X2rVrp+PHjys3N9c558CBA/L393f5YQr2ZVXW8vLy5O/v+mNwpUqVnGuA/ZVH1q5EeHi4NmzYoKKiIufYunXr1LhxY25z9xFWZU2S4uPj1aNHD7322msaNGhQuawfFYdVWUtMTHT53WDy5Mm69tprlZycrAcffLDc9gPvZVXW2rVrp+LiYh06dMg5duDAAUlSvXr1SrVgn/DMM8+Y0NBQEx8fb9LS0px/8vLynHOGDBli6tata+Li4sy2bdtMeHi4CQ8Pdx4vLi42zZo1M126dDHJyckmJibG3HjjjWbcuHHOOYcPHzbBwcFmzJgxZu/evWbu3LmmUqVKJiYmxtL9wnOsylpUVJQJCAgwc+fOdTlPVlaWpfuF51iVtZ/jqe6+x6qsnTlzxtx0003mkUceMSkpKSYhIcH86U9/MgMGDLB0v/Acq7K2cOFCExAQYObNm2cOHTpkNm7caG6//XbTpk0bS/cLzymPrBljzMGDB82OHTvM4MGDTaNGjcyOHTvMjh07nE9xz8rKMmFhYebJJ580e/bsMcuWLTPBwcFm/vz5lu4XnmNV1uLi4kxwcLAZN26cy3kyMzMt3S88x6qs/RxPdfc9VmWtpKTEtGrVynTo0MFs377dbNu2zbRt29Z07ty5VOv1meJT0mX/LFy40Dnn3LlzZujQoaZq1aomODjYPPjggyYtLc3ldY4ePWq6d+9uqlSpYm644Qbz7LPPmqKiIpc569evNy1btjSVK1c2DRs2dDkH7M+qrN19992XPU/fvn0t2ik8zcr3tYtRfPoeK7O2d+9e06lTJ1OlShVz0003mdGjR7v8EAV7szJrs2fPNk2bNjVVqlQxNWvWNE888YT54YcfrNgmvEB5Ze2Xfh47cuSIc87OnTvNXXfdZQIDA03t2rXNq6++atEu4Q2sylrfvn0ve/zuu++2brPwKCvf1y5G8el7rMzajz/+aB566CFzzTXXmLCwMPPUU0+V+h90/P67aAAAAAAAAACwDZ/5jE8AAAAAAAAAvoPiEwAAAAAAAIDtUHwCAAAAAAAAsB2KTwAAAAAAAAC2Q/EJAAAAAAAAwHYoPgEAAAAAAADYDsUnAAAAAAAAANuh+AQAAAAAAABgOxSfAAAAAAAAAGyH4hMAAABe46mnnpKfn5/8/Px01VVXKSwsTJ07d1ZkZKQcDscVv86iRYt03XXXuW+hAAAA8HoUnwAAAPAq3bp1U1pamo4ePaq1a9eqY8eOGjFihHr27Kni4mJPLw8AAAAVBMUnAAAAvEpgYKBq1Kih2rVrq1WrVnrhhRe0evVqrV27VosWLZIkzZgxQ7feequuvvpq1alTR0OHDlVubq4kKT4+Xv369VN2drbz6tGJEydKkgoKCvTcc8+pdu3auvrqq9W2bVvFx8d7ZqMAAABwK4pPAAAAeL17771XLVq00EcffSRJ8vf31+zZs5WSkqLFixcrLi5OY8eOlSTdeeedmjlzpkJCQpSWlqa0tDQ999xzkqThw4crMTFRy5Yt065du/TnP/9Z3bp108GDBz22NwAAALiHnzHGeHoRAAAAgHT+Mz6zsrK0atWqS4499thj2rVrl7799ttLjn3wwQcaMmSITp48Ken8Z3yOHDlSWVlZzjmpqalq2LChUlNTVatWLed4p06d1KZNG73yyivlvh8AAAB4ToCnFwAAAABcCWOM/Pz8JElffvmlpkyZon379iknJ0fFxcXKz89XXl6egoODL/v3d+/erZKSEjVq1MhlvKCgQNdff73b1w8AAABrUXwCAACgQti7d68aNGigo0ePqmfPnnrmmWf08ssvq1q1atq4caP69++vwsLCXyw+c3NzValSJSUlJalSpUoux6655hortgAAAAALUXwCAADA68XFxWn37t0aNWqUkpKS5HA49Prrr8vf//xH1q9YscJlfuXKlVVSUuIydtttt6mkpEQnTpxQ+/btLVs7AAAAPIPiEwAAAF6loKBA6enpKikpUUZGhmJiYjRlyhT17NlTERER2rNnj4qKijRnzhz16tVLmzZt0ttvv+3yGvXr11dubq5iY2PVokULBQcHq1GjRnriiScUERGh119/Xbfddpt++uknxcbGqnnz5urRo4eHdgwAAAB34KnuAAAA8CoxMTGqWbOm6tevr27dumn9+vWaPXu2Vq9erUqVKqlFixaaMWOGXnvtNTVr1kxRUVGaMmWKy2vceeedGjJkiPr06aMbb7xRU6dOlSQtXLhQERERevbZZ9W4cWM98MAD2rp1q+rWreuJrQIAAMCNeKo7AAAAAAAAANvhik8AAAAAAAAAtkPxCQAAAAAAAMB2KD4BAAAAAAAA2A7FJwAAAAAAAADbofgEAAAAAAAAYDsUnwAAAAAAAABsh+ITAAAAAAAAgO1QfAIAAAAAAACwHYpPAAAAAAAAALZD8QkAAAAAAADAdig+AQAAAAAAANjO/wF+IGsFBDitWgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -355,10 +355,10 @@ "id": "endless-cylinder", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:30.962895Z", - "iopub.status.busy": "2024-09-13T08:21:30.962389Z", - "iopub.status.idle": "2024-09-13T08:21:31.151602Z", - "shell.execute_reply": "2024-09-13T08:21:31.150955Z" + "iopub.execute_input": "2025-02-02T04:20:09.012604Z", + "iopub.status.busy": "2025-02-02T04:20:09.012278Z", + "iopub.status.idle": "2025-02-02T04:20:09.195122Z", + "shell.execute_reply": "2025-02-02T04:20:09.194553Z" }, "tags": [ "remove-input" @@ -367,7 +367,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeZwcdZ3/8ffkBiQEEBKC4VZEUNkFRU5BIUhEEUWNRGFXBFxFV1lR8IdcKiyH3AjixbEJCgoIAUIiCSRADhJykPu+M5NMJjOTOXu6u35/tNXTR1V1VXV1V1XP6/l4+JDM9HRX99R0V73r8/l86wzDMAQAAAAAAAAAEdAv7A0AAAAAAAAAABOBJQAAAAAAAIDIILAEAAAAAAAAEBkElgAAAAAAAAAig8ASAAAAAAAAQGQQWAIAAAAAAACIDAJLAAAAAAAAAJFBYAkAAAAAAAAgMggsAQAAAAAAAEQGgSUAAAAQE4cddpjOP//8sDcDAACgoggsAQAAasyaNWt05ZVX6ogjjtCQIUM0dOhQnXrqqbrvvvvU2dmpd999V3V1dbr++utt72PVqlWqq6vT1VdfLUm66aabVFdXZ/u/+vr6srZ5/fr1effXv39/HXLIIbrwwgu1YMGCsu7bjddffz372P/3f/9neZtTTz1VdXV1Ou644yq6LUuXLtVNN92k9evXV/RxAAAAompA2BsAAACA4Lz00kv66le/qsGDB+uSSy7Rcccdp0QioTfffFPXXHONlixZokcffVQf/vCH9dRTT+lXv/qV5f1MmDBBkvTNb34z7+sPP/yw3ve+9xXdftiwYYFs/ze+8Q2NGTNGqVRKy5Yt08MPP6xXXnlFs2bN0vHHHx/IYzgZMmSIJkyYUPS8169fr7fffltDhgyp+DYsXbpUN998s84880wddthhFX88AACAqCGwBAAAqBHr1q3T2LFjdeihh2rq1Kk66KCDst/7/ve/r9WrV+ull16SJI0bN06/+MUvNGvWLH3qU58quq+nnnpKH/7wh/Xv//7veV+/6KKL9P73v79iz+Hf//3f88LCU089VV/84hf18MMP63e/+11Z993e3q699trL8TZjxozRCy+8oMbGxrznOWHCBA0fPlwf/OAHtWvXrrK2AwAAAM5oCQcAAKgRd9xxh9ra2vTHP/4xL6w0HXXUUfrv//5vSZnAUuqtpMw1b948rVixInsbrx544AEde+yx2nPPPbXvvvvqxBNPtHwcNz7zmc9IyoSxptmzZ+tzn/uc9tlnH+2555769Kc/rbfeeivv58wW9qVLl+riiy/Wvvvuq9NOO63k411wwQUaPHiwnnnmmbyvT5gwQV/72tfUv3//op9JJpP65S9/qSOPPFKDBw/WYYcdpp///Ofq7u7Ou505f/LNN9/UJz/5SQ0ZMkRHHHGEnnjiiextHnvsMX31q1+VJJ111lnZNvXXX389776c7gMAACDuCCwBAABqxIsvvqgjjjhCp5xySsnbHn744TrllFP09NNPK5VK5X3PDBcvvvjiop9rampSY2Nj3v+am5uz3//973+vH/7wh/rIRz6ie++9VzfffLOOP/54zZ4929dzWrNmjSRp//33lyRNnTpVZ5xxhlpbW3XjjTfq1ltvVXNzsz7zmc9ozpw5RT//1a9+VR0dHbr11lt1+eWXl3y8PffcUxdccIGeeuqp7NcWLlyoJUuWWL4ekvSd73xHN9xwg/793/9d99xzjz796U/rtttu09ixY4tuu3r1al100UU655xz9Jvf/Eb77ruv/uM//kNLliyRJJ1xxhn64Q9/KEn6+c9/rieffFJPPvmkjjnmGNf3AQAAEHe0hAMAANSA1tZWbdmyRRdccIHrnxk3bpy+//3v67XXXtPo0aMlSel0Wn/961918skn64gjjij6maOPPtrya8uXL5eUmaF57LHHFlUoutXR0aHGxkalUiktX75cP/7xjyVlgkfDMPTd735XZ511ll555RXV1dVJkq688kode+yxuv766zV58uS8+/v4xz/uubrz4osv1he+8AVt2rRJo0aN0vjx43XEEUdYts4vXLhQjz/+uL7zne/o97//vSTpe9/7ng488EDdddddmjZtms4666zs7VesWKHp06fr9NNPlyR97Wtf06hRo/TnP/9Zd911l4444gidfvrpuv/++3XOOefozDPPLHrMUvcBAAAQd1RYAgAA1IDW1lZJ0t577+36Z77+9a9r4MCBeYHeG2+8oS1btti2g//973/XlClT8v735z//Ofv9YcOGafPmzXrnnXd8PY8bb7xRBxxwgEaMGKEzzzxTa9as0e23364vf/nLWrBggVatWqWLL75YO3fuzFZ4tre367Of/aymT5+udDqdd3/f/e53PW/D6NGjtd9+++kvf/mLDMPQX/7yF33jG9+wvO3LL78sSdnV1E3/8z//I0nZmaGmj3zkI9mgUZIOOOAAHX300Vq7dq3r7QviPgAAAKKMCksAAIAaMHToUEnS7t27Xf/M/vvvr3PPPVfPPfecHnnkkewK2QMGDNDXvvY1y58544wzHBfd+dnPfqZ//vOf+uQnP6mjjjpKo0eP1sUXX6xTTz3V1TZdccUV+upXv6p+/fpp2LBhOvbYYzV48GBJ0qpVqyRJl156qe3Pt7S0aN99983++/DDD3f1uLkGDhyor371q5owYYI++clPatOmTbbt4Bs2bFC/fv101FFH5X19xIgRGjZsmDZs2JD39UMOOaToPvbdd19PC/kEcR8AAABRRmAJAABQA4YOHaqRI0dq8eLFnn7um9/8piZOnKiJEyfqi1/8ov7+979r9OjROuCAA3xtxzHHHKMVK1Zo4sSJmjRpkv7+97/rt7/9rW644QbdfPPNJX/+gx/8oM4++2zL75nVk3feeaeOP/54y9u8733vy/v3Hnvs4e0J/MvFF1+sRx55RDfddJM+/vGP6yMf+Yjj7c329FKsFu2RJMMwXG9bEPcBAAAQZQSWAAAANeL888/Xo48+qpkzZ+rkk0929TNf/OIXtffee2vChAkaOHCgdu3a5Xt1cNNee+2lr3/96/r617+uRCKhL3/5y/r1r3+t6667TkOGDPF9v0ceeaSkTDhrF2oG5bTTTtMhhxyi119/Xbfffrvt7Q499FCl02mtWrUqb2GchoYGNTc369BDD/X82G7DTwAAgFrFDEsAAIAa8dOf/lR77bWXvvOd76ihoaHo+2vWrNF9992X97U99thDF154oV5++WU9/PDD2muvvTwt3FNo586def8eNGiQPvKRj8gwDPX09Pi+X0k64YQTdOSRR+quu+5SW1tb0fd37NhR1v3nqqur0/33368bb7xR3/rWt2xvN2bMGEnSvffem/f1u+++W5L0+c9/3vNj77XXXpKUt/o6AABAX0KFJQAAQI048sgjNWHCBH3961/XMccco0suuUTHHXecEomE3n77bT3zzDP6j//4j6Kf++Y3v6knnnhCr776qsaNG5cNzKz87W9/K2q7lqRzzjlHw4cP1+jRozVixAideuqpGj58uJYtW6YHH3xQn//85z0tCGSlX79++sMf/qDzzjtPxx57rP7zP/9T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UlLCx0cHrqPUuJb04VpKjutIP66l5LiW9OE6So7rSD+upeS4lvThOkqNa0kfrqXkuI4G6c3WnL0ho0WGDRuGCRMmYNWqVZHTJEnCqlWrYlrEk5k8eXKmDo8KDNcSWYVriazAdURW4VoiK3AdkVW4lsgqXEtkBa4j4wpiD0sAmDt3Lu644w68+uqr+PrXv47nn38e8+bNw4EDBzB27NhsH15e8Pl8OOKII+D1evnJAZnGdURW4Voiq3AtkRW4jsgqXEtkBa4jsgrXEmVKQbSEA8BPfvITtLe347HHHoPb7cb555+PpUuXMqy00PDhw/H4448ntNMTGcF1RFbhWiKrcC2RFbiOyCpcS2QFriOyCtcSZUrBVFgSERERERERERGR8xXEHpZERERERERERESUGxhYEhERERERERERkWMwsCQiIiIiIiIiIiLHYGBJREREREREREREjsHAkiKmTZuGr33taxg9ejSOPfZYXHfddaioqIg5z8DAACZPnoyjjz4ahx9+OG688Ua0trbGnMflcuGaa67BqFGjcOyxx+LBBx9EKBSKfL+lpQU333wzzjjjDBQXF+O+++6z4+6RjexaS+vXr8fFF1+Mo48+GiNHjsRZZ52F5557zpb7SJln1zpau3YtioqKEv5zu9223E/KPLvW0p133qm6ls4++2xb7idlnl1rCQCmT5+OL3/5yxg5ciTOPPNMvP322xm/f2QPq9bRr3/9a0yYMAHDhw/H+eefn3A7AwMDuPPOO3HuuediyJAhuO666zJ4rygb7FpLFRUV+Pa3v42xY8dixIgROP300/Hoo48iGAxm8u6RTexaR3V1daqvkzZv3pzJu0c5jIElRaxbtw6TJ0/G5s2bsWLFCgSDQVx55ZXo7e2NnOf+++/Hp59+ivnz52PdunVobm7GDTfcEPl+OBzGNddcg0AggI0bN+Ktt97C7Nmz8dhjj0XO4/f7ccwxx+DRRx/FeeedZ+t9JHvYtZYOO+ww3Hvvvfjss8+wf/9+PProo3j00Ufx2muv2Xp/KTPsWkeKiooKtLS0RP479thjbbmflHl2raUXXnghZg01NDTgqKOOwo9//GNb7y9ljl1racaMGXj44YfxxBNPoKysDFOnTsXkyZPx6aef2np/KTOsWEeKn/70p/jJT36iejvhcBgjR47Er3/9a0yaNClj94eyx661NHTo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Rjazay2Vl5eL888/X4wcOVKMGTNG/PCHPxQHDhyw625Shlm1ji699FLV64kOtk855RTV81B+sGstzZkzR3zlK18Rhx9+uDjssMPE+PHjxZNPPin6+/ttvLeUKXato9mzZ4svf/nLkfduX//618X8+fNtvKeUa4qEEMJ0eSYRERERERERERGRhbgJDhERERERERERETkGA0siIiIiIiIiIiJyDAaWRERERERERERE5BgMLImIiIiIiIiIiMgxGFgSERERERERERGRYzCwJCIiIiIiIiIiIsdgYElERERERERERESOwcCSiIiIiIiIiIiIHIOBJRERERERERERETkGA0siIiIicow777wTRUVFKCoqwtChQzF27FhcccUVmDVrFiRJ0n09s2fPxpFHHpm5AyUiIiKijGFgSURERESO8t3vfhctLS2oq6vDkiVL8O1vfxu/+c1vcO211yIUCmX78IiIiIgowxhYEhEREZGjDB8+HOPGjcMJJ5yAr3zlK/j973+Pjz/+GEuWLMHs2bMBAM8++yzOPfdcHHbYYTjppJPwq1/9Cj09PQCAtWvX4q677oLX641Uaz7xxBMAAL/fjwceeAAnnHACDjvsMFx44YVYu3Ztdu4oEREREaliYElEREREjnf55ZfjvPPOw7/+9S8AQHFxMV588UWUlZXhrbfewurVq/HQQw8BAL7xjW/g+eefx5gxY9DS0oKWlhY88MADAIB7770XmzZtwpw5c7Bnzx78+Mc/xne/+11UVlZm7b4RERERUawiIYTI9kEQEREREQHyHpYejwcfffRRwvf++7//G3v27EF5eXnC9z744APcfffd6OjoACDvYXnffffB4/FEzuNyuXD66afD5XLh+OOPj5w+adIkfP3rX8eTTz5p+f0hIiIiIuOGZPsAiIiIiIj0EEKgqKgIALBy5UpMmzYNBw4cgM/nQygUwsDAAPr6+jBq1CjVy+/duxfhcBhnnHFGzOl+vx9HH310xo+fiIiIiPRhYElEREREOWH//v047bTTUFdXh2uvvRb33HMP/vKXv+Coo47C+vXr8bOf/QyBQEAzsOzp6UFJSQlKS0tRUlIS873DDz/cjrtARERERDowsCQiIiIix1u9ejX27t2L+++/H6WlpZAkCc888wyKi+Ut2efNmxdz/mHDhiEcDsecdsEFFyAcDqOtrQ3f/OY3bTt2IiIiIjKGgSUREREROYrf74fb7UY4HEZrayuWLl2KadOm4dprr8Xtt9+Offv2IRgM4h//+Ae+//3vY8OGDXjllVdiruPUU09FT08PVq1ahfPOOw+jRo3CGWecgVtuuQW33347nnnmGVxwwQVob2/HqlWr8J//+Z+45pprsnSPiYiIiCgap4QTERERkaMsXboUxx13HE499VR897vfxZo1a/Diiy/i448/RklJCc477zw8++yzeOqpp3DOOefgvffew7Rp02Ku4xvf+Abuvvtu/OQnP8ExxxyDp59+GgDw5ptv4vbbb8dvf/tbnHnmmbjuuuuwbds2nHzyydm4q0RERESkglPCiYiIiIiIiIiIyDFYYUlERERERERERESOwcCSiIiIiIiIiIiIHIOBJRERERERERERETkGA0siIiIiIiIiIiJyDAaWRERERERERERE5BgMLImIiIiIiIiIiMgxGFgSERERERERERGRYzCwJCIiIiIiIiIiIsdgYElERERERERERESOwcCSiIiIiIiIiIiIHIOBJRERERERERERETnG/wcuLgcCVWCCowAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XmcHHWd//H35AYkBBASguFWRFDZBUVOQSFIRBFFjURhVwRcRVdZUfCHXCosh9wI4sWxCQoKCAFCIgkkQA4ScpD7vjOTTCYzkzl7urt+f7TV00dVdVV1dVdVz+v5ePiQzPR0V/fUdFe96/P5fOsMwzAEAAAAAAAAABHQL+wNAAAAAAAAAAATgSUAAAAAAACAyCCwBAAAAAAAABAZBJYAAAAAAAAAIoPAEgAAAAAAAEBkEFgCAAAAAAAAiAwCSwAAAAAAAACRQWAJAAAAAAAAIDIILAEAAAAAAABEBoElAAAAEBOHHXaYzj///LA3AwAAoKIILAEAAGrMmjVrdOWVV+qII47QkCFDNHToUJ166qm677771NnZqXfffVd1dXW6/vrrbe9j1apVqqur09VXXy1Juummm1RXV2f7v/r6+rK2ef369Xn3179/fx1yyCG68MILtWDBgrLu243XX389+9j/93//Z3mbU089VXV1dTruuOMqui1Lly7VTTfdpPXr11f0cQAAAKJqQNgbAAAAgOC89NJL+upXv6rBgwfrkksu0XHHHadEIqE333xT11xzjZYsWaJHH31UH/7wh/XUU0/pV7/6leX9TJgwQZL0zW9+M+/rDz/8sN73vvcV3X7YsGGBbP83vvENjRkzRqlUSsuWLdPDDz+sV155RbNmzdLxxx8fyGM4GTJkiCZMmFD0vNevX6+3335bQ4YMqfg2LF26VDfffLPOPPNMHXbYYRV/PAAAgKghsAQAAKgR69at09ixY3XooYdq6tSpOuigg7Lf+/73v6/Vq1frpZdekiSNGzdOv/jFLzRr1ix96lOfKrqvp556Sh/+8If17//+73lfv+iii/T+97+/Ys/h3//93/PCwlNPPVVf/OIX9fDDD+t3v/tdWffd3t6uvfbay/E2Y8aM0QsvvKDGxsa85zlhwgQNHz5cH/zgB7Vr166ytgMAAADOaAkHAACoEXfccYfa2tr0xz/+MS+sNB111FH67//+b0mZwFLqraTMNW/ePK1YsSJ7G68eeOABHXvssdpzzz2177776sQTT7R8HDc+85nPSMqEsabZs2frc5/7nPbZZx/tueee+vSnP6233nor7+fMFvalS5fq4osv1r777qvTTjut5ONdcMEFGjx4sJ555pm8r0+YMEFf+9rX1L9//6KfSSaT+uUvf6kjjzxSgwcP1mGHHaaf//zn6u7uzrudOX/yzTff1Cc/+UkNGTJERxxxhJ544onsbR577DF99atflSSdddZZ2Tb1119/Pe++nO4DAAAg7ggsAQAAasSLL76oI444QqecckrJ2x5++OE65ZRT9PTTTyuVSuV9zwwXL7744qKfa2pqUmNjY97/mpubs9///e9/rx/+8If6yEc+onvvvVc333yzjj/+eM2ePdvXc1qzZo0kaf/995ckTZ06VWeccYZaW1t144036tZbb1Vzc7M+85nPaM6cOUU//9WvflUdHR269dZbdfnll5d8vD333FMXXHCBnnrqqezXFi5cqCVLlli+HpL0ne98RzfccIP+/d//Xffcc48+/elP67bbbtPYsWOLbrt69WpddNFFOuecc/Sb3/xG++67r/7jP/5DS5YskSSdccYZ+uEPfyhJ+vnPf64nn3xSTz75pI455hjX9wEAABB3tIQDAADUgNbWVm3ZskUXXHCB658ZN26cvv/97+u1117T6NGjJUnpdFp//etfdfLJJ+uII44o+pmjjz7a8mvLly+XlJmheeyxxxZVKLrV0dGhxsZGpVIpLV++XD/+8Y8lZYJHwzD03e9+V2eddZZeeeUV1dXVSZKuvPJKHXvssbr++us1efLkvPv7+Mc/7rm68+KLL9YXvvAFbdq0SaNGjdL48eN1xBFHWLbOL1y4UI8//ri+853v6Pe//70k6Xvf+54OPPBA3XXXXZo2bZrOOuus7O1XrFih6dOn6/TTT5ckfe1rX9OoUaP05z//WXfddZeOOOIInX766br//vt1zjnn6Mwzzyx6zFL3AQAAEHdUWAIAANSA1tZWSdLee+/t+me+/vWva+DAgXmB3htvvKEtW7bYtoP//e9/15QpU/L+9+c//zn7/WHDhmnz5s165513fD2PG2+8UQcccIBGjBihM888U2vWrNHtt9+uL3/5y1qwYIFWrVqliy++WDt37sxWeLa3t+uzn/2spk+frnQ6nXd/3/3udz1vw+jRo7XffvvpL3/5iwzD0F/+8hd94xvfsLztyy+/LEnZ1dRN//M//yNJ2Zmhpo985CPZoFGSDjjgAB199NFau3at6+0L4j4AAACijApLAACAGjB06FBJ0u7du13/zP77769zzz1Xzz33nB555JHsCtkDBgzQ1772NcufOeOMMxwX3fnZz36mf/7zn/rkJz+po446SqNHj9bFF1+sU0891dU2XXHFFfrqV7+qfv36adiwYTr22GM1ePBgSdKqVaskSZdeeqntz7e0tGjffffN/vvwww939bi5Bg4cqK9+9auaMGGCPvnJT2rTpk227eAbNmxQv379dNRRR+V9fcSIERo2bJg2bNiQ9/VDDjmk6D723XdfTwv5BHEfAAAAUUZgCQAAUAOGDh2qkSNHavHixZ5+7pvf/KYmTpyoiRMn6otf/KL+/ve/a/To0TrggAN8bccxxxyjFStWaOLEiZo0aZL+/ve/67e//a1uuOEG3XzzzSV//oMf/KDOPvtsy++Z1ZN33nmnjj/+eMvbvO9978v79x577OHtCfzLxRdfrEceeUQ33XSTPv7xj+sjH/mI4+3N9vRSrBbtkSTDMFxvWxD3AQAAEGUElgAAADXi/PPP16OPPqqZM2fq5JNPdvUzX/ziF7X33ntrwoQJGjhwoHbt2uV7dXDTXnvtpa9//ev6+te/rkQioS9/+cv69a9/reuuu05Dhgzxfb9HHnmkpEw4axdqBuW0007TIYccotdff12333677e0OPfRQpdNprVq1Km9hnIaGBjU3N+vQQw/1/Nhuw08AAIBaxQxLAACAGvHTn/5Ue+21l77zne+ooaGh6Ptr1qzRfffdl/e1PfbYQxdeeKFefvllPfzww9prr708LdxTaOfOnXn/HjRokD7ykY/IMAz19PT4vl9JOuGEE3TkkUfqrrvuUltbW9H3d+zYUdb956qrq9P999+vG2+8Ud/61rdsbzdmzBhJ0r333pv39bvvvluS9PnPf97zY++1116SlLf6OgAAQF9ChSUAAECNOPLIIzVhwgR9/etf1zHHHKNLLrlExx13nBKJhN5++20988wz+o//+I+in/vmN7+pJ554Qq+++qrGjRuXDcys/O1vfytqu5akc845R8OHD9fo0aM1YsQInXrqqRo+fLiWLVumBx98UJ///Oc9LQhkpV+/fvrDH/6g8847T8cee6z+8z//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CksAAADAXnt7j4wSh6vVvvAPuEFgCQCIrdwZllRYAgAAAPlaWpzbwSUqLBFNBJYAgNjKPbjq7q52YEmFJQAAAKKt1II7EoEloonAEgAQW7kzLLu7k1V73HTayLbWGKV6bAAAAICQtLQQWCKeCCwBALEVVoVlbis6eSUAAACiyk2FZSLBDEtET6iB5fTp0/WFL3xBI0eOVF1dnZ5//vns93p6evSzn/1MH/3oR7XXXntp5MiRuuSSS7R169a8+2hqatK4ceM0dOhQDRs2TJdddpna2trybrNo0SKdfvrpGjJkiEaNGqU77rijGk8PAFBhucFhNSsscys7aQkHAABAVLmZYVnN42jArVADy/b2dn384x/XQw89VPS9jo4Ovfvuu/rFL36hd999V88++6xWrFihL37xi3m3GzdunJYsWaIpU6Zo4sSJmj59uq644ors91tbWzV69Ggdeuihmjdvnu68807ddNNNevTRRyv+/AAAlRVWhWXu41JhCQAAgKgyKyzr6uxv09VFYInoGRDmg5933nk677zzLL+3zz77aMqUKXlfe/DBB/XJT35SGzdu1CGHHKJly5Zp0qRJeuedd3TiiSdKkh544AGNGTNGd911l0aOHKnx48crkUjoT3/6kwYNGqRjjz1WCxYs0N13350XbAIA4ie30rGaB1r5LeEklgAAAIgmNy3hXV20hCN6Qg0svWppaVFdXZ2GDRsmSZo5c6aGDRuWDSsl6eyzz1a/fv00e/ZsXXjhhZo5c6bOOOMMDRo0KHubc889V7fffrt27dqlfffdt+hxuru71d3d+0fd2toqKdOm3tPTU6FnF3/ma8NrhHKwH8GL7u7e/aSrK5G331RyX+rqSmT/u66O/bXW8b6EILAfISjsSwgC+1Hf0dTUIUnq379OAwf2llkahqGursyF98LjaC/Yl+CFl/0kNoFlV1eXfvazn+kb3/iGhg4dKkmqr6/XgQcemHe7AQMGaL/99lN9fX32NocffnjebYYPH579nlVgedttt+nmm28u+vrkyZO15557BvJ8allhZSzgB/sR3Fi+vD7737t3r9DLL68vuk0l9qWWlt5qzkMOGaKXX3458MdA9PC+hCCwHyEo7EsIAvtR7Vu0aIsk6YtfPECXXDIy+3XDMHThhQslSQ0Ni/Tyy8vKehz2JbjR0dHh+raxCCx7enr0ta99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EREREWUaA8s8cvBg8qnaDQ1yYOn0qi8hkLcTwgFAkgSESpKlVFgWeshVXFyEb33rCyhy+kIlIiIiIiIiooxgYJlHursDmu3GwGCFZS4EYqGQehVivojfx5ITwomIiIiIiIiIZAws88ySJZWa31MqLCn74qe1Nzb60N2tPj2ciIiIiIiIiKiQMLDMM59+elDze7myh6UinzuCL710NrZta4p8zf0riYiIiIiIiIhkDCzzzObNTZrfy7XAMhda181qbu7GhRfOxIMPrkAgEOaEcCIiIiIiIiKifxuS7QMga9XWdqmeHgyG0dLSbfPRUDJCAH//+0YsWLAfp5xyZOQ0IiIiIiIiIqJCxsAyz/T3h+D1DuCII0bEnN7S0sMwzKGqq7tQXa0eNBMRERERERERFRq2hOehBQv2J5zW0ODNwpEQEREREREREREZw8AyDy1eXJVwWq7tX0lERERERERERIWJgWUe2rGjJeG0hgY5sORQFyIiIiIiIiIicrKCCiynT5+OU089FSNGjMCFF16IrVu3ZvuQMsLlSmz/ViosuY8lERERERERERE5WcEM3Zk7dy6mTJmCV155BRdeeCGef/55XHXVVaioqMCxxx6b7cOzVDAo4Ze/XIiRIwd/vEuXJraJExEREREREREROU3BBJbPPvssfv7zn+Ouu+4CALzyyitYtGgRZs2ahd/97ndZPjrrvfZaabYPgYiIiIiIiIiIyLCCCCwDgQBKS0vx8MMPR04rLi7GpEmTsGnTpoTz+/1++P3+yNder9xiPXx4EEVFzu6ilySBcFi977uoqAglJfL/M2HEiGL09fVhxIgAhJAychuU/7iOyCpcS2QVriWyAtcRWYVriazAdURW4VoiI4QIwu8HhI79CouEnnPluObmZpxwwgnYuHEjJk6cGDn9oYcewrp167Bly5aY8z/xxBOYOnWq3YdJRERERERERESU1xoaGnDiiScmPU9BVFga9fDDD2PKlCmRryVJwoQJE7Bjx46MVSfmA5/Ph5NOOgkNDQ0YM2ZMtg/Hsb72ta9h27Zt2T4Mx+I60o9rKTmuJX24jlLjWtKHayk5riN9uI5S41rSh2spOa4j/biWkuNa0ofrSCaEQHd3N44//viU5y2IwPKLX/wiSkpK0NraGnN6a2srxo0bl3D+4cOHY/jw4QmnHXHEERk9znwxZswYPlElUVJSwsdHB66j1LiW9OFaSo7rSD+upeS4lvThOkqO60g/rqXkuJb04TpKjWtJH66l5LiOBunN1py9IaNFhg0bhgkTJmDVqlWR0yRJwqpVq2JaxJOZPHlypg6PCgzXElmFa4mswHVEVuFaIitwHZFVuJbIKlxLZAWuI+MKYg9LAJg7dy7uuOMOvPrqq/j617+O559/HvPmzcOBAwcwduzYbB9eXvD5fDjiiCPg9Xr5yQGZxnVEVuFaIqtwLZEVuI7IKlxLZAWuI7IK1xJlSkG0hAPAT37yE7S3t+Oxxx6D2+3G+eefj6VLlzKstNDw4cPx+OOPJ7TTExnBdURW4Voiq3AtkRW4jsgqXEtkBa4jsgrXEmVKwVRYEhERERERERERkfMVxB6WRERERERERERElBsYWBIREREREREREZFjMLAkIiIiIiIiIiIix2BgSURERERERERERI7BwJIipk2bhq997WsYPXo0jj32WFx33XWoqKiIOc/AwAAmT56Mo48+GocffjhuvPFGtLa2xpzH5XLhmmuuwahRo3DsscfiwQcfRCgUiny/paUFN998M8444wwUFxfjvvvus+PukY3sWkvr16/HxRdfjKOPPhojR47EWWedheeee86W+0iZZ9c6Wrt2LYqKihL+c7vdttxPyjy71tKdd96pupbOPvtsW+4nZZ5dawkApk+fji9/+csYOXIkzjzzTLz99tsZv39kD6vW0a9//WtMmDABw4cPx/nnn59wOwMDA7jzzjtx7rnnYsiQIbjuuusyeK8oG+xaSxUVFfj2t7+NsWPHYsSIETj99NPx6KOPIhgMZvLukU3sWkd1dXWqr5M2b96cybtHOYyBJUWsW7cOkydPxubNm7FixQoEg0FceeWV6O3tjZzn/vvvx6effor58+dj3bp1aG5uxg033BD5fjgcxjXXXINAIICNGzfirbfewuzZs/HYY49FzuP3+3HMMcfg0UcfxXnnnWfrfSR72LWWDjvsMNx777347LPPsH//fjz66KN49NFH8dprr9l6fykz7FpHioqKCrS0tET+O/bYY225n5R5dq2lF154IWYNNTQ04KijjsKPf/xjW+8vZY5da2nGjBl4+OGH8cQTT6CsrAxTp07F5MmT8emnn9p6fykzrFhHip/+9Kf4yU9+ono74XAYI0eOxK9//WtMmjQpY/eHsseutTR06FDcfvvtWL58OSoqKvD888/j9ddfx+OPP56x+0b2sWsdKVauXBnzemnChAmW3yfKE4JIQ1tbmwAg1q1bJ4QQwuPxiKFDh4r58+dHzrN//34BQGzatEkIIcTixYtFcXGxcLvdkfPMmDFDjBkzRvj9/oTbuPTSS8VvfvObzN4Ryjo71pLi+uuvF7feemuG7gllU6bW0Zo1awQA0dXVZd+doayy6zlpwYIFoqioSNTV1WXw3lA2ZWotTZw4UTzwwAMxtzVlyhRx8cUXZ/ouURaYWUfRHn/8cXHeeeclvY077rhD/PCHP7TysMmB7FhLivvvv19ccskllhw3OUum1lFtba0AIHbu3JmpQ6c8wwpL0uT1egEARx11FACgtLQUwWAw5hPas846CyeffDI2bdoEANi0aRPOPfdcjB07NnKeq666Cj6fD2VlZTYePTmJXWtp586d2LhxIy699NJM3RXKokyvo/PPPx/HHXccrrjiCmzYsCHTd4eyyK7npDfeeAOTJk3CKaeckqm7QlmWqbXk9/sxYsSImNsaOXIktm7dyhbMPGRmHRGpsWstVVVVYenSpXzNnacyvY5+8IMf4Nhjj8Ull1yCTz75xJqDprzEwJJUSZKE++67DxdffDHOOeccAIDb7cawYcNw5JFHxpx37Nixkb3e3G53zAtw5fvK96jw2LGWTjzxRAwfPhxf/epXMXnyZPzP//xPhu4NZUsm19Fxxx2HV155BR9++CE+/PBDnHTSSbjsssuwY8eODN8ryga7/r41NzdjyZIlfD7KY5lcS1dddRVmzpyJ0tJSCCGwfft2zJw5E8FgEB0dHRm+Z2Qns+uIKJ4da+kb3/gGRowYgf/4j//AN7/5Tfzxj3+04tDJQTK5jg4//HA888wzmD9/PhYtWoRLLrkE1113HUNL0jQk2wdAzjR58mTs27cP69evz/ahUI6zYy19/vnn6OnpwebNm/G73/0O/+///T/cdNNNGbs9sl8m19GZZ56JM888M/L1N77xDVRXV+O5557DO++8Y/ntUXbZ9fftrbfewpFHHskhF3ksk2vpD3/4A9xuNy666CIIITB27FjccccdePrpp1FczHqDfMLX3GQVO9bS3Llz0d3djd27d+PBBx/E3//+dzz00EMZuz2yXybX0Re/+EVMmTIl8vXXvvY1NDc3429/+xt+8IMfWH57lPv4iocS3HvvvVi4cCHWrFmDE088MXL6uHHjEAgE4PF4Ys7f2tqKcePGRc4TPy1M+Vo5DxUOu9bSaaedhnPPPRc///nPcf/99+OJJ56w/s5Q1mTjOenrX/86qqqqLLoH5BR2rSUhBGbNmoXbbrsNw4YNy8A9oWzL9FoaOXIkZs2ahb6+PtTV1cHlcuHUU0/F6NGjccwxx2TwnpGd0llHRNHsWksnnXQSxo8fj5tuugl//etf8cQTTyAcDqd7+OQQ2XhOuvDCC/mamzQxsKQIIQTuvfdeLFiwAKtXr8Zpp50W8/0JEyZg6NChWLVqVeS0iooKuFwuTJw4EQAwceJE7N27F21tbZHzrFixAmPGjMH48ePtuSOUddlcS5Ikwe/3W3yPKBuyuY527dqF4447zuJ7RNli91pat24dqqqq8LOf/SyD94qywe61NHToUJx44okoKSnBnDlzcO2117LCMg9YsY6IgOyuJUmSEAwGIUlSWtdD2ZfNdcTX3JRUlob9kAPdc8894ogjjhBr164VLS0tkf/6+voi57n77rvFySefLFavXi22b98uJk6cKCZOnBj5figUEuecc4648sorxa5du8TSpUvFMcccIx5++OGY29q5c6fYuXOnmDBhgrj55pvFzp07RVlZmW33lTLLrrX00ksviU8++UQcPHhQHDx4UMycOVOMHj1aPPLII7beX8oMu9bRc889Jz766CNRWVkp9u7dK37zm9+I4uJisXLlSlvvL2WOnX/fhBDi1ltvFRdeeKEt943sZddaqqioEO+88444ePCg2LJli/jJT34ijjrqKFFbW2vn3aUMsWIdCSFEZWWl2Llzp/jlL38pzjjjjMjra2XavBBClJWViZ07d4rvf//74rLLLouch/KDXWvp3XffFXPnzhXl5eWiurpazJ07Vxx//PHilltusfX+UmbYtY5mz54t3n//fbF//36xf/9+8Ze//EUUFxeLWbNm2Xp/KXcwsKQIAKr/vfnmm5Hz9Pf3i1/96lfiC1/4ghg1apS4/vrrRUtLS8z11NXViauvvlqMHDlSfPGLXxS//e1vRTAYTHlbp5xyig33kuxg11p68cUXxdlnny1GjRolxowZIy644ALx8ssvi3A4bNddpQyyax099dRT4ktf+pIYMWKEOOqoo8Rll10mVq9ebdfdJBvY+ffN4/GIkSNHitdee82Ou0Y2s2stlZeXi/PPP1+MHDlSjBkzRvzwhz8UBw4csOtuUoZZtY4uvfRS1euJDrZPOeUU1fNQfrBrLc2ZM0d85StfEYcffrg47LDDxPjx48WTTz4p+vv7bby3lCl2raPZs2eLL3/5y5H3bl//+tfF/PnzbbynlGuKhBDCdHkmERERERERERERkYW4CQ4RERERERERERE5BgNLIiIiIiIiIiIicgwGlkREREREREREROQYDCyJiIiIiIiIiIjIMRhYEhERERERERERkWMwsCQiIiIiIiIiIiLHYGBJREREREREREREjsHAkoiIiIiIiIiIiByDgSURERERERERERE5BgNLIiIiInKMO++8E0VFRSgqKsLQoUMxduxYXHHFFZg1axYkSdJ9PbNnz8aRRx6ZuQMlIiIiooxhYElEREREjvLd734XLS0tqKurw5IlS/Dtb38bv/nNb3DttdciFApl+/CIiIiIKMMYWBIRERGRowwfPhzjxo3DCSecgK985Sv4/e9/j48//hhLlizB7NmzAQDPPvsszj33XBx22GE46aST8Ktf/Qo9PT0AgLVr1+Kuu+6C1+uNVGs+8cQTAAC/348HHngAJ5xwAg477DBceOGFWLt2bXbuKBERERGpYmBJRERERI53+eWX47zzzsO//vUvAEBxcTFefPFFlJWV4a233sLq1avx0EMPAQC+8Y1v4Pnnn8eYMWPQ0tKClpYWPPDAAwCAe++9F5s2bcKcOXOwZ88e/PjHP8Z3v/tdVFZWZu2+EREREVGsIiGEyPZBEBEREREB8h6WHo8HH330UcL3/vu//xt79uxBeXl5wvc++OAD3H333ejo6AAg72F53333wePxRM7jcrlw+umnw+Vy4fjjj4+cPmnSJHz961/Hk08+afn9ISIiIiLjhmT7AIiIiIiI9BBCoKioCACwcuVKTJs2DQcOHIDP50MoFMLAwAD6+vowatQo1cvv3bsX4XAYZ5xxRszpfr8fRx99dMaPn4iIiIj0YWBJRERERDlh//79OO2001BXV4drr70W99xzD/7yl7/gqKOOwvr16/Gzn/0MgUBAM7Ds6elBSUkJSktLUVJSEvO9ww8/3I67QEREREQ6MLAkIiIiIsdbvXo19u7di/vvvx+lpaWQJAnPPPMMiovlLdnnzZsXc/5hw4YhHA7HnHbBBRcgHA6jra0N3/zmN207diIiIiIyhoElERERETmK3++H2+1GOBxGa2srli5dimnTpuHaa6/F7bffjn379iEYDOIf//gHvv/972PDhg145ZVXYq7j1FNPRU9PD1atWoXzzjsPo0aNwhlnnIFbbrkFt99+O5555hlccMEFaG9vx6pVq/Cf//mfuOaaa7J0j4mIiIgoGqeEExEREZGjLF26FMcddxxOPfVUfPe738WaNWvw4osv4uOPP0ZJSQnOO+88PPvss3jqqadwzjnn4L333sO0adNiruMb3/gG7r77bvzkJz/BMcccg6effhoA8Oabb+L222/Hb3/7W5x55pm47rrrsG3bNpx88snZuKtEREREpIJTwomIiIiIiIiIiMgxWGFJREREREREREREjsHAkoiIiIiIiIiIiByDgSURERERERERERE5BgNLIiIiIiIiIiIicgwGlkREREREREREROQYDCyJiIiIiIiIiIjIMRhYEhERERERERERkWMwsCQiIiIiIiIiIiLHYGBJREREREREREREjsHAkoiIiIiIiIiIiByDgSURERERERERERE5xv8HLi4HAlVggqMAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -403,10 +403,10 @@ "id": "common-louis", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:31.154100Z", - "iopub.status.busy": "2024-09-13T08:21:31.153621Z", - "iopub.status.idle": "2024-09-13T08:21:31.384984Z", - "shell.execute_reply": "2024-09-13T08:21:31.384394Z" + "iopub.execute_input": "2025-02-02T04:20:09.196973Z", + "iopub.status.busy": "2025-02-02T04:20:09.196643Z", + "iopub.status.idle": "2025-02-02T04:20:09.400560Z", + "shell.execute_reply": "2025-02-02T04:20:09.399992Z" }, "tags": [ "remove-input" @@ -415,7 +415,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdebyc4/3/8ffJQiQSQSURW4O29tJqCaFFUKGldElF+bZKW9GFbxf6w7e0KFW72qqC2mupJdQpkcgiIiQim4hEIsnJfs7J2efMzO+P03vOdW8z98zcM3Pfc17Px8NDzsycue+55zoz1/2+P9d11aTT6bQAAAAAAAAAIAJ6VXoHAAAAAAAAAMBCYAkAAAAAAAAgMggsAQAAAAAAAEQGgSUAAAAAAACAyCCwBAAAAAAAABAZBJYAAAAAAAAAIoPAEgAAAAAAAEBkEFgCAAAAAAAAiAwCSwAAAAAAAACRQWAJAAAARNiECRNUU1Ojt99+u9K7AgAAUBYElgAAAFVs6dKl+vGPf6w999xT/fr106BBg3TkkUfqlltuUWtrq9555x3V1NTosssu832OJUuWqKamRhdffLEk6fe//71qamp8/6urqytqn5cvX257vt69e2v33XfXN7/5Tc2ZM6eo587lrbfeUk1NjW666SbXfaeeeqpqamp0//33u+47+uijtcsuu5R03wAAAHqKPpXeAQAAAJTGiy++qG9/+9vaeuutdfbZZ+uAAw5QR0eHpk6dql//+teaP3++7rnnHu2zzz569NFH9cc//tHzeR555BFJ0llnnWW7/c4779S2227revzgwYND2f/vfe97GjNmjJLJpBYuXKg777xTL730kt58800dfPDBoWzD6Qtf+IL69++vqVOn6qKLLrLdN336dPXp00fTpk3TD37wg8ztHR0dmjVrlr7+9a+XZJ8AAAB6GgJLAACAKrRs2TKNHTtWe+yxh1577TXtvPPOmfvGjx+vDz/8UC+++KIkady4cbr88sv15ptv6vDDD3c916OPPqp99tlHX/jCF2y3f+tb39KnPvWpkr2GL3zhC7aQ9Mgjj9Q3vvEN3Xnnnbr77ruLeu7m5mYNGDDAdXufPn102GGHadq0abbbFy9erA0bNujMM8/U1KlTbffNnj1bbW1tGjVqVFH7BAAAgC4MCQcAAKhC119/vZqamnTffffZwkrL3nvvrV/84heSugJLqbuS0jR79mwtXrw485h83Xbbbdp///3Vv39/bb/99jr00EM9txPEscceK6krjLXMnDlTX/va17Tddtupf//++spXvuIKG60h7AsWLNCZZ56p7bffPmu4OGrUKK1du1Yffvhh5rZp06Zp0KBBOv/88zPhpXmf9XuWl156SUcddZQGDBiggQMH6uSTT9b8+fNd21q0aJG+9a1vaYcddlC/fv106KGH6rnnnst5LDZv3qwvf/nL2nXXXbV48eKcjwcAAIgTAksAAIAq9Pzzz2vPPffUEUcckfOxI0aM0BFHHKEnnnhCyWTSdp8VLp555pmu39u0aZM2bNhg+6++vj5z/7333quf//zn2m+//XTzzTfryiuv1MEHH6yZM2cW9JqWLl0qSdpxxx0lSa+99pqOPvpoNTY26v/+7/90zTXXqL6+Xscee6zeeust1+9/+9vfVktLi6655hqdd955vtuxgkezknLatGk6/PDDddhhh6lv376aPn267b6BAwfq85//vCTpoYce0sknn6xtt91W1113nS6//HItWLBAo0aN0vLlyzO/N3/+fB1++OFauHChLrnkEv3lL3/RgAEDdNppp+mZZ57x3b8NGzbo2GOP1dq1azV58mR97nOfC3D0AAAA4oMh4QAAAFWmsbFRq1at0qmnnhr4d8aNG6fx48fr1Vdf1QknnCBJSqVSevzxxzVy5Ejtueeert/xCso+97nPadGiRZK65tDcf//99eSTTxb0OlpaWrRhwwYlk0ktWrQoM6fkt7/9baXTaf3kJz/RMccco5deekk1NTWSpB//+Mfaf//9ddlll+mVV16xPd/nP//5QNWdI0eOVO/evTV16lT9z//8j6SuUPLMM89Uv379dMghh2jq1Kn6xje+kbnv8MMPV+/evdXU1KSf//zn+tGPfqR77rkn85znnHOOPve5z+maa67J3P6LX/xCu+++u2bNmqWtt95aknTBBRdo1KhR+u1vf6tvfvObrn2rq6vT6NGj1draqilTpmiPPfbI86gCAABEHxWWAAAAVaaxsVGSNHDgwMC/893vfld9+/a1BXqTJ0/WqlWrfIeDP/XUU6qtrbX9Z66gPXjwYH3yySeaNWtWQa/j//7v/7TTTjtp2LBh+upXv6qlS5fquuuu0+mnn645c+ZoyZIlOvPMM7Vx48ZMhWdzc7OOO+44TZkyRalUyvZ8P/nJTwJtd+DAgTrooIMyFZYbNmzQ4sWLM9WqRx55ZGYY+AcffKD169dnqjJra2tVX1+v733ve7bK0969e+uwww7TpEmTJHVVp7722mv6zne+oy1btmQet3HjRp144olasmSJVq1aZduvTz75RF/5yleUSCQIKwEAQFWjwhIAAKDKDBo0SJK0ZcuWwL+z44476sQTT9Qzzzyju+66S/369dMjjzyiPn366Dvf+Y7n7xx99NFZF9357W9/q//85z/68pe/rL333lsnnHCCzjzzTB155JGB9un888/Xt7/9bfXq1UuDBw/W/vvvn6lEXLJkiaSuykU/DQ0N2n777TM/jxgxItB2pa5h4bfddps2bNig6dOnq3fv3pkFiY444gj99a9/VXt7u2v+Smu/rPk2naz35sMPP1Q6ndbll1+uyy+/3POx69at0y677JL5+fvf/7769OmjhQsXatiwYYFfCwAAQNwQWAIAAFSZQYMGafjw4Xr//ffz+r2zzjpLL7zwgl544QV94xvf0FNPPaUTTjhBO+20U0H7se+++2rx4sV64YUX9PLLL+upp57SX//6V11xxRW68sorc/7+Zz7zGY0ePdrzPqt68s9//rMOPvhgz8dsu+22tp+32WabwPtuBZbTpk3T9OnTdeCBB2ae74gjjlB7e7tmzZqlqVOnqk+fPpkw09qvhx56yDNU7NOnj+1xv/rVr3TiiSd67sPee+9t+/n000/Xgw8+qFtuuUXXXntt4NcCAAAQNwSWAAAAVeiUU07RPffcoxkzZmjkyJGBfucb3/iGBg4cqEceeUR9+/bV5s2bC14d3DJgwAB997vf1Xe/+111dHTo9NNP19VXX61LL71U/fr1K/h599prL0ld4axfqFkMc+GdGTNm2KpChw8frj322EPTpk3TtGnTdMghh6h///62/RoyZEjW/bLmBO3bt2/g/f/Zz36mvffeW1dccYW22247XXLJJQW9NgAAgKhjDksAAIAq9Jvf/EYDBgzQj370I61du9Z1/9KlS3XLLbfYbttmm230zW9+UxMnTtSdd96pAQMG5LVwj9PGjRttP2+11Vbab7/9lE6nlUgkCn5eSfriF7+ovfbaSzfccIOamppc969fv76o5x8+fLhGjBihV199VW+//bZrtfUjjjhCzz77rBYvXpwJNyXpxBNP1KBBg3TNNdd4vkZrv4YMGaKvfvWruvvuu7VmzZrA+3/55ZfrV7/6lS699FLdeeedxbxEAACAyKLCEgAAoArttddeeuSRR/Td735X++67r84++2wdcMAB6ujo0PTp0/Xkk09mVsA2nXXWWXrwwQf173//W+PGjdOAAQN8t/HPf/7TNexako4//ngNHTpUJ5xwgoYNG6YjjzxSQ4cO1cKFC3X77bfr5JNPzmtBIC+9evXS3/72N5100knaf//99YMf/EC77LKLVq1apUmTJmnQoEF6/vnni9rGqFGj9NBDD0mSa97NI444Qo8++mjmcZZBgwbpzjvv1Pe//3194Qtf0NixY7XTTjtpxYoVevHFF3XkkUfq9ttvlyTdcccdGjVqlA488ECdd9552nPPPbV27VrNmDFDn3zyiebOneu5X3/+85/V0NCg8ePHa+DAgTrrrLOKep0AAABRQ2AJAABQpb7xjW/ovffe05///Gf961//0p133qmtt95aBx10kP7yl7/ovPPOc/3Oscceq5133llr1qzJORz8pz/9qeftkyZN0tChQ/XjH/9YDz/8sG688UY1NTVp11131c9//nNddtlloby+r371q5oxY4b+8Ic/6Pbbb1dTU5OGDRumww47TD/+8Y+Lfn4rsNxll11cK3KbAaYZWErSmWeeqeHDh+tPf/qT/vznP6u9vV277LKLjjrqKP3gBz/IPG6//fbT22+/rSuvvFITJkzQxo0bNWTIEB1yyCG64oorsu7bXXfdpaamJv3gBz/QwIEDi6qEBQAAiJqadDqdrvROAAAAAAAAAIDEHJYAAAAAAAAAIoTAEgAAAAAAAEBkEFgCAAAAAAAAiAwCSwAAAAAAAACRQWAJAAAAAAAAIDIILAEAAAAAAABERp9K70AcpFIprV69WgMHDlRNTU2ldwcAAAAAAACIlXQ6rS1btmj48OHq1St7DSWBZQCrV6/WbrvtVundAAAAAAAAAGJt5cqV2nXXXbM+hsAygIEDB0qSli1bph122KHCe4M4SyQSeuWVV3TCCSeob9++ld4dxBTtCMWiDSEstCUUizaEMNCOEAbaEcJAO8pu06ZNGjFiRCZny4bAMgBrGPjAgQM1aNCgCu8N4iyRSKh///4aNGgQH14oGO0IxaINISy0JRSLNoQw0I4QBtoRwkA7yi6RSEhSoOkWWXQH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AbKgbQIAACCOrKIQ+rOIg8CB5d13362WlpbMzz/+8Y+1du3azM/t7e3697//He7eAehRmMMSxSrPHJYMCQcAAED8WP1WKiwRB4EDy0oMswPQc6XTqUrvAmKoPKuEZ98mAAAAEEXdQ8IrvCNAAIEDSwAoNYaEI45oqwAAAIiD7iHhdGARfQSWACLDPiScL1HkrxJDwlMpqoEBAAAQfd1Dwiu7H0AQea0SfsUVV6h///6SpI6ODl199dXabrvtJMk2vyUAFMIMgsiAUIjKDAkPfRMAAABA6KiwRJwEDiyPPvpoLV68OPPzEUccoY8++sj1GAAoFBWWiAN3hSVtFQAAANHHHJaIk8CB5euvv17C3QAA5rBE8SpR/UhgCQAAgDjgHAtxEngOy1/96ldatGhRKfcFQA9HhSWKVY52w5BwAAAAxBFDwhEngQPLf/3rX9p///11xBFH6O9//7uam5tLuV8AeiB7hSVfoiheaeawZNEdAAAAxA/nWIiTwIHlkiVLNGnSJH32s5/VL37xCw0bNkw//OEPNX369FLuH4AexPz+JANCIcqzSnj4zwkAAACUWneFZYV3BAggcGApdS2qM2HCBNXV1emWW27RkiVLNGrUKO2777664YYbtHbt2lLtJ4AewH7Fj29RxAPhOgAAAOKAoBJxkldgaRkwYIB++MMf6o033tAHH3yg008/Xddee6123333sPcPQA9FCIRCOIe5MCQcAAAA6MJikYiTggJLS3Nzs9544w1NnjxZmzdv1p577hnWfgHogVh0B8UqR7Nh0R0AAADEkXmORXiJqCsosJw6dap++MMfauedd9bPf/5zffazn9Ubb7yhhQsXhr1/AHoQ+6I7FdwRVI3SzGHprLCksQIAACD67GsG0IdFtPUJ+sA1a9bogQce0IQJE/TBBx/o8MMP14033qixY8dq2223LeU+AughqLBEscoxJNy9zZJvAgAAACiaGVImkyn16VPUoFugpAK3zt1220033XSTTjnlFM2fP1/Tp0/Xj370o5KHlatWrdJZZ52lHXfcUdtss40OPPBAvf3225n70+m0rrjiCu28887aZpttNHr0aC1ZssT2HJs2bdK4ceM0aNAgDR48WOeee66amppKut8A8mevsCQFQv4qMySctgoAAIDoM/utySR9WERb4MDyiSee0KpVq3TDDTdo3333LeU+ZWzevFlHHnmk+vbtq5deekkLFizQX/7yF22//faZx1x//fW69dZbddddd2nmzJkaMGCATjzxRLW1tWUeM27cOM2fP1+1tbV64YUXNGXKFJ1//vlleQ0AgrNXWFZuP1A9GBIOAAAAdHFWWAJRFnhI+OGHH65LLrlEV1xxhQYNGmS7r6GhQX/84x/1q1/9SkOHDg1t56677jrttttuuv/++zO3jRgxIvPvdDqtm2++WZdddplOPfVUSdKDDz6ooUOH6tlnn9XYsWO1cOFCvfzyy5o1a5YOPfRQSdJtt92mMWPG6IYbbtDw4cNd221vb1d7e3vm58bGRklSIpFQIpEI7fWh57HaD+3IW2dn0vgpxXHyQTvyZ29DUmdn+J/bHR3250smk7F7L2hDCAttCcWiDSEMtCOEoSe0o87O7pCyoyOhRIIh4WHrCe2oGPkcl8CB5Y033qjGxkZXWClJ2223nbZs2aIbb7xR1113XeCN5/Lcc8/pxBNP1Le//W1NnjxZu+yyiy644AKdd955kqRly5aprq5Oo0ePtu3LYYcdphkzZmjs2LGaMWOGBg8enAkrJWn06NHq1auXZs6cqW9+85uu7V577bW68sorXbdPmjRJ/fv3D+31oeeqra2t9C5E0tKlqzP/3mmnBk2cOLGCexN9tCO3hQvXZf7dt2+N5s2bpnnzwt3GmjXttp/r6uZo4sSQN1ImtCGEhbaEYtGGEAbaEcJQze3IOt8aOLC3pk59tcJ7U92quR0Vo6WlJfBjAweWL7/8su666y7f+88++2ydd955oQaWH330ke68805dfPHF+t3vfqdZs2bp5z//ubbaaiudc845qqurkyRXVefQoUMz99XV1WnIkCG2+/v06aMddtgh8xinSy+9VBdffHHm58bGRu2222465phjtOOOO4b2+tDzJBIJ1dbW6vjjj1ffvn0rvTuRM2XKq5K6Aqe6ukEaM2ZMZXcoomhH/hYtelNSV0cskUjrgAOO1O67bxfqNpYs2SRpYebnIUMO0lFH7RHqNkqNNoSw0JZQLNoQwkA7Qhh6Qjuyzre2bEnqy1/+qj71KQqywtYT2lExNm7cGPixgQPLZcuWaffdd/e9f9ddd9Xy5csDbziIVCqlQw89VNdcc40k6ZBDDtH777+vu+66S+ecc06o2zJtvfXW2nrrrV239+3blwaHUNCWvPXq1T0kIZWq4RjlQDtyM9uQJPXu3Sf0Y9Snj/Ors3ds3wfaEMJCW0KxaEMIA+0IYajmdlRT091X7tUrvn3YOKjmdlSMfI5J4AkLttlmm6yB5PLly7XNNtsE3nAQO++8s/bbbz/bbfvuu69WrFghSRo2bJgkae3atbbHrF27NnPfsGHDtG7dOtv9nZ2d2rRpU+YxAKKBhXYQtlKs4O1edIcJywEAABB99kV3OPlCtAUOLA877DA99NBDvvc/+OCD+vKXvxzKTlmOPPJILV682HbbBx98oD326Bp6N2LECA0bNkyvvto990JjY6NmzpypkSNHSpJGjhyp+vp6zZ49O/OY1157TalUSocddlio+wugOGYQxMrLKIQznyxHCE7QDgAAgDgwz7dYJRxRF3hI+K9+9Ssdf/zx2m677fTrX/86M2/k2rVrdf3112vChAl65ZVXQt25iy66SEcccYSuueYafec739Fbb72le+65R/fcc48kqaamRr/85S/1xz/+UZ/5zGc0YsQIXX755Ro+fLhOO+00SV0VmV/72td03nnn6a677lIikdCFF16osWPHeq4QDqByzOCnFJVxqH7laDfOTRCuAwAAIA7Mfix9WERd4MDymGOO0R133KFf/OIXuummmzRo0CDV1NSooaFBffv21W233aZjjz021J370pe+pGeeeUaXXnqprrrqKo0YMUI333yzxo0bl3nMb37zGzU3N+v8889XfX29Ro0apZdffln9+vXLPObhhx/WhRdeqOOOO069evXSGWecoVtvvTXUfQVQPDNsIq9EGMoxJJy2CgAAgDhgSDjiJHBgKUk//vGPdcopp+iJJ57Qhx9+qHQ6rc9+9rP61re+pV133bUkO3jKKafolFNO8b2/pqZGV111la666irfx+ywww565JFHSrF7AEJEhSWKVYlmQ1sFAABAHDAkHHGSV2ApSbvssosuuuiiUuwLgB6OCksUqxzVjwwJBwAAQByZ/dZEgsAS0RZ40R0AKDUqLBE2hoQDAAAAXcx+a2cngSWijcASQGRQYYliVWJVcMJ1AAAAxIG9wjJZwT0BciOwBBAZVFiiWJWofmRIOAAAAOLA7Ct3dBBYItoILAFEEnklwsCQcAAAAKCL2W9llXBEXd6B5RVXXKFJkyapra2tFPsDoAezDwnnCxT5q8SQcCosAQAAEAcMCUec5B1Y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bbvttjrjjDO0du1a2++tWLFCJ598svr3768hQ4bo17/+tTo7O8u89wByocIyN+awzK4cYaJzE3EbVW2GlHRSAQAAqovfkHDvOSxj1pFFjxKbwHLWrFm6++67ddBBB9luv+iii/T888/rySef1OTJk7V69WqdfvrpmfuTyaROPvlkdXR0aPr06XrggQc0YcIEXXHFFeV+CQByiNvQ2kpgDsvsyjG/pHuezHi9F/YKy3jtOwAAALLzX3SHIeGIl1gElk1NTRo3bpzuvfdebb/99pnbGxoadN999+nGG2/Uscceqy9+8Yu6//77NX36dL355puSpFdeeUULFizQP/7xDx188ME66aST9Ic//EF33HGHOjo6KvWSAHigwjI3KizzQyfMzQwpOT4AAADVJZ8h4eYcl0DU9Kn0DgQxfvx4nXzyyRo9erT++Mc/Zm6fPXu2EomERo8enbltn3320e67764ZM2bo8MMP14wZM3TggQdq6NChmceceOKJ+ulPf6r58+frkEMOcW2vvb1d7e3tmZ8bGxslSYlEQolEohQvET2E1X5oR97Mq369enGcvHR2dg3rSKc5Pl7cq16nQz9O1ntgqakJfxul1NHRPSVKMpmM1b4jevheQ7FoQwgD7QhhqJZ2ZPZVOzq6M4yODvfram9vj/3rjZpqaUelks9xiXxg+dhjj+mdd97RrFmzXPfV1dVpq6220uDBg223Dx06VHV1dZnHmGGldb91n5drr71WV155pev2SZMmqX///oW8DMCmtra20rsQSeaFgv3376eJEydWcG+i6ZNPPpHUFe7SjtzWrVtn+3nbbdeG3o4WLLBvY8SIjli11Xff3ZT5d79+dbHad0QXn0coFm0IYaAdIQxxb0dr1qzJ/Lu9fakmTuw6f1i/3j3CdOnSWVqxIhYDb2Mn7u2oVFpaWgI/NtKB5cqVK/WLX/xCtbW16tevX9m2e+mll+riiy/O/NzY2KjddttNxxxzjHbcccey7QeqTyKRUG1trY4//nj17du30rsTOX37fiCpq/rr/fdbNWbMmMruUAQ9/vi/JG1WKiXakYc773xM0pbMz42NQzRmzFdC3caiRW9KWp35eenSvrrxxvi01fXr50paIUlqahqiMWOOruwOIdb4XkOxaEMIA+0IYaiWdnT//f+U1CBJSqf30JgxX5Akffxxg6QFtsfuvPMh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9hvBcvHixbjtttuwcuVKzJ07F6lUChdddBGi0ai2zV133YVPPvkEkydPxuLFi9HU1IQrrrhC+z6TyeDSSy9FMpnE8uXL8fbbb2Ps2LF4+OGHtW127dqFSy+9FBdccAEqKytx55134sYbbyShaR+iWLa0ZMkSXHjhhZgxYwbWrl2LCy64AJdddhnWr19f1Osl/KdYNsQJh8O45ppr8P3vf78o10cETzFt6Oc//znmz5+Pt956C9u3b8f48eNx0kknFe1aiWApli0tW7YM11xzDW644QZs3rwZkydPxqpVq3DTTTcV9XqJYPDDjji//e1vcdVVVymP093djYsuugjHHnss1q5di6effhqPPvooXn/99cCujSgOxbKh5cuX47TTTsMHH3yAjRs34vrrr8c111yDadOmBXZtRHEpli1xUqkUfvGLX+C73/2u79dC9A3FtKE77rgDb775Jp555hls27YNU6dOxdlnnx3IdfVL2H5Ka2srA8AWL17MGGMsHA6zgQMHssmTJ2vbbN26lQFgK1asYIwxNmPGDDZgwADW0tKibfPKK6+wYcOGsUQiwRhj7P7772ff+MY3dMe66qqr2MUXXxz0JRF9RFC2pOLkk09mjz32WEBXQvQVQdvQVVddxR566CH2yCOPsNNPPz34CyKKTlA2NHPmTDZ8+HDW0dFRxKsh+pKgbOnpp59mJ5xwgu5YL774IhsxYkTQl0T0AV7sSMTsffXyyy+zQw89VPee++Mf/8hOOukk/y+C6FOCsiEVP/rRj9j111/vy3kTpUfQtnT//fezX//612zMmDFs+PDhfp8+UQIEZUNbtmxhFRUVbNu2bYGde39nv/GwlOnq6gIAfOELXwAArF27FqlUCj/4wQ+0bb72ta/hmGOOwYoVKwAAK1aswKmnnoojjzxS2+biiy9Gd3c3Nm/erG0j7oNvw/dB7HsEZUsy2WwWPT092nGIfYcgbWjMmDGora3FI488UoxLIfqIoGxo6tSp+I//+A889dRTGDFiBE488UTce++9iMfjxbo0osgEZUvnnnsu9uzZgxkzZoAxhlAohPfffx8/+tGPinVpRBHxYkdOWLFiBc4//3wMGjRI++ziiy/G9u3bsXfvXp/OnigFgrIhs2PR+HrfJUhbWrBgASZPnoxRo0b5d8JEyRGUDX3yySc44YQTMG3aNBx//PE47rjj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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xm8nOP9//H3yUIkEkElEVuDtvbSagmhRVChpXRJRfm2SlvRhW8X+sO3tChVu9qqgtprqSXUKZHIIiIkIpuIRCLJyX7OydnnzMzvj9N7znVvM/fM3DNz33Nez8fDQ87MnLnvuec6M9f9vj/XddWk0+m0AAAAAAAAACACelV6BwAAAAAAAADAQmAJAAAAAAAAIDIILAEAAAAAAABEBoElAAAAAAAAgMggsAQAAAAAAAAQGQSWAAAAAAAAACKDwBIAAAAAAABAZBBYAgAAAAAAAIgMAksAAAAAAAAAkUFgCQAAAETYhAkTVFNTo7fffrvSuwIAAFAWBJYAAABVbOnSpfrxj3+sPffcU/369dOgQYN05JFH6pZbblFra6veeecd1dTU6LLLLvN9jiVLlqimpkYXX3yxJOn3v/+9ampqfP+rq6srap+XL19ue77evXtr99131ze/+U3NmTOnqOfO5a233lJNTY1uuukm132nnnqqampqdP/997vuO/roo7XLLruUdN8AAAB6ij6V3gEAAACUxosvvqhvf/vb2nrrrXX22WfrgAMOUEdHh6ZOnapf//rXmj9/vu655x7ts88+evTRR/XHP/7R83keeeQRSdJZZ51lu/3OO+/Utttu63r84MGDQ9n/733vexozZoySyaQWLlyoO++8Uy+99JLefPNNHXzwwaFsw+kLX/iC+vfvr6lTp+qiiy6y3Td9+nT16dNH06ZN0w9+8IPM7R0dHZo1a5a+/vWvl2SfAAAAehoCSwAAgCq0bNkyjR07VnvssYdee+017bzzzpn7xo8frw8//FAvvviiJGncuHG6/PLL9eabb+rwww93Pdejjz6qffbZR1/4whdst3/rW9/Spz71qZK9hi984Qu2kPTII4/UN77xDd155526++67i3ru5uZmDRgwwHV7nz59dNhhh2natGm22xcvXqwNGzbozDPP1NSpU233zZ49W21tbRo1alRR+wQAAIAuDAkHAACoQtdff72ampp033332cJKy957761f/OIXkroCS6m7ktI0e/ZsLV68OPOYfN12223af//91b9/f22//fY69NBDPbcTxLHHHiupK4y1zJw5U1/72te03XbbqX///vrKV77iChutIewLFizQmWeeqe233z5ruDhq1CitXbtWH374Yea2adOmadCgQTr//PMz4aV5n/V7lpdeeklHHXWUBgwYoIEDB+rkk0/W/PnzXdtatGiRvvWtb2mHHXZQv379dOihh+q5557LeSw2b96sL3/5y9p11121ePHinI8HAACIEwJLAACAKvT8889rzz331BFHHJHzsSNGjNARRxyhJ554Qslk0nafFS6eeeaZrt/btGmTNmzYYPuvvr4+c/+9996rn//859pvv/10880368orr9TBBx+smTNnFvSali5dKknacccdJUmvvfaajj76aDU2Nur//u//dM0116i+vl7HHnus3nrrLdfvf/vb31ZLS4uuueYanXfeeb7bsYJHs5Jy2rRpOvzww3XYYYepb9++mj59uu2+gQMH6vOf/7wk6aGHHtLJJ5+sbbfdVtddd50uv/xyLViwQKNGjdLy5cszvzd//nwdfvjhWrhwoS655BL95S9/0YABA3TaaafpmWee8d2/DRs26Nhjj9XatWs1efJkfe5znwtw9AAAAOKDIeEAAABVprGxUatWrdKpp54a+HfGjRun8ePH69VXX9UJJ5wgSUqlUnr88cc1cuRI7bnnnq7f8QrKPve5z2nRokWSuubQ3H///fXkk08W9DpaWlq0YcMGJZNJLVq0KDOn5Le//W2l02n95Cc/0THHHKOXXnpJNTU1kqQf//jH2n///XXZZZfplVdesT3f5z//+UDVnSNHjlTv3r01depU/c///I+krlDyzDPPVL9+/XTIIYdo6tSp+sY3vpG57/DDD1fv3r3V1NSkn//85/rRj36ke+65J/Oc55xzjj73uc/pmmuuydz+i1/8QrvvvrtmzZqlrbfeWpJ0wQUXaNSoUfrtb3+rb37zm659q6ur0+jRo9Xa2qopU6Zojz32yPOoAgAARB8VlgAAAFWmsbFRkjRw4MDAv/Pd735Xffv2tQV6kydP1qpVq3yHgz/11FOqra21/WeuoD148GB98sknmjVrVkGv4//+7/+00047adiwYfrqV7+qpUuX6rrrrtPpp5+uOXPmaMmSJTrzzDO1cePGTIVnc3OzjjvuOE2ZMkWpVMr2fD/5yU8CbXfgwIE66KCDMhWWGzZs0OLFizPVqkceeWRmGPgHH3yg9evXZ6oya2trVV9fr+9973u2ytPevXvrsMMO06RJkyR1Vae+9tpr+s53vqMtW7ZkHrdx40adeOKJWrJkiVatWmXbr08++URf+cpXlEgkCCsBAEBVo8ISAACgygwaNEiStGXLlsC/s+OOO+rEE0/UM888o7vuukv9+vXTI488oj59+ug73/mO5+8cffTRWRfd+e1vf6v//Oc/+vKXv6y9995bJ5xwgs4880wdeeSRgfbp/PPP17e//W316tVLgwcP1v7775+pRFyyZImkrspFPw0NDdp+++0zP48YMSLQdqWuYeG33XabNmzYoOnTp6t3796ZBYmOOOII/fWvf1V7e7tr/kprv6z5Np2s9+bDDz9UOp3W5Zdfrssvv9zzsevWrdMuu+yS+fn73/+++vTpo4ULF2rYsGGBXwsAAEDcEFgCAABUmUGDBmn48OF6//338/q9s846Sy+88IJeeOEFfeMb39BTTz2lE044QTvttFNB+7Hvvvtq8eLFeuGFF/Tyyy/rqaee0l//+lddccUVuvLKK3P+/mc+8xmNHj3a8z6revLPf/6zDj74YM/HbLvttraft9lmm8D7bgWW06ZN0/Tp03XggQdmnu+II45Qe3u7Zs2apalTp6pPnz6ZMNPar4ceesgzVOzTp4/tcb/61a904okneu7D3nvvbfv59NNP14MPPqhbbrlF1157beDXAgAAEDcElgAAAFXolFNO0T333KMZM2Zo5MiRgX7nG9/4hgYOHKhHHnlEffv21ebNmwteHdwyYMAAffe739V3v/tddXR06PTTT9fVV1+tSy+9VP369Sv4effaay9JXeGsX6hZDHPhnRkzZtiqQocPH6499thD06ZN07Rp03TIIYeof//+tv0aMmRI1v2y5gTt27dv4P3/2c9+pr333ltXXHGFtttuO11yySUFvTYAAICoYw5LAACAKvSb3/xGAwYM0I9+9COtXbvWdf/SpUt1yy232G7bZptt9M1vflMTJ07UnXfeqQEDBuS1cI/Txo0bbT9vtdVW2m+//ZROp5VIJAp+Xkn64he/qL322ks33HCDmpqaXPevX7++qOcfPny4RowYoVdffVVvv/22a7X1I444Qs8++6wWL16cCTcl6cQTT9SgQYN0zTXXeL5Ga7+GDBmir371q7r77ru1Zs2awPt/+eWX61e/+pUuvfRS3XnnncW8RAAAgMiiwhIAAKAK7bXXXnrkkUf03e9+V/vuu6/OPvtsHXDAAero6ND06dP15JNPZlbANp111ll68MEH9e9//1vjxo3TgAEDfLfxz3/+0zXsWpKOP/54DR06VCeccIKGDRumI488UkOHDtXChQt1++236+STT85rQSAvvXr10t/+9jeddNJJ2n///fWDH/xAu+yyi1atWqVJkyZp0KBBev7554vaxqhRo/TQQw9JkmvezSOOOEKPPvpo5nGWQYMG6c4779T3v/99feELX9DYsWO10047acWKFXrxxRd15JFH6vbbb5ck3XHHHRo1apQOPPBAnXfeedpzzz21du1azZgxQ5988onmzp3ruV9//vOf1dDQoPHjx2vgwIE666yzinqdAAAAUUNgCQAAUKW+8Y1v6L333tOf//xn/etf/9Kdd96prbfeWgcddJD+8pe/6LzzznP9zrHHHqudd95Za9asyTkc/Kc//ann7ZMmTdLQoUP14x//WA8//LBuvPFGNTU1adddd9XPf/5zXXbZZaG8vq9+9auaMWOG/vCHP+j2229XU1OThg0bpsMOO0w//vGPi35+K7DcZZddXCtymwGmGVhK0plnnqnhw4frT3/6k/785z+rvb1du+yyi4466ij94Ac/yDxuv/3209tvv60rr7xSEyZM0MaNGzVkyBAdcsghuuKKK7Lu21133aWmpib94Ac/0MCBA4uqhAUAAIiamnQ6na70TgAAAAAAAACAxByWAAAAAAAAACKEwBIAAAAAAABAZBBYAgAAAAAAAIgMAksAAAAAAAAAkUFgCQAAAAAAACAyCCwBAAAAAAAAREafSu9AHKRSKa1evVoDBw5UTU1NpXcHAAAAAAAAiJV0Oq0tW7Zo+PDh6tUrew0lgWUAq1ev1m677Vbp3QAAAAAAAABibeXKldp1112zPobAMoCBAwdKkpYtW6YddtihwnuDOEskEnrllVd0wgknqG/fvpXeHcQU7QjFog0hLLQlFIs2hDDQjhAG2hHCQDvKbtOmTRoxYkQmZ8uGwDIAaxj4wIEDNWjQoArvDeIskUiof//+GjRoEB9eKBjtCMWiDSEstCUUizaEMNCOEAbaEcJAO8oukUhIUqDpFll0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O/YbwXLx4sW47bbbsHLlSsydOxepVAoXXXQRotGots1dd92FTz75BJMnT8bixYvR1NSEK664Qvs+k8ng0ksvRTKZxPLly/H2229j7NixePjhh7Vtdu3ahUsvvRQXXHABKisrceedd+LGG28koWkfoli2tGTJElx44YWYMWMG1q5diwsuuACXXXYZ1q9fX9TrJfynWDbECYfDuOaaa/D973+/KNdHBE8xbejnP/855s+fj7feegvbt2/H+PHjcdJJJxXtWolgKZYtLVu2DNdccw1uuOEGbN68GZMnT8aqVatw0003FfV6iWDww444v/3tb3HVVVcpj9Pd3Y2LLroIxx57LNauXYunn34ajz76KF5//fXAro0oDsWyoeXLl+O0007DBx98gI0bN+L666/HNddcg2nTpgV2bURxKZYtcVKpFH7xi1/gu9/9ru/XQvQNxbShO+64A2+++SaeeeYZbNu2DVOnTsXZZ58dyHX1S9h+SmtrKwPAFi9ezBhjLBwOs4EDB7LJkydr22zdupUBYCtWrGCMMTZjxgw2YMAA1tLSom3zyiuvsGHDhrFEIsEYY+z+++9n3/jGN3THuuqqq9jFF18c9CURfURQtqTi5JNPZo899lhAV0L0FUHb0FVXXcUeeugh9sgjj7DTTz89+Asiik5QNjRz5kw2fPhw1tHRUcSrIfqSoGzp6aefZieccILuWC+++CIbMWJE0JdE9AFe7EjE7H318ssvs0MPPVT3nvvjH//ITjrpJP8vguhTgrIhFT/60Y/Y9ddf78t5E6VH0LZ0//33s1//+tdszJgxbPjw4X6fPlECBGVDW7ZsYRUVFWzbtm2BnXt/Z7/xsJTp6uoCAHzhC18AAKxduxapVAo/+MEPtG2+9rWv4ZhjjsGKFSsAACtWrMCpp56KI488Utvm4osvRnd3NzZv3qxtI+6Db8P3Qex7BGVLMtlsFj09PdpxiH2HIG1ozJgxqK2txSOPPFKMSyH6iKBsaOrUqfiP//gPPPXUUxgxYgROPPFE3HvvvYjH48W6NKLIBGVL5557Lvbs2YMZM2aAMYZQKIT3338fP/rRj4p1aUQR8WJHTlixYgXOP/98DBo0SPvs4osvxvbt27F3716fzp4oBYKyIbNj0fh63yVIW1qwYAEmT56MUaNG+XfCRMkRlA198sknOOGEEzBt2jQcf/zxOO64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", "text/plain": [ "
" ] @@ -451,10 +451,10 @@ "id": "smooth-stupid", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:31.387137Z", - "iopub.status.busy": "2024-09-13T08:21:31.386951Z", - "iopub.status.idle": "2024-09-13T08:21:31.675163Z", - "shell.execute_reply": "2024-09-13T08:21:31.674605Z" + "iopub.execute_input": "2025-02-02T04:20:09.402644Z", + "iopub.status.busy": "2025-02-02T04:20:09.402290Z", + "iopub.status.idle": "2025-02-02T04:20:09.607589Z", + "shell.execute_reply": "2025-02-02T04:20:09.607103Z" }, "tags": [ "remove-input" @@ -463,7 +463,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADGhElEQVR4nOzdd5xTVf7/8fcMIE2KsAri2l1XxbarriLqqoug2DuKZVcWGxbEsuv+FAULgooUEcQCFkBBBQEBGREpUkURpIkURWDowzAzTM/vj/kmc29yk9yb3Exuktfz8fAhk9zcnJyc3Hvu537OOVk+n88nAAAAAAAAAPCA7GQXAAAAAAAAAAD8CFgCAAAAAAAA8AwClgAAAAAAAAA8g4AlAAAAAAAAAM8gYAkAAAAAAADAMwhYAgAAAAAAAPAMApYAAAAAAAAAPIOAJQAAAAAAAADPIGAJAAAAAAAAwDMIWAIAAAAAAADwDAKWAAAAGWjdunW65557dMwxx6hevXpq3Lix2rZtq4EDB2r//v36/vvvlZWVpaeeeirsPtauXausrCz16NFDkvTss88qKysr7H+5ublxlXnjxo2m/dWqVUtHHHGErr32Wi1dujSufdvxzTffmN6/bt26atGihS688EK9+OKL2rFjR8LLAAAAkAlqJ7sAAAAAqFlffPGFbrzxRtWtW1d33HGHTj75ZJWWlmru3Ll6/PHHtWLFCg0fPlwnnHCCxowZo+eff95yP6NHj5Yk3XbbbabHhw4dqgMPPDBk+6ZNm7pS/ltuuUUdO3ZURUWFVq1apaFDh2rq1KlasGCBTj/9dFfeI5KHHnpIZ511lioqKrRjxw7NmzdPzzzzjPr376+xY8fq4osvTngZAAAA0hkBSwAAgAyyYcMGderUSUceeaS+/vprHXrooYHnunXrpl9++UVffPGFJKlz5856+umntWDBAp1zzjkh+xozZoxOOOEE/fWvfzU9fsMNN+gPf/hDwj7DX//6V1OQtG3btrrqqqs0dOhQvfnmm3Htu7CwUA0bNoy4zfnnn68bbrjB9NiPP/6o9u3b6/rrr9fKlStN9QoAAABnGBIOAACQQfr166eCggK98847lkG14447Tg8//LCkqoClVJ1JabRkyRKtWbMmsI1TgwcPVuvWrdWgQQMddNBBOvPMMy3fxw5/RuOGDRsCjy1cuFCXXnqpmjRpogYNGujvf/+7vv32W9Pr/EPYV65cqVtvvVUHHXSQzjvvvJjKcNppp2nAgAHKy8vT66+/Hnj8119/1f33368///nPql+/vpo3b64bb7xRGzduDGyzfv16ZWVl6bXXXgvZ77x585SVlaUxY8bEVC4AAIBURMASAAAgg0yaNEnHHHOMzj333KjbHn300Tr33HM1duxYVVRUmJ7zBxdvvfXWkNft3r1bO3fuNP2Xl5cXeP6tt97SQw89pJNOOkkDBgxQr169dPrpp2vhwoUxfaZ169ZJkpo3by5J+vrrr3XBBRcoPz9fzzzzjF588UXl5eXp4osv1qJFi0Jef+ONN6qoqEgvvviiunbtGlMZpKrM0vr162v69OmBxxYvXqx58+apU6dOGjRokO69917NmDFDF154oYqKiiRJxxxzjNq2batRo0aF7HPUqFFq1KiRrr766pjLBQAAkGoYEg4AAJAh8vPztXnzZkfBr86dO6tbt26aMWOG2rdvL0mqrKzUxx9/rDZt2uiYY44Jec2f//xny8dWr14tqWoOzdatW2vcuHExfY6ioiLt3LlTFRUVWr16tR555BFJVYFHn8+ne++9VxdddJGmTp2qrKwsSdI999yj1q1b66mnnjIFFKWq7MhYszuN6tSpo+OPPz4QQJWkyy+/PGT4+JVXXqk2bdro008/1e233y5JuuOOO3TPPfdo9erVOuGEEyRJZWVlGjt2rK677jo1aNAg7vIBAACkCjIsAQAAMkR+fr4kqVGjRrZfc/PNN6tOnTqmgN6sWbO0efPmsMPBP/30U+Xk5Jj+GzFiROD5pk2b6vfff9fixYtj+hzPPPOMDj74YLVs2VIXXnih1q1bp759++q6667T0qVLtXbtWt16663atWtXIMOzsLBQ//jHPzR79mxVVlaa9nfvvffGVA4rBx54oPbt2xf4u379+oF/l5WVadeuXTruuOPUtGlTff/994HnbrrpJtWrV8+UZfnll19q586dIYsaAQAApDsyLAEAADJE48aNJckUUIumefPm6tChg8aPH69hw4apXr16Gj16tGrXrq2bbrrJ8jUXXHBBxEV3/vOf/+irr77S3/72Nx133HFq3769br31VrVt29ZWme6++27deOONys7OVtOmTdW6dWvVrVtXkrR27VpJ0p133hn29Xv37tVBBx0U+Pvoo4+29b52FBQUmALC+/fvV58+fTRixAht3rxZPp/PVA6/pk2b6sorr9To0aP13HPPSaoaDn7YYYex6jgAAMg4BCwBAAAyROPGjdWqVSv99NNPjl532223afLkyZo8ebKuuuoqffrpp2rfvr0OPvjgmMpx4oknas2aNZo8ebKmTZumTz/9VG+88YZ69uypXr16RX39n/70J7Vr187yOX/25Msvv6zTTz/dcpsDDzzQ9LcxCzIeZWVl+vnnn3XyyScHHnvwwQc1YsQIde/eXW3atFGTJk2UlZWlTp06hWR63nHHHRo3bpzmzZunU045RRMnTtT999+v7GwGRQEAgMxCwBIAACCDXHHFFRo+fLjmz5+vNm3a2HrNVVddpUaNGmn06NGqU6eO9uzZE/Pq4H4NGzbUzTffrJtvvlmlpaW67rrr9MILL+jJJ59UvXr1Yt7vscceK6kqOBsuqJkon3zyifbv368OHTqYHrvzzjv16quvBh4rLi42LULkd+mll+rggw/WqFGjdPbZZ6uoqCgwxyUAAEAm4XYtAABABnniiSfUsGFD/fvf/9a2bdtCnl+3bp0GDhxoeqx+/fq69tprNWXKFA0dOlQNGzaMa9XqXbt2mf4+4IADdNJJJ8nn86msrCzm/UrSGWecoWOPPVavvPKKCgoKQp7fsWNHXPsP58cff1T37t110EEHqVu3boHHa9WqZRoGLkmDBw8OWXVdkmrXrq1bbrlFY8eO1ciRI3XKKafo1FNPTUh5AQAAvIwMSwAAgAxy7LHHavTo0br55pt14okn6o477tDJJ5+s0tJSzZs3T+PGjdM///nPkNfddtttev/99/Xll1+qc+fOatiwYdj3+OSTT0KGXUvSJZdcohYtWqh9+/Zq2bKl2rZtqxYtWmjVqlV6/fXXdfnllztaEMhKdna23n77bV122WVq3bq1/vWvf+mwww7T5s2bNXPmTDVu3FiTJk2K6z3mzJmj4uJiVVRUaNeuXfr22281ceJENWnSROPHj1fLli0D215xxRX64IMP1KRJE5100kmaP3++vvrqKzVv3txy33fccYcGDRqkmTNnqm/fvnGVEwAAIFURsAQAAMgwV111lZYtW6aXX35Zn3/+uYYOHaq6devq1FNP1auvvqquXbuGvObiiy/WoYceqq1bt0YdDn7fffdZPj5z5ky1aNFC99xzj0aNGqX+/fur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cLd0AADEjFRdAAAAAEhFjjMsr7vuOt16663605/+pF27dumyyy6TJP3www867rjjXC8ggMzAHJYAAAAAAECKIWD52muv6aijjtKmTZvUr18/HXjggZKkrVu36v7773e9gAAyTxaTWAIAAAAAkLEcByzr1Kmjxx57LOTxRx55xJUCAchMzGEJN5CpCwAAAACpz/Yclvfff78KCgoCf48ZM0aFhYWBv/Py8tSxY0d3SwcAAAAAAAAgo9gOWL755psqKioK/H3PPfdo27Ztgb9LSkr05Zdfuls6ABmDzDgAAAAAACA5CFgGBxMILgAAAAAAAABwm+2AJQAkkvkeCDdEAAAAAADIVAQsAQAAAAAAAHiGo1XCe/bsqQYNGkiSSktL9cILL6hJkyaSZJrfEgDikZWV7BIAAAAAAIBksR2wvOCCC7RmzZrA3+eee67Wr18fsg0AxIJ5ceE+2hQAAAAApCLbActvvvkmgcUAgGrELuEOUnUBAAAAIBXZnsPyscce0+rVqxNZFgAZjCAlAAAAAACQHAQsP//8c7Vu3Vrnnnuu3n33XRUWFiayXAAyWBaTWAIAAAAAkLFsByzXrl2rmTNn6vjjj9fDDz+sli1b6q677tK8efMSWT4AGYI5LAEAAAAAgOQgYClVLaozcuRI5ebmauDAgVq7dq3OO+88nXjiiXrllVe0bdu2RJUTQAYhdolYmdsODQkAAAAAUpGjgKVfw4YNddddd2nOnDn6+eefdd1116lPnz464ogj3C4fgAxBkBLuY2oBAAAAAEhFMQUs/QoLCzVnzhzNmjVLe/bs0THHHONWuQBkMKawBAAAAAAgc8UUsJw7d67uuusuHXrooXrooYd0/PHHa86cOVq1apXb5dPmzZt12223qXnz5qpfv75OOeUUfffdd4HnfT6fevbsqUMPPVT169dXu3bttHbtWtM+du/erc6dO6tx48Zq2rSpunTpooKCAtfLCiB2zGEJAAAAAAAkBwHLrVu36qWXXtIJJ5ygCy64QKtXr1b//v21detWvfvuu2rbtq3rhduzZ4/atm2rOnXqaOrUqVq5cqVeffVVHXTQQYFt+vXrp0GDBmnYsGFauHChGjZsqA4dOqi4uDiwTefOnbVixQrl5ORo8uTJmj17tu6++27XywsAAAAAAAAgPrXtbnj44YerefPmuv3229WlSxedeOKJ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pk499VTT44888ogmTZqkcePGadasWdqyZYuuu+66wPMVFRW6/PLLVVpaqnnz5um9997TyJEj1bNnz5r+CAAQlyzDqjsMoY8ui1WKAAAAACAlpUTAsqCgQJ07d9Zbb72lgw46KPD43r179c4776h///66+OKLdcYZZ2jEiBGaN2+eFixYIEmaPn26Vq5cqQ8//FCnn366LrvsMj333HMaMmSISktLk/WRAAQhAAcAAAAAACSpdrILYEe3bt10+eWXq127dnr++ecDjy9ZskRlZWVq165d4LETTjhBRxxxhObPn69zzjlH8+fP1ymnnKIWLVoEtunQoYPuu+8+rVixQn/5y19C3q+kpEQlJSWBv/Pz8yVJZWVlKisrS8RHRAbwtx3akLXy8grDX5XUkwVjnVRWVlBHFsrKqqf7yM72JbSOsrNT9/fM8QhuoB3BDbQjuIF2BDfQjuAG2lFkTurF8wHLjz76SN9//70WL14c8lxubq4OOOAANW3a1PR4ixYtlJubG9jGGKz0P+9/zkqfPn3Uq1evkMdnzpypBg0axPIxgICcnJxkF8GTli7dHfj34YcXacqUKUksjTft3FmdFd648VbqyMLu3dUnwBNPLEloHf35zw1T/jvgeAQ30I7gBtoR3EA7ghtoR3AD7chaUVGR7W09HbDctGmTHn74YeXk5KhevXo19r5PPvmkevToEfg7Pz9fhx9+uC666CI1b968xsqB9FJWVqacnBxdcsklqlOnTrKL4zl79vwk6TdJ0qZNDdSxY8fkFsiDfv89X9JKSVJ+/qG69da/JbdAHrR1a4GkFZKkVavq6vHHE9GOlkqS1qwpTNl2yvEIbqAdwQ20I7iBdgQ30I7gBtpRZLt27bK9racDlkuWLNH27dv117/+NfBYRUWFZs+erddff11ffvmlSktLlZeXZ8qy3LZtm1q2bClJatmypRYtWmTar38Vcf82werWrau6deuGPF6nTh0aHOJGO7JWq1b1lLo+XxZ1ZKF27epDts+XTR1ZqFOnuo4qKxPbjiorlfLfAccjuIF2BDfQjuAG2hHcQDuCG2hH1pzUiacX3fnHP/6h5cuXa+nSpYH/zjzzTHXu3Dnw7zp16mjGjBmB16xZs0a//fab2rRpI0lq06aNli9fru3btwe2ycnJUePGjXXSSSfV+GcCEB3r70THIkXWjNVCHQEA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gAEDwrq9kazBJCwBaP4vKSnJN015ebl46aWXxDXXXCPi4uLEQw89JHJzcxXzOX78uPiP//gP0bhxY3HttdeK119/XTidTsU0GzduFN27dxfR0dGiY8eOimVQ/RauOLr77rs1l/Pss8+GaUsplMJ5PpJjwvLKEs442r9/v+jfv79o3LixaNOmjXjttdcUN21UP4UzhmbPni1uvvlm0bhxY9GqVSvx1FNPidOnT4djMynEghVHevc+x44d803z008/id///vciJiZGtG7dWrz//vth2koKtXDF0bPPPqv5/d133x2+jaWQCef5SI4JyytLOOPozJkz4uGHHxZNmjQRCQkJ4rnnnuMLFBmbEGyLQ0RERERERERERJGhwfRhSURERERERERERJGPCUsiIiIiIiIiIiKKGExYEhERERERERERUcRgwpKIiIiIiIiIiIgiBhOWREREREREREREFDGYsCQiIiIiIiIiIqKIwYQlERERERERERERRQwmLImIiIiIiIiIiChiMGFJREREREREREREEYMJSyIiIiKKGM899xxsNhtsNhsaNWqEhIQEDBgwAAsWLIDH4zE9n4ULF+Lqq68O3YoSERERUcgwYUlEREREEeX+++9Hbm4ujh8/jnXr1uHee+/Fyy+/jAcffBAul6uuV4+IiIiIQowJSyIiIiKKKDExMWjZsiVat26Nnj174u9//ztWrVqFdevWYeHChQCAmTNn4tZbb8VVV12Ftm3b4qWXXkJpaSkAYNOmTRg5ciSKi4t91Zpvv/02AKCyshLjxo1D69atcdVVV6FPnz7YtGlT3WwoEREREWliwpKIiIiIIt59992Hbt26YcWKFQAAu92O2bNnY+/evfj000+RlpaGCRMmAADuuOMOzJo1C/Hx8cjNzUVubi7GjRsHABg7diwyMjKwZMkSZGdn47HHHsP999+Pw4cP19m2EREREZGSTQgh6noliIiIiIgAbx+WRUVF+Oqrr/y+e+KJJ5CdnY19+/b5fbd8+XKMHj0a58+fB+Dtw/KVV15BUVGRb5qTJ0+iY8eOOHnyJH71q1/5Pu/fvz9uv/12vPfee0HfHiIiIiKyzlHXK0BEREREZIYQAjabDQDw3XffYcqUKThw4ABKSkrgcrlQUVGBsrIyxMXFaf59Tk4O3G43OnXqpPi8srISLVq0CPn6ExEREZE5TFgSERERUb2wf/9+3HDDDTh+/DgefPBBvPjii3j33XfRvHlzbNmyBS+88AKqqqp0E5alpaWIiopCZmYmoqKiFN81adIkHJtARERERCYwYUlEREREES8tLQ05OTl49dVXkZmZCY/HgxkzZsBu93bJvmzZMsX00dHRcLvdis969OgBt9uNgoIC3HnnnWFbdyIiIiKyhglLIiIiIooolZWVyMvLg9vtRn5+PtavX48pU6bgwQcfxIgRI7Bnzx44nU58+OGHGDJkCLZu3Yo5c+Yo5tGhQweUlpYiNTUV3bp1Q1xcHDp16oSnnnoKI0aMwIwZM9CjRw+cO3cOqamp6Nq1KwYPHlxHW0xEREREchwlnIiIiIgiyvr169GqVSt06NAB999/PzZu3IjZs2dj1apViIqKQrdu3TBz5kx88MEH6NKlC5KTkzFlyhTFPO644w6MHj0aw4YNw3XXXYepU6cCAJKSkjBixAi8/vrr6Ny5M4YOHYodO3agXbt2dbGpRERERKSBo4QTERERERERERFRxGCFJREREREREREREUUMJiyJiIiIiIiIiIgoYjBhSURERERERERERBGDCUsiIiIiIiIiIiKKGExYEhERERERERERUcRgwpKIiIiIiIiIiIgiBhOWREREREREREREFDGYsCQiIiIiIiIiIqKIwYQlERERERERERERRQwmLImIiIiIiIiIiChiMGFJREREREREREREEeP/AyFUPn2alHqXAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABSwAAAK9CAYAAAAudiKMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAxoRJREFUeJzs3XecU1X+//H3DCBNirAK4tpdV8W2q64i6qqLoNg7imVXFhsWxLLr/hQFC4KKFBHEAhZAQQUBARkRKVJFEaSJFEVg6MMwM0zP74/5JnNvcpPcm9xMbpLX8/HwIZPc3JycnNx77ud+zjlZPp/PJwAAAAAAAADwgOxkFwAAAAAAAAAA/AhYAgAAAAAAAPAMApYAAAAAAAAAPIOAJQAAAAAAAADPIGAJAAAAAAAAwDMIWAIAAAAAAADwDAKWAAAAAAAAADyDgCUAAAAAAAAAzyBgCQAAAAAAAMAzCFgCAAAAAAAA8AwClgAAABlo3bp1uueee3TMMceoXr16aty4sdq2bauBAwdq//79+v7775WVlaWnnnoq7D7Wrl2rrKws9ejRQ5L07LPPKisrK+x/ubm5cZV548aNpv3VqlVLRxxxhK699lotXbo0rn3b8c0335jev27dumrRooUuvPBCvfjii9qxY0fCywAAAJAJaie7AAAAAKhZX3zxhW688UbVrVtXd9xxh04++WSVlpZq7ty5evzxx7VixQoNHz5cJ5xwgsaMGaPnn3/ecj+jR4+WJN12222mx4cOHaoDDzwwZPumTZu6Uv5bbrlFHTt2VEVFhVatWqWhQ4dq6tSpWrBggU4//XRX3iOShx56SGeddZYqKiq0Y8cOzZs3T88884z69++vsWPH6uKLL054GQAAANIZAUsAAIAMsmHDBnXq1ElHHnmkvv76ax166KGB57p166ZffvlFX3zxhSSpc+fOevrpp7VgwQKdc845IfsaM2aMTjjhBP31r381PX7DDTfoD3/4Q8I+w1//+ldTkLRt27a66qqrNHToUL355ptx7buwsFANGzaMuM3555+vG264wfTYjz/+qPbt2+v666/XypUrTfUKAAAAZxgSDgAAkEH69eungoICvfPOO5ZBteOOO04PP/ywpKqApVSdSWm0ZMkSrVmzJrCNU4MHD1br1q3VoEEDHXTQQTrzzDMt38cOf0bjhg0bAo8tXLhQl156qZo0aaIGDRro73//u7799lvT6/xD2FeuXKlbb71VBx10kM4777yYynDaaadpwIABysvL0+uvvx54/Ndff9X999+vP//5z6pfv76aN2+uG2+8URs3bgxss379emVlZem1114L2e+8efOUlZWlMWPGxFQuAACAVETAEgAAIINMmjRJxxxzjM4999yo2x599NE699xzNXbsWFVUVJie8wcXb7311pDX7d69Wzt37jT9l5eXF3j+rbfe0kMPPaSTTjpJAwYMUK9evXT66adr4cKFMX2mdevWSZKaN28uSfr66691wQUXKD8/X88884xefPFF5eXl6eKLL9aiRYtCXn/jjTeqqKhIL774orp27RpTGaSqzNL69etr+vTpgccWL16sefPmqVOnTho0aJDuvfdezZgxQxdeeKGKiookScccc4zatm2rUaNGhexz1KhRatSoka6++uqYywUAAJBqGBIOAACQIfLz87V582ZHwa/OnTurW7dumjFjhtq3by9Jqqys1Mcff6w2bdromGOOCXnNn//8Z8vHVq9eLalqDs3WrVtr3LhxMX2OoqIi7dy5UxUVFVq9erUeeeQRSVWBR5/Pp3vvvVcXXXSRpk6dqqysLEnSPffco9atW+upp54yBRSlquzIWLM7jerUqaPjjz8+EECVpMsvvzxk+PiVV16pNm3a6NNPP9Xtt98uSbrjjjt0zz33aPXq1TrhhBMkSWVlZRo7dqyuu+46NWjQIO7yAQAApAoyLAEAADJEfn6+JKlRo0a2X3PzzTerTp06poDerFmztHnz5rDDwT/99FPl5OSY/hsxYkTg+aZNm+r333/X4sWLY/oczzzzjA4++GC1bNlSF154odatW6e+ffvquuuu09KlS7V27Vrdeuut2rVrVyDDs7CwUP/4xz80e/ZsVVZWmvZ37733xlQOKwceeKD27dsX+Lt+/fqBf5eVlWnXrl067rjj1LRpU33//feB52666SbVq1fPlGX55ZdfaufOnSGLGgEAAKQ7MiwBAAAyROPGjSXJFFCLpnnz5urQoYPGjx+vYcOGqV69eho9erRq166tm266yfI1F1xwQcRFd/7zn//oq6++0t/+9jcdd9xxat++vW699Va1bdvWVpnuvvtu3XjjjcrOzlbTpk3VunVr1a1bV5K0du1aSdKdd94Z9vV79+7VQQcdFPj76KOPtvW+dhQUFJgCwvv371efPn00YsQIbd68WT6fz1QOv6ZNm+rKK6/U6NGj9dxzz0mqGg5+2GGHseo4AADIOAQsAQAAMkTjxo3VqlUr/fTTT45ed9ttt2ny5MmaPHmyrrrqKn366adq3769Dj744JjKceKJJ2rNmjWaPHmypk2bpk8//VRvvPGGevbsqV69ekV9/Z/+9Ce1a9fO8jl/9uTLL7+s008/3XKbAw880PS3MQsyHmVlZfr555918sknBx578MEHNWLECHXv3l1t2rRRkyZNlJWVpU6dOoVket5xxx0aN26c5s2bp1NOOUUTJ07U/fffr+xsBkUBAIDMQsASAAAgg1xxxRUaPny45s+frzZt2th6zVVXXaVGjRpp9OjRqlOnjvbs2RPz6uB+DRs21M0336ybb75ZpaWluu666/TCCy/oySefVL169WLe77HHHiupKjgbLqiZKJ988on279+vDh06mB6788479eqrrwYeKy4uNi1C5HfppZfq4IMP1qhRo3T22WerqKgoMMclAABAJuF2LQAAQAZ54okn1LBhQ/373//Wtm3bQp5ft26dBg4caHqsfv36uvbaazVlyhQNHTpUDRs2jGvV6l27dpn+PuCAA3TSSSfJ5/OprKws5v1K0hlnnKFjjz1Wr7zyigoKCkKe37FjR1z7D+fHH39U9+7dddBBB6lbt26Bx2vVqmUaBi5JgwcPDll1XZJq166tW265RWPHjtXIkSN1yimn6NRTT01IeQEAALyMDEsAAIAMcuyxx2r06NG6+eabdeKJJ+qOO+7QySefrNLSUs2bN0/jxo3TP//5z5DX3XbbbXr//ff15ZdfqnPnzmrYsGHY9/jkk09Chl1L0iWXXKIWLVqoffv2atmypdq2basWLVpo1apVev3113X55Zc7WhDISnZ2tt5++21ddtllat26tf71r3/psMMO0+bNmzVz5kw1btxYkyZNius95syZo+LiYlVUVGjXrl369ttvNXHiRDVp0kTjx49Xy5YtA9teccUV+uCDD9SkSROddNJJmj9/vr766is1b97cct933HGHBg0apJkzZ6pv375xlRMAACBVEbAEAADIMFdddZWWLVuml19+WZ9//rmGDh2qunXr6tRTT9Wrr76qrl27hrzm4osv1qGHHqqtW7dGHQ5+3333WT4+c+ZMtWjRQvfcc49GjRql/v37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qHC3dAAAxIxUXQAAAABIRY4zLK+77jrdeuut+tOf/qRdu3bpsssukyT98MMPOu6441wvIIDMwByWAAAAAABAiiFg+dprr+moo47Spk2b1K9fPx144IGSpK1bt+r+++93vYAAMk8Wk1gCAAAAAJCxHAcs69Spo8ceeyzk8UceecSVAgHITMxhCTeQqQsAAAAAqc/2HJb333+/CgoKAn+PGTNGhYWFgb/z8vLUsWNHd0sHAAAAAAAAIKPYDli++eabKioqCvx9zz33aNu2bYG/S0pK9OWXX7pbOgAZg8w4AAAAAAAgOQhYBgcTCC4AAAAAAAAAcJvtgCUAJJL5Hgg3RAAAAAAAyFQELAEAAAAAAAB4hqNVwnv27KkGDRpIkkpLS/XCCy+oSZMmkmSa3xIA4pGVlewSAAAAAACAZLEdsLzgggu0Zs2awN/nnnuu1q9fH7INAMSCeXHhPtoUAAAAAKQi2wHLb775JoHFAIBqxC7hDlJ1AQAAACAV2Z7D8rHHHtPq1asTWRYAGYwgJQAAAAAAkBwELD///HO1bt1a5557rt59910VFhYmslwAMlgWk1gCAAAAAJCxbAcs165dq5kzZ+r444/Xww8/rJYtW+quu+7SvHnzElk+ABmCOSwBAAAAAIDkIGApVS2qM3LkSOXm5mrgwIFau3atzjvvPJ144ol65ZVXtG3btkSVE0AGIXaJWJnbDg0JAAAAAFKRo4ClX8OGDXXXXXdpzpw5+vnnn3XdddepT58+OuKII9wuH4AMQZAS7mNqAQAAAABIRTEFLP0KCws1Z84czZo1S3v27NExxxzjVrkAZDCmsAQAAAAAIHPFFLCcO3eu7rrrLh166KF66KGHdPzxx2vOnDlatWqV2+XT5s2bddttt6l58+aqX7++TjnlFH333XeB530+n3r27KlDDz1U9evXV7t27bR27VrTPnbv3q3OnTurcePGatq0qbp06aKCggLXywogdsxhCQAAAAAAJAcBy61bt+qll17SCSecoAsuuECrV69W//79tXXrVr377rtq27at64Xbs2eP2rZtqzp16mjq1KlauXKlXn31VR100EGBbfr166dBgwZp2LBhWrhwoRo2bKgOHTqouLg4sE3nzp21YsUK5eTkaPLkyZo9e7buvvtu18sLAAAAAAAAID617W54+OGHq3nz5rr99tvVpUsXnXjiiYkslySpb9++OvzwwzVixIjAY0cffXTg3z6fTwMGDNBTTz2lq6++WpL0/vvvq0WLFpowYYI6deqkVatWadq0aVq8eLHOPPNMSdLgwYPVsWNHvfLKK2rVqlXCPweA6EiwBAAAAAAAkoOA5dixY3XVVVepdm3bL4nbxIkT1aFDB914442aNWuWDjvsMN1///3q2rWrJGnDhg3Kzc1Vu3btAq9p0qSJzj77bM2fP1+dOnXS/Pnz1bRp00CwUpLatWun7OxsLVy4UNdee23I+5aUlKikpCTwd35+viSprKxMZWVlifq4SHP+tkMbsmasl+xsH/UUBu0osppsR1lZqfs90I7gBtoR3EA7ghtoR3AD7QhuoB1F5qRebEcfzznnHP33v/9Vz5491bhxY9Nze/fu1fPPP6/HHntMLVq0sF/SKNavX6+hQ4eqR48e+t///qfFixfroYce0gEHHKA777xTubm5khTyni1atAg8l5ubq0MOOcT0fO3atdWsWbPANsH69OmjXr16hTw+c+ZMNWjQwI2PhgyWk5OT7CJ40qZN1dM4HH54vqZMmZLE0ngf7chaQUF54N+tW5cktB0demjdlG+ntCO4gXYEN9CO4AbaEdxAO4IbaEfWioqKbG9rO2DZv39/5efnhwQrpaqsxn379ql///7q27ev7TePprKyUmeeeaZefPFFSdJf/vIX/fTTTxo2bJjuvPNO194n2JNPPqkePXoE/s7Pz9fhhx+uiy66SM2bN0/Y+yK9lZWVKScnR5dcconq1KmT7OJ4zqpVOyWtliRt2tRIPXpcmtwCeRTtKLK8vGJJP0mSVq6sqx49OibgXZZKkrZuLVHHjonYf+LRjuAG2hHcQDuCG2hHcAPtCG6gHUW2a9cu29vaDlhOmzZNw4YNC/v8HXfcoa5du7oasDz00EN10kknmR478cQT9emnn0qSWrZsKUnatm2bDj300MA227Zt0+mnnx7YZvv27aZ9lJeXa/fu3YHXB6tbt67q1q0b8nidOnVocIgb7ciacboJny+bOoqCdmStTp2KwL8rKrISWkc+n1L+O6AdwQ20I7iBdgQ30I7gBtoR3EA7suakTmyvEr5hwwYdccQRYZ//4x//qI0bN9p+Yzvatm2rNWvWmB77+eefdeSRR0qqWoCnZcuWmjFjRuD5/Px8LVy4UG3atJEktWnTRnl5eVqyZElgm6+//lqVlZU6++yzXS0vAAAAAAAAgPjYDljWr18/YkBy48aNql+/vhtlCnjkkUe0YMECvfjii/rll180evRoDR8+XN26dZMkZWVlqXv37nr++ec1ceJELV++XHfccYdatWqla665RlJVRuall16qrl27atGiRfr222/1wAMPqFOnTqwQDniIj2XC4QLaEQAAAACkPtsBy7PPPlsffPBB2Offf/99/e1vf3OlUH5nnXWWxo8frzFjxujkk0/Wc889pwEDBqhz586BbZ544gk9+OCDuvvuu3XWWWepoKBA06ZNU7169QLbjBo1SieccIL+8Y9/qGPHjjrvvPM0fPhwV8sKAAAAAAAAIH6257B87LHHdMkll6hJkyZ6/PHHAytzb9u2Tf369dPIkSM1ffp01wt4xRVX6Iorrgj7fFZWlnr37q3evXuH3aZZs2YaPXq062UD4B4S4wAAAAAAgOQgYHnRRRdpyJAhevjhh/Xaa6+pcePGysrK0t69e1WnTh0NHjxYF198cSLLCgAAAAAAACDN2Q5YStI999yjK664QmPHjtUvv/win8+n448/XjfccIP++Mc/JqqMADIAcw8CAAAAAADJYcBSkg477DA98sgjiSgLAAAAAAAAgAxne9EdAEgkEizhPhoVAAAAAKQiApYAAAAAAAAAPIOAJQBPYA5LuC8r2QUAAAAAAMSAgCUAAAAAAAAAz3AcsOzZs6dmzpyp4uLiRJQHQIYiwRIAAAAAAEgxBCznz5+vK6+8Uk2bNtX555+vp556Sl999ZX279+fiPIBAAAAAAAAyCCOA5Y5OTnKy8vTjBkz1LFjR3333Xe67rrr1LRpU5133nmJKCOADMAclnCDuRnRpgAAAAAgFdWO6UW1a6tt27Y6+OCD1axZMzVq1EgTJkzQ6tWr3S4fAAAxYtEdAAAAAEhFjjMshw8frltvvVWHHXaYzj33XE2bNk3nnXeevvvuO+3YsSMRZQSQAUiwBAAAAAAAUgwZlvfee68OPvhgPfroo7r//vt14IEHJqJcAAAAAAAAADKQ4wzLzz77TJ07d9ZHH32kgw8+WOeee67+97//afr06SoqKkpEGQFkAOawBAAAAAAAUgwZltdcc42uueYaSdLevXs1Z84cjRs3TldccYWys7NVXFzsdhkBZJisLOYeBAAAAAAgU8W06M6uXbs0a9Ys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xIABA8K6vZGswSQsAWj+LykpyTdNeXm5eOmll8Q111wj4uLixEMPPSRyc3MV8zl+/Lj4j//4D9G4cWNx7bXXitdff104nU7FNBs3bhTdu3cX0dHRomPHjoplUP0Wrji6++67NZfz7LPPhmlLKZTCeT6SY8LyyhLOONq/f7/o37+/aNy4sWjTpo147bXXFDdtVD+FM4Zmz54tbr75ZtG4cWPRqlUr8dRTT4nTp0+HYzMpxIIVR3r3PseOHfNN89NPP4nf//73IiYmRrRu3Vq8//77YdpKCrVwxdGzzz6r+f3dd98dvo2lkAnn+UiOCcsrSzjj6MyZM+Lhhx8WTZo0EQkJCeK5557jCxQZmxBsi0NERERERERERESRocH0YUlERERERERERESRjwlLIiIiIiIiIiIiihhMWBIREREREREREVHEYMKSiIiIiIiIiIiIIgYTlkRERERERERERBQxmLAkIiIiIiIiIiKiiMGEJREREREREREREUUMJiyJiIiIiIiIiIgoYjBhSURERERERERERBGDCUsiIiIiihjPPfccbDYbbDYbGjVqhISEBAwYMAALFiyAx+MxPZ+FCxfi6quvDt2KEhEREVHIMGFJRERERBHl/vvvR25uLo4fP45169bh3nvvxcsvv4wHH3wQLperrlePiIiIiEKMCUsiIiIiiigxMTFo2bIlWrdujZ49e+Lvf/87Vq1ahXXr1mHhwoUAgJkzZ+LWW2/FVVddhbZt2+Kll15CaWkpAGDTpk0YOXIkiouLfdWab7/9NgCgsrIS48aNQ+vWrXHVVVehT58+2LRpU91sKBERERFpYsKSiIiIiCLefffdh27dumHFihUAALvdjtmzZ2Pv3r349NNPkZaWhgkTJgAA7rjjDsyaNQvx8fHIzc1Fbm4uxo0bBwAYO3YsMjIysGTJEmRnZ+Oxxx7D/fffj8OHD9fZthERERGRkk0IIep6JYiIiIiIAG8flkVFRfjqq6/8vnviiSeQnZ2Nffv2+X23fPlyjB49GufPnwfg7cPylVdeQVFRkW+akydPomPHjjh58iR+9atf+T7v378/br/9drz33ntB3x4iIiIiss5R1ytARERERGSGEAI2mw0A8N1332HKlCk4cOAASkpK4HK5UFFRgbKyMsTFxWn+fU5ODtxuNzp16qT4vLKyEi1atAj5+hMRERGROUxYEhEREVG9sH//ftxwww04fvw4HnzwQbz44ot499130bx5c2zZsgUvvPACqqqqdBOWpaWliIqKQmZmJqKiohTfNWnSJBybQEREREQmMGFJRERERBEvLS0NOTk5ePXVV5GZmQmPx4MZM2bAbvd2yb5s2TLF9NHR0XC73YrPevToAbfbjYKCAtx5551hW3ciIiIisoYJSyIiIiKKKJWVlcjLy4Pb7UZ+fj7Wr1+PKVOm4MEHH8SIESOwZ88eOJ1OfPjhhxgyZAi2bt2KOXPmKObRoUMHlJaWIjU1Fd26dUNcXBw6deqEp556CiNGjMCMGTPQo0cPnDt3DqmpqejatSsGDx5cR1tMRERERHIcJZyIiIiIIsr69evRqlUrdOjQAffffz82btyI2bNnY9WqVYiKikK3bt0wc+ZMfPDBB+jSpQuSk5MxZcoUxTzuuOMOjB49GsOGDcN1112HqVOnAgCSkpIwYsQIvP766+jcuTOGDh2KHTt2oF27dnWxqURERESkgaOEExERERERERERUcRghSURERERERERERFFDCYsiYiIiIiIiIiIKGIwYUlEREREREREREQRgwlLIiIiIiIiIiIiihhMWBIREREREREREVHEYMKSiIiIiIiIiIiIIgYTlkRERERERERERBQxmLAkIiIiIiIiIiKiiMGEJREREREREREREUUMJiyJiIiIiIiIiIgoYjBhSURERERERERERBHj/wMhVD59mpR6lwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -498,10 +498,10 @@ "id": "0652f359", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:31.677498Z", - "iopub.status.busy": "2024-09-13T08:21:31.677159Z", - "iopub.status.idle": "2024-09-13T08:21:31.841879Z", - "shell.execute_reply": "2024-09-13T08:21:31.841334Z" + "iopub.execute_input": "2025-02-02T04:20:09.609441Z", + "iopub.status.busy": "2025-02-02T04:20:09.609097Z", + "iopub.status.idle": "2025-02-02T04:20:09.752217Z", + "shell.execute_reply": "2025-02-02T04:20:09.751631Z" }, "tags": [ "remove-input" @@ -510,7 +510,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABSMAAAKqCAYAAADBrksiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABGJ0lEQVR4nO3deZxVBf3/8ffIJiAziAoDXxYRF0TEBQ3HLVcQ0VyoXDBRUVuwr0qa8v25a+JSpi1K9jDRkkxMLS0kRMVMMkVxLVJSQdksdQYw9vn90df5NgEuI5wr4/P5eJzHw3vOufd+jl182MuzlNXW1tYGAAAAAGAd26DUAwAAAAAAnw5iJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAKCRmzFjRr785S9niy22yIYbbpjy8vLsscceue666/LPf/4zTz31VMrKynLeeeet8TNeeumllJWVZcSIEXXrHn300QwcODD/9V//lQ033DBdu3bNoYcemrFjx9Z778KFC3PhhRemd+/ead26dTbZZJPsuOOOOf300zN79uwPnP/VV1/NiSeemB49emTDDTdMZWVl9t5771x44YUN/5sCAEBJlNXW1taWeggAANaN3/zmN/nCF76QFi1a5Pjjj0/v3r2zdOnSPProo/nlL3+ZE044ITfeeGO23XbbLF26NDNmzFjt51x88cW56KKLMnXq1Oy8884ZN25cjjrqqOy44445+uijs/HGG+eVV17JI488kmbNmuWhhx5Kkixbtiz9+vXLX/7ylwwdOjQ77rhjFi5cmBdeeCH33ntvxo0bl3322WeN87/88svZdddd07Jly5x00knZfPPNM2fOnDz11FMZP358Fi9evC7+tgEAsI6IkQAAjdQrr7ySPn36pHPnznnwwQfTsWPHettffvnl/OY3v8npp5+eyy67LOeff36mTJmS3XbbbZXP6tmzZ8rKyvLnP/85SbLddtulrKwsTz31VJo3b15v3/nz56d9+/ZJknHjxuWLX/xibrvtthx77LH19lu8eHGWLl2a8vLyNR7D8OHDc+ONN+bll19Ot27d1vg9RVi0aFFat25d2PcBADRGLtMGAGikrrrqqixcuDA33XTTKiEySbbccsucfvrpSZIhQ4YkySqXWCfJ1KlTM3369Lp9kn9d+r3rrruuEiKT1AuE751puccee6yy33uXjL+fGTNmpHPnzquEyP/8nveMHz8+n/3sZ9OmTZuUl5dn1113XeWYxo0bl759+6Zly5bZdNNNc9xxx+WNN96ot88JJ5yQjTbaKDNmzMjBBx+cNm3a1B3/ypUrc+2112a77bbLhhtumA4dOuTLX/5y3n777Xqf8eSTT2bAgAHZdNNN07Jly3Tv3j0nnXTS+x4vAEBjJ0YCADRS9957b7bYYovsvvvuH7hv9+7ds/vuu+eOO+7IihUr6m17L+b9+5mN3bp1y6RJk/L666+/7+e+FxFvvfXWNOSCnG7dumXWrFl58MEHP3DfMWPGZNCgQXnrrbcycuTIXHHFFdlxxx1z//3319vni1/8Ypo0aZJRo0bllFNOyV133ZU999wz77zzTr3PW758eQYMGJD27dvn29/+dgYPHpwk+fKXv5yzzz677r6bJ554Ym677bYMGDAgy5YtS/Kvszb79++fV199Neeee26+//3vZ8iQIfnjH//4kf8eAAA0Ji7TBgBohGpqalJRUZHDDjss99xzz4d6z/XXX5/hw4dnwoQJ6d+/f5J/nQXYtWvXdO3aNY899ljdvj/5yU8ybNiwNG/ePHvssUf23HPP9O/fP7vvvns22OD//nv3P//5z+y0006ZPn16unXrln333Td77bVXDjnkkA91ifULL7yQXXfdNf/85z+z44475rOf/Wz23XffHHjggWnVqlXdftXV1enSpUt69eqVhx9+OBtuuGHdttra2pSVlWXZsmXp3Llz2rdvnyeeeKJun9/85jc55JBDcsEFF+Tiiy9O8q8zI2+55Zace+65GTVqVN1nPfroo9lrr71Wuex8woQJOeigg+rW33PPPTniiCPyxBNPZJdddvlQf/8BAD4NnBkJANAI1dTUJEnatGnzod9z1FFHpVmzZvUua548eXLeeOONepdoJ8lJJ52U+++/P/vss08effTRXHrppdlrr72y1VZb1YuWLVu2zOOPP56zzz47yb/OTBw2bFg6duyYr3/961myZMn7zrTddttl2rRpOe644/Lqq6/muuuuy+GHH54OHTrkxz/+cd1+EydOzIIFC3LuuefWC5FJUlZWluRfl03Pnz8/X/va1+rtM2jQoPTs2TO/+c1vVvn+r371q/Vejxs3LhUVFTnwwAPz97//vW7p27dvNtpoo7oH97Rt2zZJct9999WdLQkAgBgJANAovXcvxgULFnzo92yyySYZMGBA7r777rqnVI8dOzZNmzbNF7/4xVX2HzBgQCZMmJB33nknjzzySIYPH57XXnsthxxySObPn1+3X0VFRa666qq8+uqrefXVV3PTTTdlm222yQ9+8INceumlHzjX1ltvnZ/+9Kf5+9//nmeffTaXX355mjZtmlNPPTUPPPBAkv+7N2Xv3r3X+DmvvfZakmSbbbZZZVvPnj3rtr+nadOm6dy5c711L730Uqqrq9O+fftsttlm9ZaFCxfWHfdnP/vZDB48OBdffHE23XTTHHbYYbn55ps/ML4CADR2YiQAQCNUXl6eTp065fnnn/9I7zvuuONSU1OT++67L0uXLs0vf/nL9O/fP5ttttka39OqVavstdde+cEPfpDzzjsvb7/9dsaPH7/afbt165aTTjopf/jDH9K2bdvcdtttH3q2Jk2aZPvtt8/IkSNz9913J8lHev9H1aJFi3qXnCf/umy9ffv2mThx4mqXSy65JMm/zsa88847M2XKlJx22ml54403ctJJJ6Vv375ZuHDhOpsZAOCTrmmpBwAAYN045JBDcuONN2bKlCmpqqr6UO/53Oc+lzZt2mTs2LFp1qxZ3n777VUu0X4/790fcc6cOe+738Ybb5wePXp85Fi6pu/p0aNHkuT555/Plltuudr3vPcwnenTp2e//fart+29e1p+kB49euSBBx7IHnvskZYtW37g/rvttlt22223fOtb38rYsWMzZMiQ3H777Tn55JM/8L0AAI2RMyMBABqpb37zm2ndunVOPvnkzJs3b5XtM2bMyHXXXVdvXcuWLXPEEUfkt7/9bW644Ya0bt06hx122CrvnTRp0mq/87e//W2S/7sU+plnnsnf//73VfZ77bXX8uKLL672kul/9/vf/36191z8z+/p379/2rRpk1GjRtVdYv6e957XuMsuu6R9+/YZPXp0vculx48fnz//+c8ZNGjQ+86SJF/84hezYsWK1V5evnz58roncr/99turPD18xx13TBKXagMAn2qepg0A0Ij9+te/zlFHHZWWLVvm+OOPT+/evbN06dI89thjGTduXE444YT86Ec/qveeiRMn1j1Ne8iQIfnZz362yudutNFG6d69ew499ND06NEjixYtygMPPJB77703u+66ax577LE0bdo03/72t3PhhRfmc5/7XHbbbbdstNFG+dvf/paf/OQnmT9/fu68884cccQRa5z/kEMOydSpU3PkkUemT58+SZKnnnoqt956a1q1apUnn3wy3bt3T5LcdNNNOfnkk9O7d+8ce+yx2XjjjfPMM8/k3XffzS233JLkXw/QOfHEE9OvX78cc8wxmTdvXq677rq0b98+Tz/9dN2DZ0444YTceeedq72k+itf+Up+9KMfZeDAgenfv3+aNWuWl156KePGjct1112Xz3/+87n22mtz/fXX54gjjkiPHj2yYMGC/PjHP86cOXMybdq0upkBAD5txEgAgEbupZdeytVXX52JEydm9uzZadGiRfr06ZOjjz46p5xySlq0aFFv/xUrVqRLly6ZM2dOfvvb32bgwIGrfObtt9+eX/3qV3niiScye/bs1NbWZosttsgRRxyRc845p+4p3q+88krGjBmT3/3ud/nb3/6Wt956KxtvvHE+85nP5Bvf+Eb23Xff9539sccey9ixYzN58uTMmjUr7777bjp27Jj99tsv559/frbYYot6+99777254oor8vTTT6dZs2bp2bNnzjzzzBx99NF1+9xxxx254oor8uKLL6Z169YZOHBgrrzyyvzXf/1X3T7vFyOT5Mc//nF+9KMf5cUXX0zTpk2z+eabZ+DAgTnjjDPSsWPHPP3007n66qvzhz/8IfPmzUtFRUU+85nP5KKLLkrfvn3f/38wAIBGTIwEAAAAAArhnpEAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAAKIQYCQAAAAAUQowEAAAAAArRtNQDfBKsXLkys2fPTps2bVJWVlbqcQAAAABgvVJbW5sFCxakU6dO2WCDNZ//KEYmmT17drp06VLqMQAAAABgvTZr1qx07tx5jdvFyCRt2rRJ8q+/WeXl5SWeBgAAAADWLzU1NenSpUtdZ1sTMTKpuzS7vLxcjAQAAACABvqgWyB6gA0AAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAAClHSGHnDDTekT58+KS8vT3l5eaqqqjJ+/Pi67fvss0/KysrqLV/5ylfqfcbMmTMzaNCgtGrVKu3bt8/ZZ5+d5cuXF30oAAAAAMAHaFrKL+/cuXOuuOKKbLXVVqmtrc0tt9ySww47LE8//XS22267JMkpp5ySSy65pO49rVq1qvvrFStWZNCgQamsrMxjjz2WOXPm5Pjjj0+zZs1y+eWXF348AAAAAMCaldXW1taWeoh/165du1x99dUZNmxY9tlnn+y444659tprV7vv+PHjc8ghh2T27Nnp0KFDkmT06NE555xz8uabb6Z58+Yf6jtrampSUVGR6urqlJeXr61DAQAAAIBPhQ/b1z4x94xcsWJFbr/99ixatChVVVV162+77bZsuumm6d27d0aOHJl33323btuUKVOy/fbb14XIJBkwYEBqamrywgsvrPG7lixZkpqamnoLAAAAALBulfQy7SR57rnnUlVVlcWLF2ejjTbK3XffnV69eiVJjj322HTr1i2dOnXKs88+m3POOSfTp0/PXXfdlSSZO3duvRCZpO713Llz1/ido0aNysUXX7yOjggAAAAAWJ2Sx8htttkm06ZNS3V1de68884MHTo0kydPTq9evXLqqafW7bf99tunY8eO2X///TNjxoz06NGjwd85cuTIjBgxou51TU1NunTp8rGOAwAAAAB4fyW/TLt58+bZcsst07dv34waNSo77LBDrrvuutXu269fvyTJyy+/nCSprKzMvHnz6u3z3uvKyso1fmeLFi3qnuD93gIAAAAArFslj5H/aeXKlVmyZMlqt02bNi1J0rFjxyRJVVVVnnvuucyfP79un4kTJ6a8vLzuUm8AAAAA4JOhpJdpjxw5MgMHDkzXrl2zYMGCjB07Ng8//HAmTJiQGTNmZOzYsTn44IOzySab5Nlnn82ZZ56ZvffeO3369EmS9O/fP7169cqXvvSlXHXVVZk7d27OO++8DB8+PC1atCjloQEAAAAA/6GkMXL+/Pk5/vjjM2fOnFRUVKRPnz6ZMGFCDjzwwMyaNSsPPPBArr322ixatChdunTJ4MGDc95559W9v0mTJrnvvvvy1a9+NVVVVWndunWGDh2aSy65pIRHBQAAAACsTlltbW1tqYcotZqamlRUVKS6utr9IwEAAADgI/qwfe0Td89IAAAAAKBxEiMBAAAAgEKIkQAAAABAIcRIAAAAAKAQJX2aNgAAAFCMsrKLSz0CH1Nt7YWlHgE+NmdG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hBgJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACiFGAgAAAACFaFrqAQAAAAD4YGVlF5d6BD6G2toLSz3CJ4IzIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBAljZGjRo3KrrvumjZt2qR9+/Y5/PDDM3369Hr77LPPPikrK6u3fOUrX6m3z8yZMzNo0KC0atUq7du3z9lnn53ly5cXeSgAAAAAwAdoWsovnzx5coYPH55dd901y5cvz//8z/+kf//+efHFF9O6deu6/U455ZRccsklda9btWpV99crVqzIoEGDUllZmcceeyxz5szJ8ccfn2bNmuXyyy8v9HgAAAAAgDUraYy8//77670eM2ZM2rdvn6lTp2bvvfeuW9+qVatUVlau9jN+97vf5cUXX8wDDzyQDh06ZMcdd8yll16ac845JxdddFGaN2++To8BAADg06Cs7OJSjwBAI/CJumdkdXV1kqRdu3b11t92223ZdNNN07t374wcOTLvvvtu3bYpU6Zk++23T4cOHerWDRgwIDU1NXnhhReKGRwAAAAA+EAlPTPy361cuTJnnHFG9thjj/Tu3btu/bHHHptu3bqlU6dOefbZZ3POOedk+vTpueuuu5Ikc+fOrRcik9S9njt37mq/a8mSJVmyZEnd65qamrV9OAAAAADAf/jExMjhw4fn+eefz6OPPlpv/amnnlr319tvv306duyY/fffPzNmzEiPHj0a9F2jRo3KxRe7xAAAAAAAivSJuEz7tNNOy3333ZeHHnoonTt3ft99+/XrlyR5+eWXkySVlZWZN29evX3ee72m+0yOHDky1dXVdcusWbM+7iEAAAAAAB+gpDGytrY2p512Wu6+++48+OCD6d69+we+Z9q0aUmSjh07Jkmqqqry3HPPZf78+XX7TJw4MeXl5enVq9dqP6NFixYpLy+vtwAAAAAA61ZJL9MePnx4xo4dm1/9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Jx07dqxbfvGLX9Tt893vfjeHHHJIBg8enL333juVlZW566676rY3adIk9913X5o0aZKqqqocd9xxOf7443PJJZd8nEMDAAAAANaystra2tqP+qZrrrkmN998c6ZPn56DDz44J598cg4++OBssMH/tc3XX389m2++eZYvX75WB14XampqUlFRkerqavePBIBGqqzs4lKPwMdUW3thqUfgY/BnEIBPu8b+7zIftq81bciH33DDDTnppJNywgknpGPHjqvdp3379rnpppsa8vEAAAAAQCPUoBj50ksvfeA+zZs3z9ChQxvy8QAAAABAI9Sge0befPPNGTdu3Crrx40bl1tuueVjDwUAAAAAND4NipGjRo3Kpptuusr69u3b5/LLL//YQwEAAAAAjU+DYuTMmTPTvXv3VdZ369YtM2fO/NhDAQAAAACNT4NiZPv27fPss8+usv6ZZ57JJpts8rGHAgAAAAAanwbFyGOOOSb//d//nYceeigrVqzIihUr8uCDD+b000/P0UcfvbZnBAAAAAAagQY9TfvSSy/Nq6++mv333z9Nm/7rI1auXJnjjz/ePSMBAAAAgNVqUIxs3rx5fvGLX+TSSy/NM888k5YtW2b77bdPt27d1vZ8AAAAAEAj0aAY+Z6tt946W2+99dqaBQAAAABoxBoUI1esWJExY8Zk0qRJmT9/flauXFlv+4MPPrhWhgMAAAAAGo8GxcjTTz89Y8aMyaBBg9K7d++UlZWt7bkAAAAAgEamQTHy9ttvzx133JGDDz54bc8DAAAAADRSGzTkTc2bN8+WW265tmcBAAAAABqxBsXIb3zjG7nuuutSW1u7tucBAAAAABqpBl2m/eijj+ahhx7K+PHjs91226VZs2b1tt91111rZTgAAAAAoPFoUIxs27ZtjjjiiLU9CwAAAADQiDUoRt58881rew4AAAAAoJFr0D0jk2T58uV54IEH8qMf/SgLFixIksyePTsLFy5ca8MBAAAAAI1Hg86MfO2113LQQQdl5syZWbJkSQ488MC0adMmV155ZZYsWZLRo0ev7TkBAAAAgPVcg86MPP3007PLLrvk7bffTsuWLevWH3HEEZk0adJaGw4AAAAAaDwadGbk73//+zz22GNp3rx5vfWbb7553njjjbUyGAAAAADQuDTozMiVK1dmxYoVq6x//fXX06ZNm489FAAAAADQ+DQoRvbv3z/XXntt3euysrIsXLgwF154YQ4++OC1NRsAAAAA0Ig06DLt73znOxkwYEB69eqVxYsX59hjj81LL72UTTfdND//+c/X9owAAAAAQCPQoBjZuXPnPPPMM7n99tvz7LPPZuHChRk2bFiGDBlS74E2AAAAAADvaVCMTJKmTZvmuOOOW5uzAAAAAACNWINi5K233vq+248//vgGDQMAAAAANF4NipGnn356vdfLli3Lu+++m+bNm6dVq1ZiJAAAAACwigY9Tfvtt9+utyxcuDDTp0/Pnnvu6QE2AAAAAMBqNShGrs5WW22VK664YpWzJgEAAAAAkrUYI5N/PdRm9uzZa/MjAQAAAIBGokH3jPz1r39d73VtbW3mzJmTH/zgB9ljjz3WymAAAAAAQOPSoBh5+OGH13tdVlaWzTbbLPvtt1++853vrI25AAAAAIBGpkExcuXKlWt7DgAAAACgkVur94wEAAAAAFiTBp0ZOWLEiA+97zXXXNOQrwAAAAAAGpkGxcinn346Tz/9dJYtW5ZtttkmSfLXv/41TZo0yc4771y3X1lZ2dqZEgAAAABY7zUoRh566KFp06ZNbrnllmy88cZJkrfffjsnnnhi9tprr3zjG99Yq0MCAAAAAOu/Bt0z8jvf+U5GjRpVFyKTZOONN85ll13madoAAAAAwGo1KEbW1NTkzTffXGX9m2++mQULFnzsoQAAAACAxqdBMfKII47IiSeemLvuuiuvv/56Xn/99fzyl7/MsGHDcuSRR67tGQEAAACARqBB94wcPXp0zjrrrBx77LFZtmzZvz6oadMMGzYsV1999VodEAAAAABoHBoUI1u1apXrr78+V199dWbMmJEk6dGjR1q3br1WhwMAAAAAGo8GXab9njlz5mTOnDnZaqut0rp169TW1q6tuQAAAACARqZBMfIf//hH9t9//2y99dY5+OCDM2fOnCTJsGHD8o1vfGOtDggAAAAANA4NipFnnnlmmjVrlpkzZ6ZVq1Z164866qjcf//9a204AAAAAKDxaNA9I3/3u99lwoQJ6dy5c731W221VV577bW1MhgAAAAA0Lg06MzIRYsW1Tsj8j1vvfVWWrRo8bGHAgAAAAAanwbFyL322iu33npr3euysrKsXLkyV111Vfbdd9+1NhwAAAAA0Hg06DLtq666Kvvvv3+efPLJLF26NN/85jfzwgsv5K233sof/vCHtT0jAAAAANAINOjMyN69e+evf/1r9txzzxx22GFZtGhRjjzyyDz99NPp0aPH2p4RAAAAAGgEPvKZkcuWLctBBx2U0aNH5//9v/+3LmYCAAAAABqhj3xmZLNmzfLss8+ui1kAAAAAgEasQZdpH3fccbnpppvW9iwAAAAAQCPWoAfYLF++PD/5yU/ywAMPpG/fvmndunW97ddcc81aGQ4AAAAAaDw+Uoz829/+ls033zzPP/98dt555yTJX//613r7lJWVrb3pAAAAAIBG4yPFyK222ipz5szJQw89lCQ56qij8r3vfS8dOnRYJ8MBAAAAAI3HR7pnZG1tbb3X48ePz6JFi9bqQAAAAABA49SgB9i85z/jJAAAAADAmnykGFlWVrbKPSHdIxIAAAAA+DA+0j0ja2trc8IJJ6RFixZJksWLF+crX/nKKk/Tvuuuu9behAAAAABAo/CRYuTQoUPrvT7uuOPW6jAAAAAAQOP1kWLkzTffvK7mAAAAAAAauY/1ABsAAAAAgA9LjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAAClHSGPnII4/k0EMPTadOnVJWVpZ77rmn3vYTTjghZWVl9ZaDDjqo3j5vvfVWhgwZkvLy8rRt2zbDhg3LwoULCzwKAAAAAODDKGmMXLRoUXbYYYf88Ic/XOM+Bx10UObMmVO3/PznP6+3fciQIXnhhRcyceLE3HfffXnkkUdy6qmnruvRAQAAAICPqGkpv3zgwIEZOHDg++7TokWLVFZWrnbbn//859x///154oknsssuuyRJvv/97+fggw/Ot7/97XTq1GmtzwwAAAAANMwn/p6RDz/8cNq3b59tttkmX/3qV/OPf/yjbtuUKVPStm3buhCZJAcccEA22GCDPP7442v8zCVLlqSmpqbeAgAAAACsW5/oGHnQQQfl1ltvzaRJk3LllVdm8uTJGThwYFasWJEkmTt3btq3b1/vPU2bNk27du0yd+7cNX7uqFGjUlFRUbd06dJlnR4HAAAAAFDiy7Q/yNFHH13319tvv3369OmTHj165OGHH87+++/f4M8dOXJkRowYUfe6pqZGkAQAAACAdewTfWbkf9piiy2y6aab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8sorc8MNN+QHP/hB/vznP+fKK6/MVVddle9///ulHo313Mknn5yJEyfmpz/9aZ577rn0798/BxxwQN54441Sj8Z6ZNGiRdlhhx3ywx/+cLXbr7rqqnzve9/L6NGj8/jjj6d169YZMGBAFi9eXPCkpVNW6z8fwWq1a9cuV199dYYNG1bqUVjPLVy4MDvvvHOuv/76XHbZZdlxxx1z7bXXlnos1lMXXXRR7rnnnkybNq3Uo9DInHvuufnDH/6Q3//+96UehUbsjDPOyH333ZeXXnopZWVlpR6H9dQhhxySDh065KabbqpbN3jw4LRs2TI/+9nPSjgZ67N//vOfadOmTX71q19l0KBBdev79u2bgQMH5rLLLivhdKyvysrKcvfdd+fwww9P8q+zIjt16pRvfOMbOeuss5Ik1dXV6dChQ8aMGZOjjz66hNMWx5mR8B9WrFiR22+/PYsWLUpVVVWpx6ERGD58eAYNGpQDDjig1KPQSLz00kvp1KlTtthiiwwZMiQzZ84s9Ug0Ar/+9a+zyy675Atf+ELat2+fnXbaKT/+8Y9LPRaNyNKlS/Ozn/0sJ510khDJx7L77rtn0qRJ+etf/5okeeaZZ/Loo49m4MCBJZ6M9dny5cuzYsWKbLjhhvXWt2zZ0lUorDWvvPJK5s6dW+//G1ZUVKRfv36ZMmVKCScrVtNSDwCfFM8991yqqqqyePHibLTRRrn77rvTq1evUo/Feu7222/PU0895V4zrDX9+vXLmDFjss0222TOnDm5+OKLs9dee+X5559PmzZtSj0e67G//e1vueGGGzJixIj8z//8T5544on893//d5o3b56hQ4eWejwagXvuuSfvvPNOTjjhhFKPwnru3HPPTU1NTXr27JkmTZpkxYoV+da3vpUhQ4aUejTWY23atElVVVUuvfTSbLvttunQoUN+/vOfZ8qUKdlyyy1LPR6NxNy5c5MkHTp0qLe+Q4cOdds+DcRI+F/bbLNNpk2blurq6tx5550ZOnRoJk+eLEjSYLNmzcrpp5+eiRMnrvJfWKGh/v2sjz59+qRfv37p1q1b7rjjDreV4GNZuXJldtlll1x++eVJkp122inPP/98Ro8eLUayVtx0000ZOHBgOnXqVOpRWM/dcccdue222zJ27Nhst912mTZtWs4444x06tTJP6/4WH7605/mpJNOyn/913+lSZMm2XnnnXPMMcdk6tSppR4NGhWXacP/at68ebbccsv07ds3o0aNyg477JDrrruu1GOxHps6dWrmz5+fnXfeOU2bNk3Tpk0zefLkfO9730vTpk2zYsWKUo9II9C2bdtsvfXWefnll0s9Cuu5jh07rvIf4Lbddlu3AWCteO211/LAAw/k5JNPLvUoNAJnn312zj333Bx99NHZfvvt86UvfSlnnnlmRo0aVerRWM/16NEjkydPzsKFCzNr1qz86U9/yrJly7LFFluUejQaicrKyiTJvHnz6q2fN29e3bZPAzES1mDlypVZsmRJqcdgPbb//vvnueeey7Rp0+qWXXbZJUOGDMm0adPSpEmTUo9II7Bw4cLMmDEjHTt2LPUorOf22GOPTJ8+vd66v/71r+nWrVuJJqIxufnmm9O+fft6D4WAhnr33XezwQb1/69skyZNsnLlyhJNRGPTunXrdOzYMW+//XYmTJiQww47rNQj0Uh07949lZWVmTRpUt26mpqaPP7445+qZ1a4TBuSjBw5MgMHDkzXrl2zYMGCjB07Ng8//HAmTJhQ6tFYj7Vp0ya9e/eut65169bZZJNNVlkPH9ZZZ52VQw89NN26dcvs2bNz4YUXpkmTJjnmmGNKPRrruTPPPDO77757Lr/88nzxi1/Mn/70p9x444258cYbSz0a67mVK1fm5ptvztChQ9O0qf/7wcd36KGH5lvf+la6du2a7bbbLk8//XSuueaanHTSSaUejfXchAkTUltbm2222SYvv/xyzj777PTs2TMnnnhiqUdjPbJw4cJ6Vy298sormTZtWtq1a5euXbvmjDPOyGWXXZatttoq3bt3z/nnn59OnTrVPXH708C/DUCS+fPn5/jjj8+cOXNSUVGRPn36ZMKECTnwwANLPRpAPa+//nqOOeaY/OMf/8hmm22WPffcM3/84x+z2WablXo01nO77rpr7r777owcOTKXXHJJunfvnmuvvdYDIfjYHnjggcycOVMoYq35/ve/n/PPPz9f+9rXMn/+/HTq1Clf/vKXc8EFF5R6NNZz1dXVGTlyZF5//fW0a9cugwcPzre+9a00a9as1KOxHnnyySez77771r0eMWJEkmTo0KEZM2ZMvvnNb2bRokU59dRT884772TPPffM/fff/6l6zkBZbW1tbamHAAAAAAAaP/eMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAh/j9w8XrrwQzWcgAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABSMAAAKqCAYAAADBrksiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARlJJREFUeJzt3XmcVQX9//H3yCYgM4gKA7GIuKIiiobjUm6BiOZC5YKJSlqGfVXUlH4q4oZpmbYo2cNESzIptbSUcMNMckFxLVRSQdksdQYwFmF+f/R1vk2AywDnwvR8Ph738fCec+65n0M3H/ryLGW1tbW1AQAAAABYyzYo9QAAAAAAwH8HMRIAAAAAKIQYCQAAAAAUQowEAAAAAAohRgIAAAAAhRAjAQAAAIBCiJEAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAAKIQYCQDQyE2fPj1f/epXs8UWW2TDDTdMeXl59txzz1xzzTX55z//maeeeiplZWU577zzVrmPl19+OWVlZRk+fHjdskceeSQDBgzIpz71qWy44Ybp2rVrDjnkkIwbN67eZxcsWJCRI0dmhx12SOvWrbPJJpukd+/eOe200zJr1qyPnP+1117LCSeckB49emTDDTdMZWVlPvOZz2TkyJEN/0MBAKAkympra2tLPQQAAGvH7373u3zxi19MixYtctxxx2WHHXbIkiVL8sgjj+TXv/51jj/++Fx//fXZbrvtsmTJkkyfPn2l+xk1alQuvPDCTJkyJbvsskvGjx+fI488Mr17985RRx2VjTfeOK+++moefvjhNGvWLA8++GCSZOnSpenbt2/++te/ZsiQIendu3cWLFiQF154IXfddVfGjx+fffbZZ5Xzv/LKK9ltt93SsmXLnHjiidl8880ze/bsPPXUU7nnnnuyaNGitfHHBgDAWiJGAgA0Uq+++mp69eqVzp0754EHHkjHjh3rrX/llVfyu9/9LqeddlouueSSnH/++Zk8eXJ23333Ffa17bbbpqysLH/5y1+SJNtvv33Kysry1FNPpXnz5vW2nTdvXtq3b58kGT9+fL70pS/llltuyTHHHFNvu0WLFmXJkiUpLy9f5TEMGzYs119/fV555ZV069Ztld9ThIULF6Z169aFfR8AQGPkMm0AgEbqiiuuyIIFC3LDDTesECKTZMstt8xpp52WJBk8eHCSrHCJdZJMmTIl06ZNq9sm+del37vtttsKITJJvUD4wZmWe+655wrbfXDJ+IeZPn16OnfuvEKI/M/v+cA999yTz372s2nTpk3Ky8uz2267rXBM48ePT58+fdKyZctsuummOfbYY/Pmm2/W2+b444/PRhttlOnTp+eggw5KmzZt6o5/+fLlufrqq7P99ttnww03TIcOHfLVr34177zzTr19PPnkk+nfv3823XTTtGzZMt27d8+JJ574occLANDYiZEAAI3UXXfdlS222CJ77LHHR27bvXv37LHHHrntttuybNmyeus+iHn/fmZjt27dcv/99+eNN9740P1+EBFvvvnmNOSCnG7dumXmzJl54IEHPnLbsWPHZuDAgXn77bczYsSIXH755endu3fuvffeett86UtfSpMmTTJ69OicdNJJuf3227PXXnvl3Xffrbe/999/P/3790/79u3zne98J4MGDUqSfPWrX83ZZ59dd9/NE044Ibfcckv69++fpUuXJvnXWZv9+vXLa6+9lnPPPTc/+MEPMnjw4Pz5z3/+xH8GAACNicu0AQAaoZqamlRUVOTQQw/NnXfe+bE+c+2112bYsGGZMGFC+vXrl+RfZwF27do1Xbt2zaOPPlq37U9/+tMMHTo0zZs3z5577pm99tor/fr1yx577JENNvi//979z3/+MzvvvHOmTZuWbt26Zd99983ee++dgw8++GNdYv3CCy9kt912yz//+c/07t07n/3sZ7Pvvvvmc5/7XFq1alW3XXV1dbp06ZKePXvmoYceyoYbbli3rra2NmVlZVm6dGk6d+6c9u3b54knnqjb5ne/+10OPvjgXHDBBRk1alSSf50ZedNNN+Xcc8/N6NGj6/b1yCOPZO+9917hsvMJEybkwAMPrFt+55135vDDD88TTzyRXXfd9WP9+QMA/DdwZiQAQCNUU1OTJGnTps3H/syRRx6ZZs2a1busedKkSXnzzTfrXaKdJCeeeGLuvffe7LPPPnnkkUdy8cUXZ++9985WW21VL1q2bNkyjz32WM4+++wk/zozcejQoenYsWO+8Y1vZPHixR860/bbb5+pU6fm2GOPzWuvvZZrrrkmhx12WDp06JCf/OQnddtNnDgx8+fPz7nnnlsvRCZJWVlZkn9dNj1v3rx8/etfr7fNwIEDs+222+Z3v/vdCt9/yimn1Hs/fvz4VFRU5HOf+1z+/ve/17369OmTjTbaqO7BPW3btk2S3H333XVnSwIAIEYCADRKH9yLcf78+R/7M5tsskn69++fO+64o+4p1ePGjUvTpk3zpS99aYXt+/fvnwkTJuTdd9/Nww8/nGHDhuX111/PwQcfnHnz5tVtV1FRkSuuuCKvvfZaXnvttdxwww3ZZptt8sMf/jAXX3zxR8619dZb52c/+1n+/ve/59lnn81ll12Wpk2b5uSTT859992X5P/uTbnDDjuscj+vv/56kmSbbbZZYd22225bt/4DTZs2TefOneste/nll1NdXZ327dtns802q/dasGBB3XF/9rOfzaBBgzJq1KhsuummOfTQQ3PjjTd+ZHwFAGjsxEgAgEaovLw8nTp1yvPPP/+JPnfsscempqYmd999d5YsWZJf//rX6devXzbbbLNVfqZVq1bZe++988Mf/jDnnXde3nnnndxzzz0r3bZbt2458cQT86c//Slt27bNLbfc8rFna9KkSXbccceMGDEid9xxR5J8os9/Ui1atKh3yXnyr8vW27dvn4kTJ670ddFFFyX519mYv/rVrzJ58uSceuqpefPNN3PiiSemT58+WbBgwVqbGQBgXde01AMAALB2HHzwwbn++uszefLkVFVVfazPfP7zn0+bNm0ybty4NGvWLO+8884Kl2h/mA/ujzh79uwP3W7jjTdOjx49PnEsXdX39OjRI0ny/PPPZ8stt1zpZz54mM60adOy33771Vv3wT0tP0qPHj1y3333Zc8990zLli0/cvvdd989u+++ey699NKMGzcugwcPzq233pqvfOUrH/lZAIDGyJmRAACN1De/+c20bt06X/nKVzJ37twV1k+fPj3XXHNNvWUtW7bM4Ycfnt///ve57rrr0rp16xx66KErfPb+++9f6Xf+/ve/T/J/l0I/88wz+fvf/77Cdq+//npefPHFlV4y/e/++Mc/rvSei//5Pf369UubNm0yevToukvMP/DB8xp33XXXtG/fPmPGjKl3ufQ999yTv/zlLxk4cOCHzpIkX/rSl7Js2bKVXl7+/vvv1z2R+5133lnh6eG9e/dOEpdqAwD/1TxNGwCgEfvtb3+bI488Mi1btsxxxx2XHXbYIUuWLMmjjz6a8ePH5/jjj8+Pf/zjep+ZOHFi3dO0Bw8enJ///Ocr7HejjTZK9+7dc8ghh6RHjx5ZuHBh7rvvvtx1113Zbbfd8uijj6Zp06b5zne+k5EjR+bzn/98dt9992y00Ub529/+lp/+9KeZN29efvWrX+Xwww9f5fwHH3xwpkyZkiOOOCK9evVKkjz11FO5+eab06pVqzz55JPp3r17kuSGG27IV77yleywww455phjsvHGG+eZZ57Je++9l5tuuinJvx6gc8IJJ6Rv3745+uijM3fu3FxzzTVp3759nn766boHzxx//PH51a9+tdJLqr/2ta/lxz/+cQYMGJB+/fqlWbNmefnllzN+/Phcc801+cIXvpCrr7461157bQ4//PD06NEj8+fPz09+8pPMnj07U6dOrZsZAOC/jRgJANDIvfzyy7nyyiszceLEzJo1Ky1atEivXr1y1FFH5aSTTkqLFi3qbb9s2bJ06dIls2fPzu9///sMGDBghX3eeuut+c1vfpMnnngis2bNSm1tbbbYYoscfvjhOeecc+qe4v3qq69m7Nix+cMf/pC//e1vefvtt7Pxxhvn05/+dM4888zsu+++Hzr7o48+mnHjxmXSpEmZOXNm3nvvvXTs2DH77bdfzj///GyxxRb1tr/rrrty+eWX5+mnn06zZs2y7bbb5owzzshRRx1Vt81tt92Wyy+/PC+++GJat26dAQMG5Nvf/nY+9alP1W3zYTEySX7yk5/kxz/+cV588cU0bdo0m2++eQYMGJDTTz89HTt2zNNPP50rr7wyf/rTnzJ37txUVFTk05/+dC688ML06dPnw/8HAwBoxMRIAAAAAKAQ7hkJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQTUs9wLpg+fLlmTVrVtq0aZOysrJSjwMAAAAA65Xa2trMnz8/nTp1ygYbrPr8RzEyyaxZs9KlS5dSjwEAAAAA67WZM2emc+fOq1wvRiZp06ZNkn/9YZWXl5d4GgAAAABYv9TU1KRLly51nW1VxMik7tLs8vJyMRIAAAAAGuijboHoATYAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAAKIQYCQAAAAAUQowEAAAAAAohRgIAAAAAhRAjAQAAAIBCiJEAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAAKIQYCQAAAAAUQowEAAAAAAohRgIAAAAAhRAjAQAAAIBCiJEAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAAKIQYCQAAAAAUQowEAAAAAAohRgIAAAAAhRAjAQAAAIBCiJEAAAAAQCHESAAAAACgEGIkAAAAAFCIpqUeAAAAAFj7yspGlXoEVlNt7chSjwCrzZmRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAAChESWPkddddl169eqW8vDzl5eWpqqrKPffcU7d+n332SVlZWb3X1772tXr7mDFjRgYOHJhWrVqlffv2Ofvss/P+++8XfSgAAAAAwEdoWsov79y5cy6//PJstdVWqa2tzU033ZRDDz00Tz/9dLbffvskyUknnZSLLrqo7jOtWrWq++tly5Zl4MCBqayszKOPPprZs2fnuOOOS7NmzXLZZZcVfjwAAAAAwKqVNEYecsgh9d5feumlue666/LnP/+5Lka2atUqlZWVK/38H/7wh7z44ou577770qFDh/Tu3TsXX3xxzjnnnFx44YVp3rz5Wj8GAAAAAODjWWfuGbls2bLceuutWbhwYaqqquqW33LLLdl0002zww47ZMSIEXnvvffq1k2ePDk77rhjOnToULesf//+qampyQsvvLDK71q8eHFqamrqvQAAAACAtaukZ0YmyXPPPZeqqqosWrQoG220Ue6444707NkzSXLMMcekW7du6dSpU5599tmcc845mTZtWm6//fYkyZw5c+qFyCR17+fMmbPK7xw9enRGjRq1lo4IAAAAAFiZksfIbbbZJlOnTk11dXV+9atfZciQIZk0aVJ69uyZk08+uW67HXfcMR07dsz++++f6dOnp0ePHg3+zhEjRmT48OF172tqatKlS5fVOg4AAAAA4MOV/DLt5s2bZ8stt0yfPn0yevTo7LTTTrnmmmtWum3fvn2TJK+88kqSpLKyMnPnzq23zQfvV3WfySRp0aJF3RO8P3gBAAAAAGtXyWPkf1q+fHkWL1680nVTp05NknTs2DFJUlVVleeeey7z5s2r22bixIkpLy+vu9QbAAAAAFg3lPQy7REjRmTAgAHp2rVr5s+fn3HjxuWhhx7KhAkTMn369IwbNy4HHXRQNtlkkzz77LM544wz8pnPfCa9evVKkvTr1y89e/bMl7/85VxxxRWZM2dOzjvvvAwbNiwtWrQo5aEBAAAAAP+hpDFy3rx5Oe644zJ79uxUVFSkV69emTBhQj73uc9l5syZue+++3L11Vdn4cKF6dKlSwYNGpTzzjuv7vNNmjTJ3XffnVNOOSVVVVVp3bp1hgwZkosuuqiERwUAAAAArExZbW1tbamHKLWamppUVFSkurra/SMBAABolMrKRpV6BFZTbe3IUo8Aq/Rx+9o6d89IAAAAAKBxEiMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACiFGAgAAAACFECMBAAAAgEKIkQAAAABAIcRIAAAAAKAQYiQAAAAAUAgxEgAAAAAohBgJAAAAABRCjAQAAAAACtG01AMAAACNX1nZqFKPwGqqrR1Z6hEAaAScGQkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQjQt5Zdfd911ue666/Laa68lSbbffvtccMEFGTBgQJJk0aJFOfPMM3Prrbdm8eLF6d+/f6699tp06NChbh8zZszIKaeckgcffDAbbbRRhgwZktGjR6dp05IeGgAAQKNSVjaq1CMA0AiU9MzIzp075/LLL8+UKVPy5JNPZr/99suhhx6aF154IUlyxhln5K677sr48eMzadKkzJo1K0cccUTd55ctW5aBAwdmyZIlefTRR3PTTTdl7NixueCCC0p1SAAAAADAKpTV1tbWlnqIf9euXbtceeWV+cIXvpDNNtss48aNyxe+8IUkyV//+tdst912mTx5cnbffffcc889OfjggzNr1qy6syXHjBmTc845J2+99VaaN2/+sb6zpqYmFRUVqa6uTnl5+Vo7NgAA+G/lrDqA1VdbO7LUI8Aqfdy+ts7cM3LZsmW59dZbs3DhwlRVVWXKlClZunRpDjjggLpttt1223Tt2jWTJ09OkkyePDk77rhjvcu2+/fvn5qamrqzK1dm8eLFqampqfcCAAAAANauksfI5557LhtttFFatGiRr33ta7njjjvSs2fPzJkzJ82bN0/btm3rbd+hQ4fMmTMnSTJnzpx6IfKD9R+sW5XRo0enoqKi7tWlS5c1e1AAAAAAwApKHiO32WabTJ06NY899lhOOeWUDBkyJC+++OJa/c4RI0akurq67jVz5sy1+n0AAAAAQImfpp0kzZs3z5Zbbpkk6dOnT5544olcc801OfLII7NkyZK8++679c6OnDt3biorK5MklZWVefzxx+vtb+7cuXXrVqVFixZp0aLFGj4SAAAAAODDlPzMyP+0fPnyLF68OH369EmzZs1y//33162bNm1aZsyYkaqqqiRJVVVVnnvuucybN69um4kTJ6a8vDw9e/YsfHYAAAAAYNVKembkiBEjMmDAgHTt2jXz58/PuHHj8tBDD2XChAmpqKjI0KFDM3z48LRr1y7l5eX5xje+kaqqquy+++5Jkn79+qVnz5758pe/nCuuuCJz5szJeeedl2HDhjnzEQAAAADWMSWNkfPmzctxxx2X2bNnp6KiIr169cqECRPyuc99Lknyve99LxtssEEGDRqUxYsXp3///rn22mvrPt+kSZPcfffdOeWUU1JVVZXWrVtnyJAhueiii0p1SAAAAADAKpTV1tbWlnqIUqupqUlFRUWqq6tTXl5e6nEAAKDRKSsbVeoRANZ7tbUjSz0CrNLH7Wvr3D0jAQAAAIDGSYwEAAAAAAohRgIAAAAAhRAjAQAAAIBCiJEAAAAAQCHESAAAAACgEGIkAAAAAFAIMRIAAAAA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FEKMBAAAAAAK0aAY+be//W1NzwEAAAAANHINipFbbrll9t133/z85z/PokWL1vRMAAAAAEAj1KAY+dRTT6VXr14ZPnx4Kisr89WvfjWPP/74mp4NAAAAAGhEGhQje/funWuuuSazZs3KT3/608yePTt77bVXdthhh1x11VV566231vScAAAAAMB6brUeYNO0adMcccQRGT9+fL797W/nlVdeyVlnnZUuXbrkuOOOy+zZs9fUnAAAAADAem61YuSTTz6Zr3/96+nYsWOuuuqqnHXWWZk+fXomTpyYWbNm5dBDD11TcwIAAAAA67mmDfnQVVddlRtvvDHTpk3LQQcdlJtvvjkHHXRQNtjgX22ze/fuGTt2bDbffPM1OSsAAAAAsB5rUIy87rrrcuKJJ+b4449Px44dV7pN+/btc8MNN6zWcAAAAABA49GgGPnyyy9/5DbNmzfPkCFDGrJ7AAAAAKARatA9I2+88caMHz9+heXjx4/PTTfdtNpDAQAAAACNT4Ni5OjRo7PpppuusLx9+/a57LLLVnsoAAAAAKDxaVCMnDFjRrp3777C8m7dumXGjBmrPRQAAAAA0Pg0KEa2b98+zz777ArLn3nmmWyyySarPRQAAAAA0Pg0KEYeffTR+Z//+Z88+OCDWbZsWZYtW5YHHnggp512Wo466qg1PSMAAAAA0Ag06GnaF198cV577bXsv//+adr0X7tYvnx5jjvuOPeMBAAAAABWqkExsnnz5vnlL3+Ziy++OM8880xatmyZHXfcMd26dVvT8wEAAAAAjUSDLtP+wNZbb50vfvGLOfjggxsUIkePHp3ddtstbdq0Sfv27XPYYYdl2rRp9bZZtGhRhg0blk022SQbbbRRBg0alLlz59bbZsaMGRk4cGBatWqV9u3b5+yzz87777+/OocGAAAAAKxhDTozctmyZRk7dmzuv//+zJs3L8uXL6+3/oEHHvhY+5k0aVKGDRuW3XbbLe+//36+9a1vpV+/fnnxxRfTunXrJMkZZ5yR3/3udxk/fnwqKipy6qmn5ogjjsif/vSnulkGDhyYysrKPProo5k9e3aOO+64NGvWzCXjAAAAALAOKautra39pB869dRTM3bs2AwcODAdO3ZMWVlZvfXf+973GjTMW2+9lfbt22fSpEn5zGc+k+rq6my22WYZN25cvvCFLyRJ/vrXv2a77bbL5MmTs/vuu+eee+7JwQcfnFmzZqVDhw5JkjFjxuScc87JW2+9lebNm3/k99bU1KSioiLV1dUpLy9v0OwAwLqtrGxUqUdgNdXWjiz1CKwG/x8E4L9dY/9nmY/b1xp0ZuStt96a2267LQcddFCDB1yZ6urqJEm7du2SJFOmTMnSpUtzwAEH1G2z7bbbpmvXrnUxcvLkydlxxx3rQmSS9O/fP6ecckpeeOGF7Lzzzmt0RgAAAACgYRr8AJstt9xyjQ6yfPnynH766dlzzz2zww47JEnmzJmT5s2bp23btvW27dChQ+bMmVO3zb+HyA/Wf7BuZRYvXpzFixfXva+pqVlThwEAAAAArEKDHmBz5pln5pprrkkDrvBepWHDhuX555/Prbfeusb2uSqjR49ORUVF3atLly5r/TsBAAAA4L9dg86MfOSRR/Lggw/mnnvuyfbbb59mzZrVW3/77bd/ov2deuqpufvuu/Pwww+nc+fOdcsrKyuzZMmSvPvuu/XOjpw7d24qKyvrtnn88cfr7e+Dp21/sM1/GjFiRIYPH173vqamRpAEAAAAgLWsQTGybdu2Ofzww1f7y2tra/ONb3wjd9xxRx566KF079693vo+ffqkWbNmuf/++zNo0KAkybRp0zJjxoxUVVUlSaqqqnLppZdm3rx5ad++fZJk4sSJKS8vT8+ePVf6vS1atEiLFi1We34AAAAA4ONrUIy88cYb18iXDxs2LOPGjctvfvObtGnTpu4ejxUVFWnZsmUqKioydOjQDB8+PO3atUt5eXm+8Y1vpKqqKrvvvnuSpF+/funZs2e+/OUv54orrsicOXNy3nnnZdiwYYIjAAAAAKxDGnTPyCR5//33c9999+XHP/5x5s+fnySZNWtWFixY8LH3cd1116W6ujr77LNPOnbsWPf65S9/WbfN9773vRx88MEZNGhQPvOZz6SysrLeZeBNmjTJ3XffnSZNmqSqqirHHntsjjvuuFx00UUNPTQAAAAAYC0oq23AU2hef/31HHjggZkxY0YWL16cl156KVtssUVOO+20LF68OGPGjFkbs641NTU1qaioSHV1dcrLy0s9DgCwFpSVjSr1CKym2tqRpR6B1eD/gwD8t2vs/yzzcftag86MPO2007LrrrvmnXfeScuWLeuWH3744bn//vsbsksAAAAAoJFr0D0j//jHP+bRRx9N8+bN6y3ffPPN8+abb66RwQAAAACAxqVBZ0YuX748y5YtW2H5G2+8kTZt2qz2UAAAAABA49OgGNmvX79cffXVde/LysqyYMGCjBw5MgcddNCamg0AAAAAaEQadJn2d7/73fTv3z89e/bMokWLcswxx+Tll1/Opptuml/84hdrekYAAAAAoBFoUIzs3Llznnnmmdx666159tlns2DBggwdOjSDBw+u90AbAAAAAIAPNChGJknTpk1z7LHHrslZAAAAAIBGrEEx8uabb/7Q9ccdd1yDhgEAAAAAGq8GxcjTTjut3vulS5fmvffeS/PmzdOqVSsxEgAAAABYQYOepv3OO+/Uey1YsCDTpk3LXnvt5QE2AAAAAMBKNShGrsxWW22Vyy+/fIWzJgEAAAAAkjUYI5N/PdRm1qxZa3KXAAAAAEAj0aB7Rv72t7+t9762tjazZ8/OD3/4w+y5555rZDAAAAAAoHFpUIw87LDD6r0vKyvLZpttlv322y/f/e5318RcAAAAAEAj06AYuXz58jU9BwAAAADQyK3Re0YCAAAAAKxKg86MHD58+Mfe9qqrrmrIVwAAAAAAjUyDYuTTTz+dp59+OkuXLs0222yTJHnppZfSpEmT7LLLLnXblZWVrZkpAQAAAID1XoNi5CGHHJI2bdrkpptuysYbb5wkeeedd3LCCSdk7733zplnnrlGhwQAAAAA1n8Numfkd7/73YwePbouRCbJxhtvnEsuucTTtAEAAACAlWpQjKypqclbb721wvK33nor8+fPX+2hAAAAAIDGp0Ex8vDDD88JJ5yQ22+/PW+88UbeeOON/PrXv87QoUNzxBFHrOkZAQAAAIBGoEH3jBwzZkzOOuusHHPMMVm6dOm/dtS0aYYOHZorr7xyjQ4IAAAAADQODYqRrVq1yrXXXpsrr7wy06dPT5L06NEjrVu3XqPDAQAAAACNR4Mu0/7A7NmzM3v27Gy11VZp3bp1amtr19RcAAAAAEAj06AY+Y9//CP7779/tt566xx00EGZPXt2kmTo0KE588wz1+iAAAAAAEDj0KAYecYZZ6RZs2aZMWNGWrVqVbf8yCOPzL333rvGhgMAAAAAGo8G3TPyD3/4QyZMmJDOnTvXW77VVlvl9ddfXyODAQAAAACNS4POjFy4cGG9MyI/8Pbbb6dFixarPRQAAAAA0Pg0KEbuvffeufnmm+vel5WVZfny5bniiiuy7777rrHhAAAAAIDGo0GXaV9xxRXZf//98+STT2bJkiX55je/mRdeeCFvv/12/vSnP63pGQEAAACARqBBZ0busMMOeemll7LXXnvl0EMPzcKFC3PEEUfk6aefTo8ePdb0jAAAAABAI/CJz4xcunRpDjzwwIwZMyb/7//9v7UxEwAAAADQCH3iMyObNWuWZ599dm3MAgAAAAA0Yg26TPvYY4/NDTfcsKZnAQAAAAAasQY9wOb999/PT3/609x3333p06dPWrduXW/9VVddtUaGAwAAAAAaj08UI//2t79l8803z/PPP59ddtklSfLSSy/V26asrGzNTQcAAAAANBqfKEZutdVWmT17dh588MEkyZFHHpnvf//76dChw1oZDgAAAABoPD7RPSNra2vrvb/nnnuycOHCNToQAAAAANA4NegBNh/4zzgJAAAAALAqnyhGlpWVrXBPSPeIBAAAAAA+jk90z8ja2tocf/zxadGiRZJk0aJF+drXvrbC07Rvv/32NTchAAAAANAofKIYOWTIkHrvjz322DU6DAAAAADQeH2iGHnjjTeurTkAAAAAgEZutR5gAwAAAADwcYmRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQpQ0Rj788MM55JBD0qlTp5SVleXOO++st/74449PWVlZvdeBBx5Yb5u33347gwcPTnl5edq2bZuhQ4dmwYIFBR4FAAAAAPBxlDRGLly4MDvttFN+9KMfrXKbAw88MLNnz657/eIXv6i3fvDgwXnhhRcyceLE3H333Xn44Ydz8sknr+3RAQAAAIBPqGkpv3zAgAEZMGDAh27TokWLVFZWrnTdX/7yl9x777154oknsuuuuyZJfvCDH+Sggw7Kd77znXTq1GmNzwwAAAAANMw6f8/Ihx56KO3bt88222yTU045Jf/4xz/q1k2ePDlt27atC5FJcsABB2SDDTbIY489VopxAQAAAIBVKOmZkR/lwAMPzBFHHJHu3btn+vTp+da3vpUBAwZk8uTJadKkSebMmZP27dvX+0zTpk3Trl27zJkzZ5X7Xbx4cRYvXlz3vqamZq0dAwAAAADwL+t0jDzqqKPq/nrHHXdMr1690qNHjzz00EPZf//9G7zf0aNHZ9SoUWtiRAAAAADgY1rnL9P+d1tssUU23XTTvPLKK0mSysrKzJs3r94277//ft5+++1V3mcySUaMGJHq6uq618yZM9fq3AAAAADAehYj33jjjfzjH/9Ix44dkyRVVVV59913M2XKlLptHnjggSxfvjx9+/Zd5X5atGiR8vLyei8AAAAAYO0q6WXaCxYsqDvLMUleffXVTJ06Ne3atUu7du0yatSoDBo0KJWVlZk+fXq++c1vZsstt0z//v2TJNttt10OPPDAnHTSSRkzZkyWLl2aU089NUcddZQnaQMAAADAOqakZ0Y++eST2XnnnbPzzjsnSYYPH56dd945F1xwQZo0aZJnn302n//857P11ltn6NCh6dOnT/74xz+mRYsWdfu45ZZbsu2222b//ffPQQcdlL322ivXX399qQ4JAAAAAFiFkp4Zuc8++6S2tnaV6ydMmPCR+2jXrl3GjRu3JscCAAAAANaC9eqekQAAAADA+kuMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBAljZEPP/xwDjnkkHTq1CllZWW58847662vra3NBRdckI4dO6Zly5Y54IAD8vLLL9fb5u23387gwYNTXl6etm3bZujQoVmwYEGBRwEAAAAAfBwljZELFy7MTjvtlB/96EcrXX/FFVfk+9//fsaMGZPHHnssrVu3Tv/+/bNo0aK6bQYPHpwXXnghEydOzN13352HH344J598clGHAAAAAAB8TE1L+eUDBgzIgAEDVrqutrY2V199dc4777wceuihSZKbb745HTp0yJ133pmjjjoqf/nLX3LvvffmiSeeyK677pok+cEPfpCDDjoo3/nOd9KpU6fCjgUAAAAA+HDr7D0jX3311cyZMycHHHBA3bKKior07ds3kydPTpJMnjw5bdu2rQuRSXLAAQdkgw02yGOPPbbKfS9evDg1NTX1XgAAAADA2rXOxsg5c+YkSTp06FBveYcOHerWzZkzJ+3bt6+3vmnTpmnXrl3dNiszevToVFRU1L26dOmyhqcHAAAAAP7TOhsj16YRI0akurq67jVz5sxSjwQAAAAAjd46GyMrKyuTJHPnzq23fO7cuXXrKisrM2/evHrr33///bz99tt126xMixYtUl5eXu8FAAAAAKxdJX2AzYfp3r17Kisrc//996d3795Jkpqamjz22GM55ZRTkiRVVVV59913M2XKlPTp0ydJ8sADD2T58uXp27dvqUYHAGAtKCsbVeoRAABYTSWNkQsWLMgrr7xS9/7VV1/N1KlT065du3Tt2jWnn356Lrnkkmy11Vbp3r17zj///HTq1CmHHXZYkmS77bbLgQcemJNOOiljxozJ0qVLc+qpp+aoo47yJG0AAAAAWMeUNEY++eST2XfffeveDx8+PEkyZMiQjB07Nt/85jezcOHCnHzyyXn33Xez11575d57782GG25Y95lbbrklp556avbff/9ssMEGGTRoUL7//e8XfiwAAAAAwIcrq62trS31EKVWU1OTioqKVFdXu38kADRS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LPfcc09efPHFfPe7383GG29c6tFYjz3xxBP1/n41ceLEJMkXv/jFEk/G+uzb3/52rrvuuvzwhz/MX/7yl3z729/OFVdckR/84AelHo313Fe+8pVMnDgxP/vZz/Lcc8+lX79+OeCAA/Lmm2+WejTWIwsXLsxOO+2UH/3oRytdf8UVV+T73/9+xowZk8ceeyytW7dO//79s2jRooInLZ2yWv/5CFaqXbt2ufLKKzN06NBSj8J6bsGCBdlll11y7bXX5pJLLknv3r1z9dVXl3os1lMXXnhh7rzzzkydOrXUo9DInHvuufnTn/6UP/7xj6UehUbs9NNPz913352XX345ZWVlpR6H9dTBBx+cDh065IYbbqhbNmjQoLRs2TI///nPSzgZ67N//vOfadOmTX7zm99k4MCBdcv79OmTAQMG5JJLLinhdKyvysrKcscdd+Swww5L8q+zIjt16pQzzzwzZ511VpKkuro6HTp0yNixY3PUUUeVcNriODMS/sOyZcty6623ZuHChamqqir1ODQCw4YNy8CBA3PAAQeUehQaiZdffjmdOnXKFltskcGDB2fGjBmlHolG4Le//W123XXXfPGLX0z79u2z88475yc/+Umpx6IRWbJkSX7+85/nxBNPFCJZLXvssUfuv//+vPTSS0mSZ555Jo888kgGDBhQ4slYn73//vtZtmxZNtxww3rLW7Zs6SoU1phXX301c+bMqffvhhUVFenbt28mT55cwsmK1bTUA8C64rnnnktVVVUWLVqUjTbaKHfccUd69uxZ6rFYz91666156qmn3GuGNaZv374ZO3Zsttlmm8yePTujRo3K3nvvneeffz5t2rQp9Xisx/72t7/luuuuy/Dhw/Otb30rTzzxRP7nf/4nzZs3z5AhQ0o9Ho3AnXfemXfffTfHH398qUdhPXfuueempqYm2267bZo0aZJly5bl0ksvzeDBg0s9GuuxNm3apKqqKhdffHG22267dOjQIb/4xS8yefLkbLnllqUej0Zizpw5SZIOHTrUW96hQ4e6df8NxEj4X9tss02mTp2a6urq/OpXv8qQIUMyadIkQZIGmzlzZk477bRMnDhxhf/CCg3172d99OrVK3379k23bt1y2223ua0Eq2X58uXZddddc9lllyVJdt555zz//PMZM2aMGMkaccMNN2TAgAHp1KlTqUdhPXfbbbfllltuybhx47L99ttn6tSpOf3009OpUyd/v2K1/OxnP8uJJ56YT33qU2nSpEl22WWXHH300ZkyZUqpR4NGxWXa8L+aN2+eLbfcMn369Mno0aOz00475Zprrin1WKzHpkyZknnz5mWXXXZJ06ZN07Rp00yaNCnf//7307Rp0yxbtqzUI9IItG3bNltvvXVeeeWVUo/Ceq5jx44r/Ae47bbbzm0AWCNef/313HffffnKV75S6lFoBM4+++yce+65Oeqoo7Ljjjvmy1/+cs4444yMHj261KOxnuvRo0cmTZqUBQsWZObMmXn88cezdOnSbLHFFqUejUaisrIySTJ37tx6y+fOnVu37r+BGAmrsHz58ixevLjUY7Ae23///fPcc89l6tSpda9dd901gwcPztSpU9OkSZNSj0gjsGDBgkyfPj0dO3Ys9Sis5/bcc89Mmzat3rKXXnop3bp1K9FENCY33nhj2rdvX++hENBQ7733XjbYoP6/yjZp0iTLly8v0UQ0Nq1bt07Hjh3zzjvvZMKECTn00ENLPRKNRPfu3VNZWZn777+/bllNTU0ee+yx/6pnVrhMG5KMGDEiAwYMSNeuXTN//vyMGzcuDz30UCZMmFDq0ViPtWnTJjvssEO9Za1bt84mm2yywnL4uM4666wccsgh6datW2bNmpWRI0emSZMmOfroo0s9Guu5M844I3vssUcuu+yyfOlLX8rjjz+e66+/Ptdff32pR2M9t3z58tx4440ZMmRImjb1rx+svkMOOSSXXnppunbtmu233z5PP/10rrrqqpx44omlHo313IQJE1JbW5ttttkmr7zySs4+++xsu+22OeGEE0o9GuuRBQsW1Ltq6dVXX83UqVPTrl27dO3aNaeffnouueSSbLXVVunevXvOP//8dOrUqe6J2/8N/NMAJJk3b16OO+64zJ49OxUVFenVq1cmTJiQz33uc6UeDaCeN954I0cffXT+8Y9/ZLPNNstee+2VP//5z9lss81KPRrrud122y133HFHRowYkYsuuijdu3fP1Vdf7YEQrLb77rsvM2bMEIpYY37wgx/k/PPPz9e//vXMmzcvnTp1yle/+tVccMEFpR6N9Vx1dXVGjBiRN954I+3atcugQYNy6aWXplmzZqUejfXIk08+mX333bfu/fDhw5MkQ4YMydixY/PNb34zCxcuzMknn5x33303e+21V+69997/qucMlNXW1taWeggAAAAAoPFzz0gAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFEKMBAAAAAAKIUYCAAAAAIUQIwEAAACAQoiRAAAAAEAhxEgAAAAAoBBiJAAAAABQCDESAAAAACiEGAkAAAAAFOL/A9ITXxkBKwWzAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -543,10 +543,10 @@ "id": "96ff98c6", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:31.844359Z", - "iopub.status.busy": "2024-09-13T08:21:31.843997Z", - "iopub.status.idle": "2024-09-13T08:21:32.076267Z", - "shell.execute_reply": "2024-09-13T08:21:32.075641Z" + "iopub.execute_input": "2025-02-02T04:20:09.754179Z", + "iopub.status.busy": "2025-02-02T04:20:09.753838Z", + "iopub.status.idle": "2025-02-02T04:20:09.980487Z", + "shell.execute_reply": "2025-02-02T04:20:09.979911Z" }, "tags": [ "remove-input" @@ -555,7 +555,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABAcAAANXCAYAAABJ7TY7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeXQOd///8ecVZBdLSCKqghChQSxdrLG0ES2xVRtau5ZS0tqqxNLaibbUVjRBo9WqrZu1gsYaRIMgggZN0SJpKLJcvz98zc/VRIQucfd6Pc6ZczLz2d4zl/s+nfd85jMms9lsRkRERERERESslk1BByAiIiIiIiIiBUvJARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIyP8xmUz52qKjo//ROM6cOcO4ceN4/PHHKVGiBKVKlSIgIIBNmzblWv/KlSu88sorlC5dGicnJ5o2bcr+/fvva8xVq1YRFBREqVKlsLW1xdPTk06dOvH9998bdaKjo41rsG/fvhx9dO/eHWdn57uO8fjjj2MymZg7d+59xSYiIv+8wgUdgIiIiMjDYunSpRb7S5YsYePGjTmO+/r6/qNxrFmzhilTptC2bVu6detGZmYmS5Ys4emnn+bjjz+mR48eRt3s7GyeffZZDh48yNChQylVqhRz5swhICCAffv2Ubly5TzHMpvN9OzZk8jISPz9/XnzzTfx8PAgJSWFVatW0bx5c2JiYqhfv75Fu7Fjx/LVV1/l+5wSExPZu3cvXl5eREVF0a9fv/u7KCIi8o8ymc1mc0EHISIiIvIwGjBgALNnz+bf/s+lw4cP4+7uTqlSpYxjN27coFatWqSnp3PmzBnj+Oeff84LL7zAF198QceOHQG4ePEiVapUISgoiGXLluU51vTp0xk6dCihoaHMmDEDk8lkUb506VJ8fHx4/PHHiY6OpmnTptSqVYu4uDj27dtH7dq1jbrdu3dnxYoVpKen5xhnzJgxzJs3j7lz59KxY0dOnjyJl5fXg1weERH5B+i1AhEREZH7cPXqVQYPHky5cuWws7PDx8eH6dOn50ggmEwmBgwYQFRUFD4+Ptjb21OnTh22bdt2zzGq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IiL/SzRzQERERERERMTKKTkgIiIiIiIiYuX0WoHIf1B2djY///wzRYsWxWQyFXQ4IiIiIiJSQMxmM7///juenp7Y2Nx9foCSAyL/QT///DPlypUr6DBEREREROQhcebMGR555JG7lis5IPIfVLRoUeDW/wG4uLgUcDQiIiIiIlJQ0tLSKFeunHGPcDdKDoj8B91+lcDFxUXJARERERERuefrxlqQUERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlStc0AGIyD+nWLUpYGOfa5k5OexfjkZERERERB5WmjkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTnwP8pkMrF69eqCDkNERERERET+A5Qc+B+VkpJCUFAQAKdPn8ZkMhEXF/fA/e3atYtu3brh7e2Nq6srvr6+9OvXj8OHD/9NEf8zvLy8eP/99/9n+hUREREREXkYKTnwP+bmzZsAeHh4YGdn95f7y87O5vXXXycoKAh3d3dmz57Ntm3bmDNnDs7OzjRs2JDZs2f/5XFERERERETk4aXkQD6sWLECPz8/HBwccHV1pUWLFly9ehWAhQsX4uvri729PVWrVmXOnDkWbc+ePUtISAglS5bEycmJunXrsnv3bgC6d+9O27ZtLeqHhoYSEBBg7AcEBDBgwABCQ0MpVaoUgYGBgOVrBRUqVADA398fk8lEQEAA27Zto0iRIvzyyy85+m/UqJGxP3z4cHbv3k1CQgJTp04lMDCQ6tWr07RpU6ZNm0ZsbCzh4eGsWLHCop+5c+dSqVIlbG1t8fHxYenSpRblJpOJuXPnEhQUhIODAxUrVszRx5kzZ+jUqRPFixenZMmSBAcHc/r0aaP89vWZPn06ZcqUwdXVlf79+5ORkWFcm59++ok33ngDk8mEyWQy2v7www80atQIBwcHypUrx8CBA43fbMmSJTg7O5OYmGjUf+2116hatSrXrl3Ls98/u3LlCq+++iru7u7Y29vz2GOP8fXXXxvlX375JdWrV8fOzg4vLy/Cw8Mt2nt5eTF+/Hi6du2Ks7Mz5cuXZ+3atVy8eJHg4GCcnZ2pUaMGsbGxd41BRERERETkr1Jy4B5SUlIICQmhZ8+eJCQkEB0dTfv27TGbzURFRTF69GgmTJhAQkICEydOJCwsjMWLFwOQnp5OkyZNOHfuHGvXruXgwYMMGzaM7Ozs+4ph8eLF2NraEhMTw7x583KU79mzB4BNmzaRkpLCypUrady4MRUrVrS4ac/IyCAqKoqePXsCcOTIESIjI1m9ejUeHh7MnTuXypUr4+XlxaxZs/Dx8aFIkSIsWLCAoUOHYjabAVi1ahWDBg1i8ODBHDp0iFdffZUePXqwZcsWi7jCwsLo0KEDBw8epEuXLrz44oskJCQYsQQGBlK0aFG2b99OTEwMzs7OtGzZ0pgdAbBlyxaSkpLYsmULixcvJjIyksjISABWrlzJI488wjvvvENKSgopKSkAJCUl0bJlSzp06MCPP/7I8uXL+eGHHxgwYAAAXbt2pVWrVnTp0oXMzEy++eYbFi5cSFRUFI6Ojnft98+ys7MJCgoiJiaGTz75hCNHjjB58mQKFSoEwL59++jUqRMvvvgi8fHxjB07lrCwMCP+29577z0aNGjAgQMHePbZZ3n55Zfp2rUrL730Evv376dSpUp07drVuP65uXHjBmlpaRabiIiIiIhIvpklT/v27TMD5tOnT+coq1SpknnZsmUWx959913zU089ZTabzeb58+ebixYtav7tt99y7btbt27m4OBgi2ODBg0yN2nSxNhv0qSJ2d/fP0dbwLxq1Sqz2Ww2nzp1ygyYDxw4YFFnypQpZl9fX2P/yy+/NDs7O5vT09PNZrPZ/Pbbb5sHDx5sNpvN5m3btpkdHR3NUVFR5n379pmfe+45c6FChcynTp0ym81m8yOPPGJOSEgwm81mc/369c19+vSxGOv55583t2rVyiK+vn37WtR54oknzP369TObzWbz0qVLzT4+Pubs7Gyj/MaNG2YHBwfz+vXrjetTvnx5c2ZmpsU4L7zwgrFfvnx583vvvWcxTq9evcyvvPKKxbHt27ebbWxszH/88YfZbDabL126ZH7kkUfM/fr1M7u7u5snTJhgUT+3fv9s/fr1ZhsbG/OxY8dyLe/cubP56aeftjg2dOhQc7Vq1SzGeemll4z9lJQUM2AOCwszju3cudMMmFNSUu4ay5gxY8xAzq3s22bKvZPrJiIiIiIi/32pqalmwJyamppnPc0cuIeaNWvSvHlz/Pz8eP7551mwYAGXL1/m6tWrJCUl0atXL5ydnY1t/PjxJCUlARAXF4e/vz8lS5b8SzHUqVPngdp1796dEydOsGvXLgAiIyPp1KkTTk5OAMTHx1O/fn0AvvrqK7p06ULnzp2pXbs28+bNIysry+irTJkyXL58GYCEhAQaNGhgMVaDBg2MWQG3PfXUUzn2b9c5ePAgJ06coGjRosa1K1myJNevXzeuH0D16tWNJ/G347hw4UKe533w4EEiIyMtfpfAwECys7M5deoUACVKlGDRokXG6xFvvfXWPa5mTnFxcTzyyCNUqVIl1/K7XafExESLa1ujRg3jb3d3dwD8/PxyHMvrvEeMGEFqaqqxnTlz5r7PR0RERERErFfhgg7gYVeoUCE2btzIjh072LBhA7NmzWLkyJF89dVXACxYsIAnnngiRxsABweHPPu2sbHJMVX89vv0d7p9M3+/3NzcaN26NREREVSoUIHvvvuO6OhoozwzM9OI8ebNmxbjODs7G39fvXqVxMREKlWq9EBx5CY9PZ06deoQFRWVo6x06dLG30WKFLEoM5lM93wtIz09nVdffZWBAwfmKHv00UeNv7dt20ahQoVISUnh6tWrFC1a9L7O4V6/b37deY631zfI7Vhe521nZ/e3LFApIiIiIiLWSTMH8sFkMtGgQQPGjRvHgQMHjPf/PT09OXnyJN7e3hbb7QUCa9SoQVxcHJcuXcq139KlS+d4n/1BPkdoa2sLYPE0+rbevXuzfPlyPvroIypVqmTxJNvb25v4+HgAGjZsyGeffcbRo0fJyMhgwoQJAFy8eJGePXsSHByMm5sbAL6+vsTExFiMExMTQ7Vq1SyO3Z6xcOe+r68vALVr1yYxMRE3N7cc169YsWL3de5/Pu/atWtz5MiRHP16e3sb12rHjh1MmTKFr776CmdnZ2M9grz6/bMaNWpw9uxZjh8/nmv53a5TlSpVLGZDiIiIiIiIFDQlB+5h9+7dTJw4kdjYWJKTk1m5ciUXL17E19eXcePGMWnSJGbOnMnx48eJj48nIiKCGTNmABASEoKHhwdt27YlJiaGkydP8uWXX7Jz504AmjVrRmxsLEuWLCExMZExY8Zw6NCh+47Rzc0NBwcH1q1bx/nz50lNTTXKAgMDcXFxYfz48fTo0cOiXbt27Vi4cCEZGRl06NCBNm3aUK1aNRwdHbly5Qqenp60aNGCsmXLWiyEOHToUCIjI5k7dy6JiYnMmDGDlStXMmTIEIv+v/jiCz7++GOOHz/OmDFj2LNnj3ET3qVLF0qVKkVwcDDbt2/n1KlTREdHM3DgQM6ePZvvc/fy8mLbtm2cO3eOX3/9Fbj1BYYdO3YwYMAA4uLiSExMZM2aNcbYv//+Oy+//DIDBw4kKCiIqKgoli9fbvE1hdz6PXfuHFWrVjUWgGzSpAmNGzemQ4cObNy4kVOnTvHdd9+xbt06AAYPHszmzZt59913OX78OIsXL+bDDz/McZ1EREREREQK3L+zBML/riNHjpgDAwPNpUuXNtvZ2ZmrVKlinjVrllEeFRVlrlWrltnW1tZcokQJc+PGjc0rV640yk+fPm3u0KGD2cXFxezo6GiuW7eueffu3Ub56NGjze7u7uZixYqZ33jjDfOAAQNyLEg4aNCgHHFxx4KEZrPZvGDBAnO5cuXMNjY2Fu3NZrM5LCzMXKhQIfPPP/+co5+goCBzt27djEX/0tLSjAUUf/75Z4vFAO80Z84cc8WKFc1FihQxV6lSxbxkyZIc8c2ePdv89NNPm+3s7MxeXl7m5cuXW9RJSUkxd+3a1VyqVCmznZ2duWLFiuY+ffoYC2XkZ8HGnTt3mmvUqGG2s7Mz3/nPec+ePeann37a7OzsbHZycjLXqFHDWHSwR48eZj8/P/P169eN+uHh4eaSJUuaz549e9d+by/8uGXLFqPdb7/9Zu7Ro4fZ1dXVbG9vb37sscfMX3/9tVG+YsUKc7Vq1cxFihQxP/roo+Zp06ZZnE9uCx/++be924KTebm96IgWJBQRERERsW75XZDQZDbn8X00+U/o1asXFy9eZO3atTnKLl++TKtWrQAYOXIkzZo1w9HRkQsXLhAVFcWSJUv44Ycf7nvdA5PJxKpVq2jbtu3fcQpyn9LS0m69nlH2bbCxz7WOOTnsX45KRERERET+bbfvDVJTU3FxcblrPS1I+B+WmppKfHw8y5YtyzUxALdW7d+6dSuzZ89m8ODBHD9+HFtbW0wmE4GBgSxatOiBF0QUERERERGR/w1KDvyHBQcHs2fPHvr27cvTTz9913q2tra88cYbvPHGG6SmppKWloabm5tWvxcREREREbESSg78h9352cL8Klas2H19LeBu9LaKiIiIiIjI/w59rUBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOS1IKPIflnpkeJ7fMhUREREREQHNHBARERERERGxekoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIldOnDEX+w4pVmwI29vfVxpwc9g9FIyIiIiIiDyvNHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOWJmMjAw++ugjWrRoQdmyZfHw8KB+/fpMnz6da9euFXR4f5vu3bvTtm3bgg5DRERERETkf0Lhgg5A/pqbN29ia2ubr7onT54kODgYGxsb+vXrR40aNXB2dubo0aNEREQwe/Zs1q9fT5UqVf7hqEVERERERORhopkDD2DFihX4+fnh4OCAq6srLVq04OrVqwAsXLgQX19f7O3tqVq1KnPmzLFoe/bsWUJCQihZsiROTk7UrVuX3bt3A7k/7Q4NDSUgIMDYDwgIYMCAAYSGhlKqVCkCAwMBOHToEEFBQTg7O+Pu7s7LL7/Mr7/+arRLTU0lMDCQdu3aERcXR9++falfvz41atSgU6dOfPfdd7z99ts888wzXL582Wg3Z84cKleujL29Pe7u7nTs2BGAJUuW4Orqyo0bNyzibdu2LS+//DIAY8eOpVatWnz88cc8+uijODs789prr5GVlcXUqVPx8PDAzc2NCRMmWPQxY8YM/Pz8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CxcuEBUVxZIlS/jhhx8eeN0D+evS0tIoVqwYlH0bbOzv3SAP5uSwvykqERERERH5t92+N0hNTcXFxeWu9bQgoVhITU0lPj6eZcuW5ZoYAChRogRbt25l9uzZDB48mOPHj2Nra4vJZCIwMJBFixYpMSAiIiIiIvI/RDMHxEJAQAB79uzh1Vdf5b333stXm9TUVNLS0nBzc9OK+Q8JzRwQERERERHQzAF5QHd+tjC/ihUrdutGVERERERERP4naUFCERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuW0IKHIf1jqkeF5rkgqIiIiIiICmjkgIiIiIiIiYvWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESunTxmK/IcVqzYFbOwLOgwL5uSwgg5BRERERET+RDMHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHHnImk4nVq1cXaAwBAQGEhoYWaAwiIiIiIiLyz1Fy4CGXkpJCUFAQAKdPn8ZkMhEXF1ewQT2g7t2707Zt27uWJycnM2TIEGrWrEmpUqWoWLEiHTt2ZN26df9ekCIiIiIiIlZIyYGH1M2bNwHw8PDAzs6ugKP5a7KyssjOzs6zztKlS3nsscc4d+4cY8eOZfPmzXz66ac8+eSTvPLKK3Tt2pWsrKx/KWIRERERERHrouTAHVasWIGfnx8ODg64urrSokULrl69CsDChQvx9fXF3t6eqlWrMmfOHIu2Z8+eJSQkhJIlS+Lk5ETdunXZvXs3kPsT89DQUAICAoz9gIAABgwYQGhoKKVKlSIwMBCwfK2gQoUKAPj7+2MymQgICGDbtm0UKVKEX375JUf/jRo1uuc5//bbb4SEhFC2bFkcHR3x8/Pj008/zbPNjRs3GDJkCGXLlsXJyYknnniC6OhoozwyMpLixYuzdu1aqlWrhp2dHT179mTx4sWsWbMGk8mEyWQy2nz11VcMHTqUDRs28Omnn9KuXTtq1qzJE088wZAhQ0hISODChQs5Xm04dOgQQUFBODs74+7uzssvv8yvv/5qcU1ff/11QkNDKVGiBO7u7ixYsICrV6/So0cPihYtire3N999951Fv4cPH+a5557DxcWFokWL0qhRI5KSku56PfKqn52dzTvvvMMjjzyCnZ0dtWrVspgJcXs2yOeff06jRo1wcHCgXr16HD9+nL1791K3bl2cnZ0JCgri4sWLef4uIiIiIiIiD0rJgf+TkpJCSEgIPXv2JCEhgejoaNq3b4/ZbCYqKorRo0czYcIEEhISmDhxImFhYSxevBiA9PR0mjRpwrlz51i7di0HDx5k2LBh93xa/meLFy/G1taWmJgY5s2bl6N8z549AGzatImUlBRWrlxJ48aNqVixIkuXLjXqZWRkEBUVRc+ePe855vXr16lTpw7ffPMNhw4d4pVXXuHll182xsrNgAED2LlzJ5999hk//vgjzz//PC1btiQxMdGoc+3aNaZMmcLChQs5fPgwM2fOpFOnTrRs2ZKUlBRSUlKoX78+N2/eZMCAAURGRvLkk0/yww8/ULduXdzd3enbty9du3Zl9erVREVFsWzZMuOm+8qVKzRr1gx/f39iY2NZt24d58+fp1OnTjmuaalSpdizZw+vv/46/fr14/nnn6d+/frs37+fZ555hpdffplr164BcO7cORo3boydnR3ff/89+/bto2fPnmRmZuZ6Le5V/4MPPiA8PJzp06fz448/EhgYSJs2bSyuFcCYMWMYNWoU+/fvp3DhwnTu3Jlhw4bxwQcfsH37dk6cOMHo0aPv+pvcuHGDtLQ0i01ERERERCS/Chd0AA+LlJQUMjMzad++PeXLlwfAz88PuHXjFh4eTvv27YFbT/CPHDnC/Pnz6datG8uWLePixYvs3buXkiVLAuDt7X3fMVSuXJmpU6fetbx06dIAuLq64uHhYRzv1asXERERDB06FLj1JP769es5bpRzU7ZsWYYMGWLsv/7666xfv57PP/+cxx9/PEf95ORkIiIiSE5OxtPTE4AhQ4awbt06IiIimDhxInArQTFnzhxq1qxptHVwcODGjRsWsW/cuJHSpUvTsmVLrly5QnBwMAMGDKBdu3asWLGCyZMn06xZM1xdXWnVqhUbN26kUqVKfPjhh/j7+xvjAXz88ceUK1eO48ePU6VKFQBq1qzJqFGjABgxYgSTJ0+mVKlS9OnTB4DRo0czd+5cfvzxR5588klmz55NsWLF+OyzzyhSpAiA0Vdu7lV/+vTpDB8+nBdffBGAKVOmsGXLFt5//31mz55t1BsyZIgxW2TQoEGEhISwefNmGjRoANz6jSMjI+8ax6RJkxg3btxdy0VERERERPKi5MD/qVmzJs2bN8fPz4/AwECeeeYZOnbsiK2tLUlJSfTq1cu4oQTIzMykWLFiAMTFxeHv728kBh5UnTp1Hqhd9+7dGTVqFLt27eLJJ58kMjKSTp064eTkdM+2WVlZTJw4kc8//5xz585x8+ZNbty4gaOjY6714+PjycrKynHDfOPGDVxdXY19W1tbatSocc/x4+PjqV+/PgA7duzA1dXVuMmtVasWy5cvN+qWKVOGy5cvA3Dw4EG2bNmCs7Nzjj6TkpKM+O6MoVChQri6uhpJHwB3d3cALly4ANz6LRs1amTc6N9LXvXT0tL4+eefjRv82xo0aMDBgwctjt0Z5+2Y/hzn7RhzM2LECN58802LscuVK5evcxAREREREVFy4P8UKlSIjRs3smPHDjZs2MCsWbMYOXIkX331FQALFizgiSeeyNEGbj0Rz4uNjQ1ms9niWEZGRo56+bmZz42bmxutW7cmIiKCChUq8N1331msAZCXadOm8cEHH/D+++/j5+eHk5MToaGhxoKIf5aenk6hQoXYt2+fcf633Xmj7uDggMlkuuf4mZmZxvW7efNmjmtwZ5/79+/n1VdfNeJo3bo1U6ZMydFnmTJljL//fNNuMpksjt2O8fYrIPf6Lf/sfuvfTW4x/flYXq+p2NnZ/c8vXCkiIiIiIgVHyYE7mEwmGjRoQIMGDRg9ejTly5cnJiYGT09PTp48SZcuXXJtV6NGDRYuXMilS5dynT1QunRpDh06ZHEsLi4u30+nb7O1tQXIddX+3r17ExISwiOPPEKlSpVyPK2+m5iYGIKDg3nppZeAWzfJx48fp1q1arnW9/f3JysriwsXLuRrwcM/x//n2L29vY1ERr169Th69Chr1qyhdevWfPXVVxw8eJA//viDadOmcebMGdq0aQNA7dq1+fLLL/Hy8qJw4b/vn3GNGjVYvHgxGRkZ+fp98qrv4uKCp6cnMTExNGnSxDgeExOT6ysbIiIiIiIiBUULEv6f3bt3M3HiRGJjY0lOTmblypVcvHgRX19fxo0bx6RJk5g5cybHjx8nPj6eiIgIZsyYAUBISAgeHh60bduWmJgYTp48yZdffsnOnTsBaNasGbGxsSxZsoTExETGjBmTI1mQH25ubjg4OBiL76WmphplgYGBuLi4MH78eHr06JHvPitXrmzMmEhISODVV1/l/Pnzd61fpUoVunTpQteuXVm5ciWnTp1iz549TJo0iW+++SbPsby8vPjxxx85duwYv/76KxkZGbRo0YLdu3dz/PhxypYty+zZswkJCcHW1pbJkycTGBjIoEGD+OGHH9i8ebPxdLx///5cunSJkJAQ9u7dS1JSEuvXr6dHjx5/6ZOHAwYMIC0tjRdffJHY2FgSExNZunQpx44dA2DVqlVUrVo13/WHDh3KlClTWL58OceOHeOtt94iLi6OQYMGPXCMIiIiIiIifzclB/6Pi4sL27Zto1WrVlSpUoVRo0YRHh5OUFAQvXv3ZuHChURERODn50eTJk2IjIw0Pi1oa2vLhg0bcHNzo1WrVvj5+TF58mRj2n1gYCBhYWEMGzaMevXq8fvvv9O1a9f7jrFw4cLMnDmT+fPn4+npSXBwsFFmY2ND9+7dycrKuq++R40aRe3atQkMDCQgIMBIcuQlIiKCrl27MnjwYHx8fGjbti179+7l0UcfzbNdnz598PHxoW7dupQuXZqYmBhcXFwYPnw4nTp14rfffqNnz55cuXKFM2fOsHPnTj755BNSU1NZs2YNjzzyiNHX7SfyWVlZPPPMM/j5+REaGkrx4sWxsXnwf9aurq58//33xhco6tSpw4IFC4xZAampqcaNf37qDxw4kDfffJPBgwfj5+fHunXrWLt2LZUrV37gGEVERERERP5uJvOfX4aX/1m9evXi4sWLrF27tqBDuS9ms5nXXnuNr7/+mtGjR9O2bVtKly7N1atXWbduHe+++y4LFy6kbt26BR3q/4y0tLRbC2aWfRts7As6HAvm5LCCDkFERERExGrcvjdITU3FxcXlrvW05sB/QGpqKvHx8Sxbtux/LjEAt9Z6mDt3LkFBQUydOpW+fftSuHBhMjMzqVu3LqNGjVJiQERERERE5B+k5MB/QHBwMHv27KFv3748/fTTFmVBQUFs374913Zvv/02b7/99r8RYr60adOGNm3a8Mcff/Drr79SvHhxihYtWtBhiYiIiIiI/OcpOfAfkNdnCxcuXMgff/yRa1luX1Z4GDg4OFCuXLmCDkNERERERMRqKDnwH1e2bNmCDkFEREREREQecvpagYiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5bTmgMh/WOqR4Xl+y1RERERERAQ0c0BERERERETE6ik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk6fMhT5DytWbQrY2Bd0GA/EnBxW0CGIiIiIiFgNzRwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDhSw1atX4+3tTaFChQgNDSUyMpLixYsXdFj/imvXrtGhQwdcXFwwmUxcuXKloEMSERERERGxSveVHOjevTsmkwmTyYStrS3e3t688847ZGZmArBgwQJq1qyJs7MzxYsXx9/fn0mTJhntx44dS61atSz2b/dXqFAhypUrxyuvvMKlS5eIjo42yu62RUdH5xrniRMn6NGjB4888gh2dnZUqFCBkJAQYmNjjTomkwl7e3t++ukni7Zt27ale/fuOfrcuXMnhQoV4tlnn83zGh05coR+/frh6+uLq6srlStXplu3buzcuTPX+q+++iodO3bkzJkzvPvuu3n2/V+zePFitm/fzo4dO0hJSeHy5cuYTCbi4uIKOjQRERERERGrUvh+G7Rs2ZKIiAhu3LjBt99+S//+/SlSpAju7u6EhoYyc+ZMmjRpwo0bN/jxxx85dOhQnv1Vr16dTZs2kZWVRUJCAj179iQ1NZWlS5eSkpJi1Bs0aBBpaWlEREQYx0qWLJmjv9jYWJo3b85jjz3G/PnzqVq1Kr///jtr1qxh8ODBbN261ahrMpkYPXo0ixcvvud5L1q0iNdff51Fixbx888/4+npmaPO5MmTmTBhAp07d2b69OmUL1+eK1eusHnzZtq0aUPv3r0tkiXp6elcuHCBwMDAXPsrKDdv3sTW1vYfHycpKQlfX18ee+wxAE6fPv2Pj5mbf+t8RUREREREHlb3/VqBnZ0dHh4elC9fnn79+tGiRQvWrl3L2rVr6dSpE7169cLb25vq1asTEhLChAkT8uyvcOHCeHh4ULZsWVq0aMHzzz/Pxo0bsbW1xcPDw9gcHByMsW9vf76hM5vNdO/encqVK7N9+3aeffZZKlWqRK1atRgzZgxr1qyx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GixevJiMjIwcswdcXFzw9PQkJibGeOXhdnyPP/54vvoXERERERH5t/zlBQlv69evH++++y4xMTH89NNP7Nq1i65du1K6dGmeeuqpfPfz1FNPUaNGDSZOnHjfMZhMJiIiIjh+/DiNGjXi22+/5eTJk/z4449MmDCB4ODgu7YdMWIEP//8M5s2bTKOff3111y+fJlevXoZMyJubx06dDBeLWjTpg1ffPEFly5dom7durz11ls0atQIOzs7NmzYQJ06dXjxxRe5fPkyq1atuq9zGj16NEuWLGHcuHEcPnyYhIQEPvvsM0aNGgXA2bNn6devH1OmTKFhw4ZEREQwceJEdu3aBdz64sCOHTsYMGAAcXFxJCYmsmbNmhwLEv5Z5cqVSU5O5rPPPiMpKYmZM2daxP7HH38wYMAAoqOj+emnn4iJiWHv3r34+voCMHjwYDZv3sy7777L8ePHWbx4MR9++CFDhgy565hubm44ODiwbt06zp8/T2pqKoCx7kBUVJSRCKhRowY3btxg8+bNFjfflStXJjY2lvXr13P8+HHCwsLYu3fvPa9zly5dKFWqFMHBwWzfvp1Tp04RHR3NwIEDOXv2LHBrbYk717MYMGAAaWlpvPjii8TGxpKYmMjSpUuNhSaHDh3KlClTWL58OceOHeOtt94iLi6OQYMG3TMeERERERGRf9Pflhxo0aIFu3bt4vnnn6dKlSp06NABe3t7Nm/ejKur63319cYbb7Bw4cIHWlTt8ccfJzY2Fm9vb/r06YOvry9t2rTh8OHDORaCu1PJkiUZPny4xSJ9ixYtokWLFhQrVixH/Q4dOhAbG8uPP/6It7c3zz//PCEhIVy7do2wsDDjnfO1a9fy7bffcuXKFSIjI3OduZCXwMBAvv76azZs2EC9evV48sknee+99yhfvrzx6cbHH3/cuNkPDAykX79+vPTSS6Snp1OjRg22bt1qJEz8/f0ZPXp0nrMy4FbC44033mDAgAHUqlWLHTt2GF8xgFsLIf7222907dqVKlWq0KlTJ4KCgixmLHz++ed89tlnPPbYY4wePZp33nmH7t2733XMwoULM3PmTObPn4+np6dFMqdJkyZkZWUZyQEbGxsaN26MyWSyeK//1VdfpX379rzwwgs88cQT/PbbbxazCO7G0dGRbdu28eijj9K+fXt8fX3p1asX169fN2YSpKamGjf+cGvhxO+//5709HSaNGlCnTp1WLBggTGLYODAgbz55psMHjwYPz8/1q1bx9q1a6lcufI94xEREREREfk3mcwPsoqf5HDz5k2ef/55EhMTGT16NEFBQRQrVowrV66wcuVKZsyYwbp163jkkUcKOlSxAmlpabeSWmXfBhv7ezd4CJmTw+5dSURERERE8nT73iA1NTXPV6jve80ByZ2trS2rV69m8eLFTJkyhZCQEGxtbcnOzqZRo0bMnDlTiQERERERERF5KCk58DcymUx0796d7t27k56ezqVLlyhduvTftqq9iIiIiIiIyD9ByYF/iLOzM87OzgUdhoiIiIiIiMg9/W0LEoqIiIiIiIjI/yYlB0RERERERESsnJIDIiIiIiIiIlZOaw6I/IelHhme5+dKREREREREQDMHRERERERERKyekgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLl9ClDkf+wYtWmgI19QYfxQMzJYQUdgoiIiIiI1dDMARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAWDCZTKxevbqgwzCMHTuWWrVq5bv+6dOnMZlMxMXF3bVOdHQ0JpOJK1eu/OX4RERERERE/guUHBALKSkpBAUFAfm70b6XXbt20a1bN7y9vXF1dcXX15d+/fpx+PDhvyni+1e/fn1SUlIoVqxYgcUgIiIiIiLyMFFyQAC4efMmAB4eHtjZ2f3l/rKzs3n99dcJCgrC3d2d2bNns23bNubMmYOzszMNGzZk9uzZf3mcB2Fra4uHhwcmk6lAxs9LRkZGQYcgIiIiIiJWSMmBArRixQr8/PxwcHDA1dWVFi1acPXqVQAWLlyIr68v9vb2VK1alTlz5li0PXv2LCEhIZQsWRInJyfq1q3L7t27AejevTtt27a1qB8aGkpAQICxHxAQwIABAwgNDaVUqVIEBgYClq8VVKhQAQB/f39MJhMBAQFs27aNIkWK8Msvv+Tov1GjRsb+8OHD2b17NwkJCUydOpXAwECqV69O06ZNmTZtGrGxsYSHh7NixQqLfiZPnoy7uztFixalV69e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ly9TvHjxvx74P+Ts2bOUK1eOTZs20bx5839t3LS0NIoVKwZl3wYb+39t3IeFOTmsoEMQEREREXko3L43SE1NzXNtMn3KUP5W3bp1w9/fn3feeYeaNWty8+ZNsrOzKV++PK+++ir9+/cv6BD/Ubdnavj5+ZGSksKwYcPw8vKicePGBR2aiIiIiIjIXSk5IH+7GjVqsGLFCjIzMzl//jx2dnaUKlWqoMP6V2RkZPD2229z8uRJihYtSv369YmKisr1c5IiIiIiIiIPC71WIPIfpNcK9FqBiIiIiAjk/7UCLUgoIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJy+ViDyH5Z6ZHiei46IiIiIiIiAZg6IiIiIiIiIWD0lB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMrpU4Yi/2HFqk0BG/uCDqPAmZPDCjoEEREREZGHmmYOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOCAAmk4nVq1cXdBj/mtOnT2MymYiLiwMgOjoak8nElStXAIiMjKR48eIFFp+IiIiIiMi/SckBASAlJYWgoCAg543zg9i1axfdunXD29sbV1dXfH196devH4cPH/6bIv5rypUrR0pKCo899lhBhyIiIiIiIlLglBywcjdv3gTAw8MDOzu7v9xfdnY2r7/+OkFBQbi7uzN79my2bdvGnDlzcHZ2pmHDhsyePfsvj/NXFSpUCA8PDwoXLlzQoVjIyMgo6BBERERERMQKKTlQAFasWIGfnx8ODg64urrSokULrl69CsDChQvx9fXF3t6eqlWrMmfOHIu2Z8+eJSQkhJIlS+Lk5ETdunXZvXs3AN27d6dt27YW9UNDQwkICDD2AwICGDBgAKGhoZQqVYrAwEDA8rWCChUqAODv74/JZCIgIIBt27ZRpEgRfvnllxz9N2rUyNgfPnw4u3fvJiEhgalTpxIYGEj16tVp2rQp06ZNIzY2lvDwcFasWGG0GTt2LLVq1eLjjz/m0UcfxdnZmddee42srCymTp2Kh4cHbm5uTJgwwWLs5ORkgoODcXZ2xsXFhU6dOnH+/Hmj3MvLC5PJlGOD+58dkZSURHBwMO7u7jg7O1OvXj02bdp0z3Zz586lUqVK2Nra4uPjw9KlSy3KTSYTc+fOpU2bNjg5ORnnOH78eNzc3ChatCi9e/fmrbfeolatWvmKVURERERE5H4pOfAvS0lJISQkhJ49e5KQkEB0dDTt27fHbDYTFRXF6NGjmTBhAgkJCUycOJGwsDAWL14MQHp6Ok2aNOHcuXOsXbuWgwcPMmzYMLKzs+8rhsWLF2Nra0tMTAzz5s3LUb5nzx4ANm3aREpKCitXrqRx48ZUrFjR4uY2IyODqKgoevbsCcCRI0eIjIxk9erVeHh4MHfuXCpXroyXlxezZs3Cx8eHIkWKsGDBAoYOHYrZbDb6SkpK4rvvvmPdunV8+umnLFq0iGeffZazZ8+ydetWpkyZwqhRo4xESHZ2NsHBwVy6dImtW7eyceNGTp48yQsvvGD0uXfvXlJSUkhJSeHs2bM8+eSTFomM+5Genk6rVq3YvHkzBw4coGXLlrRu3Zrk5OS7tlm1ahWDBg1i8ODBHDp0iFdffZUePXqwZcsWi3pjx46lXbt2xMfH07NnT6KiopgwYQJTpkxh3759PProo8ydOzfP+G7cuEFaWprFJiIiIiIikl8P15xqK5CSkkJmZibt27enfPnyAPj5+QEwZswYwsPDad++PXDrCf6RI0eYP38+3bp1Y9myZVy8eJG9e/dSsmRJALy9ve87hsqVKzN16tS7lpcuXRoAV1dXPDw8jOO9evUiIiKCoUOHAvDVV19x/fp1OnXqBEBUVBTdunXD09OT7du3M2TIEBYsWEDVqlUZM2YMSUlJZGdn07x5czIzMzl27BhVq1YFbt3sf/zxxxQtWpRq1arRtGlTjh07xrfffouNjQ0+Pj5MmTKFLVu28MQTT7B582bi4+M5deoU5cqVA2DJkiVUr16dvXv3Uq9ePeM8AAYNGkRKSgp79+697+sFULNmTWrWrGnsv/vuu6xatYq1a9cyYMCAXNtMnz6d7t2789prrwHw5ptvsmvXLqZPn07Tpk2Nep07d6ZHjx7G/qxZs+jVq5dxbPTo0WzYsIH09PS7xjdp0iTGjRv3QOcmIiIiIiKimQP/spo1a9K8eXP8/Px4/vnnWbBgAZcvX+bq1askJSXRq1cvnJ2djW38+PEkJSUBEBcXh7+/v5EYeFB16tR5oHbdu3fnxIkT7Nq1C7i1on+nTp1wcnICID4+nvr16wO3EgddunShc+fO1K5dm3nz5pGVlWX0VaZMGS5fvmzse3l5UbRoUWPf3d2datWqYWNjY3HswoULACQkJFCuXDkjMQBQrVo1ihcvTkJCgkXcH330EYsWLWLt2rUWCYP7kZ6ezpAhQ/D19aV48eI4OzuTkJCQ58yBhIQEGjRoYHGsQYMGOeKrW7euxf6xY8d4/PHHLY79ef/PRowYQWpqqrGdOXMmP6clIiIiIiICaObAv65QoUJs3LiRHTt2sGHDBmbNmsXIkSP56quvAFiwYAFPPPFEjjYADg4OefZtY2NjMVUfcl/g7vbN/P1yc3OjdevWREREUKFCBb777juio6ON8szMTCPGmzdvWozj7Oxs/H316lUSExOpVKmScaxIkSIWY5lMplyP3e8rFFu2bOH111/n008/pUaNGvfV9k5Dhgxh48aNTJ8+HW9vbxwcHOjYsaOxoONf8aC/x53s7Oz+lgUlRURERETEOmnmQAEwmUw0aNCAcePGceDAAeP9f09PT06ePIm3t7fFdnuBwBo1ahAXF8elS5dy7bd06dKkpKRYHHuQzxHa2toCWDzpv613794sX76cjz76iEqVKlk8Gff29iY+Ph6Ahg0b8tlnn3H06FEyMjKMhfYuXrxIz549CQ4Oxs3N7b5ju83X15czZ85YPCE/cuQIV65coVq1agCcOHGCjh078vbbbxuvajyomJgYunfvTrt27fDz88PDw4PTp0/fM8aYmJgc/dyO7258fHxyvP7woK9DiIiIiIiI5IeSA/+y3bt3M3HiRGJjY0lOTmblypVcvHgRX19fxo0bx6RJk5g5cybHjx8nPj6eiIgIZsyYAUBISAgeHh60bduWmJgYTp48yZdffsnOnTsBaNasGbGxsSxZsoTExETGjBnDoUOH7jtGNzc3HBwcWLduHefPnyc1NdUoCwwMxMXFhfHjx1u8Jw/Qrl07Fi5cSEZGBh06dKBNmzZUq1YNR0dHrly5gqenJy1atKBs2bK5LoR4P1q0aIGfnx9dunRh//797Nmzh65du9KkSRPq1q3LH3/8QevWrfH39+eVV17hl19+MbYHUblyZVauXElcXBwHDx6kc+fOOWYxjBgxgq5duxr7Q4cOJTIykrlz55KYmMiMGTNYuXIlQ4YMyXOs119/nUWLFrF48WISExMZP348P/74o/GlBRERERERkb+bkgP/MhcXF7Zt20arVq2oUqUKo0aNIjw8nKCgIHr37s3ChQuJiIjAz8+PJk2aEBkZacwcsLW1ZcOGDbi5udGqVSv8/PyYPHmy8dpBYGAgYWFhDBs2jHr16vH7779b3KzmV+HChZk5cybz58/H09OT4OBgo8zGxobu3buTlZWVo++mTZvi7e1Nnz59yM7OZv78+aSmpnL+/Hk++ugjYmNjuXTpEjNmzMDe3v4vXMVbsy/WrFlDiRIlaNy4MS1atKBixYosX74cgPPnz3P06FE2b96Mp6cnZcqUMbYHMWPGDEqUKEH9+vVp3bo1gYGB1K5d26JOSkqKxRoEbdu25YMPPmD69OlUr16d+fPnExERYfFpydx06dKFESNGMGTIEGrXrs2pU6fo3r37X75mIiIiIiIid2My//kldZF76NWrFxcvXmTt2rU5yi5fvkyrVq0AGDlyJM2aNcPR0ZELFy4QFRXFkiVL+OGHH/6W9+ytydNPP42Hh4fFpyTzkpaWRrFixaDs22CjpII5OaygQxARERERKRC37w1SU1NxcXG5az0tSCj5lpqaSnx8PMuWLcs1MQBQokQJtm7dyuzZsxk8eDDHjx/H1tYWk8lEYGAgixYtUmLgHq5du8a8efMIDAykUKFCfPrpp2zatImNGzcWdGgiIiIiIvIfpZkDkm8BAQHs2bOHV199lffeey9fbVJTU0lLS8PNzU2r6efT7fUSDhw4wPXr1/Hx8WHUqFH3taiiZg5Y0swBEREREbFWmjkgf7s7P1uYX8WKFbt1kyr55uDgwKZNmwo6DBERERERsSJakFBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOS1IKPIflnpkeJ4rkoqIiIiIiIBmDoiIiIiIiIhYPSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLlChd0ACLyzylWbQrY2Bd0GA8Nc3JYQYcgIiIiIvJQ0swBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTsmB/ziTycTq1asLOoy/1enTpzGZTMTFxf2lfqKjozGZTFy5cuWudSIjIylevPhfGkdERERERORhp+TAf1xKSgpBQUHA33NTvWvXLrp164a3tzeurq74+vrSr18/Dh8+/DdF/O+pX78+KSkpFCtWrKBDERERERERKVBKDvxH3bx5EwAPDw/s7Oz+cn/Z2dm8/vrrBAUF4e7uzuzZs9m2bRtz5szB2dmZhg0bMnv27L88zt/BbDaTmZl5z3q2trZ4eHhgMpn+hahEREREREQeXkoO/I1WrFiBn58fDg4OuLq60qJFC65evQrAwoUL8fX1xd7enqpVqzJnzhyLtmfPniUkJISSJUvi5ORE3bp12b17NwDdu3enbdu2FvVDQ0MJCAgw9gMCAhgwYAChoaGUKlWKwMBAwPK1ggoVKgDg7++PyWQiICCAbdu2UaRIEX755Zcc/Tdq1MjYHz58OLt37yYhIYGpU6cSGBhI9erVadq0KdOmTSM2Npbw8HBWrFhhtElKSiI4OBh3d3ecnZ2pV68emzZtshjHy8uLiRMn0rNnT4oWLcqjjz7KRx99ZFFnz549+Pv7Y29vT926dTlw4IBF+e3XA7777jvq1KmDnZ0dP/zwAzdu3GDgwIG4ublhb29Pw4YN2bt3b452d75WEBkZyaOPPoqjoyPt2rXjt99+417y+u0A5s6dS6VKlbC1tcXHx4elS5datDeZTMyfP5/nnnsOR0dHfH192blzJydOnCAgIAAnJyfq169PUlLSPWMRERERERF5EEoO/E1SUlIICQmhZ8+eJCQkEB0dTfv27TGbzURFRTF69GgmTJhAQkICEydOJCwsjMWLFwOQnp5OkyZNOPf/2Lvz8Byu///jzzshi9xZEPsWxBKR2BVRYmktpZa2WlURa2utEhRNhFD0g9pV7Wr/Fq1WKdVGNaVBhFQiIpagtrZEbZFIfn+4Mj93RURp07pfj+u6r8vMnHPmfWbij3nPOWfOnmXTpk0cPHiQ4cOHk56e/kgxLFu2DDs7OyIiIvjoo4/uOx4ZGQnAN998w7lz59iwYQONGjWiXLlyFg+sqamprFy5kh49egAQGxvL0qVL+eyzzyhatCjz5s2jQoUKeHh4MGvWLCpVqkTevHlZsGABw4YNIyMjw+hX69at2bFjBwcOHKBly5a0bduWpKQki7imTp1qPPT369ePvn37Eh8fb7TRpk0bqlSpwv79+wkNDSUoKCjL/r/77rtMmjSJuLg4fH19GT58OOvXr2fZsmVERUXh6elJixYt+P3337Os/9NPP9GzZ08GDBhAdHQ0TZo0Yfz48dle84fdu40bN/L2228zdOhQfv75Z9588026d+/Od999Z9FOWFgYAQEBREdHU7lyZV5//XXefPNNRo4cyb59+8jIyGDAgAEPjCMlJYWrV69a/ERERERERHIqT24H8LQ4d+4caWlpdOzYkTJlygDg4+MDwJgxY5g6dSodO3YE7r7Bj42NZf78+XTr1o1Vq1Zx6dIl9u7dS4ECBQDw9PR85BgqVKjABx988MDjhQoVAqBgwYIULVrU2N+zZ0+WLFnCsGHDAPjiiy+4desWnTp1AmDlypV069aN4sWLs2vXLoKCgliwYAGVK1dmzJgxJCYmkp6eTrNmzUhLSyM+Pp7KlStTrVo1qlWrZpwnLCyMjRs3smnTJosH3datW9OvXz/g7giFDz/8kO+++45KlSqxatUq0tPTWbRoEQ4ODnh7e3PmzBn69u17X//GjRvHc889B8D169eZN28eS5cuNdZcWLBgAdu3b2fRokVGX+81Y8YMWrZsyfDhwwGoWLEiP/74I1u3bn3gNX3YvZsyZQqBgYFG/4YMGcKePXuYMmUKTZo0Mcp1797duN4jRoygfv36BAcHGyNA3n77bbp37/7AOCZOnMjYsWMfeFxERERERCQ7GjnwhFSrVo1mzZrh4+PDK6+8woIFC7h8+TLXr18nMTGRnj17Yjabjd/48eONYeLR0dHUqFHDeLj8q2rVqvWX6gUGBnLs2DH27NkD3B1a36lTJ5ycnACIiYmhQYMGwN3EQZcuXXj99depWbMmH330EXfu3DHaKlasGJcvXwbuvlUPCgrCy8sLNzc3zGYzcXFx940c8PX1Nf5tMpkoWrQoFy9eBDBGATg4OBhl6tevn2U/ateubfw7MTGR1NRU/Pz8jH158+albt26xMXFZVk/Li6OZ555xmLfg86V6WH3Li4uziIGAD8/v/tiuPcaFClSBPj/yaXMfbdu3XrgiICRI0eSnJxs/E6fPp1t3CIiIiIiIvfSyIEnxNbWlu3bt/Pjjz+ybds2Zs2axejRo/niiy+Au2+t//zgaWtrC4Cjo2O2bdvY2BhD9TOlpqbeVy7zYf5RFS5cmLZt27JkyRLKli3Lli1bCA8PN46npaUZMd6+fdviPGaz2fj39evXSUhIoHz58gAEBQWxfft2pkyZgqenJ46Ojrz88svGYomZ8ubNa7FtMpkeeUoF/PX+P46H3bucuvcaZC6QmNW+B10Xe3v7J7LwpIiIiIiIWCeNHHiCTCYTfn5+jB07lgMHDhjz/4sXL87x48fx9PS0+GUuEOjr60t0dPQD58IXKlSIc+fOWez7K58jtLOzA7B405+pV69erF27lo8//pjy5ctbvO329PQkJiYGgIYNG7JmzRqOHDlCamoqEyZMAODSpUv06NGDdu3aUbhwYQAiIiIIDAykQ4cO+Pj4ULRoUU6ePPlIMXt5eXHo0CFu3bpl7Msc4ZCdzAUAIyIijH2pqans3buXKlWqPPBc9y4kmJNzPezeeXl5WcQAd6/Lg2IQERERERHJDUoOPCE//fQT77//Pvv27SMpKYkNGzZw6dIlvLy8GDt2LBMnTmTmzJkcPXqUmJgYlixZwrRp0wDo3LkzRYsWpX379kRERHD8+HHWr1/P7t27AWjatCn79u1j+fLlJCQkMGbMGH7++edHjrFw4cI4OjqydetWLly4QHJysnGsRYsWuLi4MH78+Pvmtnfo0IGFCxeSmprKSy+9xIsvvkiVKlXIly8fV65coXjx4jRv3pwSJUpYLIRYoUIFNmzYQHR0NAcPHuT1119/5BEBr7/+OiaTid69exMbG8tXX33FlClTHlrPycmJvn37MmzYMLZu3UpsbCy9e/fmxo0b9OzZM8s6gwYNYuvWrUyZMoWEhARmz55933oDkZGRVK5cmbNnzwIPv3fDhg1j6dKlzJs3j4SEBKZNm8aGDRseuKiiiIiIiIhIblBy4AlxcXHh+++/p3Xr1lSsWJH33nuPqVOn0qpVK3r16sXChQtZsmQJPj4+NG7cmKVLlxojB+zs7Ni2bRuFCxemdevW+Pj4MGnSJGPaQYsWLQgODmb48OHUqVOHP/74g4CAgEeOMU+ePMycOZP58+dTvHhx2rVrZxyzsbEhMDCQO3fu3Nd2kyZN8PT0pHfv3qSnpzN//nySk5O5cOECH3/8Mfv27eP3339n2rRpFmsDTJs2jfz589OgQQPatm1LixYtqFmz5iPFbDab+eKLL4iJiaFGjRqMHj2ayZMn56jupEmTeOmll+jatSs1a9bk2LFjfP311+TPnz/L8vXq1WPBggXMmDGDatWqsW3bNt577z2LMjdu3CA+Pt6Y1vGwe9e+fXtmzJjBlClT8Pb2Zv78+SxZssTiM5QiIiIiIiK5zZTx58nsYrV69uzJpUuX2LRp033HLl++TOvWrQEYPXo0TZs2JV++fFy8eJGVK1eyfPlyfvjhh1yZ9y/3u3r1Kq6urlBiFNg4PLyClchICs7tEERERERE/lGZzwbJycm4uLg8sJwWJBSSk5OJiYlh1apVWSYGAPLnz8/OnTuZM2cOQ4cO5ejRo9jZ2WEymWjRogWLFi1SYkBEREREROQ/SiMHBH9/fyIjI3nzzTf58MMPc1QnOTmZq1evUrhwYa2S/y+kkQNZ08gBEREREbE2GjkgOXbvZwtzytXV9e7Dp4iIiIiIiPznaUFCERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuW0IKHIUyw5dkS2K5KKiIiIiIiARg6IiIiIiIiIWD0lB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMrpU4YiTzHXKpPBxiG3w/jXykgKzu0QRERERET+FTRyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlbOa5IC/vz+DBw/O7TD+EaGhoVSvXj1Xzh0YGEj79u1z5dwPcvLkSUwmE9HR0bkdioiIiIiIyL+S1SQHrElQUBA7duwwtv+ND+wP87AEx2+//UZoaCh16tShUKFClC5dmhdeeIE1a9aQkZHxzwUqIiIiIiLyFFBy4CmSkZFBWloaZrOZggUL5nY4f0lmH7Kzbds2KlasyN69ewkKCmLbtm1s2LCBNm3aEBYWRosWLbh+/fo/FLGIiIiIiMh/n1UlB9LT0xk+fDgFChSgaNGihIaGGsdMJhPz5s2jVatWODo6Uq5cOT799NNs27t8+TJdunShUKFCODo6UqFCBZYsWWIcP336NJ06dcLNzY0CBQrQrl07Tp48adHG4sWL8fb2xt7enmLFijFgwAAg66HwV65cwWQyER4eDkB4eDgmk4ktW7ZQq1Yt7O3t+eGHHyzeuoeGhrJs2TI+//xzTCaTUb9p06bGuTJdunQJOzs7i1EH97pz5w49e/akbNmyODo6UqlSJWbMmJHtNUpPT2fixIlGnWrVqllc16z6sGLFCsaOHcvBgweNmJcuXQrAvn376Ny5M0uXLmXz5s28+uqr1KhRg9q1a9O3b18OHjxIyZIl6dy5832xHD9+nCZNmpAvXz6qVavG7t27jWNLly7Fzc2Nzz77jAoVKuDg4ECLFi04ffp0tv07c+YMnTt3pkCBAjg5OVG7dm1++ukn4/i8efMoX748dnZ2VKpUiU8++cSivslkYv78+bRp04Z8+fLh5eXF7t27OXbsGP7+/jg5OdGgQQMSExOzjUNERERERORxWFVyYNmyZTg5OfHTTz/xwQcfMG7cOLZv324cDw4O5qWXXuLgwYN06dKF1157jbi4uAe2FxwcTGxsLFu2bCEuLo558+bh7u4OQGpqKi1atMDZ2Zldu3YRERGB2WymZcuW3L59G7j74Ni/f3/69OlDTEwMmzZtwtPT85H79e677zJp0iTi4uLw9fW1OBYUFESnTp1o2bIl586d49y5czRo0IBevXqxatUqUlJSjLIrVqygRIkSNG3aNMvzpKenU7JkSf7v//6P2NhYQkJCGDVqFOvWrXtgbBMnTmT58uV89NFHHD58mHfeeYc33niDnTt3PrAPzz33HEOHDsXb29uI+dVXXwVg4MCBTJgwgbZt2xIbG0vjxo0pVKgQnTp1YsiQIXzwwQd89NFHxMbG8t1331mcY/To0QQFBREdHU3FihXp3LmzxSiFGzduMGHCBJYvX05ERARXrlzhtddee2Dfrl27RuPGjTl79iybNm3i4MGDDB8+nPT0dAA2btzI22+/zdChQ/n5559588036d69+31xhYWFERAQQHR0NJUrV+b111/nzTffZOTIkezbt4+MjIz7Ejl/lpKSwtWrVy1+IiIiIiIiOZUntwP4J/n6+jJmzBgAKlSowOzZs9mxYwfPPfccAK+88gq9evUC7j6wbd++nVmzZjF37tws20tKSjLeWgN4eHgYx9auXUt6ejoLFy7EZDIBsGTJEtzc3AgPD+f5559n/PjxDB06lLffftuoV6dOnUfu17hx44w+/JnZbMbR0ZGUlBSKFi1q7O/YsSMDBgzg888/p1OnTsDdt+eBgYFGvH+WN29exo4da2yXLVuW3bt3s27dOqONe6WkpPD+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R0H82dKlSxk8eDBXrlz5e4L+h129ehVXV1coMQpssk/6WLOMpODcDkFERERE5G+V+WyQnJxsvKjOikYOWKnU1FTOnz/Pe++9R7169f4ziQGAUaNGsXHjRrZt20b58uWxs7PD0dGRIUOG0LVrV9q1a5fbIYqIiIiIiPynWNXXCuT/i4iIoEmTJlSsWJFPP/00t8N5ZM8++yxff/01KSkpXLx4EWdnZ9zc3HI7LBERERERkf8kTSsQeQppWkHOaFqBiIiIiDztNK1ARERERERERHJEyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMrpawUiT7Hk2BHZLjoiIiIiIiICGjkgIiIiIiIiYvWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESunTxmKPMVcq0wGG4fcDuM/KSMpOLdDEBERERH5x2jkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3LgP8rf35/BgwfndhhPVGhoKNWrV8/tMP5x1tpvERERERH591By4Cnh4eHB9OnTczuM+2zdupVOnTrh4eGBu7s7vr6+BAUFkZSUdF/ZoKAgduzYkQtR3u+fvJ7/pn6LiIiIiIh1UnJALNy+ffuJtHPjxg1eeeUVunfvTtWqVVm0aBE7d+7kf//7H3/88QfVqlVj48aNFnXMZjMFCxZ8Iuf/q55U/x+l/X9Dv0VERERExLopOZALPv74Y4oXL056errF/nbt2tGjRw8CAwNp3769xbHBgwfj7++fZXv+/v6cOnWKd955B5PJhMlkArIerj59+nQ8PDyM7cxzTZgwgeLFi1OpUiUATp8+TadOnXBzc6NAgQK0a9eOkydPGvXCw8OpW7cuTk5OuLm54efnx6lTp4zj3bp148aNGxw9epSQkBCaNWuGt7c3LVq0YP78+Wzbto2+ffuye/duo86f482MbezYsRQqVAgXFxfeeustiwfs9PR0PvjgAzw9PbG3t6d06dJMmDDBOP6wfmTV/wddz6wkJSXRrl07zGYzLi4udOrUiQsXLtzXp4ULF1K2bFkcHBzua+Ov9PvPUlJS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ERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXL6lKHIU8y1ymSwccjtMET+ERlJwbkdgoiIiMh/lkYOiIiIiIiIiFg5JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOWDl/f38GDx6c22E8ltDQUKpXr25sBwYG0r59+1yLR0RERERE5L9GyQErt2HDBsLCwrItc/LkSUwmE9HR0VkeT09PZ+3atbRt25bSpUtTqFAhateuTWhoKL/99tvfELWloKAgduzY8befR0RERERE5GmVJ7cDkNxVoECBbI/fvn072+O//vorL7/8MqdPn6Z///4MGzaMAgUKcPz4cVatWkWVKlXYuHEjDRo0eJJhWzCbzZjN5r+tfRERERERkaedRg48Bfz9/RkwYAADBgzA1dUVd3d3goODycjIAGDu3LlUqFABBwcHihQpwssvv2xR995pBR4eHoSFhREQEICLiwt9+vShbNmyANSoUQOTyYS/vz8AaWlpvPjii5QvX54jR44wZMgQGjVqRNWqVXnxxRdZs2YNixcvpkOHDhw/ftziHNOnT7foQ/Xq1QkNDQUgIyOD0NBQSpcujb29PcWLF2fQoEEP7P+fpxVkGjt2LIUKFcLFxYW33nrLItHh7+/PwIEDGTx4MPnz56dIkSIsWLCA69ev0717d5ydnfH09GTLli3ZXvuUlBRGjBhBqVKlsLe3x9PTk0WLFhnHd+7cSd26dbG3t6dYsWK8++67pKWlPfE4REREREREHoeSA0+JZcuWkSdPHiIjI5kxYwbTpk1j4cKF7Nu3j0GDBjFu3Dji4+PZunUrjRo1yratKVOmUK1aNQ4cOEBwcDCRkZEAfPPNN5w7d44NGzYAsGjRIkwmEx9//DHp6ekMHDiQEiVKUL16dRYvXoy3tzcvvPACffr0YezYsTnuy/r16/nwww+ZP38+CQkJfPbZZ/j4+DzS9dixYwdxcXGEh4ezevVqNmzYcF8My5Ytw93dncjISAYOHEjfvn155ZVXaNCgAVFRUTz//PN07dqVGzduPPA8AQEBrF69mpkzZxIXF8f8+fONUQxnz56ldevW1KlTh4MHDzJv3jwWLVrE+PHjn3gcKSkpXL161eInIiIiIiKSU5pW8JQoVaoUH374ISaTiUqVKhETE8OHH37I+PHjcXJyok2bNjg7O1OmTBlq1KiRbVtNmzZl6NChxratrS0ABQsWpGjRosb+5cuXM3LkSGxtbXn//ffZtm0bK1euJCMjg379+nHz5k3g7gKBfn5+Oe5LUlISRYsWpXnz5uTNm5fSpUtTt27dR7kc2NnZsXjxYvLly4e3tzfjxo1j2LBhhIWFYWNzNydWrVo13nvvPQBGjhzJpEmTcHd3p3fv3gCEhIQwb948Dh06RL169e47x9GjR1m3bh3bt2+nefPmAJQrV844PnfuXEqVKsXs2bMxmUxUrlyZX375hREjRhASEvLE4gCYOHHiIyVgRERERERE7qWRA0+JevXqYTKZjO369euTkJBAs2bNKFOmDOXKlaNr166sXLky2zfQALVr187ROWNiYoy1BL744gvGjBmDv78/TZo0MR52AYoVK8bly5dz3JdXXnmFmzdvUq5cOXr37s3GjRsthuLnRLVq1ciXL5+xXb9+fa5du8bp06eNfb6+vsa/bW1tKViwoMUIhSJFigBw8eLFLM8RHR2Nra0tjRs3zvJ4XFwc9evXt7gvfn5+XLt2jTNnzjyxOOBuUiE5Odn43dtPERERERGRh1Fy4ClnNpuJiopi9erVFCtWjJCQEKpVq8aVK1ceWMfJySlHbaelpeHo6AjcXbjw3nr3LhAYFRWFp6ensW1jY2Osh5ApNTXV+HepUqWIj49n7ty5ODo60q9fPxo1amRR5knImzevxbbJZLLYl/lQn56enmX9zL7ndhwA9vb2uLi4WPxERERERERySsmBp8RPP/1ksb1nzx4qVKiAra0tefLkoXnz5nzwwQccOnSIkydP8u233+a4bTs7OwDu3Lljsd/T05OYmBgAGjZsyIwZM7h8+TKXL19mxowZABw+fJi+ffsybNgwo16hQoU4d+6csX316lVOnDhh0bajoyNt27Zl5syZhIeHs3v3buNcOXHw4EFjWgPcvR5ms5lSpUrluI2H8fHxIT09nZ07d2Z53MvLi927d1skQiIiInB2dqZkyZJPLA4REREREZHHpeTAUyIpKYkhQ4YQHx/P6tWrmTVrFm+//TZffvklM2fOJDo6mlOnTrF8+XLS09OpVKlSjtsuXLgwjo6ObN26lQsXLpCcnAxAhw4dmDNnDnD3iwG3b9+mYMGClCxZkmeeeYZTp07RsmVLBg4cSGBgoNFe06ZN+eSTT9i1axcxMTF069bNWNcAYOnSpSxatIiff/6Z48ePs2LFChwdHSlTpgxwdwh9QEBAtjHfvn2bnj17Ehsby1dffcWYMWMYMGCAMc//r6pcuTIbN24E7n51oVu3bvTo0YPPPvuMEydOEB4ezrp16wDo168fp0+fZuDAgRw5coTPP/+cMWPGMGTIkMeOQ0RERERE5EnSgoRPiYCAAG7evEndunWxtbXl7bffpk+fPkRERLBhwwZCQ0O5desWFSpUYPXq1Xh7e+e47Tx58jBz5kzGjRtHSEgIzz77LOHh4QwePBgfHx8WLlxIr169+OGHH7h06RJOTk7Y2dkxePBgY778vUaOHMmJEydo06YNrq6uhIWFWYwccHNzY9KkSQwZMoQ7d+7g4+PDF198QcGCBQE4d+4cSUlJ2cbcrFkzKlSoQKNGjUhJSaFz587GpxIfR3x8vJEcAZg3bx6jRo2iX79+/Pbbb5QuXZpRo0YBUKJECb766iuGDRtGtWrVKFCgAD179rRYj0FEREREROTfwJTx58nf8p/j7+9P9erVmT59+j9+7gMHDvDCCy/QtGlTBg0aRM2aNcmTJw8JCQnMmjWL8+fPG2/S5Z9z9epVXF1docQosHHI7XBE/hEZScG5HYKIiIjIv07ms0FycnK2a5NpbLM8lho1ahAdHU3BggVp27Yt9vb25M2bl3r16pGWlsbMmTNzO0QRERERERF5CE0rkMdWuHBhZsyYwfTp07l06RJpaWkULVpU8+pFRERERET+I5QceAqEh4fndgjA3U/uFS5cOLfDEBERERERkUekV7siIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEymlBQpGnWHLsiGy/ZSoiIiIiIgIaOSAiIiIiIiJi9ZQcEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6dPGYo8xVyrTAYbh9wOQ+Q/KSMpOLdDEBEREfnHaOSAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SA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R0dH6tWrZyzQt3PnTmM+eKYBAwZw9epVXnvtNfbt20dCQgKffPKJMVzdw8ODQ4cOER8fz6+//vrAJEJISAiff/45x44d4/Dhw3z55ZfGw22XLl1wd3enXbt27Nq1ixMnThAeHs6gQYOMIemhoaFMnTqVmTNnkpCQQFRUFLNmzcpxP3Iqu/706tWLSZMmkZGRQYcOHYz97u7u+Pr6GgsNLlmyhNWrV+Po6Ejz5s158cUXWbFiBSEhIaxbt87ot6enJ6mpqcyaNYvjx4/zySef8NFHH90XU968eRk4cKBxHwMDA6lXr56x3gDcnfrQrVs3Dh48yK5duxg0aBCdOnXKci0IZ2dngoKCeOedd1i2bBmJiYnG9Vy2bJlRrnLlymzcuNG4Lt26daNHjx589tlnxj1at24dAP369eP06dMMHDiQI0eO8PnnnzNmzBiGDBny0JEfIiIiIiIi/6R/9RNKQEAAN2/epG7duvTv35+3337b+GRhVmrWrMm6detYs2YNVatWJSQkhHHjxhnz4OHuQ2rx4sVp3LgxHTt2pE+fPhQuXNiincWLF5OWlkatWrUYPHjwfavLFyxYkG+//ZZr167RuHFjatWqxYIFC4yh4L1796ZSpUrUrl2bQoUK3TeaIZOdnR0jR47E19eXRo0aYWtry5o1awDIly8f33//PaVLl6Zjx454eXnRs2dPbt26hYuLC3B3Ib/p06czd+5cvL29adOmDQkJCTnuR05l15/OnTuTJ08eOnfujIODg0W9iRMnEhQURFRUFHXq1CEpKYmkpCROnjzJ1KlT+f3339m/fz/PPvusUadatWpMmzaNyZMnU7VqVVauXMnEiRPviylfvnyMGDGC119/HT8/P8xmM2vXrrUo4+npSceOHWndujXPP/88vr6+Fosa/llYWBjBwcFMnDgRLy8vWrZsyebNmylbtqxRJj4+3uJziPPmzePll1+mX79+VK5cmd69e3P9+nXg7miRr776isjISKpVq8Zbb71Fz549/3KSRkRERERE5O9iyrh3zPO/iL+/P9WrV2f69Om5HYpk4+TJk5QvX569e/dSs2bN+44vW7aMt99+m0GDBhEQEED58uW5c+cOkZGRTJw4kaZNm/LOO+880jmXLl3K4MGDLaaD/FloaCifffbZX55K8V939epVXF1docQosHF4eAUR+VfISArO7RBERETkKZP5bJCcnGy8aM7Kv3rkgPx7paamcv78ed577z3q1auXZWIA7o5u+P7774mNjaVatWrY2dlhb2/PG2+8QcOGDenfv/8/HLmIiIiIiIj82X/6awWSeyIiImjSpAkVK1bk008/zbasr68vn376KWlpaVy4cAF7e3vc3d3/oUhFRERERETkYf610wpE5K/TtAKR/yZNKxAREZEnTdMKRERERERERCRHlBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKycvlYg8hRLjh2R7aIjIiIiIiIioJEDIiIiIiIiIlZPyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFy+pShyFPMtcpksHHI7TBE5G+SkRSc2yGIiIjIU0IjB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklB/4FQkNDqV69em6H8Z8UHh6OyWTiypUruR2KiIiIiIjIf5aSA/KPS01N5eOPP6Z58+aUKFGCokWL0qBBA6ZMmcKNGzceqa0GDRpw7tw5XF1d/6ZoRUREREREnn55cjsAeXR37tzBZDJhY/Pvye3cvn0bOzu7h5Y7fvw47dq1w8bGhr59++Lr64vZbObIkSMsWbKEOXPm8PXXX1OxYsUcndfOzo6iRYs+bvgiIiIiIiJW7d/zdPkUW758OQULFiQlJcVif/v27enatet95RMTEylXrhwDBgwgIyODpUuX4ubmxqZNm6hSpQr29vYkJSWxd+9ennvuOdzd3XF1daVx48ZERUVZtGUymZg/fz5t2rQhX758eHl5sXv3bo4dO4a/vz9OTk40aNCAxMREi/O3a9eOIkWKYDabqVOnDt98841Fux4eHoSFhREQEICLiwt9+vQhNDQUk8l032/p0qUAJCcn06JFCzp06EB0dDRvvfUWDRo0wNfXl06dOrFlyxZGjRrF888/z+XLl41zpaSkMGLECEqVKoW9vT2enp4sWrQIuH9awalTp2jbti358+fHyckJb29vvvrqK6Otw4cP06ZNG1xcXHB2dubZZ581+p6ens64ceMoWbIk9vb2VK9ena1bt2Z7b69cucKbb75JkSJFcHBwoGrVqnz55ZfG8fXr1+Pt7Y29vT0eHh5MnTr1vus4fvx4AgICMJvNlClThk2bNnHp0iXatWuH2WzG19eXffv2ZRuHiIiIiIjI41By4B/wyiuvcOfOHTZt2mTsu3jxIps3b6ZHjx4WZQ8dOkTDhg15/fXXmT17NiaTCYAbN24wefJkFi5cyOHDhylcuDB//PEH3bp144cffmDPnj1UqFCB1q1b88cff1i0mfkQHx0dTeXKlXn99dd58803GTlyJPv27SMjI4MBAwYY5a9du0br1q3ZsWMHBw4coGXLlrRt25akpCSLdqdMmUK1atU4cOAAwcHBBAUFce7cOeM3ZcoU8uXLR+3atQGYNGkStWrVYty4cSQnJ9OlSxdjSsHMmTNp1aoVvXv35tlnn2X69OnGeQICAli9ejUzZ84kLi6O+fPnYzabs7zW/fv3JyUlhe+//56YmBgmT55slD179iyNGjXC3t6eb7/9lv3799OjRw/S0tIAmDFjBlOnTmXKlCkcOnSIFi1a8OKLL5KQkJDludLT02nVqhURERGsWLGC2NhYJk2ahK2tLQD79++nU6dOvPbaa8TExBAaGkpwcLCRLMn04Ycf4ufnx4EDB3jhhRfo2rUrAQEBvPHGG0RFRVG+fHkCAgLIyMjIMg64m0C5evWqxU9ERERERCSnTBnZPXHIE9OvXz9OnjxpvMWeNm0ac+bM4dixY4wdO5bPPvuMuXPn0qZNG0aPHs3QoUONukuXLqV79+5ER0dTrVq1B54jPT0dNzc3Vq1aRZs2bYC7Iwfee+89wsLCANizZw/169dn0aJFRmJizZo1dO/enZs3bz6w7apVq/LWW28ZSQQPDw9q1KjBxo0bsyy/Z88emjRpwrJly+jUqRMAJUuWZOvWrVStWpWePXsSFxfHhx9+yMWLF+nTpw+VKlUiPDycHTt2MHr0aPbs2cPRo0epVKkS27dvp3nz5vedJzw8nCZNmnD58mXc3Nzw9fXlpZdeYsyYMfeVHTVqFGvWrCE+Pp68efPed7xEiRL079+fUaNGGfvq1q1LnTp1mDNnzn3lt23bRqtWrYiLi8tyGkSXLl24dOkS27ZtM/YNHz6czZs3c/jwYeM6Pvvss3zyyScAnD9/nmLFihEcHMy4ceOMa1m/fn3OnTv3wCkUoaGhjB079v4DJUaBjUOWdUTkvy8jKTi3QxAREZF/uatXr+Lq6kpycjIuLi4PLKeRA/+Q3r17s23bNs6ePQvcfeAPDAw0RgYkJSXx3HPPERISYpEYyGRnZ4evr6/FvgsXLtC7d28qVKiAq6srLi4uXLt27b43/PfWK1KkCAA+Pj4W+27dumW8bb527RpBQUF4eXnh5uaG2WwmLi7uvnYzRwT8WVJSEu3btycoKMhIDPz+++/88ccfVK1aFYAvvviCKVOm8Mwzz9C2bVuLkQvFihUzphVER0dja2tL48aNszzXnw0aNIjx48fj5+fHmDFjOHTokHEsOjqaZ599NsvEwNWrV/nll1/w8/Oz2O/n50dcXFyW54qOjqZkyZIPXB8hLi4uy/YSEhK4c+eOsS8n9wfujjZ5kJEjR5KcnGz8Tp8+/cCyIiIiIiIif6bkwD+kRo0aVKtWjeXLl7N//34OHz5MYGCgcbxQoULUrVuX1atXZzkk3NHR0UgkZOrWrRvR0dHMmDGDH3/8kejoaAoWLMjt27ctyt37MJzZRlb70tPTAQgKCmLjxo28//777Nq1i+joaHx8fO5r18nJ6b44r1+/zosvvkj9+vWNN98AaWlpODj8/zfYt2/ftqh/7zSBqKgoPD09jX4/il69enH8+HG6du1KTEwMtWvXZtasWX+prYd5Uu096v3Jir29PS4uLhY/ERERERGRnFJy4B/Uq1cvli5dypIlS2jevDmlSpUyjjk6OvLll1/i4OBAixYt7ls3ICsREREMGjSI1q1bG4ve/frrr48dZ0REBIGBgXTo0AEfHx+KFi3KyZMnH1ovIyODN954g/T0dD755BOLZIa7uzu3b9/mwoULADRs2JAPPviAmzdvcvbsWRYsWADAjz/+yOjRoxkyZAhw9w16eno6O3fuzHH8pUqV4q233mLDhg0MHTrUaNvX15ddu3aRmpp6Xx0XFxeKFy9ORETEfdeiSpUqWZ7H19eXM2fOcPTo0SyPe3l5ZdlexYoVjXUJRERERERE/g2UHPgHvf7665w5c4YFCxbctxAh3H0Tv3nzZvLkyUOrVq24du1atu1VqFCBTz75hLi4OH766Se6dOnyRN5mV6hQgQ0bNhAdHc3Bgwd5/fXXs31rnSk0NJRvvvmG+fPnc+3aNc6fP8/58+e5efMmNjY2vPjii8ydOxe4u/jfgQMHMJvN+Pj48Nxzz7Fz50569OjBjBkzaNasGXB3Tn63bt3o0aMHn332GSdOnCA8PJx169ZlGcPgwYP5+uuvOXHiBFFRUXz33Xd4eXkBMGDAAK5evcprr73Gvn37SEhI4JNPPiE+Ph6AYcOGMXnyZNauXUt8fDzvvvsu0dHRvP3228DdBQ0rV65MZGQkAI0bN6ZRo0a89NJLbN++nRMnTrBlyxbjCwdDhw5lx44dhIWFcfToUZYtW8bs2bMJCgp6jLsjIiIiIiLy5Ck58A9ydXXlpZdewmw20759+yzLmM1mtmzZQkZGBi+88ALXr19/YHuLFi3i8uXL1KxZk65duzJo0CAKFy782HFOmzaN/Pnz06BBA9q2bUuLFi2oWbPmQ+vt3LmTa9eu0aBBA4oVK2b81q5dC0BISAizZ89my5YtlC9fntjYWM6ePcu5c+d4//33uXTpEkeOHLnv2sybN4+XX36Zfv36UblyZXr37v3A63Lnzh369++Pl5cXLVu2pGLFikZComDBgnz77bdcu3aNxo0bU6tWLRYsWGAM4R80aBBDhgxh6NCh+Pj4sHXrVjZt2kSFChUASE1NJT4+nhs3bhjnW79+PXXq1KFz585UqVKF4cOHG+sJ1KxZk3Xr1rFmzRqqVq1KSEgI48aNs5hOIiIiIiIi8m+grxX8w5o1a4a3tzczZ87M7VByxbZt23jttdd444036N27N97e3gDExMQwZcoUChUqxLRp03I5yv++zBVJ9bUCkaebvlYgIiIiD6OvFfzLXL58mY0bNxIeHk7//v1zO5xc8/zzz7N//37++OMPnn32Wezs7LCzs6NVq1aULFmS0NDQ3A5RRERERETE6uTJ7QCsRY0aNbh8+TKTJ0+mUqVKuR1OripbtixLlixh0aJFXLhwARsbG+NzfSIiIiIiIvLPU3LgH5KT1f6tjY2NDcWKFcvtMERERERERKyephWIiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6cFCUWeYsmxI7L9lqmIiIiIiAho5ICIiIiIiIiI1VNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxckoOiIiIiIiIiFg5JQdERERERERErJw+ZSjyFHOtMhlsHHI7DBH5D8tICs7tEEREROQfoJEDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERE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pHz58sYUhNTUVOLj47lx4wZw90H+888/J3/+/DRq1IjmzZtTrlw51q5dm23btra2fPbZZ1y7do06derQq1cvRo8eDWB86lBERERERORJM2VkZGTkdhAiD3PgwAFeeOEFmjZtyqBBg6hZsyZ58uQhISGBWbNmcf78edatW5fbYf4tIiIiaNiwIceOHaN8+fI5qnP16tW70yNKjAIbJRVE5K/LSArO7RBERETkMWQ+GyQnJ2f7IlQjB+Q/oUaNGkRHR1OwYEHatm2Lvb09efPmpV69eqSlpTFz5szcDvGJ2bhxI9u3b+fkyZN888039OnTBz8/vxwnBkRERERERB6VvlYg/xmFCxdmxowZTJ8+nUuXLpGWlkbRokWxsXm6clx//PEHI0aMICkpCXd3d5o3b87UqVNzOywREREREXmKaVqByFNI0wpE5EnRtAIREZH/Nk0rEBEREREREZEcUXJARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFy+lqByFMsOXZEtouOiIiIiIiIgEYOiIiIiIiIiFg9JQdERERERERErJySAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTK6VOGIk8x1yqTwcYht8MQEflXyEgKzu0QRERE/rU0ckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckD+VkuXLsXNzS23w3ioiIgIfHx8yJs3L+3bt8/tcERERERERP5RSg5YsdTUVD7++GOaN29OiRIlKFq0KA0aNGDKlCncuHHjiZzj1Vdf5ejRo0+krb/TkCFDqF69OidOnGDp0qWEhoZSvXr13A5LRERERETkH5EntwOQJ+f27dvY2dnlqOzx48dp164dNjY29O3bF19fX8xmM0eOHGHJkiXMmTOHr7/+mooVKz5WTI6Ojjg6Ov7l+o/Sp8eRmJjIW2+9RcmSJf/2c4mIiIiIiPzbaOTAY/r000/x8fHB0dGRggUL0rx5c65fvw7AwoUL8fLywsHBgcqVKzN37lyLumfOnKFz584UKFAAJycnateuzU8//QRAYGDgfcPbBw8ejL+/v7Ht7+/PgAEDGDx4MO7u7rRo0QKAn3/+mVat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WNFItuTJk4fmzZvzwQcfcOjQIU6ePMm3335L+fLljXuSKTU1lb1791KlSpUHntPOzo47d+5kG5ezszMeHh4P7I+XlxenT5+2eIsfGxvLlStXsj23iIiIiIjIP03Jgcfw008/8f7777Nv3z6SkpLYsGEDly5dwsvLi7FjxzJx4kRmzpzJ0aNHiYmJYcmSJUybNg2Azp07U7RoUdq3b09ERATHjx9n/fr17N69G7g7737fvn0sX76chIQExowZw88///zQmPr378/vv/9O586d2bt3L4mJiXz99dd0796dO3fuYGNjw4svvmh8OWHGjBkcOHAAs9mMj48Pzz33HDt37qRHjx7MmDHjoVMAHtWYMWNYvXo1Y8aMIS4ujpiYmCxHOdxr6NCh7Nixg7CwMI4ePcqyZcuYPXs2QUFBAHz55ZfMnDmT6OhoTp06xfLly0lPT6dSpUo4OTnRt29fhg0bxtatW4mNjaV3797cuHGDnj17PvCcHh4enDhxgujoaH799VdSUlIACAgIYOTIkUa50NBQpk6dysyZM0lISCAqKopZs2YB0Lx5c3x8fOjSpQtRUVFERkYSEBBA48aN75s6ISIiIiIikps0reAxuLi48P333zN9+nSuXr1KmTJlmDp1qrHwXb58+fjf//7HsGHDcHJywsfHh8GDBwN330xv27aNoUOH0rp1a9LS0qhSpQpz5swBoEWLFgQHBzN8+HBu3bpFjx49CAgIICYmJtuYihcvTkREBCNGjOD5558nJSWFMmXK0LJlS2MOe0hICHXr1qVevXq0atWK2NhYzp8/T/78+UlPT2f06NG4u7v/LdfM39+f//u//yMsLIxJkybh4uJi8WWBrNSsWZN169YREhJCWFgYxYoVY9y4cQQGBgLg5ubGhg0bCA0N5datW1SoUIHVq1fj7e0N3P06Q3p6Ol27duWPP/6gdu3afP311+TPn/+B53zppZfYsGEDTZo04cqVKyxZssRY/PDetQC6devGrVu3+PDDDwkKCsLd3d34jKLJZOLzzz9n4MCBNGrUCBsbG1q2bGkkD0RERERERP4tTBkP+uacPNW2bdvGa6+9xhtvvEHv3r2NB+mYmBimTJlCoUKFjFEO8t9z9epVXF1docQosHF4eAURESuQkRSc2yGIiIj84zKfDZKTk3FxcXlgOU0rsFLPP/88+/fv548//uDZZ5/Fzs4OOzs7WrVqRcmSJQkNDc3tEEVEREREROQfopEDQnp6OhcuXMDGxsb4FKH8t2nkgIjI/TRyQERErFFORw5ozQHBxsaGYsWK5XYYIiIiIiIikks0rUBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOS1IKPIUS44dke2KpCIiIiIiIqCRAyIiIiIiIiJWT8kBERERERERESun5ICIiIiIiIiIlVNyQERERERERMTKKTkgIiIiIiIiYuWUHBARERERERGxcvqUochTzLXKZLBxyO0wRETkEWUkBed2CCIiYmU0ckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTcuBfyMPDg+nTp+d2GFbBZDLx2Wef5XYYIiIiIiIiuUrJgaeYv78/gwcPzpVz79mzh27duuHp6UnBggXx8vKib9++HD58OFfiERERERERkQdTcuApdPv27Vw7d3p6+v9r796jqij3/4G/t+DegLBBkKsXwAMI6hYFjIOIZvANsbxRXtBzvIB1TD1aire8V96O4BI9SAbfwDoWmYlRKUIoqKgIKIhCCChhhmIiIFbK5fn94Y/5tuWSdVSE/X6tNWvBPM/MfJ79Weiez8w8g3/+85/w8/ODubk5wsPDcezYMezcuRP6+voYOnQowsPD/+vj1NbWPoZoiYiIiIiICGBxoEX79u2DSqWCrq4uTExM4OPjg7t37wIAoqKi4OTkBB0dHTg6OmLnzp1q2/7www8ICAiAsbExunTpAjc3N6SnpwMAiouLMXbsWJibm0NfXx+DBw/Gt99+22oslZWVmDVrFkxNTaFUKvHCCy8gJydHal+7di0GDhyIqKgo2NraQkdHBzNmzEBqairCwsIgk8kgk8lQUlLS6nFiYmJgZGSktu7AgQOQyWTS7zk5ORgxYgQMDAygVCrh6uqKzMxMqX3p0qVIT09Hfn4+/vWvf8HX1xf9+vXDiBEjsGXLFmRmZiI0NBT79u1TO05ERAT+8pe/QC6Xo0+fPvj444/V2mUyGSIiIjBmzBh06dIF69evR319PYKCgmBrawtdXV306dMHYWFhTcb14Ycfol+/flAoFLC0tMS8efNa/Ayu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cCwOEBEREREREWk4FgeIiIiIiIiINByLA0REREREREQajsUBIiIiIiIiIg3H4gARERERERGRhmNxgIiIiIiIiEjDsThAREREREREpOFYHCAiIiIiIiLScCwOEBEREREREWk4FgeIiIiIiIiINByLA0REREREREQajsUBIiIiIiIiIg3H4gARERERERGRhmNxgIiIiIiIiEjDsThAREREREREpOFYHCAiIiIiIiLScCwOEBEREREREWk4FgeIiIiIiIiINByLA0REREREREQajsUBIiIiIiIiIg3H4gARERERERGRhmNxgIiIiIiIiEjDsThAREREREREpOFYHCAiIiIiIiLScCwOEBEREREREWk4FgeIiIiIiIiINByLA0REREREREQajsUBIiIiIiIiIg2n3dYBENHjJ4QAAFRXV7dxJERERERE1JYazwkazxFawuIAUQd069YtAEDPnj3bOBIiIiIiInoW3LlzB4aGhi22szhA1AEZGxsDAEpLS1v9B4CeXdXV1ejZsyeuXr0KpVLZ1uHQn8Actn/MYfvHHLZ/zGH7xxy2PSEE7ty5Aysrq1b7sThA1AF16vRgOhFDQ0P+I9zOKZVK5rCdYw7bP+aw/WMO2z/msP1jDtvWo1ww5ISERERERERERBqOxQEiIiIiIiIiDcfiAFEHpFAosGbNGigUirYOhf4k5rD9Yw7bP+aw/WMO2z/msP1jDtsPmfi99xkQERERERERUYfGOweIiIiIiIiINByLA0REREREREQajsUBIiIiIiIiIg3H4gARERERERGRhmNxgKiDCQ8Ph42NDXR0dODu7o4zZ860dUga69ixYxg9ejSsrKwgk8lw4MABtXYhBFavXg1LS0vo6urCx8cHhYWFan0qKiowdepUKJVKGBkZISgoCDU1NWp9zp8/Dy8vL+jo6KBnz57417/+9aSHphE2btyIwYMHw8DAAGZmZhg3bhwKCgrU+vz666+YO3cuTExMoK+vj1deeQU3btxQ61NaWoqXXnoJenp6MDMzw+LFi1FXV6fWJyUlBS4uLlAoFLCzs0NMTMyTHp5GiIiIwIABA6BUKqFUKuHh4YFDhw5J7cxf+7Np0ybIZDK8+eab0jrm8dm2du1ayGQytcXR0VFqZ/7ah2vXruFvf/sbTExMoKurC5VKhczMTKmd32k6CEFEHUZsbKyQy+Xi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+vp67N27FwDw2WefoVOnTpg0aZJaPwMDA2RnZ6stUVFRAABnZ2d4e3tDpVJhwoQJiIyMxO3btx/vgIiI6JnF4gARERHRM8re3h4ymQzfffddq/2USiVeffVVREdHA3jwSMHEiRObXPXv1KkT7Ozs1Jbu3bsDALS0tJCUlIRDhw6hb9++2LFjB/r06YMrV648mcEREdEzhcUBIiIiomeUsbExfH19ER4ejrt37zZpr6yslH4OCgrCiRMn8PXXX+PkyZNqExE+KplMBk9PT6xbtw7nzp2DXC5HXFzcfzMEIiJqJ/i2AiIiIqJnWHh4ODw9PfHcc8/hnXfewYABA1BXV4ekpCREREQgPz8fADBs2DDY2dlh2rRpcHR0xJAhQ5rsSwiB69evN1lvZmaGjIwMJCcn48UXX4SZmRnS09Nx8+ZNODk5PfExEhFR22NxgIiIiOgZ1rt3b5w9exbr16/HokWLUFZWBlNTU7i6uiIiIkLqJ5PJEBgYiLfffhvLly9vdl/V1dWwtLRssr6srAxKpRLHjh3Dtm3bUF1dDWtra4SGhkoTFhIRUccmE3w/DREREREREZFG45wDRERERERERBqOxQEiIiIiIiIiDcfiABEREREREZGGY3GAiIiIiIiISMOxOEBERERERESk4VgcICIiIiIiItJwLA4QERERERERaTgWB4iIiIiIiIg0HIsDRERERERERBqOxQEiIiIiIiIiDcfiABEREREREZGG+38DdZR/KvFmUQAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABAcAAANXCAYAAABJ7TY7AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Xl0Dnf///HnFWQXS0giqoIQoUEsXayxtBEtsVUbWruWUtLaqsTS2om21FY0QaPVqq2btYLGGkSDIIIGTdEiaSiyXL8/fM3P1USELnH3ej3OmXMy89neM5f7Pp33fOYzJrPZbEZERERERERErJZNQQcgIiIiIiIiIgVLyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiMj/MZlM+dqio6P/0TjOnDnDuHHjePzxxylRogSlSpUiICCATZs25Vr/ypUrvPLKK5QuXRonJyeaNm3K/v3772vMVatWERQURKlSpbC1tcXT05NOnTrx/fffG3Wio6ONa7Bv374cfXTv3h1nZ+e7jvH4449jMpmYO3fufcUmIiL/vMIFHYCIiIjIw2Lp0qUW+0uWLGHjxo05jvv6+v6jcaxZs4YpU6bQtm1bunXrRmZmJkuWLOHpp5/m448/pkePHkbd7Oxsnn32WQ4ePMjQoUMpVaoUc+bMISAggH379lG5cuU8xzKbzfTs2ZPIyEj8/f1588038fDwICUlhVWrVtG8eXNiYmKoX7++RbuxY8fy1Vdf5fucEhMT2bt3L15eXkRFRdGvX7/7uygiIvKPMpnNZnNBByEiIiLyMBowYACzZ8/m3/7PpcOHD+Pu7k6pUqWMYzdu3KBWrVqkp6dz5swZ4/jnn3/OCy+8wBdffEHHjh0BuHjxIlWqVCEoKIhly5blOdb06dMZOnQooaGhzJgxA5PJZFG+dOlSfHx8ePzxx4mOjqZp06bUqlWLuLg49u3bR+3atY263bt3Z8WKFaSnp+cYZ8yYMcybN4+5c+fSsWNHTp48iZeX14NcHhER+QfotQIRERGR+3D16lUGDx5MuXLlsLOzw8fHh+nTp+dIIJhMJgYMGEBUVBQ+Pj7Y29tTp04dtm3bds8xqlevbpEYALCzs6NVq1acPXuW33//3Ti+YsUK3N3dad++vXGsdOnSdOrUiTVr1nDjxo27jvPHH38wadIkqlatyvTp03MkBgBefvllHn/8cYtjr7/+OiVKlGDs2LH3PJfbli1bRseOHXnuuecoVqxYrkmL33//ndDQULy8vLCzs8PNzY2nn376vl+REBGR+6fkgIiIiEg+mc1m2rRpw3vvvUfLli2ZMWMGPj4+DB06lDfffDNH/a1btxIaGspLL73EO++8w2+//UbLli05dOjQA43/yy+/4OjoiKOjo3HswIED1K5dGxsby/+se/zxx7l27RrHjx+/a38//PADly5donPnzhQqVCjfcbi4uPDGG2/w1Vdf5evGfffu3Zw4cYKQkBBsbW1p3749UVFROer17duXuXPn0qFDB+bMmcOQIUNwcHAgISEh37GJiMiDUXJAREREJJ/Wrl3L999/z7vvvsuCBQvo378/a9eupWPHjnzwwQckJSVZ1D906BDr1q0jLCyMYcOGsW3bNsxmM6NHj77vsU+cOMHKlSvp0KGDxY18SkoKZcqUyVH/9rGff/75rn3evun28/O773gGDhxIiRIlGDdu3D3rfvLJJ5QrV44GDRoA8OKLL3LkyBHi4uIs6n3zzTf06dOH8PBwevXqxbBhw1i7di1dunS57/hEROT+KDkgIiIikk/ffvsthQoVYuDAgRbHBw8ejNls5rvvvrM4/tRTT1GnTh1j/9FHHyU4OJj169eTlZWV73GvXbvG888/j4ODA5MnT7Yo++OPP7Czs8vRxt7e3ii/m7S0NACKFi2a71huK1asGKGhoaxdu5YDBw7ctV5mZibLly/nhRdeMF5baNasGW5ubjlmDxQvXpzdu3fnmdAQEZF/hpIDIiIiIvn0008/4enpmeNm+vbXC3766SeL47l9KaBKlSpcu3aNixcv5mvMrKws40n7ihUr8PT0tCh3cHDIdV2B69evG+V34+LiAmCxhsH9GDRoEMWLF89z7YENGzZw8eJFHn/8cU6cOMGJEyc4deoUTZs25dNPPyU7O9uoO3XqVA4dOkS5cuV4/PHHGTt2LCdPnnyg2ERE5P4oOSAiIiLyEOvTpw9ff/01kZGRNGvWLEd5mTJlSElJyXH89rE/JxPuVLVqVQDi4+MfKLb8zB64PTugU6dOVK5c2diWL1/OuXPn2Lp1q1G3U6dOnDx5klmzZuHp6cm0adOoXr16jhkZIiLy91NyQERERCSfypcvz88//5zjSfvRo0eN8jslJibm6OP48eM4OjpSunTpe443dOhQIiIieO+99wgJCcm1Tq1atdi/f7/FE3i4tQigo6MjVapUuWv/DRs2pESJEnz66af39ZrDnUJDQylevHiuaw9cvXqVNWvWGJ9a/PNWpkyZHK8WlClThtdee43Vq1dz6tQpXF1dmTBhwgPFJiIi+afkgIiIiEg+tWrViqysLD788EOL4++99x4mk4mgoCCL4zt37rRYzf/MmTOsWbOGZ5555p5fB5g2bRrTp0/n7bffZtCgQXet17FjR86fP8/KlSuNY7/++itffPEFrVu3znU9gtscHR0ZPnw4CQkJDB8+PMfnGOHWYoJ79uy5ax+3Zw+sWbMmxwKDq1at4urVq/Tv35+OHTvm2J577jm+/PJLbty4QVZWFqmpqRbt3dzc8PT0zPNzjCIi8vcoXNABiIiIiPyvaN26NU2bNmXkyJGcPn2amjVrsmHDBtasWUNoaCiVKlWyqP/YY48RGBjIwIEDsbOzY86cOQD3XOF/1apVDBs2jMqVK+Pr68snn3xiUf7000/j7u4O3EoOPPnkk/To0YMjR45QqlQp5syZQ1ZWVr6+JDB06FAOHz5MeHg4W7ZsoWPHjnh4ePDLL7+wevVq9uzZw44dO/LsY9CgQbz33nscPHgQJycn43hUVBSurq7Ur18/13Zt2rRhwYIFfPPNNzRr1oxHHnmEjh07UrNmTZydndm0aRN79+4lPDz8nuchIiJ/jZIDIiIiIvlkY2PD2rVrGT16NMuXLyciIgIvLy+mTZvG4MGDc9Rv0qQJTz31FOPGjSM5OZlq1aoRGRlJjRo18hzn4MGDwK3XEl5++eUc5Vu2bDGSA4UKFeLbb79l6NChzJw5kz/++IN69eoRGRmJj49Pvs5pyZIlBAcH89FHHzF9+nTS0tIoXbo0jRs3ZurUqTz11FN59lG8eHFCQ0MtkhEXLlxg06ZNhISE3HWWRPPmzXF0dOSTTz7hueee47XXXmPDhg2sXLmS7OxsvL29mTNnDv369bvneYiIyF9jMuc2f0xERERE/hKTyUT//v1zvIIgIiLyMNKaAyIiIiIiIiJWTskBERERERERESun5ICIiIiIiIiIldOChCIiIiL/AC3rJCIi/0s0c0BERERERETEyik5ICIiIiIiImLl9FqByH9QdnY2P//8M0WLFsVkMhV0OCIiIiIiUkDMZjO///47np6e2NjcfX6AkgMi/0E///wz5cqVK+gwRERERETkIXHmzBkeeeSRu5YrOSDyH1S0aFHg1v8BuLi4FHA0IiIiIiJSUNLS0ihXrpxxj3A3Sg6I/AfdfpXAxcVFyQEREREREbnn68ZakFBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJUrXNABiMg/p1i1KWBjn2uZOTnsX45GREREREQeVpo5ICIiIiIiImLllBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik58D/KZDKxevXqgg5DRERERERE/gOUHPgflZKSQlBQEACnT5/GZDIRFxf3wP3t2rWLbt264e3tjaurK76+vvTr14/Dhw//TRH/M7y8vHj//ff/Z/oVERERERF5GCk58D/m5s2bAHh4eGBnZ/eX+8vOzub1118nKCgId3d3Zs+ezbZt25gzZw7Ozs40bNiQ2bNn/+VxRERERERE5OGl5EA+rFixAj8/PxwcHHB1daVFixZcvXoVgIULF+Lr64u9vT1Vq1Zlzpw5Fm3Pnj1LSEgIJUuWxMnJibp167J7924AunfvTtu2bS3qh4aGEhAQYOwHBAQwYMAAQkNDKVWqFIGBgYDlawUVKlQAwN/fH5PJ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vduCk3m5veiIFiQUEREREbFu+V2Q0GQ25/F9NPlP6NWrFxcvXmTt2rU5yi5fvkyrVq0AGDlyJM2aNcPR0ZELFy4QFRXFkiVL+OGHH+573QOTycSqVato27bt33EKcp/S0tJuvZ5R9m2wsc+1jjk57F+OSkRERERE/m237w1SU1NxcXG5az0tSPgflpqaSnx8PMuWLcs1MQC3Vu3funUrs2fPZvDgwRw/fhxbW1tMJhOBgYEsWrTogRdEFBERERERkf8NSg78hwUHB7Nnzx769u3L008/fdd6tra2vPHGG7zxxhukpqaSlpaGm5ubVr8XERERERGxEkoO/Ifd+dnC/CpWrNh9fS3gbvS2ioiIiIiIyP8Ofa1ARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDktSCjyH5Z6ZHie3zIVEREREREBzRwQERERERERsXpKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJXTpwxF/sOKVZsCNvb31cacHPYPRSMiIiIiIg8rzRwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLllBwQERERERERsXJKDliZjIwMPvroI1q0aEHZsmXx8PCgfv36TJ8+nWvXrhV0eH+b7t2707Zt24IOQ0RERERE5H9C4YIOQP6amzdvYmtrm6+6J0+eJDg4GBsbG/r160eNGjVwdnbm6NGjREREMHv2bNavX0+VKlX+4ahFRERERETkYaKZAw9gxYoV+Pn54eDggKurKy1atODq1asALFy4EF9fX+zt7alatSpz5syxaHv27FlCQkIoWbIkTk5O1K1bl927dwO5P+0ODQ0lICDA2A8ICGDAgAGEhoZSqlQpAgMDATh06BBBQUE4Ozvj7u7Oyy+/zK+//mq0S01NJTAwkHbt2hEXF0ffvn2pX78+NWrUoFOnTnz33Xe8/fbbPPPMM1y+fNloN2fOHCpXroy9vT3u7u507NgRgCVLluDq6sqNGzcs4m3bti0vv/wyAGPHjqVWrVp8/PHHPProozg7O/Paa6+RlZXF1KlT8fDwwM3NjQkTJlj0MWPGDPz8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92IymfLVT5EiRSzaAPd8NSO/fd92r98qv+6M9XYcuR3LK347O7u/ZbFJERERERGxTpo58A8xmUw0aNCAcePGceDAAeP9f09PT06ePIm3t7fFdnuBwBo1ahAXF8elS5dy7bd06dKkpKRYHHuQzxHa2toC5PpEvnfv3ixfvpyPPvqISpUq0aBBA6PM29ub+Ph4ABo2bMhnn33G0aNHycjIMBbiu3jxIj179iQ4OBg3N7f7ivv2wou37dq1i8qVKxvJkz/3k5iYyLVr1+773HM77/vtu3Llyjg4OLB58+Zcy319fTl48KCxECVATEyM8fqAiIiIiIjIw0LJgX/A7t27mThxIrGxsSQnJ7Ny5UouXryIr68v48aNY9KkScycOZPjx48THx9PREQEM2bMACAkJAQPDw/atm1LTEwMJ0+e5MsvvzRW22/WrBmxsbEsWbKExMRExowZw6FDh+47Rjc3NxwcHFi3bh3nz58nNTXVKAsMDMTFxYXx48fTo0cPi3bt2rVj4cKFZGRk0KFDB9q0aUO1atVwdHTkypUreHp60qJFC8qWLWuxEGJ+405OTubNN9/k2LFjfPrpp8yaNYtBgwZZ9PPhhx9y4MABYmNj6du3b46n7Pfi5eVFeno6mzdv5tdffzUSAPnpu3nz5nz44YcA2NvbM3z4cIYNG8aSJUtISkpi165dLFq0CIAuXbpgb29Pt27dOHToEFu2bOH111/n5ZdfNtYbEBEREREReRgoOfAPcHFxYdu2bbRq1YoqVaowatQowsPDCQoKonfv3ixcuJCIiAj8/Pxo0qQJkZGRxswBW1tbNmzYgJubG61atcLPz4/JkycbT84DAwMJCwtj2LBh1KtXj99//52uXbved4yFCxdm5syZzJ8/H09PT4KDg40yGxsbunfvTlZWVo6+mzZtire3N3369CE7O5v58+eTmprK+fPn+eijj4iNjeXSpUvMmDEDe3t7o11+4+7atSt//PEHjz/+OP3792fQoEG88sorRnl4eDjlypWjUaNGdO7cmSFDhuDo6Hhf516/fn369u3LCy+8QOnSpY2FG/PTd1JSEr/++quxHxYWxuDBgxk9ejS+vr688MILxtoAjo6OrF+/nkuXLlGvXj06duxokVwQERERERF5WJjM9/utObEKvXr14uLFi6xduzZH2eXLl2nVqhVw65OBzZo1w9HRkQsXLhAVFcWSJUv44YcfHnjdA/nr0tLSKFasGJR9G2zs790gD+bksL8pKhERERER+bfdvjdITU3FxcXlrvW0IKFYSE1NJT4+nmXLluWaGAAoUaIEW7duZfbs2QwePJjjx49ja2uLyWQiMDCQRYsWKTEgIiIiIiLyP0QzB8RCQEAAe/bs4dVXX+W9997LV5vU1FTS0tJwc3PTivkPCc0cEBERERER0MwBeUB3frYwv4oVK3brRlRERERERET+J2lBQhERERERERErp+SAiIiIiIiIiJVTckBERERERETEyik5ICIiIiIiImLltCChyH9Y6pHhea5IKiIiIiIiApo5ICIiIiIiImL1lBwQERERERERsXJKDoiIiIiIiIhYOSUHRERERERERKyckgMiIiIiIiIiVk7JARERERERERErp08ZivyHFas2BWzsCzoMC+bksIIOQURERERE/kQzB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklBx5yJpOJ1atXF2gMAQEBhIaGFmgMIiIiIiIi8s9RcuAhl5KSQlBQEACnT5/GZDIRFxdXsEE9oO7du9O2bdu7licnJzNkyBBq1qxJqVKlqFixIh07dmTdunX/XpAiIiIiIiJWSMmBh9TNmzcB8PDwwM7OroCj+WuysrLIzs7Os87SpUt57LHHOHfuHGPHjmXz5s18+umnPPnkk7zyyit07dqVrKysfyliERERERER66LkwB1WrFiBn58fDg4OuLq60qJFC65evQrAwoUL8fX1xd7enqpVqzJnzhyLtmfPniUkJISSJUvi5ORE3bp12b17N5D7E/PQ0FACAgKM/YCAAAYMGEBoaCilSpUiMDAQsHytoEKFCgD4+/tjMpkICAhg27ZtFClShF9++SVH/40aNbrnOf/222+EhIRQtmxZHB0d8fPz49NPP82zzY0bNxgyZAhly5bFycmJJ554gujoaKM8MjKS4sWLs3btWqpVq4adnR09e/Zk8eLFrFmzBpPJhMlkMtp89dVXDB06lA0bNvDpp5/Srl07atasyRNPPMGQIUNISEjgwoULOV5tOHToEEFBQTg7O+Pu7s7LL7/Mr7/+anFNX3/9dUJDQylRogTu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lVNyQERERERERMTKKTkgIiIiIiIiYuW05oDIf1jqkeF5fstUREREREQENHNARERERERExOopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOnzIU+Q8rVm0K2NgXdBgPxJwcVtAhiIiIiIhYDc0cEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg4UsNWrV+Pt7U2hQoUIDQ0lMjKS4sWLF3RY/4pr167RoUMHXFxcMJlMXLlypaBDEhERERERsUr3lRzo3r07JpMJk8mEra0t3t7evPPOO2RmZgKwYMECatasibOzM8WLF8ff359JkyYZ7ceOHUutWrUs9m/3V6hQIcqVK8crr7zCpUuXiI6ONsrutkVHR+ca54kTJ+jRowePPPIIdnZ2VKhQgZCQEGJjY406JpMJe3t7fvrpJ4u2bdu2pXv37jn63LlzJ4UKFeLZZ5/N8xodOXKEfv364evri6urK5UrV6Zbt27s3Lkz1/qvvvoqHTt25MyZM7z77rt59v1fs3jxYrZv386OHTtISUnh8uXLmEwm4uLiCjo0ERERERERq1L4fhu0bNmSiIgIbty4wbfffkv//v0pUqQI7u7uhIaGMnPmTJo0acKNGzf48ccfOXToUJ79Va9enU2bNpGVlUVCQgI9e/YkNTWVpUuXkpKSYtQbNGgQaWlpREREGMdKliyZo7/Y2FiaN2/OY489xvz586latSq///47a9asYfDgwWzdutWoazKZGD16NIsXL77neS9atIjXX3+dRYsW8fPPP+Pp6ZmjzuTJk5kwYQKdO3dm+vTplC9fnitXrrB582batGlD7969LZIl6enpXLhwgcDAwFz7Kyg3b97E1tb2Hx8nKSkJX19fHnvsMQBOnz79j4+Zm3/rfEVERERERB5W9/1agZ2dHR4eHpQvX55+/frRokUL1q5dy9q1a+nUqRO9evXC29ub6tWrExISwoQJE/Lsr3Dhwnh4eFC2bFlatGjB888/z8aNG7G1tcXDw8PYHBwcjLFvb3++oTObzXTv3p3KlSuzfft2nn32WSpVqkStWrUYM2YMa9as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jRosXryYjIyMHLMHXFxc8PT0JCYmxnjl4XZ8jz/+eL76FxERERER+bf85QUJb+vXrx/vvvsuMTEx/PTTT+zatYuuXbtSunRpnnrqqXz389RTT1GjRg0mTpx43zGYTCYiIiI4fvw4jRo14ttvv+XkyZP8+OOPTJgwgeDg4Lu2HTFiBD///DObNm0yjn399ddcvnyZXr16GTMibm8dOnQwXi1o06YNX3zxBZcuXaJu3bq89dZbNGrUCDs7OzZs2ECdOnV48cUXuXz5MqtWrbqvcxo9ejRLlixh3LhxHD58mISEBD777DNGjRoFwNmzZ+nXrx9TpkyhYcOGREREMHHiRHbt2gXc+uLAjh07GDBgAHFxcSQmJrJmzZocCxL+WeXKlUlOTuazzz4jKSmJmTNnWsT+xx9/MGDAAKKjo/npp5+IiYlh7969+Pr6AjB48GA2b97Mu+++y/Hjx1m8eDEffvghQ4YMueuYbm5uODg4sG7dOs6fP09qaiqAse5AVFSUkQioUaMGN27cYPPmzRY335UrVyY2Npb169dz/PhxwsLC2Lt37z2vc5cuXShVqhTBwcFs376dU6dOER0dzcCBAzl79ixwa22JO9ezGDBgAGlpabz44ovExsaSmJjI0qVLjYUmhw4dypQpU1i+fDnHjh3jrbfeIi4ujkGDBt0zHhERERERkX/T35YcaNGiBbt27eL555+nSpUqdOjQAXt7ezZv3oyrq+t99fXGG2+wcOHCB1pU7fHHHyc2NhZvb2/69OmDr68vbdq04fDhwzkWgrtTyZIlGT58uMUifYsWLaJFixYUK1YsR/0OHToQGxvLjz/+iLe3N88//zwhISFcu3aNsLAw453ztWvX8u2333LlyhUiIyNznbmQl8DAQL7++ms2bNhAvXr1ePLJJ3nvvfcoX7688enGxx9/3LjZDwwMpF+/frz00kukp6dTo0YNtm7daiRM/P39GT16dJ6zMuBWwuONN95gwIAB1KpVix07dhhfMYBbCyH+9ttvdO3alSpVqtCpUyeCgoIsZix8/vnnfPbZZzz22GOMHj2ad955h+7du991zMKFCzNz5kzmz5+Pp6enRTKnSZMmZGVlGckBGxsbGjdujMlksniv/9VXX6V9+/a88MILPPHEE/z2228WswjuxtHRkW3btvHoo4/Svn17fH196dWrF9evXzdmEqSmpho3/nBr4cTvv/+e9PR0mjRpQp06dViwYIExi2DgwIG8+eabDB48GD8/P9atW8fatWupXLnyPeMRERERERH5N5nMD7KKn+Rw8+ZNnn/+eRITExk9ejRBQUEUK1aMK1eusHLlSmbMmMG6det45JFHCjpUsQJpaWm3klpl3wYb+3s3eAiZk8PuXUlERERERPJ0+94gNTU1z1eo73vNAcmdra0tq1evZvHixUyZMoWQkBBsbW3Jzs6mUaNGzJw5U4kBEREREREReSgpOfA3MplMdO/ene7du5Oens6lS5coXbr037aqvYiIiIiIiMg/QcmBf4izszPOzs4FHYaIiIiIiIjIPf1tCxKKiIiIiIiIyP8mJQdERERERERErJySAyIiIiIiIiJWTmsOiPyHpR4ZnufnSkREREREREAzB0RERERERESsnpIDIiIiIiIiIlZOyQERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5fQpQ5H/sGLVpoCNfUGH8UDMyWEFHYKIiIiIiNXQzAERERERERERK6fkgIiIiIiIiIiVU3JARERERERExMopOSAiIiIiIiJi5ZQcEBEREREREbFySg6IiIiIiIiIWDklB0RERERERESsnJIDIiIiIiIiIlZOyQERERERERERK6fkgFgwmUysXr26oMMwjB07llq1auW7/unTpzGZTMTFxd21TnR0NCaTiStXrvzl+ERERERERP4LlBwQCykpKQQFBQH5u9G+l127dtGtWze8vb1xdXXF19eXfv36cfjw4b8p4vtXv359UlJSKFasWIHFICIiIiIi8jBRckAAuHnzJgAeHh7Y2dn95f6ys7N5/fXXCQoKwt3dndmzZ7Nt2zbmzJmDs7MzDRs2ZPbs2X95nAdha2uLh4cHJpOpQMbPS0ZGRkGHICIiIiIiVkjJgQK0YsUK/Pz8cHBwwNXVlRYtWnD16lUAFi5ciK+vL/b29lStWpU5c+ZYtD179iwhISGULFkSJycn6taty+7duwHo3r07bdu2tagfGhpKQECAsR8QEMCAAQMIDQ2lVKlSBAYGApavFVSoUAEAf39/TCYTAQEBbNu2jSJFivDLL7/k6L9Ro0bG/vDhw9m9ezcJCQlMnTqVwMBAqlevTtOmTZk2bRqxsbGEh4ezYsUKi34mT56Mu7s7RYsWpVev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1xQqVCjL/evWrcvChQsJDQ2lWrVqbN++nffee89snxs3bhAbG2tM63jQtWvfvj2hoaFMnToVHx8f5s+fz9KlS81eQykiIiIiIpLXTBl/nswuFqtnz55cunSJrVu33ld2+fJlWrVqBcC7775LkyZNyJ8/PxcvXmTVqlWsWLGCH374IU/m/cv9rl69SoECBaDUaLCyf3AFC5GRGJTXIYiIiIiI/KMy7w2Sk5NxcXHJdj8tSCgkJycTFRXF6tWrs0wMABQqVIhdu3YxZ84chg4dyvHjx7G1tcVkMtG8eXMWL16sxICIiIiIiMh/lEYOCAEBAURERPDGG2/w0Ucf5apOcnIyV69epWjRolol/19IIweyppEDIiIiImJpNHJAcu3e1xbmVoECBe7efIqIiIiIiMh/nhYkFBEREREREbFwSg6IiIiIiIiIWDglB0REREREREQsnJIDIiIiIiIiIhZOCxKKPMGSo0fmuCKpiIiIiIgIaOSAiIiIiIiIiMVTckBERERERETEwik5ICIiIiIiImLhlBwQERERERERsXBKDoiIiIiIiIhYOCUHRERERERERCycXmUo8gQr4P0BWNnndRj/WhmJQXkdgoiIiIjIv4JGDoiIiIiIiIhYOCUHRERERERERCyckgMiIiIiIiIiFk7JARERERERERELp+SAiIiIiIiIiIVTckBERERERETEwik5ICIiIiIiImLhlBwQERERERERsXAWkxwICAhg8ODBeR3GPyIkJITq1avnybG7d+9O+/bt8+TY2UlISMBkMhEZGZnXoYiIiIiIiPwrWUxywJIMGzaMnTt3Gt//jTfsD/KgBMdvv/1GSEgItWvXxs3NjbJly/L888+zdu1aMjIy/rlARUREREREngBKDjxBMjIySEtLw8nJiSJFiuR1OI8ksw852b59O5UrV2bfvn0MGzaM7du3s3HjRlq3bs348eNp3rw5169f/4ciFhERERER+e+zqORAeno6I0aMoHDhwhQvXpyQkBCjzGQyMW/ePFq2bImDgwMVKlTg008/zbG9y5cv06VLF9zc3HBwcKBSpUosXbrUKE9KSqJTp04ULFiQwoUL065dOxISEszaWLJkCT4+PtjZ2VGiRAn69+8PZD0U/sqVK5hMJsLCwgAICwvDZDLx1VdfUbNmTezs7Pjhhx/MnrqHhISwfPlytmzZgslk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daLUaLCyf0yRWpaMxKC8DkFERERE5C/LvDdITk7O8SGpRg7I38Ld3Z19+/ZRp04dunfvjr29Pba2tnh7e3Py5EkWL15sJAYyMjKIj49n586d+Pj45HHk/xxL7beIiIiIiPz7KDkgfxtnZ2fGjh3L6dOnuXTpEidPnuTy5cusXLkSDw8PY7/k5GS8vb2xtbVl9OjReRjxP8tS+y0iIiIiIv8+mlYg8gTStIK/TtMKRERERORJoGkFIiIiIiIiIpIrSg6IiIiIiIiIWDglB0REREREREQsnJIDIiIiIiIiIhbOJq8DEJG/T3L0yBwXHREREREREQGNHBARERERERGxeEoOiIiIiIiIiFg4JQdERERERERELJySAyIiIiIiIiIWTskBEREREREREQun5ICIiIiIiIiIhdOrDEWeYAW8PwAr+7wOQx6jjMSgvA5BRERERJ5AGjkgIiIiIiIiYuGUHBARERERERGxcEoOiIiIiIiIiFg4JQdERERERERELJySAyIiIiIiIiIWTskBEREREREREQun5ICIiIiIiIiIhVNyQERERERERMTCPfbkQEJCAiaTicjIyMfdtGSje/futG/f/i+1ERYWhslk4sqVK48lpv8Kk8nE5s2b8zoMERERERGRPKWRAwJA/fr1OXfuHAUKFHjouunp6axbt442bdpQtmxZ3NzcqFWrFiEhIfz2229/Q7QiIiIiIiLyONnkdQAAd+7cwWQyYWWlXEVesbW1pXjx4g9d79dff+XFF18kKSmJt956i+HDh1O4cGFOnjzJ6tWr8fb2ZtOmTdSvX/9viFpEREREREQeh0e+G09PT2fKlCl4eHhgZ2dH2bJlmThxolF+8uRJGjduTP78+alWrRp79uwxypYtW0bBggXZunUr3t7e2NnZkZiYyOXLlwkMDKRQoULkz5+fli1bEhcXd1+9zz//HE9PT/Lnz8+LL77IjRs3WL58Oe7u7hQqVIiBAwdy584do15KSgrDhg2jVKlSODo68vTTTxMWFvbAPn722WfUrl0be3t7XF1d6dChAwCjR4/m6aefvm//atWqMW7cOOP7okWL8PLywt7enipVqjB37twcj3fnzh169uxJ+fLlcXBwwNPTk9DQ0Pv2GTJkCAULFqRIkSKMGDGCjIwMs30CAgIYMGAAgwcPplChQhQrVoyFCxdy/fp1evTogbOzMx4eHnz11VdGnT9PK8g8119//TVeXl44OTnRokULzp07Z9RJS0ujbdu2VKxYkWPHjjFkyBAaNmzIU089Rdu2bVm7di1LliyhQ4cOnDx50qj3xx9/0KVLFxwdHSlRogQfffQRAQEBDB482NjnQb8FgA0bNuDj44OdnR3u7u5MmzbNrPzcuXM8//zzODg4UL58eVavXo27uzszZszI9hokJSXRqVMnChYsSOHChWnXrh0JCQk5XTaOHj1K69atcXFxwdnZmWeeeYb4+Hjg7v/JuHHjKF26NHZ2dlSvXp1t27YZdTOn4axfv55nnnkGBwcHateuzfHjx9m3bx+1atXCycmJli1bcunSpRzjEBEREREReVSPnBwYNWoUkydPJigoiOjoaFavXk2xYsWM8nfffZdhw4YRGRlJ5cqV6dy5M2lpaUb5jRs3+OCDD1i0aBFHjx6laNGidO/enf3797N161b27NlDRkYGrVq1IjU11azezJkzWbt2Ldu2bSMsLIwOHTrw5Zdf8uWXX/LJJ58wf/58Pv30U6NO//792bNnD2vXruXIkSO89NJLtGjR4r6bzXt98cUXdOjQgVatWnHo0CF27txJnTp1AOjSpQsRERHGDSDcvUE8cuQIr776KgCrVq0iODiYiRMnEhMTw/vvv09QUBDLly/P9pjp6emULl2a//3vf0RHRxMcHMzo0aNZv369sc+0adNYtmwZS5Ys4YcffuD3339n06ZN97W1fPlyXF1diYiIYMCAAfTt25eXXnqJ+vXrc/DgQZ577jm6du3KjRs3so3nxo0bTJ06lU8++YTvv/+exMREhg0bZpQvXrwYk8nEggULSE9PZ8CAAZQqVYrq1auzZMkSfHx8eP755+nTpw9jx4416g0ZMoTw8HC2bt3Kjh072L17NwcPHjQ79oN+CwcOHKBTp0688sorREVFERISQlBQEMuWLTPaCAwM5JdffiEsLIwNGzawYMECLl68mG1/U1NTad68Oc7OzuzevZvw8HAjKXL79u0s65w9e5aGDRtiZ2fHt99+y4EDB3j99deN33poaCjTpk1j6tSpHDlyhObNm9O2bdv7fntjxozhvffe4+DBg9jY2PDqq68yYsQIQkND2b17NydOnCA4ODjb2FNSUrh69arZR0REREREJLdMGX9+7JwLf/zxB25ubsyePZtevXqZlSUkJFC+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Mwe4+8aA27dvU6RIEUqXLs3TTz/N6dOnadGiBQMGDKB79+5Ge02aNOGTTz5h9+7dREVF0a1bN2NdA4Bly5axePFifv75Z06ePMnKlStxcHCgXLlywN0h9IGBgTnGfPv2bXr27El0dDRffvklY8aMoX///sY8/0dVpUoVNm3aBNx960K3bt14/fXX2bx5M6dOnSIsLIz169cD0K9fP5KSkhgwYADHjh1jy5YtjBkzhiFDhvzlOERERERERB4nLUj4hAgMDOTmzZvUqVMHa2trBg0aRJ8+fQgPD2fjxo2EhIRw69YtKlWqxJo1a/Dx8cl12zY2NsycOZNx48YRHBzMM888Q1hYGIMHD8bX15dFixbRq1cvfvjhBy5duoSjoyO2trYMHjzYmC9/r1GjRnHq1Clat25NgQIFGD9+vNnIgYIFCzJ58mSGDBnCnTt38PX15bPPPqNIkSIAnDt3jsTExBxjbtq0KZUqVaJhw4akpKTQuXNn41WJf0VsbKyRHAGYN28eo0ePpl+/fvz222+ULVuW0aNHA1CqVCm+/PJLhg8fTrVq1ShcuDA9e/Y0W49BRERERETk38CU8efJ3/KfExAQQPXq1ZkxY8Y/fuxDhw7x/PPP06RJEwYOHEiNGjWwsbEhLi6OWbNmcf78eeNJuvxzrl69SoECBaDUaLCyz+twRP4RGYlBeR2CiIiIyL9O5r1BcnJyjmuTaWyz/CV+fn5ERkZSpEgR2rRpg52dHfny5aNu3bqkpaUxc+bMvA5RREREREREHkDTCuQvK1q0KKGhocyYMYNLly6RlpZG8eLFNa9eRERERETkP0LJgSdAWFhYXocA3H3lXtGiRfM6DBEREREREXlIerQrIiIiIiIiYuGUHBARERERERGxcEoOiIiIiIiIiFg4JQdERERERERELJwWJBR5giVHj8zxXaYiIiIiIiKgkQMiIiIiIiIiFk/JARERERERERELp+SAiIiIiIiIiIVTckBERERERETEwik5ICIiIiIiImLhlBwQERERERERsXB6laHIE6yA9wdgZZ/XYYj8J2UkBuV1CCIiIiL/GI0cEBEREREREbFwSg6IiIiIiIiIWDglB0REREREREQsnJIDIiIiIiIiIhZOyQERERERERERC6fkgIiIiIiIiIiFU3JARERERERExMIpOSAiIiIiIiJi4ZQcEBEREREREbFwSg6IISAggMGDB+d1GA+UkJCAyWQiMjIy13X+K30TERERERHJC0oOiGHjxo2MHz8+x30edGOenp7OunXraNOmDWXLlsXNzY1atWoREhLCb7/99jdELSIiIiIiIn+VTV4HIP8ehQsXzrH89u3bOZb/+uuvvPjiiyQlJfHWW28xfPhwChcuzMmTJ1m9ejXe3t5s2rSJ+vXrP86wRURERERE5C/SyIEnTEBAAP3796d///4UKFAAV1dXgoKCyMjIAGDu3LlUqlQJe3t7ihUrxosvvmhW996h9+7u7owfP57AwEBcXFzo06cP5cuXB8DPzw+TyURAQAAAaWlptG3blooVK3Ls2DGGDBlCw4YNeeqpp2jbti1r165lyZIldOjQgZMnTxrH2LZtGw0aNKBgwYIUKVKE1q1bEx8fb9aniIgI/Pz8sLe3p1atWhw6dOi+fu/atYs6depgZ2dHiRIleOedd0hLSzPbJy0tLdvzApCSksKwYcMoVaoUjo6OPP3004SFheV4vq9cucIbb7xBsWLFsLe356mnnuLzzz83yjds2ICPjw92dna4u7szbdo0s/ru7u5MmDCBwMBAnJycKFeuHFu3buXSpUu0a9cOJycnqlatyv79+3OMIyUlhatXr5p9REREREREckvJgSfQ8uXLsbGxISIigtDQUKZPn86iRYvYv38/AwcOZNy4ccTGxrJt2zYaNmyYY1tTp06lWrVqHDp0iKCgICIiIgD45ptvOHfuHBs3bgRg8eLFmEwmFixYQHp6OgMGDKBUqVJUr16dJUuW4OPjw/PPP0+fPn0YO3as0f7169cZMmQI+/fvZ+fOnVhZWdGhQwfS09MBuHbtGq1bt8bb25sDBw4QEhLCsGHDzGI8e/YsrVq1onbt2hw+fJh58+axePFiJkyYkKvzkql///7s2bOHtWvXcuTIEV566SVatGhBXFxclucmPT2dli1bEh4ezsqVK4mOjmby5MlYW1sDcODAATp16sQrr7xCVFQUISEhBAUFsWzZMrN2PvroI/z9/Tl06BDPP/88Xbt2JTAwkNdee42DBw9SsWJFAgMDzRIZfzZp0iQKFChgfMqUKZPTZRURERERETFjysjpjkP+cwICArh48SJHjx7FZDIB8M4777B161YmTJhAjx49OHPmDM7OzlnWrV69OjNmzADuPtX28/Nj06ZNxj4J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BwcH6tatayzQt2vXLmM+eKb+/ftz9epVXnnlFfbv309cXByffPKJMVzd3d2dI0eOEBsby6+//pptEiE4OJgtW7Zw4sQJjh49yueff27c3Hbp0gVXV1fatWvH7t27OXXqFGFhYQwcONAYkh4SEsK0adOYOXMmcXFxHDx4kFmzZuW6H7mVU3969erF5MmTycjIoEOHDsZ2V1dXqlataiw0uHTpUtasWYODgwPNmjWjbdu2rFy5kuDgYNavX2/028PDg9TUVGbNmsXJkyf55JNP+Pjjj++LKV++fAwYMMC4jt27d6du3brGegNwd+pDt27dOHz4MLt372bgwIF06tQpy7UgnJ2dGTZsGG+//TbLly8nPj7eOJ/Lly839qtSpQqbNm0yzku3bt14/fXX2bx5s3GN1q9fD0C/fv1ISkpiwIABHDt2jC1btjBmzBiGDBnywJEfIiIiIiIi/6R/9R1KYGAgN2/epE6dOrz11lsMGjTIeGVhVmrUqMH69etZu3YtTz31FMHBwYwbN86YBw93b1JLlixJo0aN6NixI3369KFo0aJm7SxZsoS0tDRq1qzJ4MGD71tdvkiRInz77bdcu3aNRo0aUbNmTRYuXGgMBe/duzeenp7UqlULNze3+0YzZLK1tWXUqFFUrVqVhg0bYm1tzdq1awHInz8/33//PWXLlqVjx454eXnRs2dPbt26hYuLC3B3Ib8ZM2Ywd+5cfHx8aN26NXFxcbnuR27l1J/OnTtjY2ND586dsbe3N6s3adIkhg0bxsGDB6lduzaJiYkkJiaSkJDAtGnT+P333zlw4ADPPPOMUadatWpMnz6dDz74gKeeeopVq1YxadKk+2LKnz8/I0eO5NVXX8Xf3x8nJyfWrVtnto+HhwcdO3akVatWPPfcc1StWtVsUcM/Gz9+PEFBQUyaNAkvLy9atGjBF198Qfny5Y19YmNjzV6HOG/ePF588UX69etHlSpV6N27N9evXwfujhb58ssviYiIoFq1arz55pv07NnzkZM0IiIiIiIifxdTxr1jnv9FAgICqF69OjNmzMjrUCQHCQkJVKxYkX379lGjRo37ypcvX86gQYMYOHAggYGBVKxYkTt37hAREcGkSZNo0qQJb7/99kMdc9myZQwePNhsOsifhYSEsHnz5keeSvFfd/XqVQoUKAClRoOV/YMriMi/QkZiUF6H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kZGRFClShDZt2mBnZ0e+fPmoW7cuaWlpzJw5M69DFBERERERsTiaViD/uKJFixIaGsqMGTO4dOkSaWlpFC9eXPPwRURERERE8oiSAxYoLCwsr0MA7r6ir2jRonkdhoiIiIiIiMXTo1oRERERERERC6fkgIiIiIiIiIiFU3JARERERERExMIpOSAiIiIiIiJi4bQgocgTLDl6ZI7vMhUREREREQGNHBARERERERGxeEoOiIiIiIiIiFg4JQdERERERERELJySAyIiIiIiIiIWTskBEREREREREQun5ICIiIiIiIiIhdOrDEWeYAW8PwAr+7wOQ0T+wzISg/I6BBEREfkHaOSAiIiIiIiIiIVTckBERERERETEwik5ICIiIiIiImLhlBwQERERERERsXBKDoiIiIiIiIhYOCUHRERERERERCyckgMiIiIiIiIiFk7JARERERERERELp+SAiIiIiIiIiIVTckBERERERETEwik5IP8aCQkJmEwmIiMjsyxPT09n3bp1tGnThrJly+Lm5katWrUICQnht99++8fidHd3Z8aMGf/Y8URERERERP5uSg7IPyI1NfUv1f/1119p0qQJo0ePpnHjxqxcuZLvvvuO4OBgjh07hre3Nz/++ONjijZrt2/f/k+3LyIiIiIikh0lB+SRpaenM2XKFDw8PLCzs6Ns2bJMnDjRGAGwbt06GjVqhL29PatWrQJg0aJFeHl5YW9vT5UqVZg7d67RXvny5QHw8/PDZDIREBAAQFpaGm3btqVixYocO3aMIUOG0LBhQ5566inatm3L2rVrWbJkCR06dODkyZMPjC9TUlISnTp1omDBghQuXJh27dqRkJBglHfv3p327dszceJESpYsiaenJwEBAZw+fZq3334bk8mEyWTK9vwkJibSrl07nJyccHFxoVOnTly4cMEoDwkJoXr16ixatIjy5ctjb28PwLFjx2jQoAH29vZ4e3vzzTffYDKZ2Lx58yNfKxERERERkZzY5HUA8t81atQoFi5cyEcffUSDBg04d+4cx44dM8rfeecdpk2bhp+fn5EgCA4OZvbs2fj5+XHo0CF69+6No6Mj3bp1IyIigjp16vDNN9/g4+ODra0tAIsXL8ZkMrFgwQLS0tIYMGAAGzduxM3NjYEDBzJt2jSOHj1Knz59GDt2LMuXL39gfKmpqTRv3px69eqx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P3+eQoUKkZ6ezrvvvourq+vfcs4CAgL43//+x/jx45k8eTIuLi5mbxbISo0aNVi/fj3BwcGMHz+eEiVKMG7cOLp37w5AwYIF2bhxIyEhIdy6dYtKlSqxZs0afHx8gLtvZ0hPT6dr16788ccf1KpVi6+//ppChQple8wXXniBjRs30rhxY65cucLSpUuNxQ/vXQugW7du3Lp1i48++ohhw4bh6upqvEbRZDKxZcsWBgwYQMOGDbGysqJFixZG8kBEREREROTfwpSR3Tvn5Im2fft2XnnlFV577TV69+5t3EhHRUUxdepU3NzcjFEO8t9z9epVChQoAKVGg5X9gyuIiFiAjMSgvA5BRETkH5d5b5CcnIyLi0u2+2lagYV67rnnOHDgAH/88QfPPPMMtra22Nra0rJlS0qXLk1ISEhehygiIiIiIiL/EI0cENLT07lw4QJWVlbGqwjlv00jB0RE7qeRAyIiYolyO3JAaw4IVlZWlChRIq/DEBERERERkTyiaQUiIiIiIiIiFk7JARERERERERELp+SAiIiIiIiIiIVTckBERERERETEwmlBQpEnWHL0yBxXJBUREREREQGNHBARERERERGxeEoOiIiIiIiIiFg4JQdERERERERELJySAyIiIiIiIiIWTskBEREREREREQun5ICIiIiIiIiIhdOrDEWeYAW8PwAr+7wOQ0REHlJGYlBehyAiIhZGIwdERERERERELJySAyIiIiIiIiIWTskBEREREREREQun5ICIiIiIiIiIhVNyQERERERERMTCKTkgIiIiIiIiYuGUHBARERERERGxcEoOiIiIiIiIiFg4JQf+hdzd3ZkxY0Zeh2ERTCYTmzdvzuswRERERERE8pSSA0+wgIAABg8enCfH3rt3L926dcPDw4MiRYrg5eVF3759OXr0aJ7EIyIiIiIiItlTcuAJdPv27Tw7dnp6OgMGDKBly5YUK1aMOXPm8P333zN37lycnJxo0KABc+bM+cvHSU1NfQzRioiIiIiICCg5kK1PP/0UX19fHBwcKFKkCM2aNeP69esALFq0CC8vL+zt7alSpQpz5841q3vmzBk6d+5M4cKFcXR0pFatWvz0008AxMfH065dO4oVK4aTkxO1a9fmm2++yTGWK1eu0KtXL9zc3HBxcaFJkyYcPnzYKA8JCaF69eosWrSI8uXLY29v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UBy4QWw2m8LCwhQWFqZp06apadOmysjIkL+/vw4fPqxhw4aVu1379u0VHx+vU6dOlXv3QEZGhkaMGKFBgwZJunSCfXmiwPJ07NhRx48fl4uLi3W1/FrZ7XZdvHjRYV1AQID27dsnSerevbsmT56szz77TF26dNGSJUt05swZFRcXa/z48WrUqJG6dOlS4f47dOigixcvqrCwUD169Ci3T1BQkDUZ42WfffbZbxrHyZMnlZOTo7i4OOs4W7ZsuWKskq4Y7y+1b99eb775pi5cuHBFQcLT01P+/v7KyMhQr169rPUZGRm64447flPMAAAAAPBH4rGCG2D79u2aPXu2du3apfz8fK1YsUInTpxQUFCQZs6cqTlz5mjhwoU6ePCg9u3bp4SEBC1YsECSFBUVJT8/Pw0cOFAZGRk6fPiwPvzwQ23btk2S1LJlS2vSwD179mjo0KFXvcIcHh6u0NBQDRw4UGvXrtXRo0e1detWTZ48Wbt27brqOJo1a6bt27fr6NGj+u6771RWVqYBAwbogw8+0KlTp9S5c2dNmjRJPXr0kKurq9auXatOnTppyJAhOn36tJKTk6+6/8DAQA0bNkwPP/ywVqxYoSNHjmjHjh2aM2eOPv30U0nS008/rdTUVMXExCg3N1f/+Mc/rphv4NfUqVNH9erV0+uvv668vDytX79e48aNc+jj6+srNzc3paam6ttvv1VRUZGkS3MstG7d2uo3ZswYFRcXa8iQIdq1a5dyc3P19ttvKycnR5I0YcIEzZs3T++9955ycnI0adIkZWVlaezYsb8pZgAAAAD4I1EcuAE8PT21adMm9evXT4GBgZoyZYrmz5+vvn376tFHH1V8fLwSEhIUHBysXr16KTEx0XqVnt1u19q1a+Xr66t+/fopODhYc+fOtW67X7BggerUqaNu3bqpf//+ioiIUMeOHSuMxWazadWqVerZs6ceeeQRBQYGasiQIfrqq6+sZ90rEh0drerVq6tNmzby8fFRfn6+AgICNHjwYEVFRen777/X1KlTrWftU1JStGrVKp05c8Z6deGvSUhI0MMPP6zx48erVatWGjhwoHbu3KkmTZpIkv70pz8pLi5OsbGxCgkJ0dq1azVlypRrzMQl1apVU1JSkjIzM9WuXTs9++yzevnllx36uLi4aOHChVq6dKn8/f113333SZKKioqsE3/p0oSF69evt94q0alTJ8XFxVl3ETz99NMaN26cxo8fr+DgYKWmpiolJUUtW7b8TTEDAAAAwB/JZowxlR0Eqrbz589r8ODBys3N1bRp09S3b195eXnpzJkzWrFihRYsWKDU1FTddtttlR2q0yguLpaXl5fU6AWpWs3KDgcAAABwGiZ/amWH4ODyuUFRUZE8PT0r7MecA/iP2e12rVy5Um+++abmzZunqKgo2e12lZWVqUePHlq4cCGFAQAAAAC4iVEcwHVhs9k0YsQIjRgxQiUlJTp16pR8fHyu22z+AAAAAIA/DsUBXHceHh6/+dWDAAAAAIDKw4SEAAAAAAA4OYoDAAAAAAA4OYoDAAAAAAA4OYoDAAAAAAA4OSYkBG5hRQeeu+q7TAEAAABA4s4BAAAAAACcHsUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcHMUBAAAAAACcnEtlBwDg+jPGSJKKi4srORIAAAAAlenyOcHlc4SKUBwAbkEnT56UJDVu3LiSIwEAAABwMzh79qy8vLwqbKc4ANyC6tatK0nKz8+/6j8AuHkVFxercePG+vrrr+Xp6VnZ4eB3IIdVHzms+shh1UcOqz5yWPmMMTp79qz8/f2v2o/iAHALqlbt0nQiXl5e/CNcxXl6epLDKo4cVn3ksOojh1UfOaz6yGHlupYLhkxICAAAAACAk6M4AAAAAACAk6M4ANyCXF1dNX36dLm6ulZ2KPidyGHVRw6rPnJY9ZHDqo8cVn3ksOqwmV97nwEAAAAAALilcecAAAAAAABOjuIAAAAAAABOjuIAAAAAAABOjuIAAAAAAABOjuIAcItZvHixmjVrppo1a6pr167asWNHZYfktDZt2qT+/fvL399fNptNK1eudGg3xmjatGlq2LCh3NzcFB4ertzcXIc+p06d0rBhw+Tp6Slvb2+NGjVKJSUlDn327t2rHj16qGbNmmrcuLH+93//948emlOYM2eOunTpotq1a8vX11cDBw5UTk6OQ58ff/xRo0ePVr169eTh4aH7779f3377rUOf/Px83XPPPXJ3d5evr68mTJig0tJShz7p6enq2LGjXF1dFRAQoMTExD96eE5hyZIlat++vTw9PeXp6anQ0FCtXr3aaid/Vc/cuXNls9n0zDPPWOvI481txowZstlsDkvr1q2tdvJXNRw7dkx/+ctfVK9ePbm5uSk4OFi7du2y2vlOc4swAG4ZSUlJxm63mzfeeMN88cUX5rHHHjPe3t7m22+/rezQnNKqVavM5MmTzYoVK4wkk5yc7NA+d+5c4+XlZVauXGn27NljBgwYYJo3b25++OEHq0+fPn1MSEiI+eyzz8zmzZtNQECAiYqKstqLiopMgwYNzLBhw8z+/fvNu+++a9zc3MzSpUtv1DBvWRERESYhIcHs37/fZGVlmX79+pkmTZqYkpISq88TTzxhGjdubNLS0syuXbvMn/70J9OtWzervbS01LRr186Eh4eb3bt3m1WrVpn69eub559/3upz+PBh4+7ubsaNG2cOHDhgFi1aZKpXr25SU1Nv6HhvRSkpKebTTz81Bw8eNDk5OeaFF14wNWrUMPv37zfGkL+qZseOHaZZs2amffv2ZuzYsdZ68nhzmz59umnbtq0pKCiwlhMnTljt5O/md+rUKdO0aVMzYsQIs337dnP48GGzZs0ak5eXZ/XhO82tgeIAcAu54447zOjRo63fL168aPz9/c2cOXMqMSoYY64oDpSVlRk/Pz/z8ssvW+vOnDljXF1dzbvvvmuMMebAgQNGktm5c6fVZ/Xq1cZms5ljx44ZY4x59dVXTZ06dcxPP/1k9XnuuedMq1at/uAROZ/CwkIjyWzcuNEYcylfNWrUMB988IHVJzs720gy27ZtM8ZcKhBVq1bNHD9+3OqzZMkS4+npaeVs4sSJpm3btg7Heuihh0xERMQfPSSnVKdOHRMfH0/+qpizZ8+ali1bmnXr1plevXpZxQHyePObPn26CQkJKbeN/FUNzz33nOnevXuF7XynuXXwWAFwizh//rwyMzMVHh5uratWrZrC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", "text/plain": [ "
" ] @@ -600,10 +600,10 @@ "id": "6815f0a1", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:32.078808Z", - "iopub.status.busy": "2024-09-13T08:21:32.078408Z", - "iopub.status.idle": "2024-09-13T08:21:32.307601Z", - "shell.execute_reply": "2024-09-13T08:21:32.307003Z" + "iopub.execute_input": "2025-02-02T04:20:09.982461Z", + "iopub.status.busy": "2025-02-02T04:20:09.982050Z", + "iopub.status.idle": "2025-02-02T04:20:10.211032Z", + "shell.execute_reply": "2025-02-02T04:20:10.210516Z" }, "tags": [ "remove-input" @@ -612,7 +612,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7wAAANXCAYAAAAWwFN2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADKDElEQVR4nOzdeVyVdf7//+dRFAyFI4QLeGQVEdQ017A8nAkFM23TstWlxZJ0MrXUmRqycUttGQexmvZyaVHz0xSmdE7jihoxbWpqkaaSM6KAFJtevz/8cb5dAQYK2Jwe99vtfbvF+3q/r+t1XeLM7en7WiyGYRgCAAAAAMDDNLnQBQAAAAAA0BAIvAAAAAAAj0TgBQAAAAB4JAIvAAAAAMAjEXgBAAAAAB6JwAsAAAAA8EgEXgAAAACARyLwAgAAAAA8EoEXAAAAAOCRCLwAAMBjJCQkKCEh4UKXgXNksViUmpp6ocsA4EEIvACAWnv55ZdlsVhksVi0adOmKtsNw5DNZpPFYtHVV1/dIDUcPnxYqampysnJqdO8/fv3a/z48YqIiJCPj4/8/Pw0YMAAPfPMM/rpp58apFZPUpvrFxsbq0suuaTK3NWrV8tischut1fZ9uKLL8pisejDDz+UZP4dq65t27atYU+0Br92/tnZ2bJYLPrzn/9c4z727t0ri8WiBx98UJKUmpp61nPNy8s7a01hYWGm8b6+vurbt69effXVej13APhf5nWhCwAA/O/x8fHRsmXLdPnll5v6P/74Y33//ffy9vZusGMfPnxYjz32mMLCwtSjR49azfnnP/+pkSNHytvbW3fccYe6du2qsrIybdq0SdOmTdOXX36p5557rsFq/l9X2+t3+eWX64UXXlBBQYH8/f3d8zdv3iwvLy/t2LFD5eXlatasmWlb06ZNddlll5mOOWvWLIWHh1epJSoq6qy1Vgbn+lTb84+JidHy5cv117/+tdr9LFu2TJJ02223mfrT09PVsmXLKuOtVuuv1tajRw9NmTJFknTkyBH94x//0OjRo1VaWqq77767jmcKAJ6HwAsAqLOrrrpKb731lv72t7/Jy+v//V/JsmXL1KtXL/33v/+9gNWZffvttxo1apRCQ0P10UcfqX379u5tKSkp2rdvn/75z39ewAp/2+py/S6//HI9//zz2rJli4YMGeIet3nzZt14441atmyZPvnkE/Xv39+9bdOmTerevbtatWplOu6QIUPUu3fvOtfbvHnzOs85m7qc/6233qpHHnlE27ZtM51jpeXLlysmJkaXXnqpqX/EiBG6+OKLz6m+kJAQU4AeM2aMIiIi9NRTT/0mA29xcbF8fX0vdBkAfke4pRkAUGc333yzjh07pvXr17v7ysrK9Pbbb+uWW26pdk5xcbGmTJkim80mb29vde7cWQsXLpRhGKZx69ev1+WXXy6r1aqWLVuqc+fOmjlzpiTJ5XKpT58+kqSxY8e6b+V8+eWXa6z1iSee0MmTJ/XCCy+YwkqlqKgo/fGPf3T/XFFRoccff1yRkZHy9vZWWFiYZs6cqdLSUtO8sLAwXX311XK5XOrdu7datGihbt26yeVySZJWrVqlbt26ycfHR7169dKnn35qmj9mzBi1bNlSBw4c0NVXX62WLVsqJCREaWlpkqTPP/9cf/jDH+Tr66vQ0FD36uDPffPNNxo5cqQCAgJ00UUXqX///lXCu8vlksVi0ZtvvqnZs2erQ4cO8vHx0ZVXXql9+/bVeN3O5fpVrvhv3rzZvb2kpETZ2dm6/vrrFRERYdr2n//8R19//XWVOwXOxy+f4W3M87/11lslqdo/q08++UR79uxxj2koQUFBiomJ0f79+039p0+f1tNPP624uDj5+Piobdu2Gj9+vI4fP15lHx988IHsdrtatWolPz8/9enTp8o5vfXWW+rVq5datGihiy++WLfddpsOHTpkGlP5O75//35dddVVatWqlfv8S0tLNXnyZAUFBalVq1YaPny4vv/++yq1FBUV6YEHHlBYWJi8vb3Vpk0bDRo0SNnZ2ed7qQD8ThB4AQB1FhYWpssuu0zLly93933wwQcqKCjQqFGjqow3DEPDhw/XU089peTkZD355JPq3Lmzpk2b5n6eUZK+/PJLXX311SotLdWsWbO0aNEiDR8+3B2SunTpolmzZkmS7rnnHr322mt67bXXNHDgwBpr/b//+z9FREQoPj6+Vud211136dFHH9Wll16qp556Sna7XXPnzq32vPbt26dbbrlFw4YN09y5c3X8+HENGzZMb7zxhiZPnqzbbrtNjz32mPbv368bb7xRp0+fNs0/deqUhgwZIpvNpieeeEJhYWG6//779fLLLys5OVm9e/fW/Pnz1apVK91xxx369ttv3XN/+OEHxcfHa926dZowYYJmz56tkpISDR8+XKtXr65S67x587R69WpNnTpVM2bM0LZt22oVvupy/SIiIhQcHGx6vnvHjh0qKytTfHy84uPjTYF3y5YtklRt4C0oKNB///tfUzt27Niv1lCTxjj/8PBwxcfH680339SpU6dM2yoDY3X/IJSfn1/lXE+cOFG7E/uFiooKff/992rdurWpf/z48Zo2bZr7ueOxY8fqjTfeUFJSksrLy93jXn75ZQ0dOlT5+fmaMWOG5s2bpx49eigjI8M05sYbb1TTpk01d+5c3X333Vq1apUuv/zyKnVXVFQoKSlJbdq00cKFC3XDDTdIOvP37Omnn9bgwYM1b948NWvWTEOHDq1yPvfee6/S09N1ww03aMmSJZo6dapatGihXbt2ndP1AfA7ZAAAUEsvvfSSIcnYsWOH8fe//91o1aqV8eOPPxqGYRgjR440HA6HYRiGERoaagwdOtQ9b82aNYYk469//atpfyNGjDAsFouxb98+wzAM46mnnjIkGf/5z39qrGHHjh2GJOOll1761XoLCgoMScY111xTq/PLyckxJBl33XWXqX/q1KmGJOOjjz5y94WGhhqSjC1btrj71q1bZ0gyWrRoYXz33Xfu/meffdaQZDidTnff6NGjDUnGnDlz3H3Hjx83WrRoYVgsFmPFihXu/t27dxuSjL/85S/uvgceeMCQZGzcuNHdV1RUZISHhxthYWHGqVOnDMMwDKfTaUgyunTpYpSWlrrHPvPMM4Yk4/PPP6/xetT1+hnGmd+DFi1aGGVlZYZhGMbcuXON8PBwwzAMY8mSJUabNm3cYyuv66FDh9x9lb9j1TVvb+9fPb7dbjfsdrv758Y+/7S0NEOSsW7dOnffqVOnjJCQEOOyyy4zjf3LX/5S47l27tz5V48VGhpqDB482PjPf/5j/Oc//zE+//xz4/bbbzckGSkpKe5xGzduNCQZb7zxhml+RkaGqf/EiRNGq1atjH79+hk//fSTaezp06cNwzCMsrIyo02bNkbXrl1NY9577z1DkvHoo4+6+yp/x6dPn27aV+XfswkTJpj6b7nlliq/5/7+/qZzAYC6YoUXAHBObrzxRv3000967733VFRUpPfee6/G25nff/99NW3aVJMmTTL1T5kyRYZh6IMPPpD0/17S8+6771ZZDT0XhYWFklTl+dCavP/++5JkWnWurFNSlduFY2NjTS9b6tevnyTpD3/4gzp27Fil/5tvvqlyzLvuusv931arVZ07d5avr69uvPFGd3/nzp1ltVpN899//3317dvXtDrasmVL3XPPPcrNzdVXX31lOs7YsWNNz7deccUVNdZUqa7XTzqzWvvTTz/pk08+kXTm9ubK1dEBAwbo6NGj2rt3r3tbeHi4goODq+wnLS1N69evN7XK35Nz0Vjnf9NNN6lZs2amW4A//vhjHTp0qMYV5XfeeafKub700ku1Ot6HH36ooKAgBQUFqVu3bnrttdc0duxYLViwwD3mrbfekr+/vwYNGmRaRe7Vq5datmwpp9Mp6czjBEVFRZo+fbp8fHxMx7FYLJKknTt36ujRo5owYYJpzNChQxUTE1Pt8/D33Xef6efKv2e//N+DBx54oMpcq9WqrKwsHT58uFbXAwB+iZdWAQDOSVBQkBITE7Vs2TL9+OOPOnXqlEaMGFHt2O+++07BwcFVgkOXLl3c26UzYeEf//iH7rrrLk2fPl1XXnmlrr/+eo0YMUJNmtT932j9/PwknXkOsDa+++47NWnSpMqbgNu1ayer1equs9LPQ60k95uJbTZbtf2/fF7Sx8dHQUFBVcZ26NDBHTB+3v/z+d999507SP/cz69p165da6y18pbX6p7hrFTX6yeZn+Pt16+ftmzZ4n5rcdeuXeXn56fNmzfLZrPpk08+0U033VTtfvr27XtOL62qSWOdf2BgoJKSkrR69WotXbrU/UZzLy8v0z9i/NzAgQPP+aVV/fr101//+ledOnVKX3zxhf7617/q+PHjpnC/d+9eFRQUqE2bNtXu4+jRo5Lkfu735783v1T5d6Bz585VtsXExFT5XJmXl5c6dOhQZR9NmjRRZGSkqb+6fT7xxBMaPXq0bDabevXqpauuukp33HGHIiIiaqwRAH6OwAsAOGe33HKL7r77buXl5WnIkCG1+ozK2bRo0UL/+te/5HQ69c9//lMZGRlauXKl/vCHP+jDDz9U06ZN67Q/Pz8/BQcH64svvqjTvF+GzZrUVE9N/cYvXtB1vvPr4lz2eS7X75JLLlGrVq20adMmXXXVVcrPz3ev8DZp0kT9+vXTpk2bFBkZqbKysnp9YdXZNNb5S2c+O/Tee+/pvffe0/Dhw/XOO+9o8ODBVf5xoz5cfPHFSkxMlCQlJSUpJiZGV199tZ555hn3nQqnT59WmzZt9MYbb1S7j4aoq5K3t/c5/WNVpRtvvFFXXHGFVq9erQ8//FALFizQ/PnztWrVKtObwAGgJtzSDAA4Z9ddd52aNGmibdu21Xg7sySFhobq8OHDVVbKdu/e7d5eqUmTJrryyiv15JNP6quvvtLs2bP10UcfuW+7rG0YrXT11Vdr//792rp166+ODQ0N1enTp9233Fb64YcfdOLECVOdF1poaKj27NlTpb+6a3o+6nL9pDPBsn///tq8ebM2bdokPz8/devWzb298sVVlS+vaqzAe67qev6SNHz4cLVq1UrLli3TBx98oOPHjzf425krDR06VHa7XXPmzFFxcbEkKTIyUseOHdOAAQOUmJhYpV1yySXucZLOGvArf6+q+93bs2dPrX7vKv+e/fJN0tXtU5Lat2+vCRMmaM2aNfr2228VGBio2bNn/+pxAEAi8AIAzkPLli2Vnp6u1NRUDRs2rMZxV111lU6dOqW///3vpv6nnnpKFovFvVKTn59fZW6PHj0kyf1ZoMpveNb2LbYPPfSQfH19ddddd+mHH36osn3//v165pln3HVK0tNPP20a8+STT0pStW+RvVCuuuoqbd++3RTEiouL9dxzzyksLEyxsbH1cpy6XL9Kl19+uf7zn//opZdeUr9+/UwrfPHx8dqzZ4/effddBQYGum/B/q06l/Nv0aKFrrvuOr3//vtKT0+Xr6+vrrnmmsYqWQ8//LCOHTum559/XtKZVdJTp07p8ccfrzK2oqLC/Xdp8ODBatWqlebOnauSkhLTuMqV8N69e6tNmzZaunSp6VNdH3zwgXbt2lWrvyOVf9//9re/mfp/+ffu1KlTKigoMPW1adNGwcHBVT4TBgA14ZZmAMB5GT169K+OGTZsmBwOh/70pz8pNzdXl1xyiT788EO9++67euCBB9wrS7NmzdK//vUvDR06VKGhoTp69KiWLFmiDh06uFcCIyMjZbVatXTpUrVq1Uq+vr7q16+fwsPDqz12ZGSkli1bpptuukldunTRHXfcoa5du6qsrExbtmzRW2+9pTFjxkg6czvu6NGj9dxzz+nEiROy2+3avn27XnnlFV177bVyOBz1c9HqwfTp07V8+XINGTJEkyZNUkBAgF555RV9++23euedd87rNtKfq8v1q1T5Z7V161alpqaatvXv318W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BASoVatW5308f39/Wa3W895PXb300ks6cuSIvvzyS6WlpenkyZPq16+fXn311UavBQAAAAB+Czw+8F566aWy2WxatWqVu2/VqlXq2LGjevbs6e775crmkiVL1KlTJ/n4+Kht27YaMWKEe9vbb7+tbt26qUWLFgoMDFRiYqKKi4slVb2lOSEhQZMmTdJDDz2kgIAAtWvXTqmpqaYad+/ercsvv1w+Pj6KjY3Vhg0bZLFYtGbNmlqfp9VqVbt27RQWFqbBgwfr7bff1q233qr7779fx48flyQdO3ZMN998s0JCQnTRRRepW7duWr58uXsfY8aM0ccff6xnnnnGvWKcm5urU6dO6c4771R4eLhatGihzp0765lnnql1bQAAAABwIXh84JWkcePG6aWXXnL//OKLL2rs2LE1jt+5c6cmTZqkWbNmac+ePcrIyNDAgQMlSUeOHNHNN9+scePGadeuXXK5XLr++utlGEaN+3vllVfk6+urrKwsPfHEE5o1a5bWr18vSTp16pSuvfZaXXTRRcrKytJzzz2nP/3pT/Vy3pMnT1ZRUZH7WCUlJerVq5f++c9/6osvvtA999yj22+/Xdu3b5d05nbsyy67THfffbeOHDmiI0eOyGaz6fTp0+rQoYPeeustffXVV3r00Uc1c+ZMvfnmmzUeu7S0VIWFhaYGAAAAAI3J60IX0Bhuu+02zZgxQ999950kafPmzVqxYoVcLle14w8cOCBfX19dffXVatWqlUJDQ92rwUeOHFFFRYWuv/56hYaGSpK6det21uN3795df/nLXyRJnTp10t///ndlZmZq0KBBWr9+vfbv3y+Xy6V27dpJkmbPnq1Bgwad93nHxMRIknJzcyVJISEhmjp1qnv7xIkTtW7dOr355pvq27ev/P391bx5c1100UXuWiSpadOmeuyxx9w/h4eHa+vWrXrzzTd14403VnvsuXPnmuYAAAAAQGP7XQTeoKAgDR06VC+//LIMw9DQoUN18cUX1zh+0KBBCg0NVUREhJKTk5WcnKzrrrtOF110kS655BJdeeWV6tatm5KSkjR48GCNGDFCrVu3rnF/3bt3N/3cvn17HT16VJK0Z88e2Ww2U8Ds27fveZ7xGZWrzhaLRdKZ1eQ5c+bozTff1KFDh1RWVqbS0lJddNFFv7qvtLQ0vfjiizpw4IB++uknlZWVqUePHjWOnzFjhh588EH3z4WFhbLZbOd3QgAAAABQB7+LW5qlM7c1v/zyy3rllVc0bty4s45t1aqVsrOztXz5crVv316PPvqoLrnkEp04cUJNmzbV+vXr9cEHHyg2NlaLFy9W586d9e2339a4v2bNmpl+tlgsOn36dL2c19ns2rVL0pkVWUlasGCBnnnmGT388MNyOp3KyclRUlKSysrKzrqfFStWaOrUqbrzzjv14YcfKicnR2PHjj3rPG9vb/n5+ZkaAAAAADSm303gTU5OVllZmcrLy5WUlPSr4728vJSYmKgnnnhCn332mXJzc/XRRx9JOhNYBwwYoMcee0yffvqpmjdvrtWrV59TXZ07d9bBgwf1ww8/uPt27NhxTvv6paefflp+fn5KTEyUdOZW7muuuUa33XabLrnkEkVEROjrr782zWnevLlOnTpl6tu8ebPi4+M1YcIE9ezZU1FRUdq/f3+91AgAAAAADeV3cUuzdOY51MoVz6ZNm5517HvvvadvvvlGAwcOVOvWrfX+++/r9OnT6ty5s7KyspSZmanBgwerTZs2ysrK0n/+8x916dLlnOoaNGiQIiMjNXr0aD3xxBMqKirSn//8Z0n/71bk2jhx4oTy8vJUWlqqr7/+Ws8++6zWrFmjV1991f2ZpE6dOuntt9/Wli1b1Lp1az355JP64YcfFBsb695PWFiYsrKylJubq5YtWyogIECdOnXSq6++qnXr1ik8PFyvvfaaduzY4V45BgAAAIDfot/NCq+kWt9aa7VatWrVKv3hD39Qly5dtHTpUi1fvlxxcXHy8/PTv/71L1111VWKjo7Wn//8Zy1atEhDhgw5p5qaNm2qNWvW6OTJk+rTp4/uuusu91uafXx8ar2fsWPHqn379oqJidF9992nli1bavv27brlllvcY/785z/r0ksvVVJSkhISEtSuXTvTJ5QkaerUqWratKliY2MVFBSkAwcOaPz48br++ut10003qV+/fjp27JgmTJhwTucLAAAAAI3FYpztezq4IDZv3qzLL79c+/btU2Rk5IUup14UFhbK399fCpkpNal9kD8XxoFHGnT/AAAAAM5dZTYoKCho8Hf9/G5uaf4tW716tVq2bKlOnTpp3759+uMf/6gBAwZ4TNgFAAAAgAvhd3VL829VUVGRUlJSFBMTozFjxqhPnz569913JUlz5sxR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GjRokHt7cnKyrr/+eoWHh2v//v2aOXOmhgwZoq1bt6pp06bVnufixYvPejvz3Llz9dhjj521LgAAAABoSHV+hrdjx45atGiRRo4cedZnR3+Pant3eEJCgh544AGVl5fL5XIpISFBkmS32/Xss89Kkjv4/tLKlSvVpUuXKv0HDhxQbGys++eZM2dq5syZkqRWrVopJydHJ0+eVGZmph588EFFRES4jztq1Cj3vG7duql79+6KjIyUy+XSlVdeaTrOoUOHlJycrJEjR+ruu++u8RxnzJihBx980P1zYWGhbDbbr1wZAAAAAKg/dQq8H3zwgZxOp15++WX98Y9/VHR0tBISEmS322W32xUUFNRQdf5P6NSpkywWi3bv3n3WcQ6HQ8XFxdqxY4ecTqemTZsm6UzgHTdunPLz85WVlaXx48dXmWuz2RQVFVWlPzg4WDk5Oe6ff367cZMmTdxzevTooV27dmnu3LnuwPtLERERuvjii7Vv3z5T4D18+LAcDofi4+P13HPPnfUcvb29TS++AgAAAIDGVqdneJOSkjRv3jxt27ZN//3vfzV//nxddNFFeuKJJ9ShQwfFxcXp/vvvb6haf/MCAgKUlJSktLQ0FRcXV9l+4sQJSVJkZKRsNpvWrl2rnJwc2e12SVJISIhCQkK0aNEilZWV1en5XS8vL0VFRbnb2Z6vPX36tEpLS2vc/v333+vYsWNq3769u+/QoUNKSEhQr1699NJLL1W5rRoAAAAAfmvO+y3Np06d0vbt27V27VotWbLkd/+W5m+++UYDBgxQQECAZs2ape7du6uiokLr169Xenq6du3aJUkaPXq0Vq9erZCQEHefJI0bN05vv/222rdvrz179rj7K9/SXN1niaxWq3x8qn/z8dy5c9W7d29FRkaqtLRU77//vqZPn6709HTdddddOnnypB577DHdcMMNateunfbv36+HHnpIRUVF+vzzz+Xt7e0Ou6GhoXrllVdMz/W2a9euVteFtzQDAAAAkBr3Lc11uqVZOrM6uHPnTjmdTrlcLm3evFnFxcXq0KGDrrvuunp9q/D/ooiICGVnZ2v27NmaMmWKjhw5oqCgIPXq1Uvp6enucQ6HQ6+++mqV24rtdrteeukl3XLLLdXuPzExsUrf8uXLTc/h/lxxcbEmTJig77//Xi1atFBMTIxef/113XTTTZKkpk2b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5Cc/MetGjx6twsJCt7J27dqGXqYfLDAwUO3bt7+iPocOHdJPfvITXX/99fL392+agQEAAABAE2vxwJuQkKDg4GAtWrSozrY2bdro/vvvr3eVcfXq1YqNjVWfPn3Muvbt2ys4OFjXX3+9hgwZoiVLluiNN97QqlWrtHnz5ouOYceOHVq4cKGWLVumpUuXatiwYerWrZtGjhyp9evX64EHHpAkORwOt8C7bds2RUdHa+zYsW71LpdLXbt2VUREhFlntVoVHBzsVjp16nTRMeXn58tisWjDhg1yOBxq3769brzxRmVmZrq1W79+vfr06SOr1apu3bpp2bJlbtsvvKXZYrHozTff1J133qn27durR48e2rRpk9sxT5w4oSlTpshisZjX/u9//7sGDx4sq9WqkJAQPfPMM6qtrb3o+AEAAACgpbV44G3VqpUWLlyo5cuX68iRI3W2T506Vbm5udq6datZd+rUKf3xj390W929mAceeECdOnW65K3N7777rnx8fDRt2rR6t59f5XQ4HNq2bZsZ9JxOp+Lj42W32+V0Os32TqdTDofjsmNriOeee05PP/20srOzFR0drYkTJ5rH/+KLL3TPPfcoKSlJe/fu1fz58zVv3rzL3ob84osv6p577tGXX36p2267Tffdd5+Ki4tls9lUWFgoX19fvfbaayosLNSECRN09OhR3XbbbRo0aJD+8Y9/KDU1VW+99ZZ+9atfXfQYVVVVKisrcysAAAAA0JxaPPBK0p133qn+/fvrhRdeqLOtd+/eGjJkiFavXm3Wvf/++zIMQ0lJSZfdt5eXl6Kjo5Wfn3/RNrm5uYqMjFSbNm0uuS+Hw6GKigrt3LlT0rmVXLvdrri4OGVlZamyslLfffedduzYUSfw/vnPf5aPj49bWbhw4WXH//TTT+v2229XdHS0XnzxRf3zn/9UXl6eJOnXv/61br31Vs2bN0/R0dGaPHmyHn/8cS1duvSS+5w8ebImTpyoqKgoLVy4UKdOndKOHTvUqlUrBQcHy2KxyM/PT8HBwWrXrp1WrFghm82m3/72t4qJidG4ceP04osvatmyZTp79my9x1i0aJH8/PzMYrPZLnuuAAAAANCYronAK0lLlizR7373O+Xk5NTZNmXKFP3xj39UeXm5pHO3M48fP14dO3Zs0L4Nw5DFYpEkjRkzxgyc52+HNgyjQfuJiorS9ddfL5fLpbKyMu3Zs0d2u10hISEKDw9XZmam+fzuhYHX4XAoOzvbrTz22GOSpMcee8wtCH9fv379zP8OCQmRJB0/flySlJOTo+HDh7u1Hz58uHJzc3XmzJmLnsf399mhQwf5+vqa+6xPTk6Ohg4dal7D88c5depUvavykjR37lyVlpaa5fDhwxfdPwAAAAA0hdYtPYDz4uLilJiYqLlz52ry5Mlu25KSkjRz5ky9//77iouLU0ZGRr3P/NbnzJkzys3N1aBBgyRJb775pr777jtJMld0o6OjtW3bNtXU1Fx2lTc+Pl5Op1P9+vVTjx491KVLF0kyb2s2DENRUVF1VjQ7dOigqKioeve5YMECPf300/Vu+/54zgfOi62qNtSF52ixWK56nxeyWq2yWq2Nuk8AAAAAuBLXTOCVpMWLF6t///7q2bOnW33Hjh01fvx4rV69WocOHVJ0dLRuueWWBu3zd7/7nU6ePKm7775bkhQWFlanzb333qvXX39dK1as0JNPPllne0lJidtzvE888YR69+6t+Ph4s01cXJxWrVolwzCu+PndLl26mMH5SvTq1UsZGRludRkZGYqOjlarVq2ueH+XOs769evdVsozMjLUsWNHXX/99Y12HAAAAABoTNdU4O3bt6/uu+8+vf7663W2TZ06VbfccotycnI0Z86cevufPn1aRUVFqq2t1ZEjR/Thhx/qN7/5jX7+859fMoTGxsbqF7/4hZKTk3X06FHdeeedCg0NVV5enlauXKkRI0aYQfj8c7yrV6/WqlWrzH3Y7XY99NBDklTvy6+qqqpUVFTkVte6dWt17tz58hfmIpKTkzVo0CC99NJLmjBhgjIzM/Xb3/5WK1as+MH7rM+0adP02muvacaMGXr88cd18OBBvfDCC5o1a5a8vK6Zu+IBAAAAwM01l1YWLFhQ7+21I0aMUM+ePVVWVqZJkybV23fVqlUKCQlR9+7dddddd2n//v1at25dgwLgkiVL9Ic//EFZWVlKTExUnz59NGvWLPXr18/8LJEkRUREqGvXriovL5fdbjfrw8PDFRoaqurqareV3/PS0tIUEhLiVkaMGNGAK3JxN998s95//3299957uuGGG/T8889rwYIFdW4Jv1phYWH6+OOPtWPHDt1444167LHHNHXqVP3yl79s1OMAAAAAQGOyGA19YxNwFcrK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AwB4HAIvAABosIaurk6cOFFnzpzR+++/L0lat26dvLy8NGHCBLd2HTt2VHZ2tlt58803JUk33nijbr31VvXt21fjx4/XqlWrdPLkycY9IQCARyPwAgCABuvRo4csFosOHDhwyXa+vr762c9+prffflvSuduZ77nnnjqrs15eXoqKinIrYWFhkqRWrVrp008/1V//+lf17t1by5cvV8+ePfXtt982zckBADwOgRcAADRYQECAEhMTlZKSooqKijrbS0pKzP+eOnWqtm3bpj//+c/6/PPP3V5W1VAWi0XDhw/Xiy++qD179qht27b68MMPr+YUAAA/IrylGQAAXJGUlBQNHz5cgwcP1oIFC9SvXz/V1tbq008/VWpqqnJyciRJcXFxioqK0qRJkxQTE6Nhw4bV2ZdhGCoqKqpT36VLF+3cuVPp6ekaNWqUunTpoqysLP373/9Wr169mvwcAQCegcALAACuSGRkpHbv3q2XX35ZycnJKiwsVGBgoAYMGKDU1FSzncVi0ZQpU/Tss89q7ty59e6rrKxMISEhdeoLCwvl6+urrVu36rXXXlNZWZm6du2qZcuWmS+1AgDgciwG7/YHAAAAAHggnuEFAAAAAHgkAi8AAAAAwCMReAEAAAAAHonACwAAAADwSAReAAAAAIBHIvACAAAAADwSgRcAAAAA4JEIvAAAAAAAj0TgBQAAAAB4JAIvAAAAAMAjEXgBAAAAAB7p/wOaGeB4aU6inwAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7wAAANXCAYAAAAWwFN2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAygpJREFUeJzs3XlclXX+///nURQMhSOEC3hkFRHUNNewPJwJBTNt07LVpcWSdDK11JkasnFLbRkHsZr2cmlR89MUpnRO44oaMW1qapGmkjOigBSbXr8//HG+XQEGCticHvfb7X27xft6v6/rdV3izO3p+1oshmEYAgAAAADAwzS50AUAAAAAANAQCLwAAAAAAI9E4AUAAAAAeCQCLwAAAADAIxF4AQAAAAAeicALAAAAAPBIBF4AAAAAgEci8AIAAAAAPBKBFwAAAADgkQi8AADAYyQkJCghIeFCl4FzZLFYlJqaeqHLAOBBCLwAgFp7+eWXZbFYZLFYtGnTpirbDcOQzWaTxWLR1Vdf3SA1HD58WKmpqcrJyanTvP3792v8+PGKiIiQj4+P/Pz8NGDAAD3zzDP66aefGqRWT1Kb6xcbG6tLLrmkytzVq1fLYrHIbrdX2fbiiy/KYrHoww8/lGT+Hauubdu2rWFPtAa/dv7Z2dmyWCz685//XOM+9u7dK4vFogcffFCSlJqaetZzzcvLO2tNYWFhpvG+vr7q27evXn311Xo9dwD4X+Z1oQsAAPzv8fHx0bJly3T55Zeb+j/++GN9//338vb2brBjHz58WI899pjCwsLUo0ePWs355z//qZEjR8rb21t33HGHunbtqrKyMm3atEnTpk3Tl19+qeeee67Bav5fV9vrd/nll+uFF15QQUGB/P393fM3b94sLy8v7dixQ+Xl5WrWrJlpW9OmTXXZZZeZjjlr1iyFh4dXqSUqKuqstVYG5/pU2/OPiYnR8uXL9de//rXa/SxbtkySdNttt5n609PT1bJlyyrjrVbrr9bWo0cPTZkyRZJ05MgR/eMf/9Do0aNVWlqqu+++u45nCgCeh8ALAKizq666Sm+99Zb+9re/ycvr//1fybJly9SrVy/997//vYDVmX377bcaNWqUQkND9dFHH6l9+/bubSkpKdq3b5/++c9/XsAKf9vqcv0uv/xyPf/889qyZYuGDBniHrd582bdeOONWrZsmT755BP179/fvW3Tpk3q3r27WrVqZTrukCFD1Lt37zrX27x58zrPOZu6nP+tt96qRx55RNu2bTOdY6Xly5crJiZGl156qal/xIgRuvjii8+pvpCQEFOAHjNmjCIiIvTUU0/9JgNvcXGxfH19L3QZAH5HuKUZAFBnN998s44dO6b169e7+8rKyvT222/rlltuqXZOcXGxpkyZIpvNJm9vb3Xu3FkLFy6UYRimcevXr9fll18uq9Wqli1bqnPnzpo5c6YkyeVyqU+fPpKksWPHum/lfPnll2us9YknntDJkyf1wgsvmMJKpaioKP3xj390/1xRUaHHH39ckZGR8vb2VlhYmGbOnKnS0lLTvLCwMF199dVyuVzq3bu3WrRooW7dusnlckmSVq1apW7dusnHx0e9evXSp59+apo/ZswYtWzZUgcOHNDVV1+tli1bKiQkRGlpaZKkzz//XH/4wx/k6+ur0NBQ9+rgz33zzTcaOXKkAgICdNFFF6l///5VwrvL5ZLFYtGbb76p2bNnq0OHDvLx8dGVV16pffv21XjdzuX6Va74b9682b29pKRE2dnZuv766xUREWHa9p///Edff/11lTsFzscvn+FtzPO/9dZbJanaP6tPPvlEe/bscY9pKEFBQYqJidH+/ftN/adPn9bTTz+tuLg4+fj4qG3btho/fryOHz9eZR8ffPCB7Ha7WrVqJT8/P/Xp06fKOb311lvq1auXWrRooYsvvli33XabDh06ZBpT+Tu+f/9+XXXVVWrVqpX7/EtLSzV58mQFBQWpVatWGj58uL7//vsqtRQVFemBBx5QWFiYvL291aZNGw0aNEjZ2dnne6kA/E4QeAEAdRYWFqbLLrtMy5cvd/d98MEHKigo0KhRo6qMNwxDw4cP11NPPaXk5GQ9+eST6ty5s6ZNm+Z+nlGSvvzyS1199dUqLS3VrFmztGjRIg0fPtwdkrp06aJZs2ZJku655x699tpreu211zRw4MAaa/2///s/RUREKD4+vlbndtddd+nRRx/VpZdeqqeeekp2u11z586t9rz27dunW265RcOGDdPcuXN1/PhxDRs2TG+88YYmT56s2267TY899pj279+vG2+8UadPnzbNP3XqlIYMGSKbzaYnnnhCYWFhuv/++/Xyyy8rOTlZvXv31vz589WqVSvdcccd+vbbb91zf/jhB8XH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BQQEqFWrVud9PH9/f1mt1vPeT1299NJLOnLkiL788kulpaXp5MmT6tevn1599dVGrwUAAAAAfgs8PvBeeumlstlsWrVqlbtv1apV6tixo3r27Onu++XK5pIlS9SpUyf5+Piobdu2GjFihHvb22+/rW7duqlFixYKDAxUYmKiiouLJVW9pTkhIUGTJk3SQw89pICAALVr106pqammGnfv3q3LL79cPj4+io2N1YYNG2SxWLRmzZpan6fValW7du0UFhamwYMH6+2339att96q+++/X8ePH5ckHTt2TDfffLNCQkJ00UUXqVu3blq+fLl7H2PGjNHHH3+sZ555xr1inJubq1OnTunOO+9UeHi4WrRooc6dO+uZZ56pdW0AAAAAcCF4fOCVpHHjxumll15y//ziiy9q7NixNY7fuXOnJk2apFmzZmnPnj3KyMjQwIEDJUlHjhzRzTffrHHjxmnXrl1yuVy6/vrrZRhGjft75ZVX5Ovrq6ysLD3xxBOaNWuW1q9fL0k6deqUrr32Wl100UXKysrSc889pz/96U/1ct6TJ09WUVGR+1glJSXq1auX/vnPf+qLL77QPffco9tvv13bt2+XdOZ27Msuu0x33323jhw5oiNHjshms+n06dPq0KGD3nrrLX311Vd69NFHNXPmTL355ps1Hru0tFSFhYWmBgAAAACNyetCF9AYbrvtNs2YMUPfffedJGnz5s1asWKFXC5XteMPHDggX19fXX311WrVqpVCQ0Pdq8FHjhxRRUWFrr/+eoWGhkqSunXrdtbjd+/eXX/5y18kSZ06ddLf//53ZWZmatCgQVq/fr32798vl8uldu3aSZJmz56tQYMGnfd5x8TESJJyc3MlSSEhIZo6dap7+8SJE7Vu3Tq9+eab6tu3r/z9/dW8eXNddNFF7lokqWnTpnrsscfcP4eHh2vr1q168803deONN1Z77Llz55rmAAAAAEBj+10E3qCgIA0dOlQvv/yyDMPQ0KFDdfHFF9c4ftCgQQoNDVVERISSk5OVnJys6667ThdddJEuueQSXXnllerWrZuSkpI0ePBgjRgxQq1bt65xf927dzf93L59ex09elSStGfPHtlsNlPA7Nu373me8RmVq84Wi0XSmdXkOXPm6M0339ShQ4dUVlam0tJSXXTRRb+6r7S0NL344os6cOCAfvrpJ5WVlalHjx41jp8xY4YefPBB98+FhYWy2Wznd0IAAAAAUAe/i1uapTO3Nb/88st65ZVXNG7cuLOObdWqlbKzs7V8+XK1b99ejz76qC655BKdOHFCTZs21fr16/XBBx8oNjZWixcvVufOnfXtt9/WuL9mzZqZfrZYLDp9+nS9nNfZ7Nq1S9KZFVlJWrBggZ555hk9/PDDcjqdysnJUVJSksrKys66nxUrVmjq1Km688479eGHHyonJ0djx4496zxvb2/5+fmZGgAAAAA0pt9N4E1OTlZZWZnKy8uVlJT0q+O9vLyUmJioJ554Qp999plyc3P10UcfSToTWAcMGKDHHntMn376qZo3b67Vq1efU12dO3fWwYMH9cMPP7j7duzYcU77+qWnn35afn5+SkxMlHTmVu5rrrlGt912my655BJFRETo66+/Ns1p3ry5Tp06ZerbvHmz4uPjNWHCBPXs2VNRUVHav39/vdQIAAAAAA3ld3FLs3TmOdTKFc+mTZuedex7772nb775RgMHDlTr1q31/vvv6/Tp0+rcubOysrKUmZmpwYMHq02bNsrKytJ//vMfdenS5ZzqGjRokCIjIzV69Gg98cQTKioq0p///GdJ/+9W5No4ceKE8vLyVFpaqq+//lrPPvus1qxZo1dffdX9maROnTrp7bff1pYtW9S6dWs9+eST+uGHHxQbG+veT1hYmLKyspSbm6uWLVsqICBAnTp10quvvqp169YpPDxcr732mnbs2OFeOQYAAACA36LfzQqvpFrfWmu1WrVq1Sr94Q9/UJcuXbR06VItX75ccXFx8vPz07/+9S9dddVVio6O1p///GctWrRIQ4YMOaeamjZtqjVr1ujkyZPq06eP7rrrLvdbmn18fGq9n7Fjx6p9+/aKiYnRfffdp5YtW2r79u265ZZb3GP+/Oc/69JLL1VSUpISEhLUrl070yeUJGnq1Klq2rSpYmNjFRQUpAMHDmj8+PG6/vrrddNNN6lfv346duyYJkyYcE7nCwAAAACNxWKc7Xs6uCA2b96syy+/XPv27VNkZOSFLqdeFBYWyt/fXwqZKTWpfZA/F8aBRxp0/wAAAADOXWU2KCgoaPB3/fxubmn+LVu9erVatmypTp06ad++ffrjH/+oAQMGeEzYBQAAAIAL4Xd1S/NvVVFRkVJSUhQTE6MxY8aoT58+evfddyVJc+bM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JRo0aJB7e3Jysq6//nqFh4dr//79mjlzpoYMGaKtW7eqadOm1Z7n4sWLz3o789y5c/XYY4+dtS4AAAAAaEh1foa3Y8eOWrRokUaOHHnWZ0d/j2p7d3hCQoIeeOABlZeXy+VyKSEhQZJkt9v17LPPSpI7+P7SypUr1aVLlyr9Bw4cUGxsrPvnmTNnaubMmZKkVq1aKScnRydPnlRmZqYefPBBRUREuI87atQo97xu3bqpe/fuioyMlMvl0pVXXmk6zqFDh5ScnKyRI0fq7rvvrvEcZ8yYoQcffND9c2FhoWw2269cGQAAAACoP3UKvB988IGcTqdefvll/fGPf1R0dLQSEhJkt9tlt9sVFBTUUHX+T+jUqZMsFot279591nEOh0PFxcXasWOHnE6npk2bJulM4B03bpzy8/OVlZWl8ePHV5lrs9kUFRVVpT84OFg5OTnun39+u3GTJk3cc3r06KFdu3Zp7ty57sD7SxEREbr44ou1b98+U+A9fPiwHA6H4uPj9dxzz531HL29vU0vvgIAAACAxlanZ3iTkpI0b948bdu2Tf/97381f/58XXTRRXriiSfUoUMHxcXF6f7772+oWn/zAgIClJSUpLS0NBUXF1fZfuLECUlSZGSkbDab1q5dq5ycHNntdklSSEiIQkJCtGjRIpWVldXp+V0vLy9FRUW529merz19+rRKS0tr3P7999/r2LFjat++vbvv0KFDSkhIUK9evfTSSy9Vua0aAAAAAH5rzvstzadOndL27du1du1aLVmy5Hf/luZvvvlGAwYMUEBAgGbNmqXu3buroqJC69evV3p6unbt2iVJGj16tFavXq2QkBB3nySNGzdOb7/9ttq3b689e/a4+yvf0lzdZ4msVqt8fKp/8/HcuXPVu3dvRUZGqrS0VO+//76mT5+u9PR03XXXXTp58qQee+wx3XDDDWrXrp3279+vhx56SEVFRfr888/l7e3tDruhoaF65ZVXTM/1tmvXrlbXhbc0AwAAAJAa9y3NdbqlWTqzOrhz5045nU65XC5t3rxZxcXF6tChg6677rp6favw/6KIiAhlZ2dr9uzZmjJlio4cOaKgoCD16tVL6enp7nEOh0OvvvpqlduK7Xa7XnrpJd1yyy3V7j8xMbFK3/Lly03P4f5ccXGxJkyYoO+//14tWrRQTEyMXn/9dd10002SpKZNm+qzzz7TK6+8ohMnTig4OFiDBw/W448/7r4lef369dq3b5/27dunDh06mPZfD1+1AgAAAIAGUacV3iFDhmjLli0qKipScHCwHA6HEhIS5HA4FBER0ZB14n8cK7wAAAAApN/wCq/VatXChQuVkJCgTp06NVRNAAAAAACctzq9eejuu+/WU089pbZt21bZVlBQoLi4OG3cuLHeigMAAAAA4FzVKfA+88wzuueee6pddvb399f48eP15JNP1ltxAAAAAACcqzoF3k8//VRJSUk1bh88eLA++eST8y4KAAAAAIDzVadneI8ePapmzZrVvDMvL/3nP/8576LguQq+erjBH0wHAAAAAKmOK7whISH64osvatz+2WefqX379uddFAAAAAAA56tOgfeqq67SI488opKSkirbfvrpJ/3lL3/R1VdfXW/FAQAAAABwrur0Hd4ffvhBl156qZo2bar7779fnTt3liTt3r1baWlpOnXqlLKzs6t9izN+3xrzW1sAAAAAfrt+s9/hbdu2rbZs2aL77rtPM2bMUGVWtlgsSkpKUlpaGmEXAAAAAPCbUKfAK0mhoaF6//33dfz4ce3bt0+GYahTp05q3bp1Q9QHAAAAAMA5qXPgrdS6dWv16dOnPmvB74B/7Hypic+FLqNRGAceudAlAAAAAL9rdXppFQAAAAAA/ysIvAAAAAAAj0TgBQAAAAB4JAIvAAAAAMAjEXgBAAAAAB6JwAsAAAAA8EgE3gskLy9PEydOVEREhLy9vWWz2TRs2DBlZmZq1KhRSk5ONo3PyMiQxWJRamqqqT81NVUdO3aUJOXm5spisVTbtm3bVmMtzz//vK644gq1bt1arVu3VmJiorZv3+7eXl5erocffljdunWTr6+vgoODdccdd+jw4cP1d0EAAAAAoJ4ReC+A3Nxc9erVSx999JEWLFigzz//XBkZGXI4HEpJSZHD4dDmzZtVUVHhnuN0OmWz2eRyuUz7cjqdcjgcpr4NGzboyJEjptarV68a63G5XLr55pvldDq1detW2Ww2DR48WIcOHZIk/fjjj8rOztYjjzyi7OxsrVq1Snv27NHw4cPr76IAAAAAQD2zGIZhXOgifm+uuuoqffbZZ9qzZ498fX1N206cOKGjR4+qc+fO2rp1q/r37y9J6tevn0aPHq0pU6bo+PHj8vHxUUlJiaxWq5YuXaox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Ren666+Xy+VSWVmZ9uzZI7vdruDgYIWFhSkzM9N8fvfCwOtwOJSdne1WHnvsMUnSY4895haEv69fv37mfwcHB0uSjh8/LknKycnR8OHD3doPHz5cubm5OnPmzEXP4/v77NChg3x9fc191icnJ0dDhw41r+H545w6dareVXlJmjt3rkpLS81y+PDhi+4fAAAAAJpC65YewHlxcXFKTEzU3LlzNXnyZLdtSUlJmjlzpt5//33FxcUpIyOj3md+63PmzBnl5uZq0KBBkqQ333xT3333nSSZK7rR0dHatm2bampqLrvKGx8fL6fTqX79+qlHjx7q0qWLJJm3NRuGoaioqDormh06dFBUVFS9+1ywYIGefvrperd9fzznA+fFVlUb6sJztFgsV73PC1mtVlmt1kbdJwAAAABciWsm8ErS4sWL1b9/f/Xs2dOtvmPHjho/frxWr16tQ4cOKTo6WrfcckuD9vm73/1OJ0+e1N133y1JCg0NrdPm3nvv1euvv64VK1boySefrLO9pKTE7TneJ554Qr1791Z8fLzZJi4uTqtWrZJhGFf8/G6XLl3M4HwlevXqpYyMDLe6jIwMRUdHq1WrVle8v0sdZ/369W4r5RkZGerYsaOuv/76RjsOAAAAADSmayrw9u3bV/fdd59ef/31OtumTp2qW265RTk5OZozZ069/U+fPq2ioiLV1tbqyJEj+vDDD/Wb3/xGP//5zy8ZQmNjY/WLX/xCycnJOnr0qO68806FhIQoLy9PK1eu1IgRI8wgfP453tWrV2vVqlXmPux2ux566CFJqvflV1VVVSoqKnKra926tTp37nz5C3MRycnJGjRokF566SVNmDBBmZmZ+u1vf6sVK1b84H3WZ9q0aXrttdc0Y8YMPf744zp48KBeeOEFzZo1S15e18xd8QAAAADg5ppLKwsWLKj39toRI0aoZ8+eKisr06RJk+rtu2rVKgUHB6t79+666667tH//fq1bt65BAXDJkiX6wx/+oKysLCUmJqpPnz6aNWuW+vXrZ36WSJIiIiLUrVs3lZeXy263m/VhYWEKCQlRdXW128rveWlpaQoODnYrI0aMaMAVubibb75Z77//vt577z3dcMMNev7557VgwYI6t4RfrdDQUH388cfasWOHbrzxRj322GOaOnWqfvnLXzbqcQAAAACgMVmMhr6xCbgKZWVl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Sps3b77oGHbs2KGFCxdq2bJlWrp0qYYNG6bw8HCNHDlS69ev1wMPPCBJcjgcboF327Ztio6O1tixY93qXS6XunXrpoiICLPOarUqKCjIrXTq1OmS12b69Olq27at/va3v8lutyssLExjxozR5s2bdfToUT333HOSzq1u//Of/9TMmTPN1ePv++STT9SrVy/5+PiYwfv73nzzTfXq1Uve3t6KiYnRihUrzG35+fmyWCxat26d7Ha7vL299e6779YZa1VVlcrKytwKAAAAADSnay7wtmrVSgsXLtTy5ct15MiROtunTp2q3Nxcbd261aw7deqU/vjHP7qt7l7MAw88oE6dOl3y1uZ3331XPj4+mjZtWr3bzz8H63A4tG3bNtXW1kqSnE6n4uPjZbfb5XQ6zfZOp1MOh+OyY7uU4uJiffLJJ5o2bZratWvnti0oKEj33Xef1q1bJ8MwtGHDBl1//fVasGCBuXp83unTp/Xqq6/qnXfe0datW1VQUKCnn37a7dyff/55vfzyy8rJydHChQs1b968OqvqzzzzjJ588knl5OQoMTGxzngXLVokPz8/s9hstqs6fwAAAAC4Utdc4JWkO++8U/3799cLL7xQZ1vv3r01ZMgQrV692qx7//33ZRiGkpKSLrtvLy8vRUdHKz8//6JtcnNzFRkZqTZt2lxyXw6HQxUVFdq5c6ekcyu5drtdcXFxysrKUmVlpb777jvt2LGjTuD985//LB8fH7eycOHCS47JMAz16tWr3u29evXSyZMn9e9//1sBAQFq1aqVOnbsaK4en1dTU6OVK1dq4MCBuvnmm/X4448rPT3d3P7CCy9o2bJluuuuuxQREaG77rpLM2fO1BtvvOF2vKeeespsExwcXGc8c+fOVWlpqVkOHz58yWsJAAAAAI2tdUsP4GKWLFmin/zkJ26rj+dNmTJFM2fO1PLly9WxY0etXr1a48ePV8eOHRu0b8MwzNt8x4wZo88++0yS1K1bN3311VcyDKNB+4mKitL1118vl8ulPn36aM+ePbLb7erSpYvCwsKUmZkpwzBUVVVVJ/A6HA6lpqa61QUEBEiSHnvsMf3+978360+dOuU29qvRvn17de/e3fw5ODhYx48flyRVVFTo0KFDmjp1qh5++GGzTW1trfz8/Nz2M3DgwEsex2q1ymq1XtVYAQAAAOBqXLOBNy4u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U7t27Zro7HCtOT8n6psP358vXbp0cdveunVrBQQEuLWJiIios4/z2zp16nTReXd+H/Bso0eP1l133aWIiAgdOnRIzz77rMaMGaPMzEy1atWKeYYrdvbsWT311FMaPny4brjhBklqtt+TJ0+e5O+7H4H65pgk3XvvverWrZtCQkL05Zdfas6cOTp48KA2bNgg6dqbYwReANeUMWPGmP/dr18/xcbGqlu3bnr//fcJogD+YyUlJZn/3bdvX/Xr10/du3eXy+XSrbfe2oIjw3+q6dOna9++fdq2bVtLDwUe6mJz7JFHHjH/u2/fvgoODtatt96qQ4cOqXv37s09zMvilmY0qc6dO6tVq1Z13g547NgxBQUFtdCo8J/E399f0dHRysvLU1BQkKqrq1VSUuLW5vvzKSgoqN75dn7bpdr4+voSqn9kzs+JS/0bFRQUpOPHj7ttr62tVXFxcaPMO/4t/HGKjIxU586dlZeXJ4l5hivz+OOP689//rOcTqeuv/56s765fk/y953nu9gcq09sbKwkuf17di3NMQIvmlTbtm01YMAApaenm3Vnz55Venq6hg4d2oIjw3+KU6dO6dChQwoODtaAAQPUpk0bt/l08OBBFRQUmPNp6NCh2rt3r9sfjp9++ql8fX3Vu3dvs83393G+DXPyxyciIkJBQUFu86GsrExZWVluc6qkpERffPGF2WbLli06e/as+Ut+6NCh2rp1q2pqasw2n376qXr27KlOnTqZbZh3OO/IkSM6ceKEgoODJTHP0DCGYejxxx/Xhx9+qC1bttS5xb25fk/y953nutwcq092drYkuf17dk3NsSt6xRXwA7z33nuG1Wo11qxZY+zfv9945JFHDH9/f7c3twHnJScnGy6Xy/j222+NjIwMIyEhwejcubNx/PhxwzDOfW4hLCzM2LJli7Fr1y5j6NChxtChQ83+51+FP2rUKCM7O9tIS0szAgMD630V/uzZs42cnBwjJSWFzxJ5sPLycmPPnj3Gnj17DEnGr3/9a2PPnj3GP//5T8Mwzn2WyN/f3/joo4+ML7/80rjjjjvq/SzRTTfdZGRlZRnbtm0zevTo4fa5mJKSEqNr167G/fffb+zbt8947733jPbt29f5XEzr1q2NV1991cjJyTFeeOEFPhfjQS41z8rLy42nn37ayMzMNL799ltj8+bNxs0332z06NHDqKysNPfBPMPl/PznPzf8/PwMl8vl9kmY06dPm22a6/ckf995psvNsby8PGPBggXGrl27jG+//db46KOPjMjISCMuLs7cx7U2xwi8aBbLly83wsLCjLZt2xqDBw82tm/f3tJDwjVqwoQJRnBwsNG2bVsjNDTUmDBhgpGXl2du/+6774xp06YZnTp1Mtq3b2/ceeedRmFhods+8vPzjTFjxhjt2rUzOnfubCQnJxs1NTVubZxOp9G/f3+jbdu2RmRkpPH22283x+mhBTidTkNSnfLAAw8YhnHu00Tz5s0zunbtalitVuPWW281Dh486LaPEydOGBMnTjR8fHwMX19f48EHHzTKy8vd2vzjH/8wRowYYVitViM0NNRYvHhxnbG8//77RnR0tNG2bVujT58+xl/+8pcmO280r0vNs9OnTxujRo0yAgMDjTZt2hjdunUzHn744Tp/tDHPcDn1zTFJbr/DmvP3JH/feZ7LzbGCggIjLi7OCAgIMKxWqxEVFWXMnj3b7Tu8hnFtzTHL/3diAAAAAAB4FJ7hBQAAAAB4JAIvAAAAAMAjEXgBAAAAAB6JwAsAAAAA8EgEXgAAAACARyLwAgAAAAA8EoEXAAAAAOCRCLwAAAAAAI9E4AUAAAAAeCQCLwAAuGJFRUWaMWOGIiMjZbVaZbPZNHbsWH3yySfq3LmzFi9eXG+/l156SV27dlVNTY3WrFkji8VSp3h7ezfz2QAAPFXrlh4AAAD4z5Kfn6/hw4fL399fS5cuVd++fVVTU6NPPvlETz75pP7rv/5Lb7/9tp555hm3foZhaM2aNZo0aZLatGkjSfL19dXBgwfd2lkslmY7FwCAZyPwAgCAKzJt2jRZLBbt2LFDHTp0MOv79OmjKVOm6PDhw/rv//5vbdu2TSNGjDC3//3vf9c333yjqVOnmnUWi0VBQUEXPdYf//hHvfjii8rLy1P79u1100036aOPPnI7LgAAF8MtzQAAoMGKi4uVlpam6dOn1xs6/f391bdvXw0aNEirV6922/b2229r2LBhiomJadCxCgsLNXHiRE2ZMkU5OTlyuVy66667ZBhGo5wLAMDzEXgBAECD5eXlyTCMy4bWqVOn6oMPPtCpU6ckSeXl5frjH/+oKVOmuLUrLS2Vj4+PWxkzZoykc4G3trZWd911l8LDw9W3b19NmzZNPj4+TXNyAACPQ+AFAAAN1tDV1YkTJ+rMmTN6//33JUnr1q2Tl5eXJkyY4NauY8eOys7OditvvvmmJOnGG2/Urbfeqr59+2r8+PFatWqVTp482bgnBADwaAReAADQYD169JDFYtGBAwcu2c7X11c/+9nP9Pbbb0s6dzvzPffcU2d11svLS1FRUW4lNDRUktSqVSt9+umn+utf/6revXtr+fLl6tmzp7799tumOTkAgMch8AIAgAYLCAhQYmKiUlJSVFFRUWd7SUmJ+d9Tp07Vtm3b9Oc//1mff/6528uqGspisWj48OF68cUXtWfPHrVt21Yffvjh1ZwCAOBHhLc0AwCAK5KSkqLhw4dr8ODBWrBggfr166fa2lp9+umnSk1NVU5OjiQpLi5OUVFRmjRpkmJiYjRs2LA6+zIMQ0VFRXXqu3Tpop07dyo9PV2jRo1Sly5dlJWVpX//+9/q1atXk58jAMAzEHgBAMAViYyM1O7du/Xyyy8rOTlZhYWFCgwM1IABA5Sammq2s1gsmjJlip599lnNnTu33n2VlZUpODi4Tn1hYaF8fX21detWvfbaayorK1O3bt20bNky86VWAABcjsXg3f4AAAAAAA/EM7wAAAAAAI9E4AUAAAAAeCQCLwAAAADAIxF4AQAAAAAeicALAAAAAPBIBF4AAAAAgEci8AIAAAAAPBKBFwAAAADgkQi8AAAAAACPROAFAAAAAHgkAi8AAAAAwCP9P7/54HhOqcuQAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -668,10 +668,10 @@ "id": "04a26e54", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:21:32.309855Z", - "iopub.status.busy": "2024-09-13T08:21:32.309665Z", - "iopub.status.idle": "2024-09-13T08:21:32.317761Z", - "shell.execute_reply": "2024-09-13T08:21:32.317284Z" + "iopub.execute_input": "2025-02-02T04:20:10.212807Z", + "iopub.status.busy": "2025-02-02T04:20:10.212631Z", + "iopub.status.idle": "2025-02-02T04:20:10.219837Z", + "shell.execute_reply": "2025-02-02T04:20:10.219419Z" }, "tags": [ "remove-input" @@ -681,7 +681,7 @@ { "data": { "text/html": [ - "\n", + "
\n", "\n", " \n", " \n", @@ -691,7 +691,6 @@ " \n", " \n", "\n", - "\n", "\n", - "\n", "
\n", - "\n", - "
\n", - "Loading ITables v2.1.5 from the internet...\n", + "Loading ITables v2.2.4 from the internet...\n", "(need help?)
\n", - "\n", + "\n", "\n", + " \n", - " " - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/vnd.plotly.v1+json": { - "config": { - "plotlyServerURL": "https://plot.ly" - }, - "data": [ - { - "hovertemplate": "AttackVector=NETWORK
Year=%{x}
AttackVectorCount=%{y}", - "legendgroup": "NETWORK", - "line": { - "color": "#636efa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines+markers", - "name": "NETWORK", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": [ - "2024", - "2023", - "2022", - "2021", - "2020", - "2019", - "2018", - "2017", - "2016", - "2015", - "2014", - "2013", - "2012", - "2011", - "2010", - "2009", - "2008", - "2007", - "2006", - "2005", - "2004", - "2003", - "2002", - "2001", - "2000", - "1999", - "1998", - "1997", - "1996", - "1995" - ], - "xaxis": "x", - "y": [ - 17492, - 21733, - 18108, - 14041, - 12867, - 6782, - 1335, - 1174, - 523, - 51, - 51, - 32, - 49, - 21, - 68, - 39, - 44, - 17, - 12, - 36, - 28, - 14, - 34, - 24, - 6, - 5, - 4, - 2, - 1, - 1 - ], - "yaxis": "y" - }, - { - "hovertemplate": "AttackVector=Missing_Data
Year=%{x}
AttackVectorCount=%{y}", - "legendgroup": "Missing_Data", - "line": { - "color": "#EF553B", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines+markers", - "name": "Missing_Data", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": [ - "2024", - "2023", - "2022", - "2021", - "2020", - "2019", - "2018", - "2017", - "2016", - "2015", - "2014", - "2013", - "2012", - "2011", - "2010", - "2009", - "2008", - "2007", - "2006", - "2005", - "2004", - "2003", - "2002", - "2001", - "2000", - "1999", - "1998", - "1997", - "1996", - "1995", - "1994", - "1993", - "1992", - "1991", - "1990", - "1989", - "1988" - ], - "xaxis": "x", - "y": [ - 5489, - 2129, - 1456, - 1904, - 900, - 9867, - 16427, - 16491, - 5751, - 6530, - 7931, - 5277, - 5270, - 4141, - 4571, - 5704, - 5606, - 6569, - 6643, - 4957, - 2438, - 1531, - 2116, - 1644, - 1011, - 916, - 240, - 248, - 73, - 24, - 26, - 13, - 14, - 15, - 10, - 3, - 2 - ], - "yaxis": "y" - }, - { - "hovertemplate": "AttackVector=LOCAL
Year=%{x}
AttackVectorCount=%{y}", - "legendgroup": "LOCAL", - "line": { - "color": "#00cc96", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines+markers", - "name": "LOCAL", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": [ - "2024", - "2023", - "2022", - "2021", - "2020", - "2019", - "2018", - "2017", - "2016", - "2015", - "2014", - "2013", - "2012", - "2011", - "2010", - "2009", - "2008", - "2007", - "2006", - "2005", - "2004", - "2003", - "2002", - "2001", - "2000", - "1999", - "1998", - "1997", - "1996", - "1990" - ], - "xaxis": "x", - "y": [ - 4375, - 6380, - 6173, - 5252, - 4457, - 1995, - 335, - 411, - 234, - 14, - 24, - 14, - 30, - 8, - 28, - 35, - 14, - 8, - 4, - 17, - 13, - 3, - 20, - 11, - 3, - 2, - 3, - 3, - 1, - 1 - ], - "yaxis": "y" - }, - { - "hovertemplate": "AttackVector=ADJACENT_NETWORK
Year=%{x}
AttackVectorCount=%{y}", - "legendgroup": "ADJACENT_NETWORK", - "line": { - "color": "#ab63fa", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines+markers", - "name": "ADJACENT_NETWORK", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": [ - "2024", - "2023", - "2022", - "2021", - "2020", - "2019", - "2018", - "2017", - "2016", - "2013", - "2012", - "2011", - "2007" - ], - "xaxis": "x", - "y": [ - 604, - 490, - 452, - 559, - 706, - 164, - 36, - 20, - 5, - 1, - 2, - 1, - 1 - ], - "yaxis": "y" - }, - { - "hovertemplate": "AttackVector=PHYSICAL
Year=%{x}
AttackVectorCount=%{y}", - "legendgroup": "PHYSICAL", - "line": { - "color": "#FFA15A", - "dash": "solid" - }, - "marker": { - "symbol": "circle" - }, - "mode": "lines+markers", - "name": "PHYSICAL", - "orientation": "v", - "showlegend": true, - "type": "scatter", - "x": [ - "2024", - "2023", - "2022", - "2021", - "2020", - "2019", - "2018", - "2017", - "2016", - "2014", - "2011", - "2007" - ], - "xaxis": "x", - "y": [ - 195, - 217, - 242, - 194, - 292, - 130, - 21, - 17, - 4, - 2, - 1, - 1 - ], - "yaxis": "y" - } - ], - "layout": { - "legend": { - "title": { + "(\n", + " function(root, factory) {\n", + " if (typeof module === \"object\" && module.exports) {\n", + " module.exports = factory();\n", + " } else {\n", + " root.moduleName = factory();\n", + " }\n", + "} (typeof self !== \"undefined\" ? self : this, () => {\n", + "\"use strict\";var Plotly=(()=>{var $C=Object.defineProperty,DQe=Object.defineProperties,zQe=Object.getOwnPropertyDescriptor,FQe=Object.getOwnPropertyDescriptors,qQe=Object.getOwnPropertyNames,WQ=Object.getOwnPropertySymbols;var XQ=Object.prototype.hasOwnProperty,OQe=Object.prototype.propertyIsEnumerable;var ZQ=(e,t,r)=>t in e?$C(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,YQ=(e,t)=>{for(var r in t||(t={}))XQ.call(t,r)&&ZQ(e,r,t[r]);if(WQ)for(var r of WQ(t))OQe.call(t,r)&&ZQ(e,r,t[r]);return e},KQ=(e,t)=>DQe(e,FQe(t));var su=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),BQe=(e,t)=>{for(var r in t)$C(e,r,{get:t[r],enumerable:!0})},NQe=(e,t,r,n)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of qQe(t))!XQ.call(e,i)&&i!==r&&$C(e,i,{get:()=>t[i],enumerable:!(n=zQe(t,i))||n.enumerable});return e};var ab=e=>NQe($C({},\"__esModule\",{value:!0}),e);var QC=ye(JQ=>{\"use strict\";JQ.version=\"3.0.0\"});var QQ=ye(($Q,e6)=>{(function(t,r,n){r[t]=r[t]||n(),typeof e6!=\"undefined\"&&e6.exports?e6.exports=r[t]:typeof define==\"function\"&&define.amd&&define(function(){return r[t]})})(\"Promise\",typeof window!=\"undefined\"?window:$Q,function(){\"use strict\";var t,r,n,i=Object.prototype.toString,a=typeof setImmediate!=\"undefined\"?function(E){return setImmediate(E)}:setTimeout;try{Object.defineProperty({},\"x\",{}),t=function(E,k,A,L){return Object.defineProperty(E,k,{value:A,writable:!0,configurable:L!==!1})}}catch(g){t=function(k,A,L){return k[A]=L,k}}n=function(){var E,k,A;function L(_,C){this.fn=_,this.self=C,this.next=void 0}return{add:function(C,M){A=new L(C,M),k?k.next=A:E=A,k=A,A=void 0},drain:function(){var C=E;for(E=k=r=void 0;C;)C.fn.call(C.self),C=C.next}}}();function o(g,E){n.add(g,E),r||(r=a(n.drain))}function s(g){var E,k=typeof g;return g!=null&&(k==\"object\"||k==\"function\")&&(E=g.then),typeof E==\"function\"?E:!1}function l(){for(var g=0;g0&&o(l,k))}catch(A){f.call(new d(k),A)}}}function f(g){var E=this;E.triggered||(E.triggered=!0,E.def&&(E=E.def),E.msg=g,E.state=2,E.chain.length>0&&o(l,E))}function h(g,E,k,A){for(var L=0;L{(function(){var e={version:\"3.8.2\"},t=[].slice,r=function(Z){return t.call(Z)},n=self.document;function i(Z){return Z&&(Z.ownerDocument||Z.document||Z).documentElement}function a(Z){return Z&&(Z.ownerDocument&&Z.ownerDocument.defaultView||Z.document&&Z||Z.defaultView)}if(n)try{r(n.documentElement.childNodes)[0].nodeType}catch(Z){r=function(oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=oe[we];return Be}}if(Date.now||(Date.now=function(){return+new Date}),n)try{n.createElement(\"DIV\").style.setProperty(\"opacity\",0,\"\")}catch(Z){var o=this.Element.prototype,s=o.setAttribute,l=o.setAttributeNS,u=this.CSSStyleDeclaration.prototype,c=u.setProperty;o.setAttribute=function(oe,we){s.call(this,oe,we+\"\")},o.setAttributeNS=function(oe,we,Be){l.call(this,oe,we,Be+\"\")},u.setProperty=function(oe,we,Be){c.call(this,oe,we+\"\",Be)}}e.ascending=f;function f(Z,oe){return Zoe?1:Z>=oe?0:NaN}e.descending=function(Z,oe){return oeZ?1:oe>=Z?0:NaN},e.min=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weWe&&(Ue=We)}return Ue},e.max=function(Z,oe){var we=-1,Be=Z.length,Ue,We;if(arguments.length===1){for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}else{for(;++we=We){Ue=We;break}for(;++weUe&&(Ue=We)}return Ue},e.extent=function(Z,oe){var we=-1,Be=Z.length,Ue,We,wt;if(arguments.length===1){for(;++we=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt=We){Ue=wt=We;break}for(;++weWe&&(Ue=We),wt1)return wt/(zt-1)},e.deviation=function(){var Z=e.variance.apply(this,arguments);return Z&&Math.sqrt(Z)};function v(Z){return{left:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)<0?Be=We+1:Ue=We}return Be},right:function(oe,we,Be,Ue){for(arguments.length<3&&(Be=0),arguments.length<4&&(Ue=oe.length);Be>>1;Z(oe[We],we)>0?Ue=We:Be=We+1}return Be}}}var x=v(f);e.bisectLeft=x.left,e.bisect=e.bisectRight=x.right,e.bisector=function(Z){return v(Z.length===1?function(oe,we){return f(Z(oe),we)}:Z)},e.shuffle=function(Z,oe,we){(Be=arguments.length)<3&&(we=Z.length,Be<2&&(oe=0));for(var Be=we-oe,Ue,We;Be;)We=Math.random()*Be--|0,Ue=Z[Be+oe],Z[Be+oe]=Z[We+oe],Z[We+oe]=Ue;return Z},e.permute=function(Z,oe){for(var we=oe.length,Be=new Array(we);we--;)Be[we]=Z[oe[we]];return Be},e.pairs=function(Z){for(var oe=0,we=Z.length-1,Be,Ue=Z[0],We=new Array(we<0?0:we);oe=0;)for(wt=Z[oe],we=wt.length;--we>=0;)We[--Ue]=wt[we];return We};var g=Math.abs;e.range=function(Z,oe,we){if(arguments.length<3&&(we=1,arguments.length<2&&(oe=Z,Z=0)),(oe-Z)/we===1/0)throw new Error(\"infinite range\");var Be=[],Ue=E(g(we)),We=-1,wt;if(Z*=Ue,oe*=Ue,we*=Ue,we<0)for(;(wt=Z+we*++We)>oe;)Be.push(wt/Ue);else for(;(wt=Z+we*++We)=oe.length)return Ue?Ue.call(Z,zt):Be?zt.sort(Be):zt;for(var lr=-1,Dr=zt.length,Ir=oe[or++],oi,ui,qr,Kr=new A,ii;++lr=oe.length)return tt;var or=[],lr=we[zt++];return tt.forEach(function(Dr,Ir){or.push({key:Dr,values:wt(Ir,zt)})}),lr?or.sort(function(Dr,Ir){return lr(Dr.key,Ir.key)}):or}return Z.map=function(tt,zt){return We(zt,tt,0)},Z.entries=function(tt){return wt(We(e.map,tt,0),0)},Z.key=function(tt){return oe.push(tt),Z},Z.sortKeys=function(tt){return we[oe.length-1]=tt,Z},Z.sortValues=function(tt){return Be=tt,Z},Z.rollup=function(tt){return Ue=tt,Z},Z},e.set=function(Z){var oe=new V;if(Z)for(var we=0,Be=Z.length;we=0&&(Be=Z.slice(we+1),Z=Z.slice(0,we)),Z)return arguments.length<2?this[Z].on(Be):this[Z].on(Be,oe);if(arguments.length===2){if(oe==null)for(Z in this)this.hasOwnProperty(Z)&&this[Z].on(Be,null);return this}};function ae(Z){var oe=[],we=new A;function Be(){for(var Ue=oe,We=-1,wt=Ue.length,tt;++We=0&&(we=Z.slice(0,oe))!==\"xmlns\"&&(Z=Z.slice(oe+1)),Ge.hasOwnProperty(we)?{space:Ge[we],local:Z}:Z}},Ce.attr=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node();return Z=e.ns.qualify(Z),Z.local?we.getAttributeNS(Z.space,Z.local):we.getAttribute(Z)}for(oe in Z)this.each(nt(oe,Z[oe]));return this}return this.each(nt(Z,oe))};function nt(Z,oe){Z=e.ns.qualify(Z);function we(){this.removeAttribute(Z)}function Be(){this.removeAttributeNS(Z.space,Z.local)}function Ue(){this.setAttribute(Z,oe)}function We(){this.setAttributeNS(Z.space,Z.local,oe)}function wt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttribute(Z):this.setAttribute(Z,zt)}function tt(){var zt=oe.apply(this,arguments);zt==null?this.removeAttributeNS(Z.space,Z.local):this.setAttributeNS(Z.space,Z.local,zt)}return oe==null?Z.local?Be:we:typeof oe==\"function\"?Z.local?tt:wt:Z.local?We:Ue}function ct(Z){return Z.trim().replace(/\\s+/g,\" \")}Ce.classed=function(Z,oe){if(arguments.length<2){if(typeof Z==\"string\"){var we=this.node(),Be=(Z=rt(Z)).length,Ue=-1;if(oe=we.classList){for(;++Ue=0;)(We=we[Be])&&(Ue&&Ue!==We.nextSibling&&Ue.parentNode.insertBefore(We,Ue),Ue=We);return this},Ce.sort=function(Z){Z=xt.apply(this,arguments);for(var oe=-1,we=this.length;++oe=oe&&(oe=Ue+1);!(zt=wt[oe])&&++oe0&&(Z=Z.slice(0,Ue));var wt=Ht.get(Z);wt&&(Z=wt,We=fr);function tt(){var lr=this[Be];lr&&(this.removeEventListener(Z,lr,lr.$),delete this[Be])}function zt(){var lr=We(oe,r(arguments));tt.call(this),this.addEventListener(Z,this[Be]=lr,lr.$=we),lr._=oe}function or(){var lr=new RegExp(\"^__on([^.]+)\"+e.requote(Z)+\"$\"),Dr;for(var Ir in this)if(Dr=Ir.match(lr)){var oi=this[Ir];this.removeEventListener(Dr[1],oi,oi.$),delete this[Ir]}}return Ue?oe?zt:tt:oe?W:or}var Ht=e.map({mouseenter:\"mouseover\",mouseleave:\"mouseout\"});n&&Ht.forEach(function(Z){\"on\"+Z in n&&Ht.remove(Z)});function $t(Z,oe){return function(we){var Be=e.event;e.event=we,oe[0]=this.__data__;try{Z.apply(this,oe)}finally{e.event=Be}}}function fr(Z,oe){var we=$t(Z,oe);return function(Be){var Ue=this,We=Be.relatedTarget;(!We||We!==Ue&&!(We.compareDocumentPosition(Ue)&8))&&we.call(Ue,Be)}}var _r,Br=0;function Or(Z){var oe=\".dragsuppress-\"+ ++Br,we=\"click\"+oe,Be=e.select(a(Z)).on(\"touchmove\"+oe,_e).on(\"dragstart\"+oe,_e).on(\"selectstart\"+oe,_e);if(_r==null&&(_r=\"onselectstart\"in Z?!1:G(Z.style,\"userSelect\")),_r){var Ue=i(Z).style,We=Ue[_r];Ue[_r]=\"none\"}return function(wt){if(Be.on(oe,null),_r&&(Ue[_r]=We),wt){var tt=function(){Be.on(we,null)};Be.on(we,function(){_e(),tt()},!0),setTimeout(tt,0)}}}e.mouse=function(Z){return ut(Z,Me())};var Nr=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function ut(Z,oe){oe.changedTouches&&(oe=oe.changedTouches[0]);var we=Z.ownerSVGElement||Z;if(we.createSVGPoint){var Be=we.createSVGPoint();if(Nr<0){var Ue=a(Z);if(Ue.scrollX||Ue.scrollY){we=e.select(\"body\").append(\"svg\").style({position:\"absolute\",top:0,left:0,margin:0,padding:0,border:\"none\"},\"important\");var We=we[0][0].getScreenCTM();Nr=!(We.f||We.e),we.remove()}}return Nr?(Be.x=oe.pageX,Be.y=oe.pageY):(Be.x=oe.clientX,Be.y=oe.clientY),Be=Be.matrixTransform(Z.getScreenCTM().inverse()),[Be.x,Be.y]}var wt=Z.getBoundingClientRect();return[oe.clientX-wt.left-Z.clientLeft,oe.clientY-wt.top-Z.clientTop]}e.touch=function(Z,oe,we){if(arguments.length<3&&(we=oe,oe=Me().changedTouches),oe){for(var Be=0,Ue=oe.length,We;Be0?1:Z<0?-1:0}function Vt(Z,oe,we){return(oe[0]-Z[0])*(we[1]-Z[1])-(oe[1]-Z[1])*(we[0]-Z[0])}function ar(Z){return Z>1?0:Z<-1?Xe:Math.acos(Z)}function Qr(Z){return Z>1?xe:Z<-1?-xe:Math.asin(Z)}function ai(Z){return((Z=Math.exp(Z))-1/Z)/2}function jr(Z){return((Z=Math.exp(Z))+1/Z)/2}function ri(Z){return((Z=Math.exp(2*Z))-1)/(Z+1)}function bi(Z){return(Z=Math.sin(Z/2))*Z}var nn=Math.SQRT2,Wi=2,Ni=4;e.interpolateZoom=function(Z,oe){var we=Z[0],Be=Z[1],Ue=Z[2],We=oe[0],wt=oe[1],tt=oe[2],zt=We-we,or=wt-Be,lr=zt*zt+or*or,Dr,Ir;if(lr0&&(pn=pn.transition().duration(wt)),pn.call(ci.event)}function ga(){Kr&&Kr.domain(qr.range().map(function(pn){return(pn-Z.x)/Z.k}).map(qr.invert)),vi&&vi.domain(ii.range().map(function(pn){return(pn-Z.y)/Z.k}).map(ii.invert))}function ya(pn){tt++||pn({type:\"zoomstart\"})}function so(pn){ga(),pn({type:\"zoom\",scale:Z.k,translate:[Z.x,Z.y]})}function wa(pn){--tt||(pn({type:\"zoomend\"}),we=null)}function io(){var pn=this,za=ui.of(pn,arguments),Lo=0,Fo=e.select(a(pn)).on(or,fu).on(lr,dl),js=Jr(e.mouse(pn)),xl=Or(pn);ea.call(pn),ya(za);function fu(){Lo=1,En(e.mouse(pn),js),so(za)}function dl(){Fo.on(or,null).on(lr,null),xl(Lo),wa(za)}}function Ss(){var pn=this,za=ui.of(pn,arguments),Lo={},Fo=0,js,xl=\".zoom-\"+e.event.changedTouches[0].identifier,fu=\"touchmove\"+xl,dl=\"touchend\"+xl,xc=[],At=e.select(pn),Er=Or(pn);wi(),ya(za),At.on(zt,null).on(Ir,wi);function Wr(){var Bi=e.touches(pn);return js=Z.k,Bi.forEach(function(cn){cn.identifier in Lo&&(Lo[cn.identifier]=Jr(cn))}),Bi}function wi(){var Bi=e.event.target;e.select(Bi).on(fu,Ui).on(dl,Oi),xc.push(Bi);for(var cn=e.event.changedTouches,On=0,Bn=cn.length;On1){var Rn=yn[0],Dn=yn[1],fn=Rn[0]-Dn[0],Ai=Rn[1]-Dn[1];Fo=fn*fn+Ai*Ai}}function Ui(){var Bi=e.touches(pn),cn,On,Bn,yn;ea.call(pn);for(var to=0,Rn=Bi.length;to1?1:oe,we=we<0?0:we>1?1:we,Ue=we<=.5?we*(1+oe):we+oe-we*oe,Be=2*we-Ue;function We(tt){return tt>360?tt-=360:tt<0&&(tt+=360),tt<60?Be+(Ue-Be)*tt/60:tt<180?Ue:tt<240?Be+(Ue-Be)*(240-tt)/60:Be}function wt(tt){return Math.round(We(tt)*255)}return new Fa(wt(Z+120),wt(Z),wt(Z-120))}e.hcl=Zt;function Zt(Z,oe,we){return this instanceof Zt?(this.h=+Z,this.c=+oe,void(this.l=+we)):arguments.length<2?Z instanceof Zt?new Zt(Z.h,Z.c,Z.l):Z instanceof Zr?Ki(Z.l,Z.a,Z.b):Ki((Z=xn((Z=e.rgb(Z)).r,Z.g,Z.b)).l,Z.a,Z.b):new Zt(Z,oe,we)}var yr=Zt.prototype=new Wn;yr.brighter=function(Z){return new Zt(this.h,this.c,Math.min(100,this.l+Vr*(arguments.length?Z:1)))},yr.darker=function(Z){return new Zt(this.h,this.c,Math.max(0,this.l-Vr*(arguments.length?Z:1)))},yr.rgb=function(){return Fr(this.h,this.c,this.l).rgb()};function Fr(Z,oe,we){return isNaN(Z)&&(Z=0),isNaN(oe)&&(oe=0),new Zr(we,Math.cos(Z*=Se)*oe,Math.sin(Z)*oe)}e.lab=Zr;function Zr(Z,oe,we){return this instanceof Zr?(this.l=+Z,this.a=+oe,void(this.b=+we)):arguments.length<2?Z instanceof Zr?new Zr(Z.l,Z.a,Z.b):Z instanceof Zt?Fr(Z.h,Z.c,Z.l):xn((Z=Fa(Z)).r,Z.g,Z.b):new Zr(Z,oe,we)}var Vr=18,gi=.95047,Si=1,Mi=1.08883,Pi=Zr.prototype=new Wn;Pi.brighter=function(Z){return new Zr(Math.min(100,this.l+Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.darker=function(Z){return new Zr(Math.max(0,this.l-Vr*(arguments.length?Z:1)),this.a,this.b)},Pi.rgb=function(){return Gi(this.l,this.a,this.b)};function Gi(Z,oe,we){var Be=(Z+16)/116,Ue=Be+oe/500,We=Be-we/200;return Ue=ka(Ue)*gi,Be=ka(Be)*Si,We=ka(We)*Mi,new Fa(la(3.2404542*Ue-1.5371385*Be-.4985314*We),la(-.969266*Ue+1.8760108*Be+.041556*We),la(.0556434*Ue-.2040259*Be+1.0572252*We))}function Ki(Z,oe,we){return Z>0?new Zt(Math.atan2(we,oe)*lt,Math.sqrt(oe*oe+we*we),Z):new Zt(NaN,NaN,Z)}function ka(Z){return Z>.206893034?Z*Z*Z:(Z-4/29)/7.787037}function jn(Z){return Z>.008856?Math.pow(Z,1/3):7.787037*Z+4/29}function la(Z){return Math.round(255*(Z<=.00304?12.92*Z:1.055*Math.pow(Z,1/2.4)-.055))}e.rgb=Fa;function Fa(Z,oe,we){return this instanceof Fa?(this.r=~~Z,this.g=~~oe,void(this.b=~~we)):arguments.length<2?Z instanceof Fa?new Fa(Z.r,Z.g,Z.b):Ha(\"\"+Z,Fa,jt):new Fa(Z,oe,we)}function Ra(Z){return new Fa(Z>>16,Z>>8&255,Z&255)}function jo(Z){return Ra(Z)+\"\"}var oa=Fa.prototype=new Wn;oa.brighter=function(Z){Z=Math.pow(.7,arguments.length?Z:1);var oe=this.r,we=this.g,Be=this.b,Ue=30;return!oe&&!we&&!Be?new Fa(Ue,Ue,Ue):(oe&&oe>4,Be=Be>>4|Be,Ue=zt&240,Ue=Ue>>4|Ue,We=zt&15,We=We<<4|We):Z.length===7&&(Be=(zt&16711680)>>16,Ue=(zt&65280)>>8,We=zt&255)),oe(Be,Ue,We))}function oo(Z,oe,we){var Be=Math.min(Z/=255,oe/=255,we/=255),Ue=Math.max(Z,oe,we),We=Ue-Be,wt,tt,zt=(Ue+Be)/2;return We?(tt=zt<.5?We/(Ue+Be):We/(2-Ue-Be),Z==Ue?wt=(oe-we)/We+(oe0&&zt<1?0:wt),new It(wt,tt,zt)}function xn(Z,oe,we){Z=_t(Z),oe=_t(oe),we=_t(we);var Be=jn((.4124564*Z+.3575761*oe+.1804375*we)/gi),Ue=jn((.2126729*Z+.7151522*oe+.072175*we)/Si),We=jn((.0193339*Z+.119192*oe+.9503041*we)/Mi);return Zr(116*Ue-16,500*(Be-Ue),200*(Ue-We))}function _t(Z){return(Z/=255)<=.04045?Z/12.92:Math.pow((Z+.055)/1.055,2.4)}function br(Z){var oe=parseFloat(Z);return Z.charAt(Z.length-1)===\"%\"?Math.round(oe*2.55):oe}var Hr=e.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Hr.forEach(function(Z,oe){Hr.set(Z,Ra(oe))});function ti(Z){return typeof Z==\"function\"?Z:function(){return Z}}e.functor=ti,e.xhr=zi(H);function zi(Z){return function(oe,we,Be){return arguments.length===2&&typeof we==\"function\"&&(Be=we,we=null),Yi(oe,we,Z,Be)}}function Yi(Z,oe,we,Be){var Ue={},We=e.dispatch(\"beforesend\",\"progress\",\"load\",\"error\"),wt={},tt=new XMLHttpRequest,zt=null;self.XDomainRequest&&!(\"withCredentials\"in tt)&&/^(http(s)?:)?\\/\\//.test(Z)&&(tt=new XDomainRequest),\"onload\"in tt?tt.onload=tt.onerror=or:tt.onreadystatechange=function(){tt.readyState>3&&or()};function or(){var lr=tt.status,Dr;if(!lr&&hi(tt)||lr>=200&&lr<300||lr===304){try{Dr=we.call(Ue,tt)}catch(Ir){We.error.call(Ue,Ir);return}We.load.call(Ue,Dr)}else We.error.call(Ue,tt)}return tt.onprogress=function(lr){var Dr=e.event;e.event=lr;try{We.progress.call(Ue,tt)}finally{e.event=Dr}},Ue.header=function(lr,Dr){return lr=(lr+\"\").toLowerCase(),arguments.length<2?wt[lr]:(Dr==null?delete wt[lr]:wt[lr]=Dr+\"\",Ue)},Ue.mimeType=function(lr){return arguments.length?(oe=lr==null?null:lr+\"\",Ue):oe},Ue.responseType=function(lr){return arguments.length?(zt=lr,Ue):zt},Ue.response=function(lr){return we=lr,Ue},[\"get\",\"post\"].forEach(function(lr){Ue[lr]=function(){return Ue.send.apply(Ue,[lr].concat(r(arguments)))}}),Ue.send=function(lr,Dr,Ir){if(arguments.length===2&&typeof Dr==\"function\"&&(Ir=Dr,Dr=null),tt.open(lr,Z,!0),oe!=null&&!(\"accept\"in wt)&&(wt.accept=oe+\",*/*\"),tt.setRequestHeader)for(var oi in wt)tt.setRequestHeader(oi,wt[oi]);return oe!=null&&tt.overrideMimeType&&tt.overrideMimeType(oe),zt!=null&&(tt.responseType=zt),Ir!=null&&Ue.on(\"error\",Ir).on(\"load\",function(ui){Ir(null,ui)}),We.beforesend.call(Ue,tt),tt.send(Dr==null?null:Dr),Ue},Ue.abort=function(){return tt.abort(),Ue},e.rebind(Ue,We,\"on\"),Be==null?Ue:Ue.get(an(Be))}function an(Z){return Z.length===1?function(oe,we){Z(oe==null?we:null)}:Z}function hi(Z){var oe=Z.responseType;return oe&&oe!==\"text\"?Z.response:Z.responseText}e.dsv=function(Z,oe){var we=new RegExp('[\"'+Z+`\n", + "]`),Be=Z.charCodeAt(0);function Ue(or,lr,Dr){arguments.length<3&&(Dr=lr,lr=null);var Ir=Yi(or,oe,lr==null?We:wt(lr),Dr);return Ir.row=function(oi){return arguments.length?Ir.response((lr=oi)==null?We:wt(oi)):lr},Ir}function We(or){return Ue.parse(or.responseText)}function wt(or){return function(lr){return Ue.parse(lr.responseText,or)}}Ue.parse=function(or,lr){var Dr;return Ue.parseRows(or,function(Ir,oi){if(Dr)return Dr(Ir,oi-1);var ui=function(qr){for(var Kr={},ii=Ir.length,vi=0;vi=ui)return Ir;if(vi)return vi=!1,Dr;var un=qr;if(or.charCodeAt(un)===34){for(var dn=un;dn++24?(isFinite(oe)&&(clearTimeout(Sa),Sa=setTimeout(ho,oe)),Fn=0):(Fn=1,go(ho))}e.timer.flush=function(){Mo(),xo()};function Mo(){for(var Z=Date.now(),oe=Ji;oe;)Z>=oe.t&&oe.c(Z-oe.t)&&(oe.c=null),oe=oe.n;return Z}function xo(){for(var Z,oe=Ji,we=1/0;oe;)oe.c?(oe.t=0;--tt)qr.push(Ue[or[Dr[tt]][2]]);for(tt=+oi;tt1&&Vt(Z[we[Be-2]],Z[we[Be-1]],Z[Ue])<=0;)--Be;we[Be++]=Ue}return we.slice(0,Be)}function Xs(Z,oe){return Z[0]-oe[0]||Z[1]-oe[1]}e.geom.polygon=function(Z){return ie(Z,wl),Z};var wl=e.geom.polygon.prototype=[];wl.area=function(){for(var Z=-1,oe=this.length,we,Be=this[oe-1],Ue=0;++ZYe)tt=tt.L;else if(wt=oe-vo(tt,we),wt>Ye){if(!tt.R){Be=tt;break}tt=tt.R}else{We>-Ye?(Be=tt.P,Ue=tt):wt>-Ye?(Be=tt,Ue=tt.N):Be=Ue=tt;break}var zt=ms(Z);if(Hs.insert(Be,zt),!(!Be&&!Ue)){if(Be===Ue){ko(Be),Ue=ms(Be.site),Hs.insert(zt,Ue),zt.edge=Ue.edge=cf(Be.site,zt.site),Zn(Be),Zn(Ue);return}if(!Ue){zt.edge=cf(Be.site,zt.site);return}ko(Be),ko(Ue);var or=Be.site,lr=or.x,Dr=or.y,Ir=Z.x-lr,oi=Z.y-Dr,ui=Ue.site,qr=ui.x-lr,Kr=ui.y-Dr,ii=2*(Ir*Kr-oi*qr),vi=Ir*Ir+oi*oi,ci=qr*qr+Kr*Kr,Jr={x:(Kr*vi-oi*ci)/ii+lr,y:(Ir*ci-qr*vi)/ii+Dr};Al(Ue.edge,or,ui,Jr),zt.edge=cf(or,Z,null,Jr),Ue.edge=cf(Z,ui,null,Jr),Zn(Be),Zn(Ue)}}function Il(Z,oe){var we=Z.site,Be=we.x,Ue=we.y,We=Ue-oe;if(!We)return Be;var wt=Z.P;if(!wt)return-1/0;we=wt.site;var tt=we.x,zt=we.y,or=zt-oe;if(!or)return tt;var lr=tt-Be,Dr=1/We-1/or,Ir=lr/or;return Dr?(-Ir+Math.sqrt(Ir*Ir-2*Dr*(lr*lr/(-2*or)-zt+or/2+Ue-We/2)))/Dr+Be:(Be+tt)/2}function vo(Z,oe){var we=Z.N;if(we)return Il(we,oe);var Be=Z.site;return Be.y===oe?Be.x:1/0}function Wl(Z){this.site=Z,this.edges=[]}Wl.prototype.prepare=function(){for(var Z=this.edges,oe=Z.length,we;oe--;)we=Z[oe].edge,(!we.b||!we.a)&&Z.splice(oe,1);return Z.sort(Zl),Z.length};function Ks(Z){for(var oe=Z[0][0],we=Z[1][0],Be=Z[0][1],Ue=Z[1][1],We,wt,tt,zt,or=Ys,lr=or.length,Dr,Ir,oi,ui,qr,Kr;lr--;)if(Dr=or[lr],!(!Dr||!Dr.prepare()))for(oi=Dr.edges,ui=oi.length,Ir=0;IrYe||g(zt-wt)>Ye)&&(oi.splice(Ir,0,new Hc(rh(Dr.site,Kr,g(tt-oe)Ye?{x:oe,y:g(We-oe)Ye?{x:g(wt-Ue)Ye?{x:we,y:g(We-we)Ye?{x:g(wt-Be)=-Ve)){var Ir=zt*zt+or*or,oi=lr*lr+Kr*Kr,ui=(Kr*Ir-or*oi)/Dr,qr=(zt*oi-lr*Ir)/Dr,Kr=qr+tt,ii=Hu.pop()||new Ec;ii.arc=Z,ii.site=Ue,ii.x=ui+wt,ii.y=Kr+Math.sqrt(ui*ui+qr*qr),ii.cy=Kr,Z.circle=ii;for(var vi=null,ci=$l._;ci;)if(ii.y0)){if(qr/=oi,oi<0){if(qr0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=we-tt,!(!oi&&qr<0)){if(qr/=oi,oi<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(oi>0){if(qr0)){if(qr/=ui,ui<0){if(qr0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}if(qr=Be-zt,!(!ui&&qr<0)){if(qr/=ui,ui<0){if(qr>Ir)return;qr>Dr&&(Dr=qr)}else if(ui>0){if(qr0&&(Ue.a={x:tt+Dr*oi,y:zt+Dr*ui}),Ir<1&&(Ue.b={x:tt+Ir*oi,y:zt+Ir*ui}),Ue}}}}}}function Tl(Z){for(var oe=ml,we=Co(Z[0][0],Z[0][1],Z[1][0],Z[1][1]),Be=oe.length,Ue;Be--;)Ue=oe[Be],(!uf(Ue,Z)||!we(Ue)||g(Ue.a.x-Ue.b.x)=We)return;if(lr>Ir){if(!Be)Be={x:ui,y:wt};else if(Be.y>=tt)return;we={x:ui,y:tt}}else{if(!Be)Be={x:ui,y:tt};else if(Be.y1)if(lr>Ir){if(!Be)Be={x:(wt-ii)/Kr,y:wt};else if(Be.y>=tt)return;we={x:(tt-ii)/Kr,y:tt}}else{if(!Be)Be={x:(tt-ii)/Kr,y:tt};else if(Be.y=We)return;we={x:We,y:Kr*We+ii}}else{if(!Be)Be={x:We,y:Kr*We+ii};else if(Be.x=lr&&ii.x<=Ir&&ii.y>=Dr&&ii.y<=oi?[[lr,oi],[Ir,oi],[Ir,Dr],[lr,Dr]]:[];vi.point=zt[qr]}),or}function tt(zt){return zt.map(function(or,lr){return{x:Math.round(Be(or,lr)/Ye)*Ye,y:Math.round(Ue(or,lr)/Ye)*Ye,i:lr}})}return wt.links=function(zt){return Gc(tt(zt)).edges.filter(function(or){return or.l&&or.r}).map(function(or){return{source:zt[or.l.i],target:zt[or.r.i]}})},wt.triangles=function(zt){var or=[];return Gc(tt(zt)).cells.forEach(function(lr,Dr){for(var Ir=lr.site,oi=lr.edges.sort(Zl),ui=-1,qr=oi.length,Kr,ii,vi=oi[qr-1].edge,ci=vi.l===Ir?vi.r:vi.l;++uici&&(ci=lr.x),lr.y>Jr&&(Jr=lr.y),oi.push(lr.x),ui.push(lr.y);else for(qr=0;qrci&&(ci=un),dn>Jr&&(Jr=dn),oi.push(un),ui.push(dn)}var En=ci-ii,Nn=Jr-vi;En>Nn?Jr=vi+En:ci=ii+Nn;function ga(wa,io,Ss,_s,Ns,pn,za,Lo){if(!(isNaN(Ss)||isNaN(_s)))if(wa.leaf){var Fo=wa.x,js=wa.y;if(Fo!=null)if(g(Fo-Ss)+g(js-_s)<.01)ya(wa,io,Ss,_s,Ns,pn,za,Lo);else{var xl=wa.point;wa.x=wa.y=wa.point=null,ya(wa,xl,Fo,js,Ns,pn,za,Lo),ya(wa,io,Ss,_s,Ns,pn,za,Lo)}else wa.x=Ss,wa.y=_s,wa.point=io}else ya(wa,io,Ss,_s,Ns,pn,za,Lo)}function ya(wa,io,Ss,_s,Ns,pn,za,Lo){var Fo=(Ns+za)*.5,js=(pn+Lo)*.5,xl=Ss>=Fo,fu=_s>=js,dl=fu<<1|xl;wa.leaf=!1,wa=wa.nodes[dl]||(wa.nodes[dl]=Ul()),xl?Ns=Fo:za=Fo,fu?pn=js:Lo=js,ga(wa,io,Ss,_s,Ns,pn,za,Lo)}var so=Ul();if(so.add=function(wa){ga(so,wa,+Dr(wa,++qr),+Ir(wa,qr),ii,vi,ci,Jr)},so.visit=function(wa){Js(wa,so,ii,vi,ci,Jr)},so.find=function(wa){return hc(so,wa[0],wa[1],ii,vi,ci,Jr)},qr=-1,oe==null){for(;++qrWe||Ir>wt||oi=un,Nn=we>=dn,ga=Nn<<1|En,ya=ga+4;gawe&&(We=oe.slice(we,We),tt[wt]?tt[wt]+=We:tt[++wt]=We),(Be=Be[0])===(Ue=Ue[0])?tt[wt]?tt[wt]+=Ue:tt[++wt]=Ue:(tt[++wt]=null,zt.push({i:wt,x:$s(Be,Ue)})),we=dc.lastIndex;return we=0&&!(Be=e.interpolators[we](Z,oe)););return Be}e.interpolators=[function(Z,oe){var we=typeof oe;return(we===\"string\"?Hr.has(oe.toLowerCase())||/^(#|rgb\\(|hsl\\()/i.test(oe)?Cc:hs:oe instanceof Wn?Cc:Array.isArray(oe)?ec:we===\"object\"&&isNaN(oe)?ws:$s)(Z,oe)}],e.interpolateArray=ec;function ec(Z,oe){var we=[],Be=[],Ue=Z.length,We=oe.length,wt=Math.min(Z.length,oe.length),tt;for(tt=0;tt=0?Z.slice(0,oe):Z,Be=oe>=0?Z.slice(oe+1):\"in\";return we=ov.get(we)||Ps,Be=wo.get(Be)||H,Od(Be(we.apply(null,t.call(arguments,1))))};function Od(Z){return function(oe){return oe<=0?0:oe>=1?1:Z(oe)}}function $o(Z){return function(oe){return 1-Z(1-oe)}}function Ja(Z){return function(oe){return .5*(oe<.5?Z(2*oe):2-Z(2-2*oe))}}function Ef(Z){return Z*Z}function tc(Z){return Z*Z*Z}function uu(Z){if(Z<=0)return 0;if(Z>=1)return 1;var oe=Z*Z,we=oe*Z;return 4*(Z<.5?we:3*(Z-oe)+we-.75)}function Mh(Z){return function(oe){return Math.pow(oe,Z)}}function jc(Z){return 1-Math.cos(Z*xe)}function kf(Z){return Math.pow(2,10*(Z-1))}function Ml(Z){return 1-Math.sqrt(1-Z*Z)}function Yh(Z,oe){var we;return arguments.length<2&&(oe=.45),arguments.length?we=oe/ht*Math.asin(1/Z):(Z=1,we=oe/4),function(Be){return 1+Z*Math.pow(2,-10*Be)*Math.sin((Be-we)*ht/oe)}}function Eh(Z){return Z||(Z=1.70158),function(oe){return oe*oe*((Z+1)*oe-Z)}}function nh(Z){return Z<1/2.75?7.5625*Z*Z:Z<2/2.75?7.5625*(Z-=1.5/2.75)*Z+.75:Z<2.5/2.75?7.5625*(Z-=2.25/2.75)*Z+.9375:7.5625*(Z-=2.625/2.75)*Z+.984375}e.interpolateHcl=hf;function hf(Z,oe){Z=e.hcl(Z),oe=e.hcl(oe);var we=Z.h,Be=Z.c,Ue=Z.l,We=oe.h-we,wt=oe.c-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.c:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return Fr(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateHsl=kh;function kh(Z,oe){Z=e.hsl(Z),oe=e.hsl(oe);var we=Z.h,Be=Z.s,Ue=Z.l,We=oe.h-we,wt=oe.s-Be,tt=oe.l-Ue;return isNaN(wt)&&(wt=0,Be=isNaN(Be)?oe.s:Be),isNaN(We)?(We=0,we=isNaN(we)?oe.h:we):We>180?We-=360:We<-180&&(We+=360),function(zt){return jt(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateLab=Kh;function Kh(Z,oe){Z=e.lab(Z),oe=e.lab(oe);var we=Z.l,Be=Z.a,Ue=Z.b,We=oe.l-we,wt=oe.a-Be,tt=oe.b-Ue;return function(zt){return Gi(we+We*zt,Be+wt*zt,Ue+tt*zt)+\"\"}}e.interpolateRound=rc;function rc(Z,oe){return oe-=Z,function(we){return Math.round(Z+oe*we)}}e.transform=function(Z){var oe=n.createElementNS(e.ns.prefix.svg,\"g\");return(e.transform=function(we){if(we!=null){oe.setAttribute(\"transform\",we);var Be=oe.transform.baseVal.consolidate()}return new ah(Be?Be.matrix:Nf)})(Z)};function ah(Z){var oe=[Z.a,Z.b],we=[Z.c,Z.d],Be=df(oe),Ue=Wc(oe,we),We=df(Cu(we,oe,-Ue))||0;oe[0]*we[1]180?oe+=360:oe-Z>180&&(Z+=360),Be.push({i:we.push(Zc(we)+\"rotate(\",null,\")\")-2,x:$s(Z,oe)})):oe&&we.push(Zc(we)+\"rotate(\"+oe+\")\")}function Bd(Z,oe,we,Be){Z!==oe?Be.push({i:we.push(Zc(we)+\"skewX(\",null,\")\")-2,x:$s(Z,oe)}):oe&&we.push(Zc(we)+\"skewX(\"+oe+\")\")}function Jh(Z,oe,we,Be){if(Z[0]!==oe[0]||Z[1]!==oe[1]){var Ue=we.push(Zc(we)+\"scale(\",null,\",\",null,\")\");Be.push({i:Ue-4,x:$s(Z[0],oe[0])},{i:Ue-2,x:$s(Z[1],oe[1])})}else(oe[0]!==1||oe[1]!==1)&&we.push(Zc(we)+\"scale(\"+oe+\")\")}function Cf(Z,oe){var we=[],Be=[];return Z=e.transform(Z),oe=e.transform(oe),ds(Z.translate,oe.translate,we,Be),Ch(Z.rotate,oe.rotate,we,Be),Bd(Z.skew,oe.skew,we,Be),Jh(Z.scale,oe.scale,we,Be),Z=oe=null,function(Ue){for(var We=-1,wt=Be.length,tt;++We0?We=Jr:(we.c=null,we.t=NaN,we=null,oe.end({type:\"end\",alpha:We=0})):Jr>0&&(oe.start({type:\"start\",alpha:We=Jr}),we=Oo(Z.tick)),Z):We},Z.start=function(){var Jr,un=oi.length,dn=ui.length,En=Be[0],Nn=Be[1],ga,ya;for(Jr=0;Jr=0;)We.push(lr=or[zt]),lr.parent=tt,lr.depth=tt.depth+1;we&&(tt.value=0),tt.children=or}else we&&(tt.value=+we.call(Be,tt,tt.depth)||0),delete tt.children;return vc(Ue,function(Dr){var Ir,oi;Z&&(Ir=Dr.children)&&Ir.sort(Z),we&&(oi=Dr.parent)&&(oi.value+=Dr.value)}),wt}return Be.sort=function(Ue){return arguments.length?(Z=Ue,Be):Z},Be.children=function(Ue){return arguments.length?(oe=Ue,Be):oe},Be.value=function(Ue){return arguments.length?(we=Ue,Be):we},Be.revalue=function(Ue){return we&&(Pc(Ue,function(We){We.children&&(We.value=0)}),vc(Ue,function(We){var wt;We.children||(We.value=+we.call(Be,We,We.depth)||0),(wt=We.parent)&&(wt.value+=We.value)})),Ue},Be};function Gu(Z,oe){return e.rebind(Z,oe,\"sort\",\"children\",\"value\"),Z.nodes=Z,Z.links=Iu,Z}function Pc(Z,oe){for(var we=[Z];(Z=we.pop())!=null;)if(oe(Z),(Ue=Z.children)&&(Be=Ue.length))for(var Be,Ue;--Be>=0;)we.push(Ue[Be])}function vc(Z,oe){for(var we=[Z],Be=[];(Z=we.pop())!=null;)if(Be.push(Z),(wt=Z.children)&&(We=wt.length))for(var Ue=-1,We,wt;++UeUe&&(Ue=tt),Be.push(tt)}for(wt=0;wtBe&&(we=oe,Be=Ue);return we}function Is(Z){return Z.reduce(Pf,0)}function Pf(Z,oe){return Z+oe[1]}e.layout.histogram=function(){var Z=!0,oe=Number,we=Vf,Be=Ic;function Ue(We,Ir){for(var tt=[],zt=We.map(oe,this),or=we.call(this,zt,Ir),lr=Be.call(this,or,zt,Ir),Dr,Ir=-1,oi=zt.length,ui=lr.length-1,qr=Z?1:1/oi,Kr;++Ir0)for(Ir=-1;++Ir=or[0]&&Kr<=or[1]&&(Dr=tt[e.bisect(lr,Kr,1,ui)-1],Dr.y+=qr,Dr.push(We[Ir]));return tt}return Ue.value=function(We){return arguments.length?(oe=We,Ue):oe},Ue.range=function(We){return arguments.length?(we=ti(We),Ue):we},Ue.bins=function(We){return arguments.length?(Be=typeof We==\"number\"?function(wt){return ju(wt,We)}:ti(We),Ue):Be},Ue.frequency=function(We){return arguments.length?(Z=!!We,Ue):Z},Ue};function Ic(Z,oe){return ju(Z,Math.ceil(Math.log(oe.length)/Math.LN2+1))}function ju(Z,oe){for(var we=-1,Be=+Z[0],Ue=(Z[1]-Be)/oe,We=[];++we<=oe;)We[we]=Ue*we+Be;return We}function Vf(Z){return[e.min(Z),e.max(Z)]}e.layout.pack=function(){var Z=e.layout.hierarchy().sort(pc),oe=0,we=[1,1],Be;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or=we[0],lr=we[1],Dr=Be==null?Math.sqrt:typeof Be==\"function\"?Be:function(){return Be};if(zt.x=zt.y=0,vc(zt,function(oi){oi.r=+Dr(oi.value)}),vc(zt,Ih),oe){var Ir=oe*(Be?1:Math.max(2*zt.r/or,2*zt.r/lr))/2;vc(zt,function(oi){oi.r+=Ir}),vc(zt,Ih),vc(zt,function(oi){oi.r-=Ir})}return gc(zt,or/2,lr/2,Be?1:1/Math.max(2*zt.r/or,2*zt.r/lr)),tt}return Ue.size=function(We){return arguments.length?(we=We,Ue):we},Ue.radius=function(We){return arguments.length?(Be=We==null||typeof We==\"function\"?We:+We,Ue):Be},Ue.padding=function(We){return arguments.length?(oe=+We,Ue):oe},Gu(Ue,Z)};function pc(Z,oe){return Z.value-oe.value}function pf(Z,oe){var we=Z._pack_next;Z._pack_next=oe,oe._pack_prev=Z,oe._pack_next=we,we._pack_prev=oe}function Ph(Z,oe){Z._pack_next=oe,oe._pack_prev=Z}function Rl(Z,oe){var we=oe.x-Z.x,Be=oe.y-Z.y,Ue=Z.r+oe.r;return .999*Ue*Ue>we*we+Be*Be}function Ih(Z){if(!(oe=Z.children)||!(Ir=oe.length))return;var oe,we=1/0,Be=-1/0,Ue=1/0,We=-1/0,wt,tt,zt,or,lr,Dr,Ir;function oi(Jr){we=Math.min(Jr.x-Jr.r,we),Be=Math.max(Jr.x+Jr.r,Be),Ue=Math.min(Jr.y-Jr.r,Ue),We=Math.max(Jr.y+Jr.r,We)}if(oe.forEach(Wu),wt=oe[0],wt.x=-wt.r,wt.y=0,oi(wt),Ir>1&&(tt=oe[1],tt.x=tt.r,tt.y=0,oi(tt),Ir>2))for(zt=oe[2],hl(wt,tt,zt),oi(zt),pf(wt,zt),wt._pack_prev=zt,pf(zt,tt),tt=wt._pack_next,or=3;orKr.x&&(Kr=un),un.depth>ii.depth&&(ii=un)});var vi=oe(qr,Kr)/2-qr.x,ci=we[0]/(Kr.x+oe(Kr,qr)/2+vi),Jr=we[1]/(ii.depth||1);Pc(oi,function(un){un.x=(un.x+vi)*ci,un.y=un.depth*Jr})}return Ir}function We(lr){for(var Dr={A:null,children:[lr]},Ir=[Dr],oi;(oi=Ir.pop())!=null;)for(var ui=oi.children,qr,Kr=0,ii=ui.length;Kr0&&(nc(gt(qr,lr,Ir),lr,un),ii+=un,vi+=un),ci+=qr.m,ii+=oi.m,Jr+=Kr.m,vi+=ui.m;qr&&!Yc(ui)&&(ui.t=qr,ui.m+=ci-vi),oi&&!mc(Kr)&&(Kr.t=oi,Kr.m+=ii-Jr,Ir=lr)}return Ir}function or(lr){lr.x*=we[0],lr.y=lr.depth*we[1]}return Ue.separation=function(lr){return arguments.length?(oe=lr,Ue):oe},Ue.size=function(lr){return arguments.length?(Be=(we=lr)==null?or:null,Ue):Be?null:we},Ue.nodeSize=function(lr){return arguments.length?(Be=(we=lr)==null?null:or,Ue):Be?we:null},Gu(Ue,Z)};function ru(Z,oe){return Z.parent==oe.parent?1:2}function mc(Z){var oe=Z.children;return oe.length?oe[0]:Z.t}function Yc(Z){var oe=Z.children,we;return(we=oe.length)?oe[we-1]:Z.t}function nc(Z,oe,we){var Be=we/(oe.i-Z.i);oe.c-=Be,oe.s+=we,Z.c+=Be,oe.z+=we,oe.m+=we}function gf(Z){for(var oe=0,we=0,Be=Z.children,Ue=Be.length,We;--Ue>=0;)We=Be[Ue],We.z+=oe,We.m+=oe,oe+=We.s+(we+=We.c)}function gt(Z,oe,we){return Z.a.parent===oe.parent?Z.a:we}e.layout.cluster=function(){var Z=e.layout.hierarchy().sort(null).value(null),oe=ru,we=[1,1],Be=!1;function Ue(We,wt){var tt=Z.call(this,We,wt),zt=tt[0],or,lr=0;vc(zt,function(qr){var Kr=qr.children;Kr&&Kr.length?(qr.x=wr(Kr),qr.y=Bt(Kr)):(qr.x=or?lr+=oe(qr,or):0,qr.y=0,or=qr)});var Dr=vr(zt),Ir=Ur(zt),oi=Dr.x-oe(Dr,Ir)/2,ui=Ir.x+oe(Ir,Dr)/2;return vc(zt,Be?function(qr){qr.x=(qr.x-zt.x)*we[0],qr.y=(zt.y-qr.y)*we[1]}:function(qr){qr.x=(qr.x-oi)/(ui-oi)*we[0],qr.y=(1-(zt.y?qr.y/zt.y:1))*we[1]}),tt}return Ue.separation=function(We){return arguments.length?(oe=We,Ue):oe},Ue.size=function(We){return arguments.length?(Be=(we=We)==null,Ue):Be?null:we},Ue.nodeSize=function(We){return arguments.length?(Be=(we=We)!=null,Ue):Be?we:null},Gu(Ue,Z)};function Bt(Z){return 1+e.max(Z,function(oe){return oe.y})}function wr(Z){return Z.reduce(function(oe,we){return oe+we.x},0)/Z.length}function vr(Z){var oe=Z.children;return oe&&oe.length?vr(oe[0]):Z}function Ur(Z){var oe=Z.children,we;return oe&&(we=oe.length)?Ur(oe[we-1]):Z}e.layout.treemap=function(){var Z=e.layout.hierarchy(),oe=Math.round,we=[1,1],Be=null,Ue=fi,We=!1,wt,tt=\"squarify\",zt=.5*(1+Math.sqrt(5));function or(qr,Kr){for(var ii=-1,vi=qr.length,ci,Jr;++ii0;)vi.push(Jr=ci[Nn-1]),vi.area+=Jr.area,tt!==\"squarify\"||(dn=Ir(vi,En))<=un?(ci.pop(),un=dn):(vi.area-=vi.pop().area,oi(vi,En,ii,!1),En=Math.min(ii.dx,ii.dy),vi.length=vi.area=0,un=1/0);vi.length&&(oi(vi,En,ii,!0),vi.length=vi.area=0),Kr.forEach(lr)}}function Dr(qr){var Kr=qr.children;if(Kr&&Kr.length){var ii=Ue(qr),vi=Kr.slice(),ci,Jr=[];for(or(vi,ii.dx*ii.dy/qr.value),Jr.area=0;ci=vi.pop();)Jr.push(ci),Jr.area+=ci.area,ci.z!=null&&(oi(Jr,ci.z?ii.dx:ii.dy,ii,!vi.length),Jr.length=Jr.area=0);Kr.forEach(Dr)}}function Ir(qr,Kr){for(var ii=qr.area,vi,ci=0,Jr=1/0,un=-1,dn=qr.length;++unci&&(ci=vi));return ii*=ii,Kr*=Kr,ii?Math.max(Kr*ci*zt/ii,ii/(Kr*Jr*zt)):1/0}function oi(qr,Kr,ii,vi){var ci=-1,Jr=qr.length,un=ii.x,dn=ii.y,En=Kr?oe(qr.area/Kr):0,Nn;if(Kr==ii.dx){for((vi||En>ii.dy)&&(En=ii.dy);++ciii.dx)&&(En=ii.dx);++ci1);return Z+oe*Be*Math.sqrt(-2*Math.log(We)/We)}},logNormal:function(){var Z=e.random.normal.apply(e,arguments);return function(){return Math.exp(Z())}},bates:function(Z){var oe=e.random.irwinHall(Z);return function(){return oe()/Z}},irwinHall:function(Z){return function(){for(var oe=0,we=0;we2?mi:hn,or=Be?Lu:pd;return Ue=zt(Z,oe,or,we),We=zt(oe,Z,or,Sl),tt}function tt(zt){return Ue(zt)}return tt.invert=function(zt){return We(zt)},tt.domain=function(zt){return arguments.length?(Z=zt.map(Number),wt()):Z},tt.range=function(zt){return arguments.length?(oe=zt,wt()):oe},tt.rangeRound=function(zt){return tt.range(zt).interpolate(rc)},tt.clamp=function(zt){return arguments.length?(Be=zt,wt()):Be},tt.interpolate=function(zt){return arguments.length?(we=zt,wt()):we},tt.ticks=function(zt){return qa(Z,zt)},tt.tickFormat=function(zt,or){return d3_scale_linearTickFormat(Z,zt,or)},tt.nice=function(zt){return Ta(Z,zt),wt()},tt.copy=function(){return Pn(Z,oe,we,Be)},wt()}function Ma(Z,oe){return e.rebind(Z,oe,\"range\",\"rangeRound\",\"interpolate\",\"clamp\")}function Ta(Z,oe){return Ti(Z,qi(Ea(Z,oe)[2])),Ti(Z,qi(Ea(Z,oe)[2])),Z}function Ea(Z,oe){oe==null&&(oe=10);var we=Fi(Z),Be=we[1]-we[0],Ue=Math.pow(10,Math.floor(Math.log(Be/oe)/Math.LN10)),We=oe/Be*Ue;return We<=.15?Ue*=10:We<=.35?Ue*=5:We<=.75&&(Ue*=2),we[0]=Math.ceil(we[0]/Ue)*Ue,we[1]=Math.floor(we[1]/Ue)*Ue+Ue*.5,we[2]=Ue,we}function qa(Z,oe){return e.range.apply(e,Ea(Z,oe))}var Cn={s:1,g:1,p:1,r:1,e:1};function sn(Z){return-Math.floor(Math.log(Z)/Math.LN10+.01)}function Ua(Z,oe){var we=sn(oe[2]);return Z in Cn?Math.abs(we-sn(Math.max(g(oe[0]),g(oe[1]))))+ +(Z!==\"e\"):we-(Z===\"%\")*2}e.scale.log=function(){return mo(e.scale.linear().domain([0,1]),10,!0,[1,10])};function mo(Z,oe,we,Be){function Ue(tt){return(we?Math.log(tt<0?0:tt):-Math.log(tt>0?0:-tt))/Math.log(oe)}function We(tt){return we?Math.pow(oe,tt):-Math.pow(oe,-tt)}function wt(tt){return Z(Ue(tt))}return wt.invert=function(tt){return We(Z.invert(tt))},wt.domain=function(tt){return arguments.length?(we=tt[0]>=0,Z.domain((Be=tt.map(Number)).map(Ue)),wt):Be},wt.base=function(tt){return arguments.length?(oe=+tt,Z.domain(Be.map(Ue)),wt):oe},wt.nice=function(){var tt=Ti(Be.map(Ue),we?Math:Xo);return Z.domain(tt),Be=tt.map(We),wt},wt.ticks=function(){var tt=Fi(Be),zt=[],or=tt[0],lr=tt[1],Dr=Math.floor(Ue(or)),Ir=Math.ceil(Ue(lr)),oi=oe%1?2:oe;if(isFinite(Ir-Dr)){if(we){for(;Dr0;ui--)zt.push(We(Dr)*ui);for(Dr=0;zt[Dr]lr;Ir--);zt=zt.slice(Dr,Ir)}return zt},wt.copy=function(){return mo(Z.copy(),oe,we,Be)},Ma(wt,Z)}var Xo={floor:function(Z){return-Math.ceil(-Z)},ceil:function(Z){return-Math.floor(-Z)}};e.scale.pow=function(){return Ts(e.scale.linear(),1,[0,1])};function Ts(Z,oe,we){var Be=Qo(oe),Ue=Qo(1/oe);function We(wt){return Z(Be(wt))}return We.invert=function(wt){return Ue(Z.invert(wt))},We.domain=function(wt){return arguments.length?(Z.domain((we=wt.map(Number)).map(Be)),We):we},We.ticks=function(wt){return qa(we,wt)},We.tickFormat=function(wt,tt){return d3_scale_linearTickFormat(we,wt,tt)},We.nice=function(wt){return We.domain(Ta(we,wt))},We.exponent=function(wt){return arguments.length?(Be=Qo(oe=wt),Ue=Qo(1/oe),Z.domain(we.map(Be)),We):oe},We.copy=function(){return Ts(Z.copy(),oe,we)},Ma(We,Z)}function Qo(Z){return function(oe){return oe<0?-Math.pow(-oe,Z):Math.pow(oe,Z)}}e.scale.sqrt=function(){return e.scale.pow().exponent(.5)},e.scale.ordinal=function(){return ys([],{t:\"range\",a:[[]]})};function ys(Z,oe){var we,Be,Ue;function We(tt){return Be[((we.get(tt)||(oe.t===\"range\"?we.set(tt,Z.push(tt)):NaN))-1)%Be.length]}function wt(tt,zt){return e.range(Z.length).map(function(or){return tt+zt*or})}return We.domain=function(tt){if(!arguments.length)return Z;Z=[],we=new A;for(var zt=-1,or=tt.length,lr;++zt0?we[We-1]:Z[0],WeIr?0:1;if(lr=Le)return zt(lr,ui)+(or?zt(or,1-ui):\"\")+\"Z\";var qr,Kr,ii,vi,ci=0,Jr=0,un,dn,En,Nn,ga,ya,so,wa,io=[];if((vi=(+wt.apply(this,arguments)||0)/2)&&(ii=Be===Ru?Math.sqrt(or*or+lr*lr):+Be.apply(this,arguments),ui||(Jr*=-1),lr&&(Jr=Qr(ii/lr*Math.sin(vi))),or&&(ci=Qr(ii/or*Math.sin(vi)))),lr){un=lr*Math.cos(Dr+Jr),dn=lr*Math.sin(Dr+Jr),En=lr*Math.cos(Ir-Jr),Nn=lr*Math.sin(Ir-Jr);var Ss=Math.abs(Ir-Dr-2*Jr)<=Xe?0:1;if(Jr&&Dc(un,dn,En,Nn)===ui^Ss){var _s=(Dr+Ir)/2;un=lr*Math.cos(_s),dn=lr*Math.sin(_s),En=Nn=null}}else un=dn=0;if(or){ga=or*Math.cos(Ir-ci),ya=or*Math.sin(Ir-ci),so=or*Math.cos(Dr+ci),wa=or*Math.sin(Dr+ci);var Ns=Math.abs(Dr-Ir+2*ci)<=Xe?0:1;if(ci&&Dc(ga,ya,so,wa)===1-ui^Ns){var pn=(Dr+Ir)/2;ga=or*Math.cos(pn),ya=or*Math.sin(pn),so=wa=null}}else ga=ya=0;if(oi>Ye&&(qr=Math.min(Math.abs(lr-or)/2,+we.apply(this,arguments)))>.001){Kr=or0?0:1}function Da(Z,oe,we,Be,Ue){var We=Z[0]-oe[0],wt=Z[1]-oe[1],tt=(Ue?Be:-Be)/Math.sqrt(We*We+wt*wt),zt=tt*wt,or=-tt*We,lr=Z[0]+zt,Dr=Z[1]+or,Ir=oe[0]+zt,oi=oe[1]+or,ui=(lr+Ir)/2,qr=(Dr+oi)/2,Kr=Ir-lr,ii=oi-Dr,vi=Kr*Kr+ii*ii,ci=we-Be,Jr=lr*oi-Ir*Dr,un=(ii<0?-1:1)*Math.sqrt(Math.max(0,ci*ci*vi-Jr*Jr)),dn=(Jr*ii-Kr*un)/vi,En=(-Jr*Kr-ii*un)/vi,Nn=(Jr*ii+Kr*un)/vi,ga=(-Jr*Kr+ii*un)/vi,ya=dn-ui,so=En-qr,wa=Nn-ui,io=ga-qr;return ya*ya+so*so>wa*wa+io*io&&(dn=Nn,En=ga),[[dn-zt,En-or],[dn*we/ci,En*we/ci]]}function eo(){return!0}function Jc(Z){var oe=zs,we=ks,Be=eo,Ue=_c,We=Ue.key,wt=.7;function tt(zt){var or=[],lr=[],Dr=-1,Ir=zt.length,oi,ui=ti(oe),qr=ti(we);function Kr(){or.push(\"M\",Ue(Z(lr),wt))}for(;++Dr1?Z.join(\"L\"):Z+\"Z\"}function le(Z){return Z.join(\"L\")+\"Z\"}function w(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe1&&Ue.push(\"H\",Be[0]),Ue.join(\"\")}function B(Z){for(var oe=0,we=Z.length,Be=Z[0],Ue=[Be[0],\",\",Be[1]];++oe1){tt=oe[1],We=Z[zt],zt++,Be+=\"C\"+(Ue[0]+wt[0])+\",\"+(Ue[1]+wt[1])+\",\"+(We[0]-tt[0])+\",\"+(We[1]-tt[1])+\",\"+We[0]+\",\"+We[1];for(var or=2;or9&&(We=we*3/Math.sqrt(We),wt[tt]=We*Be,wt[tt+1]=We*Ue));for(tt=-1;++tt<=zt;)We=(Z[Math.min(zt,tt+1)][0]-Z[Math.max(0,tt-1)][0])/(6*(1+wt[tt]*wt[tt])),oe.push([We||0,wt[tt]*We||0]);return oe}function Mt(Z){return Z.length<3?_c(Z):Z[0]+je(Z,et(Z))}e.svg.line.radial=function(){var Z=Jc(Dt);return Z.radius=Z.x,delete Z.x,Z.angle=Z.y,delete Z.y,Z};function Dt(Z){for(var oe,we=-1,Be=Z.length,Ue,We;++weXe)+\",1 \"+Dr}function or(lr,Dr,Ir,oi){return\"Q 0,0 \"+oi}return We.radius=function(lr){return arguments.length?(we=ti(lr),We):we},We.source=function(lr){return arguments.length?(Z=ti(lr),We):Z},We.target=function(lr){return arguments.length?(oe=ti(lr),We):oe},We.startAngle=function(lr){return arguments.length?(Be=ti(lr),We):Be},We.endAngle=function(lr){return arguments.length?(Ue=ti(lr),We):Ue},We};function Rr(Z){return Z.radius}e.svg.diagonal=function(){var Z=tr,oe=mr,we=zr;function Be(Ue,We){var wt=Z.call(this,Ue,We),tt=oe.call(this,Ue,We),zt=(wt.y+tt.y)/2,or=[wt,{x:wt.x,y:zt},{x:tt.x,y:zt},tt];return or=or.map(we),\"M\"+or[0]+\"C\"+or[1]+\" \"+or[2]+\" \"+or[3]}return Be.source=function(Ue){return arguments.length?(Z=ti(Ue),Be):Z},Be.target=function(Ue){return arguments.length?(oe=ti(Ue),Be):oe},Be.projection=function(Ue){return arguments.length?(we=Ue,Be):we},Be};function zr(Z){return[Z.x,Z.y]}e.svg.diagonal.radial=function(){var Z=e.svg.diagonal(),oe=zr,we=Z.projection;return Z.projection=function(Be){return arguments.length?we(Xr(oe=Be)):oe},Z};function Xr(Z){return function(){var oe=Z.apply(this,arguments),we=oe[0],Be=oe[1]-xe;return[we*Math.cos(Be),we*Math.sin(Be)]}}e.svg.symbol=function(){var Z=Li,oe=di;function we(Be,Ue){return(Qi.get(Z.call(this,Be,Ue))||Ci)(oe.call(this,Be,Ue))}return we.type=function(Be){return arguments.length?(Z=ti(Be),we):Z},we.size=function(Be){return arguments.length?(oe=ti(Be),we):oe},we};function di(){return 64}function Li(){return\"circle\"}function Ci(Z){var oe=Math.sqrt(Z/Xe);return\"M0,\"+oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+-oe+\"A\"+oe+\",\"+oe+\" 0 1,1 0,\"+oe+\"Z\"}var Qi=e.map({circle:Ci,cross:function(Z){var oe=Math.sqrt(Z/5)/2;return\"M\"+-3*oe+\",\"+-oe+\"H\"+-oe+\"V\"+-3*oe+\"H\"+oe+\"V\"+-oe+\"H\"+3*oe+\"V\"+oe+\"H\"+oe+\"V\"+3*oe+\"H\"+-oe+\"V\"+oe+\"H\"+-3*oe+\"Z\"},diamond:function(Z){var oe=Math.sqrt(Z/(2*pa)),we=oe*pa;return\"M0,\"+-oe+\"L\"+we+\",0 0,\"+oe+\" \"+-we+\",0Z\"},square:function(Z){var oe=Math.sqrt(Z)/2;return\"M\"+-oe+\",\"+-oe+\"L\"+oe+\",\"+-oe+\" \"+oe+\",\"+oe+\" \"+-oe+\",\"+oe+\"Z\"},\"triangle-down\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+we+\"L\"+oe+\",\"+-we+\" \"+-oe+\",\"+-we+\"Z\"},\"triangle-up\":function(Z){var oe=Math.sqrt(Z/Mn),we=oe*Mn/2;return\"M0,\"+-we+\"L\"+oe+\",\"+we+\" \"+-oe+\",\"+we+\"Z\"}});e.svg.symbolTypes=Qi.keys();var Mn=Math.sqrt(3),pa=Math.tan(30*Se);Ce.transition=function(Z){for(var oe=Ro||++co,we=po(Z),Be=[],Ue,We,wt=Ds||{time:Date.now(),ease:uu,delay:0,duration:250},tt=-1,zt=this.length;++tt0;)Dr[--vi].call(Z,ii);if(Kr>=1)return wt.event&&wt.event.end.call(Z,Z.__data__,oe),--We.count?delete We[Be]:delete Z[we],1}wt||(tt=Ue.time,zt=Oo(Ir,0,tt),wt=We[Be]={tween:new A,time:tt,timer:zt,delay:Ue.delay,duration:Ue.duration,ease:Ue.ease,index:oe},Ue=null,++We.count)}e.svg.axis=function(){var Z=e.scale.linear(),oe=Vl,we=6,Be=6,Ue=3,We=[10],wt=null,tt;function zt(or){or.each(function(){var lr=e.select(this),Dr=this.__chart__||Z,Ir=this.__chart__=Z.copy(),oi=wt==null?Ir.ticks?Ir.ticks.apply(Ir,We):Ir.domain():wt,ui=tt==null?Ir.tickFormat?Ir.tickFormat.apply(Ir,We):H:tt,qr=lr.selectAll(\".tick\").data(oi,Ir),Kr=qr.enter().insert(\"g\",\".domain\").attr(\"class\",\"tick\").style(\"opacity\",Ye),ii=e.transition(qr.exit()).style(\"opacity\",Ye).remove(),vi=e.transition(qr.order()).style(\"opacity\",1),ci=Math.max(we,0)+Ue,Jr,un=Xi(Ir),dn=lr.selectAll(\".domain\").data([0]),En=(dn.enter().append(\"path\").attr(\"class\",\"domain\"),e.transition(dn));Kr.append(\"line\"),Kr.append(\"text\");var Nn=Kr.select(\"line\"),ga=vi.select(\"line\"),ya=qr.select(\"text\").text(ui),so=Kr.select(\"text\"),wa=vi.select(\"text\"),io=oe===\"top\"||oe===\"left\"?-1:1,Ss,_s,Ns,pn;if(oe===\"bottom\"||oe===\"top\"?(Jr=cu,Ss=\"x\",Ns=\"y\",_s=\"x2\",pn=\"y2\",ya.attr(\"dy\",io<0?\"0em\":\".71em\").style(\"text-anchor\",\"middle\"),En.attr(\"d\",\"M\"+un[0]+\",\"+io*Be+\"V0H\"+un[1]+\"V\"+io*Be)):(Jr=el,Ss=\"y\",Ns=\"x\",_s=\"y2\",pn=\"x2\",ya.attr(\"dy\",\".32em\").style(\"text-anchor\",io<0?\"end\":\"start\"),En.attr(\"d\",\"M\"+io*Be+\",\"+un[0]+\"H0V\"+un[1]+\"H\"+io*Be)),Nn.attr(pn,io*we),so.attr(Ns,io*ci),ga.attr(_s,0).attr(pn,io*we),wa.attr(Ss,0).attr(Ns,io*ci),Ir.rangeBand){var za=Ir,Lo=za.rangeBand()/2;Dr=Ir=function(Fo){return za(Fo)+Lo}}else Dr.rangeBand?Dr=Ir:ii.call(Jr,Ir,Dr);Kr.call(Jr,Dr,Ir),vi.call(Jr,Ir,Ir)})}return zt.scale=function(or){return arguments.length?(Z=or,zt):Z},zt.orient=function(or){return arguments.length?(oe=or in Zu?or+\"\":Vl,zt):oe},zt.ticks=function(){return arguments.length?(We=r(arguments),zt):We},zt.tickValues=function(or){return arguments.length?(wt=or,zt):wt},zt.tickFormat=function(or){return arguments.length?(tt=or,zt):tt},zt.tickSize=function(or){var lr=arguments.length;return lr?(we=+or,Be=+arguments[lr-1],zt):we},zt.innerTickSize=function(or){return arguments.length?(we=+or,zt):we},zt.outerTickSize=function(or){return arguments.length?(Be=+or,zt):Be},zt.tickPadding=function(or){return arguments.length?(Ue=+or,zt):Ue},zt.tickSubdivide=function(){return arguments.length&&zt},zt};var Vl=\"bottom\",Zu={top:1,right:1,bottom:1,left:1};function cu(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(\"+(isFinite(Ue)?Ue:we(Be))+\",0)\"})}function el(Z,oe,we){Z.attr(\"transform\",function(Be){var Ue=oe(Be);return\"translate(0,\"+(isFinite(Ue)?Ue:we(Be))+\")\"})}e.svg.brush=function(){var Z=ke(lr,\"brushstart\",\"brush\",\"brushend\"),oe=null,we=null,Be=[0,0],Ue=[0,0],We,wt,tt=!0,zt=!0,or=zc[0];function lr(qr){qr.each(function(){var Kr=e.select(this).style(\"pointer-events\",\"all\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\").on(\"mousedown.brush\",ui).on(\"touchstart.brush\",ui),ii=Kr.selectAll(\".background\").data([0]);ii.enter().append(\"rect\").attr(\"class\",\"background\").style(\"visibility\",\"hidden\").style(\"cursor\",\"crosshair\"),Kr.selectAll(\".extent\").data([0]).enter().append(\"rect\").attr(\"class\",\"extent\").style(\"cursor\",\"move\");var vi=Kr.selectAll(\".resize\").data(or,H);vi.exit().remove(),vi.enter().append(\"g\").attr(\"class\",function(dn){return\"resize \"+dn}).style(\"cursor\",function(dn){return nu[dn]}).append(\"rect\").attr(\"x\",function(dn){return/[ew]$/.test(dn)?-3:null}).attr(\"y\",function(dn){return/^[ns]/.test(dn)?-3:null}).attr(\"width\",6).attr(\"height\",6).style(\"visibility\",\"hidden\"),vi.style(\"display\",lr.empty()?\"none\":null);var ci=e.transition(Kr),Jr=e.transition(ii),un;oe&&(un=Xi(oe),Jr.attr(\"x\",un[0]).attr(\"width\",un[1]-un[0]),Ir(ci)),we&&(un=Xi(we),Jr.attr(\"y\",un[0]).attr(\"height\",un[1]-un[0]),oi(ci)),Dr(ci)})}lr.event=function(qr){qr.each(function(){var Kr=Z.of(this,arguments),ii={x:Be,y:Ue,i:We,j:wt},vi=this.__chart__||ii;this.__chart__=ii,Ro?e.select(this).transition().each(\"start.brush\",function(){We=vi.i,wt=vi.j,Be=vi.x,Ue=vi.y,Kr({type:\"brushstart\"})}).tween(\"brush:brush\",function(){var ci=ec(Be,ii.x),Jr=ec(Ue,ii.y);return We=wt=null,function(un){Be=ii.x=ci(un),Ue=ii.y=Jr(un),Kr({type:\"brush\",mode:\"resize\"})}}).each(\"end.brush\",function(){We=ii.i,wt=ii.j,Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"})}):(Kr({type:\"brushstart\"}),Kr({type:\"brush\",mode:\"resize\"}),Kr({type:\"brushend\"}))})};function Dr(qr){qr.selectAll(\".resize\").attr(\"transform\",function(Kr){return\"translate(\"+Be[+/e$/.test(Kr)]+\",\"+Ue[+/^s/.test(Kr)]+\")\"})}function Ir(qr){qr.select(\".extent\").attr(\"x\",Be[0]),qr.selectAll(\".extent,.n>rect,.s>rect\").attr(\"width\",Be[1]-Be[0])}function oi(qr){qr.select(\".extent\").attr(\"y\",Ue[0]),qr.selectAll(\".extent,.e>rect,.w>rect\").attr(\"height\",Ue[1]-Ue[0])}function ui(){var qr=this,Kr=e.select(e.event.target),ii=Z.of(qr,arguments),vi=e.select(qr),ci=Kr.datum(),Jr=!/^(n|s)$/.test(ci)&&oe,un=!/^(e|w)$/.test(ci)&&we,dn=Kr.classed(\"extent\"),En=Or(qr),Nn,ga=e.mouse(qr),ya,so=e.select(a(qr)).on(\"keydown.brush\",Ss).on(\"keyup.brush\",_s);if(e.event.changedTouches?so.on(\"touchmove.brush\",Ns).on(\"touchend.brush\",za):so.on(\"mousemove.brush\",Ns).on(\"mouseup.brush\",za),vi.interrupt().selectAll(\"*\").interrupt(),dn)ga[0]=Be[0]-ga[0],ga[1]=Ue[0]-ga[1];else if(ci){var wa=+/w$/.test(ci),io=+/^n/.test(ci);ya=[Be[1-wa]-ga[0],Ue[1-io]-ga[1]],ga[0]=Be[wa],ga[1]=Ue[io]}else e.event.altKey&&(Nn=ga.slice());vi.style(\"pointer-events\",\"none\").selectAll(\".resize\").style(\"display\",null),e.select(\"body\").style(\"cursor\",Kr.style(\"cursor\")),ii({type:\"brushstart\"}),Ns();function Ss(){e.event.keyCode==32&&(dn||(Nn=null,ga[0]-=Be[1],ga[1]-=Ue[1],dn=2),_e())}function _s(){e.event.keyCode==32&&dn==2&&(ga[0]+=Be[1],ga[1]+=Ue[1],dn=0,_e())}function Ns(){var Lo=e.mouse(qr),Fo=!1;ya&&(Lo[0]+=ya[0],Lo[1]+=ya[1]),dn||(e.event.altKey?(Nn||(Nn=[(Be[0]+Be[1])/2,(Ue[0]+Ue[1])/2]),ga[0]=Be[+(Lo[0]{(function(e,t){typeof r6==\"object\"&&typeof eee!=\"undefined\"?t(r6):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(r6,function(e){\"use strict\";var t=new Date,r=new Date;function n(Ke,xt,bt,Lt){function St(Et){return Ke(Et=arguments.length===0?new Date:new Date(+Et)),Et}return St.floor=function(Et){return Ke(Et=new Date(+Et)),Et},St.ceil=function(Et){return Ke(Et=new Date(Et-1)),xt(Et,1),Ke(Et),Et},St.round=function(Et){var dt=St(Et),Ht=St.ceil(Et);return Et-dt0))return $t;do $t.push(fr=new Date(+Et)),xt(Et,Ht),Ke(Et);while(fr=dt)for(;Ke(dt),!Et(dt);)dt.setTime(dt-1)},function(dt,Ht){if(dt>=dt)if(Ht<0)for(;++Ht<=0;)for(;xt(dt,-1),!Et(dt););else for(;--Ht>=0;)for(;xt(dt,1),!Et(dt););})},bt&&(St.count=function(Et,dt){return t.setTime(+Et),r.setTime(+dt),Ke(t),Ke(r),Math.floor(bt(t,r))},St.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?St.filter(Lt?function(dt){return Lt(dt)%Et===0}:function(dt){return St.count(0,dt)%Et===0}):St}),St}var i=n(function(){},function(Ke,xt){Ke.setTime(+Ke+xt)},function(Ke,xt){return xt-Ke});i.every=function(Ke){return Ke=Math.floor(Ke),!isFinite(Ke)||!(Ke>0)?null:Ke>1?n(function(xt){xt.setTime(Math.floor(xt/Ke)*Ke)},function(xt,bt){xt.setTime(+xt+bt*Ke)},function(xt,bt){return(bt-xt)/Ke}):i};var a=i.range,o=1e3,s=6e4,l=36e5,u=864e5,c=6048e5,f=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds())},function(Ke,xt){Ke.setTime(+Ke+xt*o)},function(Ke,xt){return(xt-Ke)/o},function(Ke){return Ke.getUTCSeconds()}),h=f.range,d=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getMinutes()}),v=d.range,x=n(function(Ke){Ke.setTime(Ke-Ke.getMilliseconds()-Ke.getSeconds()*o-Ke.getMinutes()*s)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getHours()}),b=x.range,g=n(function(Ke){Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setDate(Ke.getDate()+xt)},function(Ke,xt){return(xt-Ke-(xt.getTimezoneOffset()-Ke.getTimezoneOffset())*s)/u},function(Ke){return Ke.getDate()-1}),E=g.range;function k(Ke){return n(function(xt){xt.setDate(xt.getDate()-(xt.getDay()+7-Ke)%7),xt.setHours(0,0,0,0)},function(xt,bt){xt.setDate(xt.getDate()+bt*7)},function(xt,bt){return(bt-xt-(bt.getTimezoneOffset()-xt.getTimezoneOffset())*s)/c})}var A=k(0),L=k(1),_=k(2),C=k(3),M=k(4),p=k(5),P=k(6),T=A.range,F=L.range,q=_.range,V=C.range,H=M.range,X=p.range,G=P.range,N=n(function(Ke){Ke.setDate(1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setMonth(Ke.getMonth()+xt)},function(Ke,xt){return xt.getMonth()-Ke.getMonth()+(xt.getFullYear()-Ke.getFullYear())*12},function(Ke){return Ke.getMonth()}),W=N.range,re=n(function(Ke){Ke.setMonth(0,1),Ke.setHours(0,0,0,0)},function(Ke,xt){Ke.setFullYear(Ke.getFullYear()+xt)},function(Ke,xt){return xt.getFullYear()-Ke.getFullYear()},function(Ke){return Ke.getFullYear()});re.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setFullYear(Math.floor(xt.getFullYear()/Ke)*Ke),xt.setMonth(0,1),xt.setHours(0,0,0,0)},function(xt,bt){xt.setFullYear(xt.getFullYear()+bt*Ke)})};var ae=re.range,_e=n(function(Ke){Ke.setUTCSeconds(0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*s)},function(Ke,xt){return(xt-Ke)/s},function(Ke){return Ke.getUTCMinutes()}),Me=_e.range,ke=n(function(Ke){Ke.setUTCMinutes(0,0,0)},function(Ke,xt){Ke.setTime(+Ke+xt*l)},function(Ke,xt){return(xt-Ke)/l},function(Ke){return Ke.getUTCHours()}),ge=ke.range,ie=n(function(Ke){Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCDate(Ke.getUTCDate()+xt)},function(Ke,xt){return(xt-Ke)/u},function(Ke){return Ke.getUTCDate()-1}),Te=ie.range;function Ee(Ke){return n(function(xt){xt.setUTCDate(xt.getUTCDate()-(xt.getUTCDay()+7-Ke)%7),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCDate(xt.getUTCDate()+bt*7)},function(xt,bt){return(bt-xt)/c})}var Ae=Ee(0),ze=Ee(1),Ce=Ee(2),me=Ee(3),Re=Ee(4),ce=Ee(5),Ge=Ee(6),nt=Ae.range,ct=ze.range,qt=Ce.range,rt=me.range,ot=Re.range,Rt=ce.range,kt=Ge.range,Ct=n(function(Ke){Ke.setUTCDate(1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCMonth(Ke.getUTCMonth()+xt)},function(Ke,xt){return xt.getUTCMonth()-Ke.getUTCMonth()+(xt.getUTCFullYear()-Ke.getUTCFullYear())*12},function(Ke){return Ke.getUTCMonth()}),Yt=Ct.range,xr=n(function(Ke){Ke.setUTCMonth(0,1),Ke.setUTCHours(0,0,0,0)},function(Ke,xt){Ke.setUTCFullYear(Ke.getUTCFullYear()+xt)},function(Ke,xt){return xt.getUTCFullYear()-Ke.getUTCFullYear()},function(Ke){return Ke.getUTCFullYear()});xr.every=function(Ke){return!isFinite(Ke=Math.floor(Ke))||!(Ke>0)?null:n(function(xt){xt.setUTCFullYear(Math.floor(xt.getUTCFullYear()/Ke)*Ke),xt.setUTCMonth(0,1),xt.setUTCHours(0,0,0,0)},function(xt,bt){xt.setUTCFullYear(xt.getUTCFullYear()+bt*Ke)})};var er=xr.range;e.timeDay=g,e.timeDays=E,e.timeFriday=p,e.timeFridays=X,e.timeHour=x,e.timeHours=b,e.timeInterval=n,e.timeMillisecond=i,e.timeMilliseconds=a,e.timeMinute=d,e.timeMinutes=v,e.timeMonday=L,e.timeMondays=F,e.timeMonth=N,e.timeMonths=W,e.timeSaturday=P,e.timeSaturdays=G,e.timeSecond=f,e.timeSeconds=h,e.timeSunday=A,e.timeSundays=T,e.timeThursday=M,e.timeThursdays=H,e.timeTuesday=_,e.timeTuesdays=q,e.timeWednesday=C,e.timeWednesdays=V,e.timeWeek=A,e.timeWeeks=T,e.timeYear=re,e.timeYears=ae,e.utcDay=ie,e.utcDays=Te,e.utcFriday=ce,e.utcFridays=Rt,e.utcHour=ke,e.utcHours=ge,e.utcMillisecond=i,e.utcMilliseconds=a,e.utcMinute=_e,e.utcMinutes=Me,e.utcMonday=ze,e.utcMondays=ct,e.utcMonth=Ct,e.utcMonths=Yt,e.utcSaturday=Ge,e.utcSaturdays=kt,e.utcSecond=f,e.utcSeconds=h,e.utcSunday=Ae,e.utcSundays=nt,e.utcThursday=Re,e.utcThursdays=ot,e.utcTuesday=Ce,e.utcTuesdays=qt,e.utcWednesday=me,e.utcWednesdays=rt,e.utcWeek=Ae,e.utcWeeks=nt,e.utcYear=xr,e.utcYears=er,Object.defineProperty(e,\"__esModule\",{value:!0})})});var e3=ye((i6,tee)=>{(function(e,t){typeof i6==\"object\"&&typeof tee!=\"undefined\"?t(i6,hq()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-time\"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(i6,function(e,t){\"use strict\";function r(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L);return Ye.setFullYear(Ne.y),Ye}return new Date(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L)}function n(Ne){if(0<=Ne.y&&Ne.y<100){var Ye=new Date(Date.UTC(-1,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L));return Ye.setUTCFullYear(Ne.y),Ye}return new Date(Date.UTC(Ne.y,Ne.m,Ne.d,Ne.H,Ne.M,Ne.S,Ne.L))}function i(Ne,Ye,Ve){return{y:Ne,m:Ye,d:Ve,H:0,M:0,S:0,L:0}}function a(Ne){var Ye=Ne.dateTime,Ve=Ne.date,Xe=Ne.time,ht=Ne.periods,Le=Ne.days,xe=Ne.shortDays,Se=Ne.months,lt=Ne.shortMonths,Gt=h(ht),Vt=d(ht),ar=h(Le),Qr=d(Le),ai=h(xe),jr=d(xe),ri=h(Se),bi=d(Se),nn=h(lt),Wi=d(lt),Ni={a:Si,A:Mi,b:Pi,B:Gi,c:null,d:N,e:N,f:Me,H:W,I:re,j:ae,L:_e,m:ke,M:ge,p:Ki,q:ka,Q:dt,s:Ht,S:ie,u:Te,U:Ee,V:Ae,w:ze,W:Ce,x:null,X:null,y:me,Y:Re,Z:ce,\"%\":Et},_n={a:jn,A:la,b:Fa,B:Ra,c:null,d:Ge,e:Ge,f:ot,H:nt,I:ct,j:qt,L:rt,m:Rt,M:kt,p:jo,q:oa,Q:dt,s:Ht,S:Ct,u:Yt,U:xr,V:er,w:Ke,W:xt,x:null,X:null,y:bt,Y:Lt,Z:St,\"%\":Et},$i={a:jt,A:Zt,b:yr,B:Fr,c:Zr,d:M,e:M,f:V,H:P,I:P,j:p,L:q,m:C,M:T,p:ft,q:_,Q:X,s:G,S:F,u:x,U:b,V:g,w:v,W:E,x:Vr,X:gi,y:A,Y:k,Z:L,\"%\":H};Ni.x=zn(Ve,Ni),Ni.X=zn(Xe,Ni),Ni.c=zn(Ye,Ni),_n.x=zn(Ve,_n),_n.X=zn(Xe,_n),_n.c=zn(Ye,_n);function zn(Sn,Ha){return function(oo){var xn=[],_t=-1,br=0,Hr=Sn.length,ti,zi,Yi;for(oo instanceof Date||(oo=new Date(+oo));++_t53)return null;\"w\"in xn||(xn.w=1),\"Z\"in xn?(br=n(i(xn.y,0,1)),Hr=br.getUTCDay(),br=Hr>4||Hr===0?t.utcMonday.ceil(br):t.utcMonday(br),br=t.utcDay.offset(br,(xn.V-1)*7),xn.y=br.getUTCFullYear(),xn.m=br.getUTCMonth(),xn.d=br.getUTCDate()+(xn.w+6)%7):(br=r(i(xn.y,0,1)),Hr=br.getDay(),br=Hr>4||Hr===0?t.timeMonday.ceil(br):t.timeMonday(br),br=t.timeDay.offset(br,(xn.V-1)*7),xn.y=br.getFullYear(),xn.m=br.getMonth(),xn.d=br.getDate()+(xn.w+6)%7)}else(\"W\"in xn||\"U\"in xn)&&(\"w\"in xn||(xn.w=\"u\"in xn?xn.u%7:\"W\"in xn?1:0),Hr=\"Z\"in xn?n(i(xn.y,0,1)).getUTCDay():r(i(xn.y,0,1)).getDay(),xn.m=0,xn.d=\"W\"in xn?(xn.w+6)%7+xn.W*7-(Hr+5)%7:xn.w+xn.U*7-(Hr+6)%7);return\"Z\"in xn?(xn.H+=xn.Z/100|0,xn.M+=xn.Z%100,n(xn)):r(xn)}}function It(Sn,Ha,oo,xn){for(var _t=0,br=Ha.length,Hr=oo.length,ti,zi;_t=Hr)return-1;if(ti=Ha.charCodeAt(_t++),ti===37){if(ti=Ha.charAt(_t++),zi=$i[ti in o?Ha.charAt(_t++):ti],!zi||(xn=zi(Sn,oo,xn))<0)return-1}else if(ti!=oo.charCodeAt(xn++))return-1}return xn}function ft(Sn,Ha,oo){var xn=Gt.exec(Ha.slice(oo));return xn?(Sn.p=Vt[xn[0].toLowerCase()],oo+xn[0].length):-1}function jt(Sn,Ha,oo){var xn=ai.exec(Ha.slice(oo));return xn?(Sn.w=jr[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zt(Sn,Ha,oo){var xn=ar.exec(Ha.slice(oo));return xn?(Sn.w=Qr[xn[0].toLowerCase()],oo+xn[0].length):-1}function yr(Sn,Ha,oo){var xn=nn.exec(Ha.slice(oo));return xn?(Sn.m=Wi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Fr(Sn,Ha,oo){var xn=ri.exec(Ha.slice(oo));return xn?(Sn.m=bi[xn[0].toLowerCase()],oo+xn[0].length):-1}function Zr(Sn,Ha,oo){return It(Sn,Ye,Ha,oo)}function Vr(Sn,Ha,oo){return It(Sn,Ve,Ha,oo)}function gi(Sn,Ha,oo){return It(Sn,Xe,Ha,oo)}function Si(Sn){return xe[Sn.getDay()]}function Mi(Sn){return Le[Sn.getDay()]}function Pi(Sn){return lt[Sn.getMonth()]}function Gi(Sn){return Se[Sn.getMonth()]}function Ki(Sn){return ht[+(Sn.getHours()>=12)]}function ka(Sn){return 1+~~(Sn.getMonth()/3)}function jn(Sn){return xe[Sn.getUTCDay()]}function la(Sn){return Le[Sn.getUTCDay()]}function Fa(Sn){return lt[Sn.getUTCMonth()]}function Ra(Sn){return Se[Sn.getUTCMonth()]}function jo(Sn){return ht[+(Sn.getUTCHours()>=12)]}function oa(Sn){return 1+~~(Sn.getUTCMonth()/3)}return{format:function(Sn){var Ha=zn(Sn+=\"\",Ni);return Ha.toString=function(){return Sn},Ha},parse:function(Sn){var Ha=Wn(Sn+=\"\",!1);return Ha.toString=function(){return Sn},Ha},utcFormat:function(Sn){var Ha=zn(Sn+=\"\",_n);return Ha.toString=function(){return Sn},Ha},utcParse:function(Sn){var Ha=Wn(Sn+=\"\",!0);return Ha.toString=function(){return Sn},Ha}}}var o={\"-\":\"\",_:\" \",0:\"0\"},s=/^\\s*\\d+/,l=/^%/,u=/[\\\\^$*+?|[\\]().{}]/g;function c(Ne,Ye,Ve){var Xe=Ne<0?\"-\":\"\",ht=(Xe?-Ne:Ne)+\"\",Le=ht.length;return Xe+(Le68?1900:2e3),Ve+Xe[0].length):-1}function L(Ne,Ye,Ve){var Xe=/^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.Z=Xe[1]?0:-(Xe[2]+(Xe[3]||\"00\")),Ve+Xe[0].length):-1}function _(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+1));return Xe?(Ne.q=Xe[0]*3-3,Ve+Xe[0].length):-1}function C(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.m=Xe[0]-1,Ve+Xe[0].length):-1}function M(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.d=+Xe[0],Ve+Xe[0].length):-1}function p(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.m=0,Ne.d=+Xe[0],Ve+Xe[0].length):-1}function P(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.H=+Xe[0],Ve+Xe[0].length):-1}function T(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.M=+Xe[0],Ve+Xe[0].length):-1}function F(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+2));return Xe?(Ne.S=+Xe[0],Ve+Xe[0].length):-1}function q(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+3));return Xe?(Ne.L=+Xe[0],Ve+Xe[0].length):-1}function V(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve,Ve+6));return Xe?(Ne.L=Math.floor(Xe[0]/1e3),Ve+Xe[0].length):-1}function H(Ne,Ye,Ve){var Xe=l.exec(Ye.slice(Ve,Ve+1));return Xe?Ve+Xe[0].length:-1}function X(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.Q=+Xe[0],Ve+Xe[0].length):-1}function G(Ne,Ye,Ve){var Xe=s.exec(Ye.slice(Ve));return Xe?(Ne.s=+Xe[0],Ve+Xe[0].length):-1}function N(Ne,Ye){return c(Ne.getDate(),Ye,2)}function W(Ne,Ye){return c(Ne.getHours(),Ye,2)}function re(Ne,Ye){return c(Ne.getHours()%12||12,Ye,2)}function ae(Ne,Ye){return c(1+t.timeDay.count(t.timeYear(Ne),Ne),Ye,3)}function _e(Ne,Ye){return c(Ne.getMilliseconds(),Ye,3)}function Me(Ne,Ye){return _e(Ne,Ye)+\"000\"}function ke(Ne,Ye){return c(Ne.getMonth()+1,Ye,2)}function ge(Ne,Ye){return c(Ne.getMinutes(),Ye,2)}function ie(Ne,Ye){return c(Ne.getSeconds(),Ye,2)}function Te(Ne){var Ye=Ne.getDay();return Ye===0?7:Ye}function Ee(Ne,Ye){return c(t.timeSunday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function Ae(Ne,Ye){var Ve=Ne.getDay();return Ne=Ve>=4||Ve===0?t.timeThursday(Ne):t.timeThursday.ceil(Ne),c(t.timeThursday.count(t.timeYear(Ne),Ne)+(t.timeYear(Ne).getDay()===4),Ye,2)}function ze(Ne){return Ne.getDay()}function Ce(Ne,Ye){return c(t.timeMonday.count(t.timeYear(Ne)-1,Ne),Ye,2)}function me(Ne,Ye){return c(Ne.getFullYear()%100,Ye,2)}function Re(Ne,Ye){return c(Ne.getFullYear()%1e4,Ye,4)}function ce(Ne){var Ye=Ne.getTimezoneOffset();return(Ye>0?\"-\":(Ye*=-1,\"+\"))+c(Ye/60|0,\"0\",2)+c(Ye%60,\"0\",2)}function Ge(Ne,Ye){return c(Ne.getUTCDate(),Ye,2)}function nt(Ne,Ye){return c(Ne.getUTCHours(),Ye,2)}function ct(Ne,Ye){return c(Ne.getUTCHours()%12||12,Ye,2)}function qt(Ne,Ye){return c(1+t.utcDay.count(t.utcYear(Ne),Ne),Ye,3)}function rt(Ne,Ye){return c(Ne.getUTCMilliseconds(),Ye,3)}function ot(Ne,Ye){return rt(Ne,Ye)+\"000\"}function Rt(Ne,Ye){return c(Ne.getUTCMonth()+1,Ye,2)}function kt(Ne,Ye){return c(Ne.getUTCMinutes(),Ye,2)}function Ct(Ne,Ye){return c(Ne.getUTCSeconds(),Ye,2)}function Yt(Ne){var Ye=Ne.getUTCDay();return Ye===0?7:Ye}function xr(Ne,Ye){return c(t.utcSunday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function er(Ne,Ye){var Ve=Ne.getUTCDay();return Ne=Ve>=4||Ve===0?t.utcThursday(Ne):t.utcThursday.ceil(Ne),c(t.utcThursday.count(t.utcYear(Ne),Ne)+(t.utcYear(Ne).getUTCDay()===4),Ye,2)}function Ke(Ne){return Ne.getUTCDay()}function xt(Ne,Ye){return c(t.utcMonday.count(t.utcYear(Ne)-1,Ne),Ye,2)}function bt(Ne,Ye){return c(Ne.getUTCFullYear()%100,Ye,2)}function Lt(Ne,Ye){return c(Ne.getUTCFullYear()%1e4,Ye,4)}function St(){return\"+0000\"}function Et(){return\"%\"}function dt(Ne){return+Ne}function Ht(Ne){return Math.floor(+Ne/1e3)}var $t;fr({dateTime:\"%x, %X\",date:\"%-m/%-d/%Y\",time:\"%-I:%M:%S %p\",periods:[\"AM\",\"PM\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]});function fr(Ne){return $t=a(Ne),e.timeFormat=$t.format,e.timeParse=$t.parse,e.utcFormat=$t.utcFormat,e.utcParse=$t.utcParse,$t}var _r=\"%Y-%m-%dT%H:%M:%S.%LZ\";function Br(Ne){return Ne.toISOString()}var Or=Date.prototype.toISOString?Br:e.utcFormat(_r);function Nr(Ne){var Ye=new Date(Ne);return isNaN(Ye)?null:Ye}var ut=+new Date(\"2000-01-01T00:00:00.000Z\")?Nr:e.utcParse(_r);e.isoFormat=Or,e.isoParse=ut,e.timeFormatDefaultLocale=fr,e.timeFormatLocale=a,Object.defineProperty(e,\"__esModule\",{value:!0})})});var dq=ye((n6,ree)=>{(function(e,t){typeof n6==\"object\"&&typeof ree!=\"undefined\"?t(n6):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e.d3=e.d3||{}))})(n6,function(e){\"use strict\";function t(C){return Math.abs(C=Math.round(C))>=1e21?C.toLocaleString(\"en\").replace(/,/g,\"\"):C.toString(10)}function r(C,M){if((p=(C=M?C.toExponential(M-1):C.toExponential()).indexOf(\"e\"))<0)return null;var p,P=C.slice(0,p);return[P.length>1?P[0]+P.slice(2):P,+C.slice(p+1)]}function n(C){return C=r(Math.abs(C)),C?C[1]:NaN}function i(C,M){return function(p,P){for(var T=p.length,F=[],q=0,V=C[0],H=0;T>0&&V>0&&(H+V+1>P&&(V=Math.max(1,P-H)),F.push(p.substring(T-=V,T+V)),!((H+=V+1)>P));)V=C[q=(q+1)%C.length];return F.reverse().join(M)}}function a(C){return function(M){return M.replace(/[0-9]/g,function(p){return C[+p]})}}var o=/^(?:(.)?([<>=^]))?([+\\-( ])?([$#])?(0)?(\\d+)?(,)?(\\.\\d+)?(~)?([a-z%])?$/i;function s(C){if(!(M=o.exec(C)))throw new Error(\"invalid format: \"+C);var M;return new l({fill:M[1],align:M[2],sign:M[3],symbol:M[4],zero:M[5],width:M[6],comma:M[7],precision:M[8]&&M[8].slice(1),trim:M[9],type:M[10]})}s.prototype=l.prototype;function l(C){this.fill=C.fill===void 0?\" \":C.fill+\"\",this.align=C.align===void 0?\">\":C.align+\"\",this.sign=C.sign===void 0?\"-\":C.sign+\"\",this.symbol=C.symbol===void 0?\"\":C.symbol+\"\",this.zero=!!C.zero,this.width=C.width===void 0?void 0:+C.width,this.comma=!!C.comma,this.precision=C.precision===void 0?void 0:+C.precision,this.trim=!!C.trim,this.type=C.type===void 0?\"\":C.type+\"\"}l.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?\"0\":\"\")+(this.width===void 0?\"\":Math.max(1,this.width|0))+(this.comma?\",\":\"\")+(this.precision===void 0?\"\":\".\"+Math.max(0,this.precision|0))+(this.trim?\"~\":\"\")+this.type};function u(C){e:for(var M=C.length,p=1,P=-1,T;p0&&(P=0);break}return P>0?C.slice(0,P)+C.slice(T+1):C}var c;function f(C,M){var p=r(C,M);if(!p)return C+\"\";var P=p[0],T=p[1],F=T-(c=Math.max(-8,Math.min(8,Math.floor(T/3)))*3)+1,q=P.length;return F===q?P:F>q?P+new Array(F-q+1).join(\"0\"):F>0?P.slice(0,F)+\".\"+P.slice(F):\"0.\"+new Array(1-F).join(\"0\")+r(C,Math.max(0,M+F-1))[0]}function h(C,M){var p=r(C,M);if(!p)return C+\"\";var P=p[0],T=p[1];return T<0?\"0.\"+new Array(-T).join(\"0\")+P:P.length>T+1?P.slice(0,T+1)+\".\"+P.slice(T+1):P+new Array(T-P.length+2).join(\"0\")}var d={\"%\":function(C,M){return(C*100).toFixed(M)},b:function(C){return Math.round(C).toString(2)},c:function(C){return C+\"\"},d:t,e:function(C,M){return C.toExponential(M)},f:function(C,M){return C.toFixed(M)},g:function(C,M){return C.toPrecision(M)},o:function(C){return Math.round(C).toString(8)},p:function(C,M){return h(C*100,M)},r:h,s:f,X:function(C){return Math.round(C).toString(16).toUpperCase()},x:function(C){return Math.round(C).toString(16)}};function v(C){return C}var x=Array.prototype.map,b=[\"y\",\"z\",\"a\",\"f\",\"p\",\"n\",\"\\xB5\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\",\"P\",\"E\",\"Z\",\"Y\"];function g(C){var M=C.grouping===void 0||C.thousands===void 0?v:i(x.call(C.grouping,Number),C.thousands+\"\"),p=C.currency===void 0?\"\":C.currency[0]+\"\",P=C.currency===void 0?\"\":C.currency[1]+\"\",T=C.decimal===void 0?\".\":C.decimal+\"\",F=C.numerals===void 0?v:a(x.call(C.numerals,String)),q=C.percent===void 0?\"%\":C.percent+\"\",V=C.minus===void 0?\"-\":C.minus+\"\",H=C.nan===void 0?\"NaN\":C.nan+\"\";function X(N){N=s(N);var W=N.fill,re=N.align,ae=N.sign,_e=N.symbol,Me=N.zero,ke=N.width,ge=N.comma,ie=N.precision,Te=N.trim,Ee=N.type;Ee===\"n\"?(ge=!0,Ee=\"g\"):d[Ee]||(ie===void 0&&(ie=12),Te=!0,Ee=\"g\"),(Me||W===\"0\"&&re===\"=\")&&(Me=!0,W=\"0\",re=\"=\");var Ae=_e===\"$\"?p:_e===\"#\"&&/[boxX]/.test(Ee)?\"0\"+Ee.toLowerCase():\"\",ze=_e===\"$\"?P:/[%p]/.test(Ee)?q:\"\",Ce=d[Ee],me=/[defgprs%]/.test(Ee);ie=ie===void 0?6:/[gprs]/.test(Ee)?Math.max(1,Math.min(21,ie)):Math.max(0,Math.min(20,ie));function Re(ce){var Ge=Ae,nt=ze,ct,qt,rt;if(Ee===\"c\")nt=Ce(ce)+nt,ce=\"\";else{ce=+ce;var ot=ce<0||1/ce<0;if(ce=isNaN(ce)?H:Ce(Math.abs(ce),ie),Te&&(ce=u(ce)),ot&&+ce==0&&ae!==\"+\"&&(ot=!1),Ge=(ot?ae===\"(\"?ae:V:ae===\"-\"||ae===\"(\"?\"\":ae)+Ge,nt=(Ee===\"s\"?b[8+c/3]:\"\")+nt+(ot&&ae===\"(\"?\")\":\"\"),me){for(ct=-1,qt=ce.length;++ctrt||rt>57){nt=(rt===46?T+ce.slice(ct+1):ce.slice(ct))+nt,ce=ce.slice(0,ct);break}}}ge&&!Me&&(ce=M(ce,1/0));var Rt=Ge.length+ce.length+nt.length,kt=Rt>1)+Ge+ce+nt+kt.slice(Rt);break;default:ce=kt+Ge+ce+nt;break}return F(ce)}return Re.toString=function(){return N+\"\"},Re}function G(N,W){var re=X((N=s(N),N.type=\"f\",N)),ae=Math.max(-8,Math.min(8,Math.floor(n(W)/3)))*3,_e=Math.pow(10,-ae),Me=b[8+ae/3];return function(ke){return re(_e*ke)+Me}}return{format:X,formatPrefix:G}}var E;k({decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],minus:\"-\"});function k(C){return E=g(C),e.format=E.format,e.formatPrefix=E.formatPrefix,E}function A(C){return Math.max(0,-n(Math.abs(C)))}function L(C,M){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(n(M)/3)))*3-n(Math.abs(C)))}function _(C,M){return C=Math.abs(C),M=Math.abs(M)-C,Math.max(0,n(M)-n(C))+1}e.FormatSpecifier=l,e.formatDefaultLocale=k,e.formatLocale=g,e.formatSpecifier=s,e.precisionFixed=A,e.precisionPrefix=L,e.precisionRound=_,Object.defineProperty(e,\"__esModule\",{value:!0})})});var nee=ye((CQt,iee)=>{\"use strict\";iee.exports=function(e){for(var t=e.length,r,n=0;n13)&&r!==32&&r!==133&&r!==160&&r!==5760&&r!==6158&&(r<8192||r>8205)&&r!==8232&&r!==8233&&r!==8239&&r!==8287&&r!==8288&&r!==12288&&r!==65279)return!1;return!0}});var uo=ye((LQt,aee)=>{\"use strict\";var UQe=nee();aee.exports=function(e){var t=typeof e;if(t===\"string\"){var r=e;if(e=+e,e===0&&UQe(r))return!1}else if(t!==\"number\")return!1;return e-e<1}});var es=ye((PQt,oee)=>{\"use strict\";oee.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:\"\\u2212\"}});var vq=ye((a6,see)=>{(function(e,t){typeof a6==\"object\"&&typeof see!=\"undefined\"?t(a6):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,t(e[\"base64-arraybuffer\"]={}))})(a6,function(e){\"use strict\";for(var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",r=typeof Uint8Array==\"undefined\"?[]:new Uint8Array(256),n=0;n>2],c+=t[(s[l]&3)<<4|s[l+1]>>4],c+=t[(s[l+1]&15)<<2|s[l+2]>>6],c+=t[s[l+2]&63];return u%3===2?c=c.substring(0,c.length-1)+\"=\":u%3===1&&(c=c.substring(0,c.length-2)+\"==\"),c},a=function(o){var s=o.length*.75,l=o.length,u,c=0,f,h,d,v;o[o.length-1]===\"=\"&&(s--,o[o.length-2]===\"=\"&&s--);var x=new ArrayBuffer(s),b=new Uint8Array(x);for(u=0;u>4,b[c++]=(h&15)<<4|d>>2,b[c++]=(d&3)<<6|v&63;return x};e.decode=a,e.encode=i,Object.defineProperty(e,\"__esModule\",{value:!0})})});var gy=ye((IQt,lee)=>{\"use strict\";lee.exports=function(t){return window&&window.process&&window.process.versions?Object.prototype.toString.call(t)===\"[object Object]\":Object.prototype.toString.call(t)===\"[object Object]\"&&Object.getPrototypeOf(t).hasOwnProperty(\"hasOwnProperty\")}});var vv=ye(mg=>{\"use strict\";var VQe=vq().decode,HQe=gy(),pq=Array.isArray,GQe=ArrayBuffer,jQe=DataView;function uee(e){return GQe.isView(e)&&!(e instanceof jQe)}mg.isTypedArray=uee;function o6(e){return pq(e)||uee(e)}mg.isArrayOrTypedArray=o6;function WQe(e){return!o6(e[0])}mg.isArray1D=WQe;mg.ensureArray=function(e,t){return pq(e)||(e=[]),e.length=t,e};var Md={u1c:typeof Uint8ClampedArray==\"undefined\"?void 0:Uint8ClampedArray,i1:typeof Int8Array==\"undefined\"?void 0:Int8Array,u1:typeof Uint8Array==\"undefined\"?void 0:Uint8Array,i2:typeof Int16Array==\"undefined\"?void 0:Int16Array,u2:typeof Uint16Array==\"undefined\"?void 0:Uint16Array,i4:typeof Int32Array==\"undefined\"?void 0:Int32Array,u4:typeof Uint32Array==\"undefined\"?void 0:Uint32Array,f4:typeof Float32Array==\"undefined\"?void 0:Float32Array,f8:typeof Float64Array==\"undefined\"?void 0:Float64Array};Md.uint8c=Md.u1c;Md.uint8=Md.u1;Md.int8=Md.i1;Md.uint16=Md.u2;Md.int16=Md.i2;Md.uint32=Md.u4;Md.int32=Md.i4;Md.float32=Md.f4;Md.float64=Md.f8;function gq(e){return e.constructor===ArrayBuffer}mg.isArrayBuffer=gq;mg.decodeTypedArraySpec=function(e){var t=[],r=ZQe(e),n=r.dtype,i=Md[n];if(!i)throw new Error('Error in dtype: \"'+n+'\"');var a=i.BYTES_PER_ELEMENT,o=r.bdata;gq(o)||(o=VQe(o));var s=r.shape===void 0?[o.byteLength/a]:(\"\"+r.shape).split(\",\");s.reverse();var l=s.length,u,c,f=+s[0],h=a*f,d=0;if(l===1)t=new i(o);else if(l===2)for(u=+s[1],c=0;c{\"use strict\";var fee=uo(),yq=vv().isArrayOrTypedArray;pee.exports=function(t,r){if(fee(r))r=String(r);else if(typeof r!=\"string\"||r.substr(r.length-4)===\"[-1]\")throw\"bad property string\";var n=r.split(\".\"),i,a,o,s;for(s=0;s{\"use strict\";var t3=ES(),$Qe=/^\\w*$/,QQe=0,gee=1,s6=2,mee=3,ob=4;yee.exports=function(t,r,n,i){n=n||\"name\",i=i||\"value\";var a,o,s,l={};r&&r.length?(s=t3(t,r),o=s.get()):o=t,r=r||\"\";var u={};if(o)for(a=0;a2)return l[d]=l[d]|s6,f.set(h,null);if(c){for(a=d;a{\"use strict\";var eet=/^(.*)(\\.[^\\.\\[\\]]+|\\[\\d\\])$/,tet=/^[^\\.\\[\\]]+$/;xee.exports=function(e,t){for(;t;){var r=e.match(eet);if(r)e=r[1];else if(e.match(tet))e=\"\";else throw new Error(\"bad relativeAttr call:\"+[e,t]);if(t.charAt(0)===\"^\")t=t.slice(1);else break}return e&&t.charAt(0)!==\"[\"?e+\".\"+t:e+t}});var l6=ye((qQt,wee)=>{\"use strict\";var ret=uo();wee.exports=function(t,r){if(t>0)return Math.log(t)/Math.LN10;var n=Math.log(Math.min(r[0],r[1]))/Math.LN10;return ret(n)||(n=Math.log(Math.max(r[0],r[1]))/Math.LN10-6),n}});var See=ye((OQt,Aee)=>{\"use strict\";var Tee=vv().isArrayOrTypedArray,kS=gy();Aee.exports=function e(t,r){for(var n in r){var i=r[n],a=t[n];if(a!==i)if(n.charAt(0)===\"_\"||typeof i==\"function\"){if(n in t)continue;t[n]=i}else if(Tee(i)&&Tee(a)&&kS(i[0])){if(n===\"customdata\"||n===\"ids\")continue;for(var o=Math.min(i.length,a.length),s=0;s{\"use strict\";function iet(e,t){var r=e%t;return r<0?r+t:r}function net(e,t){return Math.abs(e)>t/2?e-Math.round(e/t)*t:e}Mee.exports={mod:iet,modHalf:net}});var id=ye((NQt,u6)=>{(function(e){var t=/^\\s+/,r=/\\s+$/,n=0,i=e.round,a=e.min,o=e.max,s=e.random;function l(me,Re){if(me=me||\"\",Re=Re||{},me instanceof l)return me;if(!(this instanceof l))return new l(me,Re);var ce=u(me);this._originalInput=me,this._r=ce.r,this._g=ce.g,this._b=ce.b,this._a=ce.a,this._roundA=i(100*this._a)/100,this._format=Re.format||ce.format,this._gradientType=Re.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=ce.ok,this._tc_id=n++}l.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var me=this.toRgb();return(me.r*299+me.g*587+me.b*114)/1e3},getLuminance:function(){var me=this.toRgb(),Re,ce,Ge,nt,ct,qt;return Re=me.r/255,ce=me.g/255,Ge=me.b/255,Re<=.03928?nt=Re/12.92:nt=e.pow((Re+.055)/1.055,2.4),ce<=.03928?ct=ce/12.92:ct=e.pow((ce+.055)/1.055,2.4),Ge<=.03928?qt=Ge/12.92:qt=e.pow((Ge+.055)/1.055,2.4),.2126*nt+.7152*ct+.0722*qt},setAlpha:function(me){return this._a=N(me),this._roundA=i(100*this._a)/100,this},toHsv:function(){var me=d(this._r,this._g,this._b);return{h:me.h*360,s:me.s,v:me.v,a:this._a}},toHsvString:function(){var me=d(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.v*100);return this._a==1?\"hsv(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsva(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHsl:function(){var me=f(this._r,this._g,this._b);return{h:me.h*360,s:me.s,l:me.l,a:this._a}},toHslString:function(){var me=f(this._r,this._g,this._b),Re=i(me.h*360),ce=i(me.s*100),Ge=i(me.l*100);return this._a==1?\"hsl(\"+Re+\", \"+ce+\"%, \"+Ge+\"%)\":\"hsla(\"+Re+\", \"+ce+\"%, \"+Ge+\"%, \"+this._roundA+\")\"},toHex:function(me){return x(this._r,this._g,this._b,me)},toHexString:function(me){return\"#\"+this.toHex(me)},toHex8:function(me){return b(this._r,this._g,this._b,this._a,me)},toHex8String:function(me){return\"#\"+this.toHex8(me)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return this._a==1?\"rgb(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\")\":\"rgba(\"+i(this._r)+\", \"+i(this._g)+\", \"+i(this._b)+\", \"+this._roundA+\")\"},toPercentageRgb:function(){return{r:i(W(this._r,255)*100)+\"%\",g:i(W(this._g,255)*100)+\"%\",b:i(W(this._b,255)*100)+\"%\",a:this._a}},toPercentageRgbString:function(){return this._a==1?\"rgb(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%)\":\"rgba(\"+i(W(this._r,255)*100)+\"%, \"+i(W(this._g,255)*100)+\"%, \"+i(W(this._b,255)*100)+\"%, \"+this._roundA+\")\"},toName:function(){return this._a===0?\"transparent\":this._a<1?!1:X[x(this._r,this._g,this._b,!0)]||!1},toFilter:function(me){var Re=\"#\"+g(this._r,this._g,this._b,this._a),ce=Re,Ge=this._gradientType?\"GradientType = 1, \":\"\";if(me){var nt=l(me);ce=\"#\"+g(nt._r,nt._g,nt._b,nt._a)}return\"progid:DXImageTransform.Microsoft.gradient(\"+Ge+\"startColorstr=\"+Re+\",endColorstr=\"+ce+\")\"},toString:function(me){var Re=!!me;me=me||this._format;var ce=!1,Ge=this._a<1&&this._a>=0,nt=!Re&&Ge&&(me===\"hex\"||me===\"hex6\"||me===\"hex3\"||me===\"hex4\"||me===\"hex8\"||me===\"name\");return nt?me===\"name\"&&this._a===0?this.toName():this.toRgbString():(me===\"rgb\"&&(ce=this.toRgbString()),me===\"prgb\"&&(ce=this.toPercentageRgbString()),(me===\"hex\"||me===\"hex6\")&&(ce=this.toHexString()),me===\"hex3\"&&(ce=this.toHexString(!0)),me===\"hex4\"&&(ce=this.toHex8String(!0)),me===\"hex8\"&&(ce=this.toHex8String()),me===\"name\"&&(ce=this.toName()),me===\"hsl\"&&(ce=this.toHslString()),me===\"hsv\"&&(ce=this.toHsvString()),ce||this.toHexString())},clone:function(){return l(this.toString())},_applyModification:function(me,Re){var ce=me.apply(null,[this].concat([].slice.call(Re)));return this._r=ce._r,this._g=ce._g,this._b=ce._b,this.setAlpha(ce._a),this},lighten:function(){return this._applyModification(L,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(C,arguments)},desaturate:function(){return this._applyModification(E,arguments)},saturate:function(){return this._applyModification(k,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(M,arguments)},_applyCombination:function(me,Re){return me.apply(null,[this].concat([].slice.call(Re)))},analogous:function(){return this._applyCombination(q,arguments)},complement:function(){return this._applyCombination(p,arguments)},monochromatic:function(){return this._applyCombination(V,arguments)},splitcomplement:function(){return this._applyCombination(F,arguments)},triad:function(){return this._applyCombination(P,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},l.fromRatio=function(me,Re){if(typeof me==\"object\"){var ce={};for(var Ge in me)me.hasOwnProperty(Ge)&&(Ge===\"a\"?ce[Ge]=me[Ge]:ce[Ge]=ge(me[Ge]));me=ce}return l(me,Re)};function u(me){var Re={r:0,g:0,b:0},ce=1,Ge=null,nt=null,ct=null,qt=!1,rt=!1;return typeof me==\"string\"&&(me=ze(me)),typeof me==\"object\"&&(Ae(me.r)&&Ae(me.g)&&Ae(me.b)?(Re=c(me.r,me.g,me.b),qt=!0,rt=String(me.r).substr(-1)===\"%\"?\"prgb\":\"rgb\"):Ae(me.h)&&Ae(me.s)&&Ae(me.v)?(Ge=ge(me.s),nt=ge(me.v),Re=v(me.h,Ge,nt),qt=!0,rt=\"hsv\"):Ae(me.h)&&Ae(me.s)&&Ae(me.l)&&(Ge=ge(me.s),ct=ge(me.l),Re=h(me.h,Ge,ct),qt=!0,rt=\"hsl\"),me.hasOwnProperty(\"a\")&&(ce=me.a)),ce=N(ce),{ok:qt,format:me.format||rt,r:a(255,o(Re.r,0)),g:a(255,o(Re.g,0)),b:a(255,o(Re.b,0)),a:ce}}function c(me,Re,ce){return{r:W(me,255)*255,g:W(Re,255)*255,b:W(ce,255)*255}}function f(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=(Ge+nt)/2;if(Ge==nt)ct=qt=0;else{var ot=Ge-nt;switch(qt=rt>.5?ot/(2-Ge-nt):ot/(Ge+nt),Ge){case me:ct=(Re-ce)/ot+(Re1&&(Ct-=1),Ct<1/6?Rt+(kt-Rt)*6*Ct:Ct<1/2?kt:Ct<2/3?Rt+(kt-Rt)*(2/3-Ct)*6:Rt}if(Re===0)Ge=nt=ct=ce;else{var rt=ce<.5?ce*(1+Re):ce+Re-ce*Re,ot=2*ce-rt;Ge=qt(ot,rt,me+1/3),nt=qt(ot,rt,me),ct=qt(ot,rt,me-1/3)}return{r:Ge*255,g:nt*255,b:ct*255}}function d(me,Re,ce){me=W(me,255),Re=W(Re,255),ce=W(ce,255);var Ge=o(me,Re,ce),nt=a(me,Re,ce),ct,qt,rt=Ge,ot=Ge-nt;if(qt=Ge===0?0:ot/Ge,Ge==nt)ct=0;else{switch(Ge){case me:ct=(Re-ce)/ot+(Re>1)+720)%360;--Re;)Ge.h=(Ge.h+nt)%360,ct.push(l(Ge));return ct}function V(me,Re){Re=Re||6;for(var ce=l(me).toHsv(),Ge=ce.h,nt=ce.s,ct=ce.v,qt=[],rt=1/Re;Re--;)qt.push(l({h:Ge,s:nt,v:ct})),ct=(ct+rt)%1;return qt}l.mix=function(me,Re,ce){ce=ce===0?0:ce||50;var Ge=l(me).toRgb(),nt=l(Re).toRgb(),ct=ce/100,qt={r:(nt.r-Ge.r)*ct+Ge.r,g:(nt.g-Ge.g)*ct+Ge.g,b:(nt.b-Ge.b)*ct+Ge.b,a:(nt.a-Ge.a)*ct+Ge.a};return l(qt)},l.readability=function(me,Re){var ce=l(me),Ge=l(Re);return(e.max(ce.getLuminance(),Ge.getLuminance())+.05)/(e.min(ce.getLuminance(),Ge.getLuminance())+.05)},l.isReadable=function(me,Re,ce){var Ge=l.readability(me,Re),nt,ct;switch(ct=!1,nt=Ce(ce),nt.level+nt.size){case\"AAsmall\":case\"AAAlarge\":ct=Ge>=4.5;break;case\"AAlarge\":ct=Ge>=3;break;case\"AAAsmall\":ct=Ge>=7;break}return ct},l.mostReadable=function(me,Re,ce){var Ge=null,nt=0,ct,qt,rt,ot;ce=ce||{},qt=ce.includeFallbackColors,rt=ce.level,ot=ce.size;for(var Rt=0;Rtnt&&(nt=ct,Ge=l(Re[Rt]));return l.isReadable(me,Ge,{level:rt,size:ot})||!qt?Ge:(ce.includeFallbackColors=!1,l.mostReadable(me,[\"#fff\",\"#000\"],ce))};var H=l.names={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"0ff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000\",blanchedalmond:\"ffebcd\",blue:\"00f\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",burntsienna:\"ea7e5d\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"0ff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkgrey:\"a9a9a9\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkslategrey:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dimgrey:\"696969\",dodgerblue:\"1e90ff\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"f0f\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",grey:\"808080\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgray:\"d3d3d3\",lightgreen:\"90ee90\",lightgrey:\"d3d3d3\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslategray:\"789\",lightslategrey:\"789\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"0f0\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"f0f\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370db\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"db7093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",rebeccapurple:\"663399\",red:\"f00\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",slategrey:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",wheat:\"f5deb3\",white:\"fff\",whitesmoke:\"f5f5f5\",yellow:\"ff0\",yellowgreen:\"9acd32\"},X=l.hexNames=G(H);function G(me){var Re={};for(var ce in me)me.hasOwnProperty(ce)&&(Re[me[ce]]=ce);return Re}function N(me){return me=parseFloat(me),(isNaN(me)||me<0||me>1)&&(me=1),me}function W(me,Re){_e(me)&&(me=\"100%\");var ce=Me(me);return me=a(Re,o(0,parseFloat(me))),ce&&(me=parseInt(me*Re,10)/100),e.abs(me-Re)<1e-6?1:me%Re/parseFloat(Re)}function re(me){return a(1,o(0,me))}function ae(me){return parseInt(me,16)}function _e(me){return typeof me==\"string\"&&me.indexOf(\".\")!=-1&&parseFloat(me)===1}function Me(me){return typeof me==\"string\"&&me.indexOf(\"%\")!=-1}function ke(me){return me.length==1?\"0\"+me:\"\"+me}function ge(me){return me<=1&&(me=me*100+\"%\"),me}function ie(me){return e.round(parseFloat(me)*255).toString(16)}function Te(me){return ae(me)/255}var Ee=function(){var me=\"[-\\\\+]?\\\\d+%?\",Re=\"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\",ce=\"(?:\"+Re+\")|(?:\"+me+\")\",Ge=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\",nt=\"[\\\\s|\\\\(]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")[,|\\\\s]+(\"+ce+\")\\\\s*\\\\)?\";return{CSS_UNIT:new RegExp(ce),rgb:new RegExp(\"rgb\"+Ge),rgba:new RegExp(\"rgba\"+nt),hsl:new RegExp(\"hsl\"+Ge),hsla:new RegExp(\"hsla\"+nt),hsv:new RegExp(\"hsv\"+Ge),hsva:new RegExp(\"hsva\"+nt),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Ae(me){return!!Ee.CSS_UNIT.exec(me)}function ze(me){me=me.replace(t,\"\").replace(r,\"\").toLowerCase();var Re=!1;if(H[me])me=H[me],Re=!0;else if(me==\"transparent\")return{r:0,g:0,b:0,a:0,format:\"name\"};var ce;return(ce=Ee.rgb.exec(me))?{r:ce[1],g:ce[2],b:ce[3]}:(ce=Ee.rgba.exec(me))?{r:ce[1],g:ce[2],b:ce[3],a:ce[4]}:(ce=Ee.hsl.exec(me))?{h:ce[1],s:ce[2],l:ce[3]}:(ce=Ee.hsla.exec(me))?{h:ce[1],s:ce[2],l:ce[3],a:ce[4]}:(ce=Ee.hsv.exec(me))?{h:ce[1],s:ce[2],v:ce[3]}:(ce=Ee.hsva.exec(me))?{h:ce[1],s:ce[2],v:ce[3],a:ce[4]}:(ce=Ee.hex8.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),a:Te(ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex6.exec(me))?{r:ae(ce[1]),g:ae(ce[2]),b:ae(ce[3]),format:Re?\"name\":\"hex\"}:(ce=Ee.hex4.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),a:Te(ce[4]+\"\"+ce[4]),format:Re?\"name\":\"hex8\"}:(ce=Ee.hex3.exec(me))?{r:ae(ce[1]+\"\"+ce[1]),g:ae(ce[2]+\"\"+ce[2]),b:ae(ce[3]+\"\"+ce[3]),format:Re?\"name\":\"hex\"}:!1}function Ce(me){var Re,ce;return me=me||{level:\"AA\",size:\"small\"},Re=(me.level||\"AA\").toUpperCase(),ce=(me.size||\"small\").toLowerCase(),Re!==\"AA\"&&Re!==\"AAA\"&&(Re=\"AA\"),ce!==\"small\"&&ce!==\"large\"&&(ce=\"small\"),{level:Re,size:ce}}typeof u6!=\"undefined\"&&u6.exports?u6.exports=l:typeof define==\"function\"&&define.amd?define(function(){return l}):window.tinycolor=l})(Math)});var no=ye(PS=>{\"use strict\";var Eee=gy(),CS=Array.isArray;function aet(e,t){var r,n;for(r=0;r{\"use strict\";kee.exports=function(e){var t=e.variantValues,r=e.editType,n=e.colorEditType;n===void 0&&(n=r);var i={editType:r,valType:\"integer\",min:1,max:1e3,extras:[\"normal\",\"bold\"],dflt:\"normal\"};e.noNumericWeightValues&&(i.valType=\"enumerated\",i.values=i.extras,i.extras=void 0,i.min=void 0,i.max=void 0);var a={family:{valType:\"string\",noBlank:!0,strict:!0,editType:r},size:{valType:\"number\",min:1,editType:r},color:{valType:\"color\",editType:n},weight:i,style:{editType:r,valType:\"enumerated\",values:[\"normal\",\"italic\"],dflt:\"normal\"},variant:e.noFontVariant?void 0:{editType:r,valType:\"enumerated\",values:t||[\"normal\",\"small-caps\",\"all-small-caps\",\"all-petite-caps\",\"petite-caps\",\"unicase\"],dflt:\"normal\"},textcase:e.noFontTextcase?void 0:{editType:r,valType:\"enumerated\",values:[\"normal\",\"word caps\",\"upper\",\"lower\"],dflt:\"normal\"},lineposition:e.noFontLineposition?void 0:{editType:r,valType:\"flaglist\",flags:[\"under\",\"over\",\"through\"],extras:[\"none\"],dflt:\"none\"},shadow:e.noFontShadow?void 0:{editType:r,valType:\"string\",dflt:e.autoShadowDflt?\"auto\":\"none\"},editType:r};return e.autoSize&&(a.size.dflt=\"auto\"),e.autoColor&&(a.color.dflt=\"auto\"),e.arrayOk&&(a.family.arrayOk=!0,a.weight.arrayOk=!0,a.style.arrayOk=!0,e.noFontVariant||(a.variant.arrayOk=!0),e.noFontTextcase||(a.textcase.arrayOk=!0),e.noFontLineposition||(a.lineposition.arrayOk=!0),e.noFontShadow||(a.shadow.arrayOk=!0),a.size.arrayOk=!0,a.color.arrayOk=!0),a}});var IS=ye((HQt,Cee)=>{\"use strict\";Cee.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:\"Arial, sans-serif\",HOVERMINTIME:50,HOVERID:\"-hover\"}});var B1=ye((GQt,Iee)=>{\"use strict\";var Lee=IS(),Pee=Su(),_q=Pee({editType:\"none\"});_q.family.dflt=Lee.HOVERFONT;_q.size.dflt=Lee.HOVERFONTSIZE;Iee.exports={clickmode:{valType:\"flaglist\",flags:[\"event\",\"select\"],dflt:\"event\",editType:\"plot\",extras:[\"none\"]},dragmode:{valType:\"enumerated\",values:[\"zoom\",\"pan\",\"select\",\"lasso\",\"drawclosedpath\",\"drawopenpath\",\"drawline\",\"drawrect\",\"drawcircle\",\"orbit\",\"turntable\",!1],dflt:\"zoom\",editType:\"modebar\"},hovermode:{valType:\"enumerated\",values:[\"x\",\"y\",\"closest\",!1,\"x unified\",\"y unified\"],dflt:\"closest\",editType:\"modebar\"},hoversubplots:{valType:\"enumerated\",values:[\"single\",\"overlaying\",\"axis\"],dflt:\"overlaying\",editType:\"none\"},hoverdistance:{valType:\"integer\",min:-1,dflt:20,editType:\"none\"},spikedistance:{valType:\"integer\",min:-1,dflt:-1,editType:\"none\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"none\"},bordercolor:{valType:\"color\",editType:\"none\"},font:_q,grouptitlefont:Pee({editType:\"none\"}),align:{valType:\"enumerated\",values:[\"left\",\"right\",\"auto\"],dflt:\"auto\",editType:\"none\"},namelength:{valType:\"integer\",min:-1,dflt:15,editType:\"none\"},editType:\"none\"},selectdirection:{valType:\"enumerated\",values:[\"h\",\"v\",\"d\",\"any\"],dflt:\"any\",editType:\"none\"}}});var i3=ye((jQt,Ree)=>{\"use strict\";var oet=Su(),c6=B1().hoverlabel,f6=no().extendFlat;Ree.exports={hoverlabel:{bgcolor:f6({},c6.bgcolor,{arrayOk:!0}),bordercolor:f6({},c6.bordercolor,{arrayOk:!0}),font:oet({arrayOk:!0,editType:\"none\"}),align:f6({},c6.align,{arrayOk:!0}),namelength:f6({},c6.namelength,{arrayOk:!0}),editType:\"none\"}}});var vl=ye((WQt,Dee)=>{\"use strict\";var set=Su(),uet=i3();Dee.exports={type:{valType:\"enumerated\",values:[],dflt:\"scatter\",editType:\"calc+clearAxisTypes\",_noTemplating:!0},visible:{valType:\"enumerated\",values:[!0,!1,\"legendonly\"],dflt:!0,editType:\"calc\"},showlegend:{valType:\"boolean\",dflt:!0,editType:\"style\"},legend:{valType:\"subplotid\",dflt:\"legend\",editType:\"style\"},legendgroup:{valType:\"string\",dflt:\"\",editType:\"style\"},legendgrouptitle:{text:{valType:\"string\",dflt:\"\",editType:\"style\"},font:set({editType:\"style\"}),editType:\"style\"},legendrank:{valType:\"number\",dflt:1e3,editType:\"style\"},legendwidth:{valType:\"number\",min:0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"style\"},name:{valType:\"string\",editType:\"style\"},uid:{valType:\"string\",editType:\"plot\",anim:!0},ids:{valType:\"data_array\",editType:\"calc\",anim:!0},customdata:{valType:\"data_array\",editType:\"calc\"},meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},selectedpoints:{valType:\"any\",editType:\"calc\"},hoverinfo:{valType:\"flaglist\",flags:[\"x\",\"y\",\"z\",\"text\",\"name\"],extras:[\"all\",\"none\",\"skip\"],arrayOk:!0,dflt:\"all\",editType:\"none\"},hoverlabel:uet.hoverlabel,stream:{token:{valType:\"string\",noBlank:!0,strict:!0,editType:\"calc\"},maxpoints:{valType:\"number\",min:0,max:1e4,dflt:500,editType:\"calc\"},editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"}}});var sb=ye((ZQt,qee)=>{\"use strict\";var cet=id(),h6={Greys:[[0,\"rgb(0,0,0)\"],[1,\"rgb(255,255,255)\"]],YlGnBu:[[0,\"rgb(8,29,88)\"],[.125,\"rgb(37,52,148)\"],[.25,\"rgb(34,94,168)\"],[.375,\"rgb(29,145,192)\"],[.5,\"rgb(65,182,196)\"],[.625,\"rgb(127,205,187)\"],[.75,\"rgb(199,233,180)\"],[.875,\"rgb(237,248,217)\"],[1,\"rgb(255,255,217)\"]],Greens:[[0,\"rgb(0,68,27)\"],[.125,\"rgb(0,109,44)\"],[.25,\"rgb(35,139,69)\"],[.375,\"rgb(65,171,93)\"],[.5,\"rgb(116,196,118)\"],[.625,\"rgb(161,217,155)\"],[.75,\"rgb(199,233,192)\"],[.875,\"rgb(229,245,224)\"],[1,\"rgb(247,252,245)\"]],YlOrRd:[[0,\"rgb(128,0,38)\"],[.125,\"rgb(189,0,38)\"],[.25,\"rgb(227,26,28)\"],[.375,\"rgb(252,78,42)\"],[.5,\"rgb(253,141,60)\"],[.625,\"rgb(254,178,76)\"],[.75,\"rgb(254,217,118)\"],[.875,\"rgb(255,237,160)\"],[1,\"rgb(255,255,204)\"]],Bluered:[[0,\"rgb(0,0,255)\"],[1,\"rgb(255,0,0)\"]],RdBu:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(106,137,247)\"],[.5,\"rgb(190,190,190)\"],[.6,\"rgb(220,170,132)\"],[.7,\"rgb(230,145,90)\"],[1,\"rgb(178,10,28)\"]],Reds:[[0,\"rgb(220,220,220)\"],[.2,\"rgb(245,195,157)\"],[.4,\"rgb(245,160,105)\"],[1,\"rgb(178,10,28)\"]],Blues:[[0,\"rgb(5,10,172)\"],[.35,\"rgb(40,60,190)\"],[.5,\"rgb(70,100,245)\"],[.6,\"rgb(90,120,245)\"],[.7,\"rgb(106,137,247)\"],[1,\"rgb(220,220,220)\"]],Picnic:[[0,\"rgb(0,0,255)\"],[.1,\"rgb(51,153,255)\"],[.2,\"rgb(102,204,255)\"],[.3,\"rgb(153,204,255)\"],[.4,\"rgb(204,204,255)\"],[.5,\"rgb(255,255,255)\"],[.6,\"rgb(255,204,255)\"],[.7,\"rgb(255,153,255)\"],[.8,\"rgb(255,102,204)\"],[.9,\"rgb(255,102,102)\"],[1,\"rgb(255,0,0)\"]],Rainbow:[[0,\"rgb(150,0,90)\"],[.125,\"rgb(0,0,200)\"],[.25,\"rgb(0,25,255)\"],[.375,\"rgb(0,152,255)\"],[.5,\"rgb(44,255,150)\"],[.625,\"rgb(151,255,0)\"],[.75,\"rgb(255,234,0)\"],[.875,\"rgb(255,111,0)\"],[1,\"rgb(255,0,0)\"]],Portland:[[0,\"rgb(12,51,131)\"],[.25,\"rgb(10,136,186)\"],[.5,\"rgb(242,211,56)\"],[.75,\"rgb(242,143,56)\"],[1,\"rgb(217,30,30)\"]],Jet:[[0,\"rgb(0,0,131)\"],[.125,\"rgb(0,60,170)\"],[.375,\"rgb(5,255,255)\"],[.625,\"rgb(255,255,0)\"],[.875,\"rgb(250,0,0)\"],[1,\"rgb(128,0,0)\"]],Hot:[[0,\"rgb(0,0,0)\"],[.3,\"rgb(230,0,0)\"],[.6,\"rgb(255,210,0)\"],[1,\"rgb(255,255,255)\"]],Blackbody:[[0,\"rgb(0,0,0)\"],[.2,\"rgb(230,0,0)\"],[.4,\"rgb(230,210,0)\"],[.7,\"rgb(255,255,255)\"],[1,\"rgb(160,200,255)\"]],Earth:[[0,\"rgb(0,0,130)\"],[.1,\"rgb(0,180,180)\"],[.2,\"rgb(40,210,40)\"],[.4,\"rgb(230,230,50)\"],[.6,\"rgb(120,70,20)\"],[1,\"rgb(255,255,255)\"]],Electric:[[0,\"rgb(0,0,0)\"],[.15,\"rgb(30,0,100)\"],[.4,\"rgb(120,0,100)\"],[.6,\"rgb(160,90,0)\"],[.8,\"rgb(230,200,0)\"],[1,\"rgb(255,250,220)\"]],Viridis:[[0,\"#440154\"],[.06274509803921569,\"#48186a\"],[.12549019607843137,\"#472d7b\"],[.18823529411764706,\"#424086\"],[.25098039215686274,\"#3b528b\"],[.3137254901960784,\"#33638d\"],[.3764705882352941,\"#2c728e\"],[.4392156862745098,\"#26828e\"],[.5019607843137255,\"#21918c\"],[.5647058823529412,\"#1fa088\"],[.6274509803921569,\"#28ae80\"],[.6901960784313725,\"#3fbc73\"],[.7529411764705882,\"#5ec962\"],[.8156862745098039,\"#84d44b\"],[.8784313725490196,\"#addc30\"],[.9411764705882353,\"#d8e219\"],[1,\"#fde725\"]],Cividis:[[0,\"rgb(0,32,76)\"],[.058824,\"rgb(0,42,102)\"],[.117647,\"rgb(0,52,110)\"],[.176471,\"rgb(39,63,108)\"],[.235294,\"rgb(60,74,107)\"],[.294118,\"rgb(76,85,107)\"],[.352941,\"rgb(91,95,109)\"],[.411765,\"rgb(104,106,112)\"],[.470588,\"rgb(117,117,117)\"],[.529412,\"rgb(131,129,120)\"],[.588235,\"rgb(146,140,120)\"],[.647059,\"rgb(161,152,118)\"],[.705882,\"rgb(176,165,114)\"],[.764706,\"rgb(192,177,109)\"],[.823529,\"rgb(209,191,102)\"],[.882353,\"rgb(225,204,92)\"],[.941176,\"rgb(243,219,79)\"],[1,\"rgb(255,233,69)\"]]},zee=h6.RdBu;function fet(e,t){if(t||(t=zee),!e)return t;function r(){try{e=h6[e]||JSON.parse(e)}catch(n){e=t}}return typeof e==\"string\"&&(r(),typeof e==\"string\"&&r()),Fee(e)?e:t}function Fee(e){var t=0;if(!Array.isArray(e)||e.length<2||!e[0]||!e[e.length-1]||+e[0][0]!=0||+e[e.length-1][0]!=1)return!1;for(var r=0;r{\"use strict\";lb.defaults=[\"#1f77b4\",\"#ff7f0e\",\"#2ca02c\",\"#d62728\",\"#9467bd\",\"#8c564b\",\"#e377c2\",\"#7f7f7f\",\"#bcbd22\",\"#17becf\"];lb.defaultLine=\"#444\";lb.lightLine=\"#eee\";lb.background=\"#fff\";lb.borderLine=\"#BEC8D9\";lb.lightFraction=100*10/11});var va=ye((YQt,Oee)=>{\"use strict\";var xp=id(),det=uo(),vet=vv().isTypedArray,nd=Oee.exports={},d6=dh();nd.defaults=d6.defaults;var pet=nd.defaultLine=d6.defaultLine;nd.lightLine=d6.lightLine;var bq=nd.background=d6.background;nd.tinyRGB=function(e){var t=e.toRgb();return\"rgb(\"+Math.round(t.r)+\", \"+Math.round(t.g)+\", \"+Math.round(t.b)+\")\"};nd.rgb=function(e){return nd.tinyRGB(xp(e))};nd.opacity=function(e){return e?xp(e).getAlpha():0};nd.addOpacity=function(e,t){var r=xp(e).toRgb();return\"rgba(\"+Math.round(r.r)+\", \"+Math.round(r.g)+\", \"+Math.round(r.b)+\", \"+t+\")\"};nd.combine=function(e,t){var r=xp(e).toRgb();if(r.a===1)return xp(e).toRgbString();var n=xp(t||bq).toRgb(),i=n.a===1?n:{r:255*(1-n.a)+n.r*n.a,g:255*(1-n.a)+n.g*n.a,b:255*(1-n.a)+n.b*n.a},a={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return xp(a).toRgbString()};nd.interpolate=function(e,t,r){var n=xp(e).toRgb(),i=xp(t).toRgb(),a={r:r*n.r+(1-r)*i.r,g:r*n.g+(1-r)*i.g,b:r*n.b+(1-r)*i.b};return xp(a).toRgbString()};nd.contrast=function(e,t,r){var n=xp(e);n.getAlpha()!==1&&(n=xp(nd.combine(e,bq)));var i=n.isDark()?t?n.lighten(t):bq:r?n.darken(r):pet;return i.toString()};nd.stroke=function(e,t){var r=xp(t);e.style({stroke:nd.tinyRGB(r),\"stroke-opacity\":r.getAlpha()})};nd.fill=function(e,t){var r=xp(t);e.style({fill:nd.tinyRGB(r),\"fill-opacity\":r.getAlpha()})};nd.clean=function(e){if(!(!e||typeof e!=\"object\")){var t=Object.keys(e),r,n,i,a;for(r=0;r=0)))return e;if(a===3)n[a]>1&&(n[a]=1);else if(n[a]>=1)return e}var o=Math.round(n[0]*255)+\", \"+Math.round(n[1]*255)+\", \"+Math.round(n[2]*255);return i?\"rgba(\"+o+\", \"+n[3]+\")\":\"rgb(\"+o+\")\"}});var N1=ye((KQt,Bee)=>{\"use strict\";Bee.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}});var n3=ye(Nee=>{\"use strict\";Nee.counter=function(e,t,r,n){var i=(t||\"\")+(r?\"\":\"$\"),a=n===!1?\"\":\"^\";return e===\"xy\"?new RegExp(a+\"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?\"+i):new RegExp(a+e+\"([2-9]|[1-9][0-9]+)?\"+i)}});var Gee=ye(bp=>{\"use strict\";var wq=uo(),Uee=id(),Vee=no().extendFlat,get=vl(),met=sb(),yet=va(),_et=N1().DESELECTDIM,a3=ES(),Hee=n3().counter,xet=r3().modHalf,dm=vv().isArrayOrTypedArray,U1=vv().isTypedArraySpec,V1=vv().decodeTypedArraySpec;bp.valObjectMeta={data_array:{coerceFunction:function(e,t,r){t.set(dm(e)?e:U1(e)?V1(e):r)}},enumerated:{coerceFunction:function(e,t,r,n){n.coerceNumber&&(e=+e),n.values.indexOf(e)===-1?t.set(r):t.set(e)},validateFunction:function(e,t){t.coerceNumber&&(e=+e);for(var r=t.values,n=0;nn.max?t.set(r):t.set(+e)}},integer:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}U1(e)&&(e=V1(e)),e%1||!wq(e)||n.min!==void 0&&en.max?t.set(r):t.set(+e)}},string:{coerceFunction:function(e,t,r,n){if(typeof e!=\"string\"){var i=typeof e==\"number\";n.strict===!0||!i?t.set(r):t.set(String(e))}else n.noBlank&&!e?t.set(r):t.set(e)}},color:{coerceFunction:function(e,t,r){U1(e)&&(e=V1(e)),Uee(e).isValid()?t.set(e):t.set(r)}},colorlist:{coerceFunction:function(e,t,r){function n(i){return Uee(i).isValid()}!Array.isArray(e)||!e.length?t.set(r):e.every(n)?t.set(e):t.set(r)}},colorscale:{coerceFunction:function(e,t,r){t.set(met.get(e,r))}},angle:{coerceFunction:function(e,t,r){U1(e)&&(e=V1(e)),e===\"auto\"?t.set(\"auto\"):wq(e)?t.set(xet(+e,360)):t.set(r)}},subplotid:{coerceFunction:function(e,t,r,n){var i=n.regex||Hee(r);if(typeof e==\"string\"&&i.test(e)){t.set(e);return}t.set(r)},validateFunction:function(e,t){var r=t.dflt;return e===r?!0:typeof e!=\"string\"?!1:!!Hee(r).test(e)}},flaglist:{coerceFunction:function(e,t,r,n){if((n.extras||[]).indexOf(e)!==-1){t.set(e);return}if(typeof e!=\"string\"){t.set(r);return}for(var i=e.split(\"+\"),a=0;a{\"use strict\";var jee={staticPlot:{valType:\"boolean\",dflt:!1},typesetMath:{valType:\"boolean\",dflt:!0},plotlyServerURL:{valType:\"string\",dflt:\"\"},editable:{valType:\"boolean\",dflt:!1},edits:{annotationPosition:{valType:\"boolean\",dflt:!1},annotationTail:{valType:\"boolean\",dflt:!1},annotationText:{valType:\"boolean\",dflt:!1},axisTitleText:{valType:\"boolean\",dflt:!1},colorbarPosition:{valType:\"boolean\",dflt:!1},colorbarTitleText:{valType:\"boolean\",dflt:!1},legendPosition:{valType:\"boolean\",dflt:!1},legendText:{valType:\"boolean\",dflt:!1},shapePosition:{valType:\"boolean\",dflt:!1},titleText:{valType:\"boolean\",dflt:!1}},editSelection:{valType:\"boolean\",dflt:!0},autosizable:{valType:\"boolean\",dflt:!1},responsive:{valType:\"boolean\",dflt:!1},fillFrame:{valType:\"boolean\",dflt:!1},frameMargins:{valType:\"number\",dflt:0,min:0,max:.5},scrollZoom:{valType:\"flaglist\",flags:[\"cartesian\",\"gl3d\",\"geo\",\"mapbox\",\"map\"],extras:[!0,!1],dflt:\"gl3d+geo+map\"},doubleClick:{valType:\"enumerated\",values:[!1,\"reset\",\"autosize\",\"reset+autosize\"],dflt:\"reset+autosize\"},doubleClickDelay:{valType:\"number\",dflt:300,min:0},showAxisDragHandles:{valType:\"boolean\",dflt:!0},showAxisRangeEntryBoxes:{valType:\"boolean\",dflt:!0},showTips:{valType:\"boolean\",dflt:!0},showLink:{valType:\"boolean\",dflt:!1},linkText:{valType:\"string\",dflt:\"Edit chart\",noBlank:!0},sendData:{valType:\"boolean\",dflt:!0},showSources:{valType:\"any\",dflt:!1},displayModeBar:{valType:\"enumerated\",values:[\"hover\",!0,!1],dflt:\"hover\"},showSendToCloud:{valType:\"boolean\",dflt:!1},showEditInChartStudio:{valType:\"boolean\",dflt:!1},modeBarButtonsToRemove:{valType:\"any\",dflt:[]},modeBarButtonsToAdd:{valType:\"any\",dflt:[]},modeBarButtons:{valType:\"any\",dflt:!1},toImageButtonOptions:{valType:\"any\",dflt:{}},displaylogo:{valType:\"boolean\",dflt:!0},watermark:{valType:\"boolean\",dflt:!1},plotGlPixelRatio:{valType:\"number\",dflt:2,min:1,max:4},setBackground:{valType:\"any\",dflt:\"transparent\"},topojsonURL:{valType:\"string\",noBlank:!0,dflt:\"https://cdn.plot.ly/\"},mapboxAccessToken:{valType:\"string\",dflt:null},logging:{valType:\"integer\",min:0,max:2,dflt:1},notifyOnLogging:{valType:\"integer\",min:0,max:2,dflt:0},queueLength:{valType:\"integer\",min:0,dflt:0},locale:{valType:\"string\",dflt:\"en-US\"},locales:{valType:\"any\",dflt:{}}},Wee={};function Zee(e,t){for(var r in e){var n=e[r];n.valType?t[r]=n.dflt:(t[r]||(t[r]={}),Zee(n,t[r]))}}Zee(jee,Wee);Xee.exports={configAttributes:jee,dfltConfig:Wee}});var Aq=ye((eer,Yee)=>{\"use strict\";var Tq=xa(),bet=uo(),RS=[];Yee.exports=function(e,t){if(RS.indexOf(e)!==-1)return;RS.push(e);var r=1e3;bet(t)?r=t:t===\"long\"&&(r=3e3);var n=Tq.select(\"body\").selectAll(\".plotly-notifier\").data([0]);n.enter().append(\"div\").classed(\"plotly-notifier\",!0);var i=n.selectAll(\".notifier-note\").data(RS);function a(o){o.duration(700).style(\"opacity\",0).each(\"end\",function(s){var l=RS.indexOf(s);l!==-1&&RS.splice(l,1),Tq.select(this).remove()})}i.enter().append(\"div\").classed(\"notifier-note\",!0).style(\"opacity\",0).each(function(o){var s=Tq.select(this);s.append(\"button\").classed(\"notifier-close\",!0).html(\"×\").on(\"click\",function(){s.transition().call(a)});for(var l=s.append(\"p\"),u=o.split(//g),c=0;c{\"use strict\";var o3=ub().dfltConfig,Sq=Aq(),Mq=Kee.exports={};Mq.log=function(){var e;if(o3.logging>1){var t=[\"LOG:\"];for(e=0;e1){var r=[];for(e=0;e\"),\"long\")}};Mq.warn=function(){var e;if(o3.logging>0){var t=[\"WARN:\"];for(e=0;e0){var r=[];for(e=0;e\"),\"stick\")}};Mq.error=function(){var e;if(o3.logging>0){var t=[\"ERROR:\"];for(e=0;e0){var r=[];for(e=0;e\"),\"stick\")}}});var p6=ye((rer,Jee)=>{\"use strict\";Jee.exports=function(){}});var Eq=ye((ier,$ee)=>{\"use strict\";$ee.exports=function(t,r){if(r instanceof RegExp){for(var n=r.toString(),i=0;i{Qee.exports=wet;function wet(){var e=new Float32Array(16);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var rte=ye((aer,tte)=>{tte.exports=Tet;function Tet(e){var t=new Float32Array(16);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}});var nte=ye((oer,ite)=>{ite.exports=Aet;function Aet(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var kq=ye((ser,ate)=>{ate.exports=Met;function Met(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var ste=ye((ler,ote)=>{ote.exports=Eet;function Eet(e,t){if(e===t){var r=t[1],n=t[2],i=t[3],a=t[6],o=t[7],s=t[11];e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=r,e[6]=t[9],e[7]=t[13],e[8]=n,e[9]=a,e[11]=t[14],e[12]=i,e[13]=o,e[14]=s}else e[0]=t[0],e[1]=t[4],e[2]=t[8],e[3]=t[12],e[4]=t[1],e[5]=t[5],e[6]=t[9],e[7]=t[13],e[8]=t[2],e[9]=t[6],e[10]=t[10],e[11]=t[14],e[12]=t[3],e[13]=t[7],e[14]=t[11],e[15]=t[15];return e}});var ute=ye((uer,lte)=>{lte.exports=ket;function ket(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],g=t[15],E=r*s-n*o,k=r*l-i*o,A=r*u-a*o,L=n*l-i*s,_=n*u-a*s,C=i*u-a*l,M=c*x-f*v,p=c*b-h*v,P=c*g-d*v,T=f*b-h*x,F=f*g-d*x,q=h*g-d*b,V=E*q-k*F+A*T+L*P-_*p+C*M;return V?(V=1/V,e[0]=(s*q-l*F+u*T)*V,e[1]=(i*F-n*q-a*T)*V,e[2]=(x*C-b*_+g*L)*V,e[3]=(h*_-f*C-d*L)*V,e[4]=(l*P-o*q-u*p)*V,e[5]=(r*q-i*P+a*p)*V,e[6]=(b*A-v*C-g*k)*V,e[7]=(c*C-h*A+d*k)*V,e[8]=(o*F-s*P+u*M)*V,e[9]=(n*P-r*F-a*M)*V,e[10]=(v*_-x*A+g*E)*V,e[11]=(f*A-c*_-d*E)*V,e[12]=(s*p-o*T-l*M)*V,e[13]=(r*T-n*p+i*M)*V,e[14]=(x*k-v*L-b*E)*V,e[15]=(c*L-f*k+h*E)*V,e):null}});var fte=ye((cer,cte)=>{cte.exports=Cet;function Cet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=t[4],s=t[5],l=t[6],u=t[7],c=t[8],f=t[9],h=t[10],d=t[11],v=t[12],x=t[13],b=t[14],g=t[15];return e[0]=s*(h*g-d*b)-f*(l*g-u*b)+x*(l*d-u*h),e[1]=-(n*(h*g-d*b)-f*(i*g-a*b)+x*(i*d-a*h)),e[2]=n*(l*g-u*b)-s*(i*g-a*b)+x*(i*u-a*l),e[3]=-(n*(l*d-u*h)-s*(i*d-a*h)+f*(i*u-a*l)),e[4]=-(o*(h*g-d*b)-c*(l*g-u*b)+v*(l*d-u*h)),e[5]=r*(h*g-d*b)-c*(i*g-a*b)+v*(i*d-a*h),e[6]=-(r*(l*g-u*b)-o*(i*g-a*b)+v*(i*u-a*l)),e[7]=r*(l*d-u*h)-o*(i*d-a*h)+c*(i*u-a*l),e[8]=o*(f*g-d*x)-c*(s*g-u*x)+v*(s*d-u*f),e[9]=-(r*(f*g-d*x)-c*(n*g-a*x)+v*(n*d-a*f)),e[10]=r*(s*g-u*x)-o*(n*g-a*x)+v*(n*u-a*s),e[11]=-(r*(s*d-u*f)-o*(n*d-a*f)+c*(n*u-a*s)),e[12]=-(o*(f*b-h*x)-c*(s*b-l*x)+v*(s*h-l*f)),e[13]=r*(f*b-h*x)-c*(n*b-i*x)+v*(n*h-i*f),e[14]=-(r*(s*b-l*x)-o*(n*b-i*x)+v*(n*l-i*s)),e[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),e}});var dte=ye((fer,hte)=>{hte.exports=Let;function Let(e){var t=e[0],r=e[1],n=e[2],i=e[3],a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11],d=e[12],v=e[13],x=e[14],b=e[15],g=t*o-r*a,E=t*s-n*a,k=t*l-i*a,A=r*s-n*o,L=r*l-i*o,_=n*l-i*s,C=u*v-c*d,M=u*x-f*d,p=u*b-h*d,P=c*x-f*v,T=c*b-h*v,F=f*b-h*x;return g*F-E*T+k*P+A*p-L*M+_*C}});var pte=ye((her,vte)=>{vte.exports=Pet;function Pet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=t[4],l=t[5],u=t[6],c=t[7],f=t[8],h=t[9],d=t[10],v=t[11],x=t[12],b=t[13],g=t[14],E=t[15],k=r[0],A=r[1],L=r[2],_=r[3];return e[0]=k*n+A*s+L*f+_*x,e[1]=k*i+A*l+L*h+_*b,e[2]=k*a+A*u+L*d+_*g,e[3]=k*o+A*c+L*v+_*E,k=r[4],A=r[5],L=r[6],_=r[7],e[4]=k*n+A*s+L*f+_*x,e[5]=k*i+A*l+L*h+_*b,e[6]=k*a+A*u+L*d+_*g,e[7]=k*o+A*c+L*v+_*E,k=r[8],A=r[9],L=r[10],_=r[11],e[8]=k*n+A*s+L*f+_*x,e[9]=k*i+A*l+L*h+_*b,e[10]=k*a+A*u+L*d+_*g,e[11]=k*o+A*c+L*v+_*E,k=r[12],A=r[13],L=r[14],_=r[15],e[12]=k*n+A*s+L*f+_*x,e[13]=k*i+A*l+L*h+_*b,e[14]=k*a+A*u+L*d+_*g,e[15]=k*o+A*c+L*v+_*E,e}});var mte=ye((der,gte)=>{gte.exports=Iet;function Iet(e,t,r){var n=r[0],i=r[1],a=r[2],o,s,l,u,c,f,h,d,v,x,b,g;return t===e?(e[12]=t[0]*n+t[4]*i+t[8]*a+t[12],e[13]=t[1]*n+t[5]*i+t[9]*a+t[13],e[14]=t[2]*n+t[6]*i+t[10]*a+t[14],e[15]=t[3]*n+t[7]*i+t[11]*a+t[15]):(o=t[0],s=t[1],l=t[2],u=t[3],c=t[4],f=t[5],h=t[6],d=t[7],v=t[8],x=t[9],b=t[10],g=t[11],e[0]=o,e[1]=s,e[2]=l,e[3]=u,e[4]=c,e[5]=f,e[6]=h,e[7]=d,e[8]=v,e[9]=x,e[10]=b,e[11]=g,e[12]=o*n+c*i+v*a+t[12],e[13]=s*n+f*i+x*a+t[13],e[14]=l*n+h*i+b*a+t[14],e[15]=u*n+d*i+g*a+t[15]),e}});var _te=ye((ver,yte)=>{yte.exports=Ret;function Ret(e,t,r){var n=r[0],i=r[1],a=r[2];return e[0]=t[0]*n,e[1]=t[1]*n,e[2]=t[2]*n,e[3]=t[3]*n,e[4]=t[4]*i,e[5]=t[5]*i,e[6]=t[6]*i,e[7]=t[7]*i,e[8]=t[8]*a,e[9]=t[9]*a,e[10]=t[10]*a,e[11]=t[11]*a,e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}});var bte=ye((per,xte)=>{xte.exports=Det;function Det(e,t,r,n){var i=n[0],a=n[1],o=n[2],s=Math.sqrt(i*i+a*a+o*o),l,u,c,f,h,d,v,x,b,g,E,k,A,L,_,C,M,p,P,T,F,q,V,H;return Math.abs(s)<1e-6?null:(s=1/s,i*=s,a*=s,o*=s,l=Math.sin(r),u=Math.cos(r),c=1-u,f=t[0],h=t[1],d=t[2],v=t[3],x=t[4],b=t[5],g=t[6],E=t[7],k=t[8],A=t[9],L=t[10],_=t[11],C=i*i*c+u,M=a*i*c+o*l,p=o*i*c-a*l,P=i*a*c-o*l,T=a*a*c+u,F=o*a*c+i*l,q=i*o*c+a*l,V=a*o*c-i*l,H=o*o*c+u,e[0]=f*C+x*M+k*p,e[1]=h*C+b*M+A*p,e[2]=d*C+g*M+L*p,e[3]=v*C+E*M+_*p,e[4]=f*P+x*T+k*F,e[5]=h*P+b*T+A*F,e[6]=d*P+g*T+L*F,e[7]=v*P+E*T+_*F,e[8]=f*q+x*V+k*H,e[9]=h*q+b*V+A*H,e[10]=d*q+g*V+L*H,e[11]=v*q+E*V+_*H,t!==e&&(e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e)}});var Tte=ye((ger,wte)=>{wte.exports=zet;function zet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[4]=a*i+u*n,e[5]=o*i+c*n,e[6]=s*i+f*n,e[7]=l*i+h*n,e[8]=u*i-a*n,e[9]=c*i-o*n,e[10]=f*i-s*n,e[11]=h*i-l*n,e}});var Ste=ye((mer,Ate)=>{Ate.exports=Fet;function Fet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[8],c=t[9],f=t[10],h=t[11];return t!==e&&(e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i-u*n,e[1]=o*i-c*n,e[2]=s*i-f*n,e[3]=l*i-h*n,e[8]=a*n+u*i,e[9]=o*n+c*i,e[10]=s*n+f*i,e[11]=l*n+h*i,e}});var Ete=ye((yer,Mte)=>{Mte.exports=qet;function qet(e,t,r){var n=Math.sin(r),i=Math.cos(r),a=t[0],o=t[1],s=t[2],l=t[3],u=t[4],c=t[5],f=t[6],h=t[7];return t!==e&&(e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15]),e[0]=a*i+u*n,e[1]=o*i+c*n,e[2]=s*i+f*n,e[3]=l*i+h*n,e[4]=u*i-a*n,e[5]=c*i-o*n,e[6]=f*i-s*n,e[7]=h*i-l*n,e}});var Cte=ye((_er,kte)=>{kte.exports=Oet;function Oet(e,t,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(u=1/u,o*=u,s*=u,l*=u,n=Math.sin(t),i=Math.cos(t),a=1-i,e[0]=o*o*a+i,e[1]=s*o*a+l*n,e[2]=l*o*a-s*n,e[3]=0,e[4]=o*s*a-l*n,e[5]=s*s*a+i,e[6]=l*s*a+o*n,e[7]=0,e[8]=o*l*a+s*n,e[9]=s*l*a-o*n,e[10]=l*l*a+i,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e)}});var Pte=ye((xer,Lte)=>{Lte.exports=Bet;function Bet(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,d=i*l,v=i*u,x=a*u,b=o*s,g=o*l,E=o*u;return e[0]=1-(d+x),e[1]=f+E,e[2]=h-g,e[3]=0,e[4]=f-E,e[5]=1-(c+x),e[6]=v+b,e[7]=0,e[8]=h+g,e[9]=v-b,e[10]=1-(c+d),e[11]=0,e[12]=r[0],e[13]=r[1],e[14]=r[2],e[15]=1,e}});var Rte=ye((ber,Ite)=>{Ite.exports=Net;function Net(e,t){return e[0]=t[0],e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t[1],e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=t[2],e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var zte=ye((wer,Dte)=>{Dte.exports=Uet;function Uet(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=t[0],e[13]=t[1],e[14]=t[2],e[15]=1,e}});var qte=ye((Ter,Fte)=>{Fte.exports=Vet;function Vet(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=n,e[6]=r,e[7]=0,e[8]=0,e[9]=-r,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Bte=ye((Aer,Ote)=>{Ote.exports=Het;function Het(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=0,e[2]=-r,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=r,e[9]=0,e[10]=n,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Ute=ye((Ser,Nte)=>{Nte.exports=Get;function Get(e,t){var r=Math.sin(t),n=Math.cos(t);return e[0]=n,e[1]=r,e[2]=0,e[3]=0,e[4]=-r,e[5]=n,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Cq=ye((Mer,Vte)=>{Vte.exports=jet;function jet(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,d=i*s,v=i*l,x=a*o,b=a*s,g=a*l;return e[0]=1-f-v,e[1]=c+g,e[2]=h-b,e[3]=0,e[4]=c-g,e[5]=1-u-v,e[6]=d+x,e[7]=0,e[8]=h+b,e[9]=d-x,e[10]=1-u-f,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e}});var Gte=ye((Eer,Hte)=>{Hte.exports=Wet;function Wet(e,t,r,n,i,a,o){var s=1/(r-t),l=1/(i-n),u=1/(a-o);return e[0]=a*2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a*2*l,e[6]=0,e[7]=0,e[8]=(r+t)*s,e[9]=(i+n)*l,e[10]=(o+a)*u,e[11]=-1,e[12]=0,e[13]=0,e[14]=o*a*2*u,e[15]=0,e}});var Wte=ye((ker,jte)=>{jte.exports=Zet;function Zet(e,t,r,n,i){var a=1/Math.tan(t/2),o=1/(n-i);return e[0]=a/r,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=a,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=(i+n)*o,e[11]=-1,e[12]=0,e[13]=0,e[14]=2*i*n*o,e[15]=0,e}});var Xte=ye((Cer,Zte)=>{Zte.exports=Xet;function Xet(e,t,r,n){var i=Math.tan(t.upDegrees*Math.PI/180),a=Math.tan(t.downDegrees*Math.PI/180),o=Math.tan(t.leftDegrees*Math.PI/180),s=Math.tan(t.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return e[0]=l,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=u,e[6]=0,e[7]=0,e[8]=-((o-s)*l*.5),e[9]=(i-a)*u*.5,e[10]=n/(r-n),e[11]=-1,e[12]=0,e[13]=0,e[14]=n*r/(r-n),e[15]=0,e}});var Kte=ye((Ler,Yte)=>{Yte.exports=Yet;function Yet(e,t,r,n,i,a,o){var s=1/(t-r),l=1/(n-i),u=1/(a-o);return e[0]=-2*s,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=-2*l,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=2*u,e[11]=0,e[12]=(t+r)*s,e[13]=(i+n)*l,e[14]=(o+a)*u,e[15]=1,e}});var $te=ye((Per,Jte)=>{var Ket=kq();Jte.exports=Jet;function Jet(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v=t[0],x=t[1],b=t[2],g=n[0],E=n[1],k=n[2],A=r[0],L=r[1],_=r[2];return Math.abs(v-A)<1e-6&&Math.abs(x-L)<1e-6&&Math.abs(b-_)<1e-6?Ket(e):(c=v-A,f=x-L,h=b-_,d=1/Math.sqrt(c*c+f*f+h*h),c*=d,f*=d,h*=d,i=E*h-k*f,a=k*c-g*h,o=g*f-E*c,d=Math.sqrt(i*i+a*a+o*o),d?(d=1/d,i*=d,a*=d,o*=d):(i=0,a=0,o=0),s=f*o-h*a,l=h*i-c*o,u=c*a-f*i,d=Math.sqrt(s*s+l*l+u*u),d?(d=1/d,s*=d,l*=d,u*=d):(s=0,l=0,u=0),e[0]=i,e[1]=s,e[2]=c,e[3]=0,e[4]=a,e[5]=l,e[6]=f,e[7]=0,e[8]=o,e[9]=u,e[10]=h,e[11]=0,e[12]=-(i*v+a*x+o*b),e[13]=-(s*v+l*x+u*b),e[14]=-(c*v+f*x+h*b),e[15]=1,e)}});var ere=ye((Ier,Qte)=>{Qte.exports=$et;function $et(e){return\"mat4(\"+e[0]+\", \"+e[1]+\", \"+e[2]+\", \"+e[3]+\", \"+e[4]+\", \"+e[5]+\", \"+e[6]+\", \"+e[7]+\", \"+e[8]+\", \"+e[9]+\", \"+e[10]+\", \"+e[11]+\", \"+e[12]+\", \"+e[13]+\", \"+e[14]+\", \"+e[15]+\")\"}});var Lq=ye((Rer,tre)=>{tre.exports={create:ete(),clone:rte(),copy:nte(),identity:kq(),transpose:ste(),invert:ute(),adjoint:fte(),determinant:dte(),multiply:pte(),translate:mte(),scale:_te(),rotate:bte(),rotateX:Tte(),rotateY:Ste(),rotateZ:Ete(),fromRotation:Cte(),fromRotationTranslation:Pte(),fromScaling:Rte(),fromTranslation:zte(),fromXRotation:qte(),fromYRotation:Bte(),fromZRotation:Ute(),fromQuat:Cq(),frustum:Gte(),perspective:Wte(),perspectiveFromFieldOfView:Xte(),ortho:Kte(),lookAt:$te(),str:ere()}});var g6=ye(Xf=>{\"use strict\";var Qet=Lq();Xf.init2dArray=function(e,t){for(var r=new Array(e),n=0;n{\"use strict\";var ett=xa(),rre=H1(),ttt=g6(),rtt=Lq();function itt(e){var t;if(typeof e==\"string\"){if(t=document.getElementById(e),t===null)throw new Error(\"No DOM element with id '\"+e+\"' exists on the page.\");return t}else if(e==null)throw new Error(\"DOM element provided is null or undefined\");return e}function ntt(e){var t=ett.select(e);return t.node()instanceof HTMLElement&&t.size()&&t.classed(\"js-plotly-plot\")}function ire(e){var t=e&&e.parentNode;t&&t.removeChild(e)}function att(e,t){nre(\"global\",e,t)}function nre(e,t,r){var n=\"plotly.js-style-\"+e,i=document.getElementById(n);if(!(i&&i.matches(\".no-inline-styles\"))){i||(i=document.createElement(\"style\"),i.setAttribute(\"id\",n),i.appendChild(document.createTextNode(\"\")),document.head.appendChild(i));var a=i.sheet;a?a.insertRule?a.insertRule(t+\"{\"+r+\"}\",0):a.addRule?a.addRule(t,r,0):rre.warn(\"addStyleRule failed\"):rre.warn(\"Cannot addRelatedStyleRule, probably due to strict CSP...\")}}function ott(e){var t=\"plotly.js-style-\"+e,r=document.getElementById(t);r&&ire(r)}function stt(e,t,r,n,i,a){var o=n.split(\":\"),s=i.split(\":\"),l=\"data-btn-style-event-added\";a||(a=document),a.querySelectorAll(e).forEach(function(u){u.getAttribute(l)||(u.addEventListener(\"mouseenter\",function(){var c=this.querySelector(r);c&&(c.style[o[0]]=o[1])}),u.addEventListener(\"mouseleave\",function(){var c=this.querySelector(r);c&&(t&&this.matches(t)?c.style[o[0]]=o[1]:c.style[s[0]]=s[1])}),u.setAttribute(l,!0))})}function ltt(e){var t=ore(e),r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return t.forEach(function(n){var i=are(n);if(i){var a=ttt.convertCssMatrix(i);r=rtt.multiply(r,r,a)}}),r}function are(e){var t=window.getComputedStyle(e,null),r=t.getPropertyValue(\"-webkit-transform\")||t.getPropertyValue(\"-moz-transform\")||t.getPropertyValue(\"-ms-transform\")||t.getPropertyValue(\"-o-transform\")||t.getPropertyValue(\"transform\");return r===\"none\"?null:r.replace(\"matrix\",\"\").replace(\"3d\",\"\").slice(1,-1).split(\",\").map(function(n){return+n})}function ore(e){for(var t=[];utt(e);)t.push(e),e=e.parentNode,typeof ShadowRoot==\"function\"&&e instanceof ShadowRoot&&(e=e.host);return t}function utt(e){return e&&(e instanceof Element||e instanceof HTMLElement)}function ctt(e,t){return e&&t&&e.top===t.top&&e.left===t.left&&e.right===t.right&&e.bottom===t.bottom}sre.exports={getGraphDiv:itt,isPlotDiv:ntt,removeElement:ire,addStyleRule:att,addRelatedStyleRule:nre,deleteRelatedStyleRule:ott,setStyleOnHover:stt,getFullTransformMatrix:ltt,getElementTransformMatrix:are,getElementAndAncestors:ore,equalDomRects:ctt}});var zS=ye((Fer,lre)=>{\"use strict\";lre.exports={mode:{valType:\"enumerated\",dflt:\"afterall\",values:[\"immediate\",\"next\",\"afterall\"]},direction:{valType:\"enumerated\",values:[\"forward\",\"reverse\"],dflt:\"forward\"},fromcurrent:{valType:\"boolean\",dflt:!1},frame:{duration:{valType:\"number\",min:0,dflt:500},redraw:{valType:\"boolean\",dflt:!0}},transition:{duration:{valType:\"number\",min:0,dflt:500,editType:\"none\"},easing:{valType:\"enumerated\",dflt:\"cubic-in-out\",values:[\"linear\",\"quad\",\"cubic\",\"sin\",\"exp\",\"circle\",\"elastic\",\"back\",\"bounce\",\"linear-in\",\"quad-in\",\"cubic-in\",\"sin-in\",\"exp-in\",\"circle-in\",\"elastic-in\",\"back-in\",\"bounce-in\",\"linear-out\",\"quad-out\",\"cubic-out\",\"sin-out\",\"exp-out\",\"circle-out\",\"elastic-out\",\"back-out\",\"bounce-out\",\"linear-in-out\",\"quad-in-out\",\"cubic-in-out\",\"sin-in-out\",\"exp-in-out\",\"circle-in-out\",\"elastic-in-out\",\"back-in-out\",\"bounce-in-out\"],editType:\"none\"},ordering:{valType:\"enumerated\",values:[\"layout first\",\"traces first\"],dflt:\"layout first\",editType:\"none\"}}}});var Bu=ye((qer,pre)=>{\"use strict\";var cre=no().extendFlat,ftt=gy(),fre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"clearAxisTypes\",\"plot\",\"style\",\"markerSize\",\"colorbars\"]},hre={valType:\"flaglist\",extras:[\"none\"],flags:[\"calc\",\"plot\",\"legend\",\"ticks\",\"axrange\",\"layoutstyle\",\"modebar\",\"camera\",\"arraydraw\",\"colorbars\"]},htt=fre.flags.slice().concat([\"fullReplot\"]),dtt=hre.flags.slice().concat(\"layoutReplot\");pre.exports={traces:fre,layout:hre,traceFlags:function(){return ure(htt)},layoutFlags:function(){return ure(dtt)},update:function(e,t){var r=t.editType;if(r&&r!==\"none\")for(var n=r.split(\"+\"),i=0;i{\"use strict\";Pq.dash={valType:\"string\",values:[\"solid\",\"dot\",\"dash\",\"longdash\",\"dashdot\",\"longdashdot\"],dflt:\"solid\",editType:\"style\"};Pq.pattern={shape:{valType:\"enumerated\",values:[\"\",\"/\",\"\\\\\",\"x\",\"-\",\"|\",\"+\",\".\"],dflt:\"\",arrayOk:!0,editType:\"style\"},fillmode:{valType:\"enumerated\",values:[\"replace\",\"overlay\"],dflt:\"replace\",editType:\"style\"},bgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgcolor:{valType:\"color\",arrayOk:!0,editType:\"style\"},fgopacity:{valType:\"number\",editType:\"style\",min:0,max:1},size:{valType:\"number\",min:0,dflt:8,arrayOk:!0,editType:\"style\"},solidity:{valType:\"number\",min:0,max:1,dflt:.3,arrayOk:!0,editType:\"style\"},editType:\"style\"}});var Iq=ye((Ber,gre)=>{\"use strict\";gre.exports={FORMAT_LINK:\"https://github.com/d3/d3-format/tree/v1.4.5#d3-format\",DATE_FORMAT_LINK:\"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format\"}});var Wo=ye(m6=>{\"use strict\";var mre=Iq(),Ner=mre.FORMAT_LINK,Uer=mre.DATE_FORMAT_LINK;function Rq(e){var t=e.description?\" \"+e.description:\"\",r=e.keys||[];if(r.length>0){for(var n=[],i=0;i{\"use strict\";function G1(e,t){return t?t.d2l(e):e}function yre(e,t){return t?t.l2d(e):e}function vtt(e){return e.x0}function ptt(e){return e.x1}function gtt(e){return e.y0}function mtt(e){return e.y1}function _re(e){return e.x0shift||0}function xre(e){return e.x1shift||0}function bre(e){return e.y0shift||0}function wre(e){return e.y1shift||0}function y6(e,t){return G1(e.x1,t)+xre(e)-G1(e.x0,t)-_re(e)}function _6(e,t,r){return G1(e.y1,r)+wre(e)-G1(e.y0,r)-bre(e)}function ytt(e,t){return Math.abs(y6(e,t))}function _tt(e,t,r){return Math.abs(_6(e,t,r))}function xtt(e,t,r){return e.type!==\"line\"?void 0:Math.sqrt(Math.pow(y6(e,t),2)+Math.pow(_6(e,t,r),2))}function btt(e,t){return yre((G1(e.x1,t)+xre(e)+G1(e.x0,t)+_re(e))/2,t)}function wtt(e,t,r){return yre((G1(e.y1,r)+wre(e)+G1(e.y0,r)+bre(e))/2,r)}function Ttt(e,t,r){return e.type!==\"line\"?void 0:_6(e,t,r)/y6(e,t)}Tre.exports={x0:vtt,x1:ptt,y0:gtt,y1:mtt,slope:Ttt,dx:y6,dy:_6,width:ytt,height:_tt,length:xtt,xcenter:btt,ycenter:wtt}});var Mre=ye((Ger,Sre)=>{\"use strict\";var Att=Bu().overrideAll,cb=vl(),Are=Su(),Stt=Ed().dash,j1=no().extendFlat,Mtt=Wo().shapeTexttemplateAttrs,Ett=x6();Sre.exports=Att({newshape:{visible:j1({},cb.visible,{}),showlegend:{valType:\"boolean\",dflt:!1},legend:j1({},cb.legend,{}),legendgroup:j1({},cb.legendgroup,{}),legendgrouptitle:{text:j1({},cb.legendgrouptitle.text,{}),font:Are({})},legendrank:j1({},cb.legendrank,{}),legendwidth:j1({},cb.legendwidth,{}),line:{color:{valType:\"color\"},width:{valType:\"number\",min:0,dflt:4},dash:j1({},Stt,{dflt:\"solid\"})},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\"},opacity:{valType:\"number\",min:0,max:1,dflt:1},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\"},drawdirection:{valType:\"enumerated\",values:[\"ortho\",\"horizontal\",\"vertical\",\"diagonal\"],dflt:\"diagonal\"},name:j1({},cb.name,{}),label:{text:{valType:\"string\",dflt:\"\"},texttemplate:Mtt({newshape:!0},{keys:Object.keys(Ett)}),font:Are({}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"]},textangle:{valType:\"angle\",dflt:\"auto\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},padding:{valType:\"number\",dflt:3,min:0}}},activeshape:{fillcolor:{valType:\"color\",dflt:\"rgb(255,0,255)\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5}}},\"none\",\"from-root\")});var kre=ye((jer,Ere)=>{\"use strict\";var ktt=Ed().dash,Ctt=no().extendFlat;Ere.exports={newselection:{mode:{valType:\"enumerated\",values:[\"immediate\",\"gradual\"],dflt:\"immediate\",editType:\"none\"},line:{color:{valType:\"color\",editType:\"none\"},width:{valType:\"number\",min:1,dflt:1,editType:\"none\"},dash:Ctt({},ktt,{dflt:\"dot\",editType:\"none\"}),editType:\"none\"},editType:\"none\"},activeselection:{fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"none\"},opacity:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"none\"},editType:\"none\"}}});var b6=ye((Wer,Cre)=>{\"use strict\";Cre.exports=function(e){var t=e.editType;return{t:{valType:\"number\",dflt:0,editType:t},r:{valType:\"number\",dflt:0,editType:t},b:{valType:\"number\",dflt:0,editType:t},l:{valType:\"number\",dflt:0,editType:t},editType:t}}});var s3=ye((Zer,Rre)=>{\"use strict\";var Dq=Su(),Ltt=zS(),w6=dh(),Lre=Mre(),Pre=kre(),Ptt=b6(),Ire=no().extendFlat,T6=Dq({editType:\"calc\"});T6.family.dflt='\"Open Sans\", verdana, arial, sans-serif';T6.size.dflt=12;T6.color.dflt=w6.defaultLine;Rre.exports={font:T6,title:{text:{valType:\"string\",editType:\"layoutstyle\"},font:Dq({editType:\"layoutstyle\"}),subtitle:{text:{valType:\"string\",editType:\"layoutstyle\"},font:Dq({editType:\"layoutstyle\"}),editType:\"layoutstyle\"},xref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yref:{valType:\"enumerated\",dflt:\"container\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},x:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"layoutstyle\"},y:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"left\",\"center\",\"right\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",dflt:\"auto\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"layoutstyle\"},pad:Ire(Ptt({editType:\"layoutstyle\"}),{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},editType:\"layoutstyle\"},uniformtext:{mode:{valType:\"enumerated\",values:[!1,\"hide\",\"show\"],dflt:!1,editType:\"plot\"},minsize:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"},autosize:{valType:\"boolean\",dflt:!1,editType:\"none\"},width:{valType:\"number\",min:10,dflt:700,editType:\"plot\"},height:{valType:\"number\",min:10,dflt:450,editType:\"plot\"},minreducedwidth:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},minreducedheight:{valType:\"number\",min:2,dflt:64,editType:\"plot\"},margin:{l:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},r:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},t:{valType:\"number\",min:0,dflt:100,editType:\"plot\"},b:{valType:\"number\",min:0,dflt:80,editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},autoexpand:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},computed:{valType:\"any\",editType:\"none\"},paper_bgcolor:{valType:\"color\",dflt:w6.background,editType:\"plot\"},plot_bgcolor:{valType:\"color\",dflt:w6.background,editType:\"layoutstyle\"},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},separators:{valType:\"string\",editType:\"plot\"},hidesources:{valType:\"boolean\",dflt:!1,editType:\"plot\"},showlegend:{valType:\"boolean\",editType:\"legend\"},colorway:{valType:\"colorlist\",dflt:w6.defaults,editType:\"calc\"},datarevision:{valType:\"any\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editrevision:{valType:\"any\",editType:\"none\"},selectionrevision:{valType:\"any\",editType:\"none\"},template:{valType:\"any\",editType:\"calc\"},newshape:Lre.newshape,activeshape:Lre.activeshape,newselection:Pre.newselection,activeselection:Pre.activeselection,meta:{valType:\"any\",arrayOk:!0,editType:\"plot\"},transition:Ire({},Ltt.transition,{editType:\"none\"})}});var Dre=su(()=>{});var Itt={};var zre=su(()=>{Dre()});var ba=ye(qs=>{\"use strict\";var l3=H1(),Fre=p6(),qre=Eq(),Rtt=gy(),Dtt=DS().addStyleRule,Ore=no(),ztt=vl(),Ftt=s3(),qtt=Ore.extendFlat,zq=Ore.extendDeepAll;qs.modules={};qs.allCategories={};qs.allTypes=[];qs.subplotsRegistry={};qs.componentsRegistry={};qs.layoutArrayContainers=[];qs.layoutArrayRegexes=[];qs.traceLayoutAttributes={};qs.localeRegistry={};qs.apiMethodRegistry={};qs.collectableSubplotTypes=null;qs.register=function(t){if(qs.collectableSubplotTypes=null,t)t&&!Array.isArray(t)&&(t=[t]);else throw new Error(\"No argument passed to Plotly.register.\");for(var r=0;r{\"use strict\";var Htt=e3().timeFormat,Yre=uo(),Fq=H1(),Z1=r3().mod,f3=es(),_0=f3.BADNUM,wp=f3.ONEDAY,FS=f3.ONEHOUR,W1=f3.ONEMIN,c3=f3.ONESEC,qS=f3.EPOCHJD,my=ba(),Hre=e3().utcFormat,Gtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\d)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,jtt=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)(-(\\d?\\di?)(-(\\d?\\d)([ Tt]([01]?\\d|2[0-3])(:([0-5]\\d)(:([0-5]\\d(\\.\\d+)?))?(Z|z|[+\\-]\\d\\d(:?\\d\\d)?)?)?)?)?)?\\s*$/m,Gre=new Date().getFullYear()-70;function yy(e){return e&&my.componentsRegistry.calendars&&typeof e==\"string\"&&e!==\"gregorian\"}Yf.dateTick0=function(e,t){var r=Wtt(e,!!t);if(t<2)return r;var n=Yf.dateTime2ms(r,e);return n+=wp*(t-1),Yf.ms2DateTime(n,0,e)};function Wtt(e,t){return yy(e)?t?my.getComponentMethod(\"calendars\",\"CANONICAL_SUNDAY\")[e]:my.getComponentMethod(\"calendars\",\"CANONICAL_TICK\")[e]:t?\"2000-01-02\":\"2000-01-01\"}Yf.dfltRange=function(e){return yy(e)?my.getComponentMethod(\"calendars\",\"DFLTRANGE\")[e]:[\"2000-01-01\",\"2001-01-01\"]};Yf.isJSDate=function(e){return typeof e==\"object\"&&e!==null&&typeof e.getTime==\"function\"};var S6,M6;Yf.dateTime2ms=function(e,t){if(Yf.isJSDate(e)){var r=e.getTimezoneOffset()*W1,n=(e.getUTCMinutes()-e.getMinutes())*W1+(e.getUTCSeconds()-e.getSeconds())*c3+(e.getUTCMilliseconds()-e.getMilliseconds());if(n){var i=3*W1;r=r-i/2+Z1(n-r+i/2,i)}return e=Number(e)-r,e>=S6&&e<=M6?e:_0}if(typeof e!=\"string\"&&typeof e!=\"number\")return _0;e=String(e);var a=yy(t),o=e.charAt(0);a&&(o===\"G\"||o===\"g\")&&(e=e.substr(1),t=\"\");var s=a&&t.substr(0,7)===\"chinese\",l=e.match(s?jtt:Gtt);if(!l)return _0;var u=l[1],c=l[3]||\"1\",f=Number(l[5]||1),h=Number(l[7]||0),d=Number(l[9]||0),v=Number(l[11]||0);if(a){if(u.length===2)return _0;u=Number(u);var x;try{var b=my.getComponentMethod(\"calendars\",\"getCal\")(t);if(s){var g=c.charAt(c.length-1)===\"i\";c=parseInt(c,10),x=b.newDate(u,b.toMonthIndex(u,c,g),f)}else x=b.newDate(u,Number(c),f)}catch(k){return _0}return x?(x.toJD()-qS)*wp+h*FS+d*W1+v*c3:_0}u.length===2?u=(Number(u)+2e3-Gre)%100+Gre:u=Number(u),c-=1;var E=new Date(Date.UTC(2e3,c,f,h,d));return E.setUTCFullYear(u),E.getUTCMonth()!==c||E.getUTCDate()!==f?_0:E.getTime()+v*c3};S6=Yf.MIN_MS=Yf.dateTime2ms(\"-9999\");M6=Yf.MAX_MS=Yf.dateTime2ms(\"9999-12-31 23:59:59.9999\");Yf.isDateTime=function(e,t){return Yf.dateTime2ms(e,t)!==_0};function u3(e,t){return String(e+Math.pow(10,t)).substr(1)}var A6=90*wp,jre=3*FS,Wre=5*W1;Yf.ms2DateTime=function(e,t,r){if(typeof e!=\"number\"||!(e>=S6&&e<=M6))return _0;t||(t=0);var n=Math.floor(Z1(e+.05,1)*10),i=Math.round(e-n/10),a,o,s,l,u,c;if(yy(r)){var f=Math.floor(i/wp)+qS,h=Math.floor(Z1(e,wp));try{a=my.getComponentMethod(\"calendars\",\"getCal\")(r).fromJD(f).formatDate(\"yyyy-mm-dd\")}catch(d){a=Hre(\"G%Y-%m-%d\")(new Date(i))}if(a.charAt(0)===\"-\")for(;a.length<11;)a=\"-0\"+a.substr(1);else for(;a.length<10;)a=\"0\"+a;o=t=S6+wp&&e<=M6-wp))return _0;var t=Math.floor(Z1(e+.05,1)*10),r=new Date(Math.round(e-t/10)),n=Htt(\"%Y-%m-%d\")(r),i=r.getHours(),a=r.getMinutes(),o=r.getSeconds(),s=r.getUTCMilliseconds()*10+t;return Kre(n,i,a,o,s)};function Kre(e,t,r,n,i){if((t||r||n||i)&&(e+=\" \"+u3(t,2)+\":\"+u3(r,2),(n||i)&&(e+=\":\"+u3(n,2),i))){for(var a=4;i%10===0;)a-=1,i/=10;e+=\".\"+u3(i,a)}return e}Yf.cleanDate=function(e,t,r){if(e===_0)return t;if(Yf.isJSDate(e)||typeof e==\"number\"&&isFinite(e)){if(yy(r))return Fq.error(\"JS Dates and milliseconds are incompatible with world calendars\",e),t;if(e=Yf.ms2DateTimeLocal(+e),!e&&t!==void 0)return t}else if(!Yf.isDateTime(e,r))return Fq.error(\"unrecognized date\",e),t;return e};var Ztt=/%\\d?f/g,Xtt=/%h/g,Ytt={1:\"1\",2:\"1\",3:\"2\",4:\"2\"};function Zre(e,t,r,n){e=e.replace(Ztt,function(a){var o=Math.min(+a.charAt(1)||6,6),s=(t/1e3%1+2).toFixed(o).substr(2).replace(/0+$/,\"\")||\"0\";return s});var i=new Date(Math.floor(t+.05));if(e=e.replace(Xtt,function(){return Ytt[r(\"%q\")(i)]}),yy(n))try{e=my.getComponentMethod(\"calendars\",\"worldCalFmt\")(e,t,n)}catch(a){return\"Invalid\"}return r(e)(i)}var Ktt=[59,59.9,59.99,59.999,59.9999];function Jtt(e,t){var r=Z1(e+.05,wp),n=u3(Math.floor(r/FS),2)+\":\"+u3(Z1(Math.floor(r/W1),60),2);if(t!==\"M\"){Yre(t)||(t=0);var i=Math.min(Z1(e/c3,60),Ktt[t]),a=(100+i).toFixed(t).substr(1);t>0&&(a=a.replace(/0+$/,\"\").replace(/[\\.]$/,\"\")),n+=\":\"+a}return n}Yf.formatDate=function(e,t,r,n,i,a){if(i=yy(i)&&i,!t)if(r===\"y\")t=a.year;else if(r===\"m\")t=a.month;else if(r===\"d\")t=a.dayMonth+`\n", + "`+a.year;else return Jtt(e,r)+`\n", + "`+Zre(a.dayMonthYear,e,n,i);return Zre(t,e,n,i)};var Xre=3*wp;Yf.incrementMonth=function(e,t,r){r=yy(r)&&r;var n=Z1(e,wp);if(e=Math.round(e-n),r)try{var i=Math.round(e/wp)+qS,a=my.getComponentMethod(\"calendars\",\"getCal\")(r),o=a.fromJD(i);return t%12?a.add(o,t,\"m\"):a.add(o,t/12,\"y\"),(o.toJD()-qS)*wp+n}catch(l){Fq.error(\"invalid ms \"+e+\" in calendar \"+r)}var s=new Date(e+Xre);return s.setUTCMonth(s.getUTCMonth()+t)+n-Xre};Yf.findExactDates=function(e,t){for(var r=0,n=0,i=0,a=0,o,s,l=yy(t)&&my.getComponentMethod(\"calendars\",\"getCal\")(t),u=0;u{\"use strict\";$re.exports=function(t){return t}});var E6=ye(_y=>{\"use strict\";var $tt=uo(),Qtt=H1(),ert=OS(),trt=es().BADNUM,qq=1e-9;_y.findBin=function(e,t,r){if($tt(t.start))return r?Math.ceil((e-t.start)/t.size-qq)-1:Math.floor((e-t.start)/t.size+qq);var n=0,i=t.length,a=0,o=i>1?(t[i-1]-t[0])/(i-1):1,s,l;for(o>=0?l=r?rrt:irt:l=r?art:nrt,e+=o*qq*(r?-1:1)*(o>=0?1:-1);n90&&Qtt.log(\"Long binary search...\"),n-1};function rrt(e,t){return et}function art(e,t){return e>=t}_y.sorterAsc=function(e,t){return e-t};_y.sorterDes=function(e,t){return t-e};_y.distinctVals=function(e){var t=e.slice();t.sort(_y.sorterAsc);var r;for(r=t.length-1;r>-1&&t[r]===trt;r--);for(var n=t[r]-t[0]||1,i=n/(r||1)/1e4,a=[],o,s=0;s<=r;s++){var l=t[s],u=l-o;o===void 0?(a.push(l),o=l):u>i&&(n=Math.min(n,u),a.push(l),o=l)}return{vals:a,minDiff:n}};_y.roundUp=function(e,t,r){for(var n=0,i=t.length-1,a,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;n0&&(n=1),r&&n)return e.sort(t)}return n?e:e.reverse()};_y.findIndexOfMin=function(e,t){t=t||ert;for(var r=1/0,n,i=0;i{\"use strict\";Qre.exports=function(t){return Object.keys(t).sort()}});var eie=ye(Kf=>{\"use strict\";var BS=uo(),ort=vv().isArrayOrTypedArray;Kf.aggNums=function(e,t,r,n){var i,a;if((!n||n>r.length)&&(n=r.length),BS(t)||(t=!1),ort(r[0])){for(a=new Array(n),i=0;ie.length-1)return e[e.length-1];var r=t%1;return r*e[Math.ceil(t)]+(1-r)*e[Math.floor(t)]}});var aie=ye((itr,nie)=>{\"use strict\";var tie=r3(),Oq=tie.mod,srt=tie.modHalf,NS=Math.PI,Y1=2*NS;function lrt(e){return e/180*NS}function urt(e){return e/NS*180}function Bq(e){return Math.abs(e[1]-e[0])>Y1-1e-14}function rie(e,t){return srt(t-e,Y1)}function crt(e,t){return Math.abs(rie(e,t))}function iie(e,t){if(Bq(t))return!0;var r,n;t[0]n&&(n+=Y1);var i=Oq(e,Y1),a=i+Y1;return i>=r&&i<=n||a>=r&&a<=n}function frt(e,t,r,n){if(!iie(t,n))return!1;var i,a;return r[0]=i&&e<=a}function Nq(e,t,r,n,i,a,o){i=i||0,a=a||0;var s=Bq([r,n]),l,u,c,f,h;s?(l=0,u=NS,c=Y1):r{\"use strict\";fb.isLeftAnchor=function(t){return t.xanchor===\"left\"||t.xanchor===\"auto\"&&t.x<=1/3};fb.isCenterAnchor=function(t){return t.xanchor===\"center\"||t.xanchor===\"auto\"&&t.x>1/3&&t.x<2/3};fb.isRightAnchor=function(t){return t.xanchor===\"right\"||t.xanchor===\"auto\"&&t.x>=2/3};fb.isTopAnchor=function(t){return t.yanchor===\"top\"||t.yanchor===\"auto\"&&t.y>=2/3};fb.isMiddleAnchor=function(t){return t.yanchor===\"middle\"||t.yanchor===\"auto\"&&t.y>1/3&&t.y<2/3};fb.isBottomAnchor=function(t){return t.yanchor===\"bottom\"||t.yanchor===\"auto\"&&t.y<=1/3}});var uie=ye(hb=>{\"use strict\";var Uq=r3().mod;hb.segmentsIntersect=lie;function lie(e,t,r,n,i,a,o,s){var l=r-e,u=i-e,c=o-i,f=n-t,h=a-t,d=s-a,v=l*d-c*f;if(v===0)return null;var x=(u*d-c*h)/v,b=(u*f-l*h)/v;return b<0||b>1||x<0||x>1?null:{x:e+l*x,y:t+f*x}}hb.segmentDistance=function(t,r,n,i,a,o,s,l){if(lie(t,r,n,i,a,o,s,l))return 0;var u=n-t,c=i-r,f=s-a,h=l-o,d=u*u+c*c,v=f*f+h*h,x=Math.min(k6(u,c,d,a-t,o-r),k6(u,c,d,s-t,l-r),k6(f,h,v,t-a,r-o),k6(f,h,v,n-a,i-o));return Math.sqrt(x)};function k6(e,t,r,n,i){var a=n*e+i*t;if(a<0)return n*n+i*i;if(a>r){var o=n-e,s=i-t;return o*o+s*s}else{var l=n*t-i*e;return l*l/r}}var C6,Vq,sie;hb.getTextLocation=function(t,r,n,i){if((t!==Vq||i!==sie)&&(C6={},Vq=t,sie=i),C6[n])return C6[n];var a=t.getPointAtLength(Uq(n-i/2,r)),o=t.getPointAtLength(Uq(n+i/2,r)),s=Math.atan((o.y-a.y)/(o.x-a.x)),l=t.getPointAtLength(Uq(n,r)),u=(l.x*4+a.x+o.x)/6,c=(l.y*4+a.y+o.y)/6,f={x:u,y:c,theta:s};return C6[n]=f,f};hb.clearLocationCache=function(){Vq=null};hb.getVisibleSegment=function(t,r,n){var i=r.left,a=r.right,o=r.top,s=r.bottom,l=0,u=t.getTotalLength(),c=u,f,h;function d(x){var b=t.getPointAtLength(x);x===0?f=b:x===u&&(h=b);var g=b.xa?b.x-a:0,E=b.ys?b.y-s:0;return Math.sqrt(g*g+E*E)}for(var v=d(l);v;){if(l+=v+n,l>c)return;v=d(l)}for(v=d(c);v;){if(c-=v+n,l>c)return;v=d(c)}return{min:l,max:c,len:c-l,total:u,isClosed:l===0&&c===u&&Math.abs(f.x-h.x)<.1&&Math.abs(f.y-h.y)<.1}};hb.findPointOnPath=function(t,r,n,i){i=i||{};for(var a=i.pathLength||t.getTotalLength(),o=i.tolerance||.001,s=i.iterationLimit||30,l=t.getPointAtLength(0)[n]>t.getPointAtLength(a)[n]?-1:1,u=0,c=0,f=a,h,d,v;u0?f=h:c=h,u++}return d}});var L6=ye(US=>{\"use strict\";var xy={};US.throttle=function(t,r,n){var i=xy[t],a=Date.now();if(!i){for(var o in xy)xy[o].tsi.ts+r){s();return}i.timer=setTimeout(function(){s(),i.timer=null},r)};US.done=function(e){var t=xy[e];return!t||!t.timer?Promise.resolve():new Promise(function(r){var n=t.onDone;t.onDone=function(){n&&n(),r(),t.onDone=null}})};US.clear=function(e){if(e)cie(xy[e]),delete xy[e];else for(var t in xy)US.clear(t)};function cie(e){e&&e.timer!==null&&(clearTimeout(e.timer),e.timer=null)}});var hie=ye((str,fie)=>{\"use strict\";fie.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener(\"resize\",t._responsiveChartHandler),delete t._responsiveChartHandler)}});var die=ye((ltr,P6)=>{\"use strict\";P6.exports=Hq;P6.exports.isMobile=Hq;P6.exports.default=Hq;var prt=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,grt=/CrOS/,mrt=/android|ipad|playbook|silk/i;function Hq(e){e||(e={});let t=e.ua;if(!t&&typeof navigator!=\"undefined\"&&(t=navigator.userAgent),t&&t.headers&&typeof t.headers[\"user-agent\"]==\"string\"&&(t=t.headers[\"user-agent\"]),typeof t!=\"string\")return!1;let r=prt.test(t)&&!grt.test(t)||!!e.tablet&&mrt.test(t);return!r&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&t.indexOf(\"Macintosh\")!==-1&&t.indexOf(\"Safari\")!==-1&&(r=!0),r}});var pie=ye((utr,vie)=>{\"use strict\";var yrt=uo(),_rt=die();vie.exports=function(t){var r;if(t&&t.hasOwnProperty(\"userAgent\")?r=t.userAgent:r=xrt(),typeof r!=\"string\")return!0;var n=_rt({ua:{headers:{\"user-agent\":r}},tablet:!0,featureDetect:!1});if(!n)for(var i=r.split(\" \"),a=1;a-1;s--){var l=i[s];if(l.substr(0,8)===\"Version/\"){var u=l.substr(8).split(\".\")[0];if(yrt(u)&&(u=+u),u>=13)return!0}}}return n};function xrt(){var e;return typeof navigator!=\"undefined\"&&(e=navigator.userAgent),e&&e.headers&&typeof e.headers[\"user-agent\"]==\"string\"&&(e=e.headers[\"user-agent\"]),e}});var mie=ye((ctr,gie)=>{\"use strict\";var brt=xa();gie.exports=function(t,r,n){var i=t.selectAll(\"g.\"+n.replace(/\\s/g,\".\")).data(r,function(o){return o[0].trace.uid});i.exit().remove(),i.enter().append(\"g\").attr(\"class\",n),i.order();var a=t.classed(\"rangeplot\")?\"nodeRangePlot3\":\"node3\";return i.each(function(o){o[0][a]=brt.select(this)}),i}});var _ie=ye((ftr,yie)=>{\"use strict\";var wrt=ba();yie.exports=function(t,r){for(var n=t._context.locale,i=0;i<2;i++){for(var a=t._context.locales,o=0;o<2;o++){var s=(a[n]||{}).dictionary;if(s){var l=s[r];if(l)return l}a=wrt.localeRegistry}var u=n.split(\"-\")[0];if(u===n)break;n=u}return r}});var Gq=ye((htr,xie)=>{\"use strict\";xie.exports=function(t){for(var r={},n=[],i=0,a=0;a{\"use strict\";bie.exports=function(t){for(var r=Srt(t)?Art:Trt,n=[],i=0;i{\"use strict\";Tie.exports=function(t,r){if(!r)return t;var n=1/Math.abs(r),i=n>1?(n*t+n*r)/n:t+r,a=String(i).length;if(a>16){var o=String(r).length,s=String(t).length;if(a>=s+o){var l=parseFloat(i).toPrecision(12);l.indexOf(\"e+\")===-1&&(i=+l)}}return i}});var Mie=ye((ptr,Sie)=>{\"use strict\";var Mrt=uo(),Ert=es().BADNUM,krt=/^['\"%,$#\\s']+|[, ]|['\"%,$#\\s']+$/g;Sie.exports=function(t){return typeof t==\"string\"&&(t=t.replace(krt,\"\")),Mrt(t)?Number(t):Ert}});var Mr=ye((gtr,Bie)=>{\"use strict\";var VS=xa(),Crt=e3().utcFormat,Lrt=dq().format,Iie=uo(),Rie=es(),Die=Rie.FP_SAFE,Prt=-Die,Eie=Rie.BADNUM,li=Bie.exports={};li.adjustFormat=function(t){return!t||/^\\d[.]\\df/.test(t)||/[.]\\d%/.test(t)?t:t===\"0.f\"?\"~f\":/^\\d%/.test(t)?\"~%\":/^\\ds/.test(t)?\"~s\":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?\"~\"+t:t};var kie={};li.warnBadFormat=function(e){var t=String(e);kie[t]||(kie[t]=1,li.warn('encountered bad format: \"'+t+'\"'))};li.noFormat=function(e){return String(e)};li.numberFormat=function(e){var t;try{t=Lrt(li.adjustFormat(e))}catch(r){return li.warnBadFormat(e),li.noFormat}return t};li.nestedProperty=ES();li.keyedContainer=_ee();li.relativeAttr=bee();li.isPlainObject=gy();li.toLogRange=l6();li.relinkPrivateKeys=See();var K1=vv();li.isArrayBuffer=K1.isArrayBuffer;li.isTypedArray=K1.isTypedArray;li.isArrayOrTypedArray=K1.isArrayOrTypedArray;li.isArray1D=K1.isArray1D;li.ensureArray=K1.ensureArray;li.concat=K1.concat;li.maxRowLength=K1.maxRowLength;li.minRowLength=K1.minRowLength;var zie=r3();li.mod=zie.mod;li.modHalf=zie.modHalf;var J1=Gee();li.valObjectMeta=J1.valObjectMeta;li.coerce=J1.coerce;li.coerce2=J1.coerce2;li.coerceFont=J1.coerceFont;li.coercePattern=J1.coercePattern;li.coerceHoverinfo=J1.coerceHoverinfo;li.coerceSelectionMarkerOpacity=J1.coerceSelectionMarkerOpacity;li.validate=J1.validate;var Wp=Jre();li.dateTime2ms=Wp.dateTime2ms;li.isDateTime=Wp.isDateTime;li.ms2DateTime=Wp.ms2DateTime;li.ms2DateTimeLocal=Wp.ms2DateTimeLocal;li.cleanDate=Wp.cleanDate;li.isJSDate=Wp.isJSDate;li.formatDate=Wp.formatDate;li.incrementMonth=Wp.incrementMonth;li.dateTick0=Wp.dateTick0;li.dfltRange=Wp.dfltRange;li.findExactDates=Wp.findExactDates;li.MIN_MS=Wp.MIN_MS;li.MAX_MS=Wp.MAX_MS;var db=E6();li.findBin=db.findBin;li.sorterAsc=db.sorterAsc;li.sorterDes=db.sorterDes;li.distinctVals=db.distinctVals;li.roundUp=db.roundUp;li.sort=db.sort;li.findIndexOfMin=db.findIndexOfMin;li.sortObjectKeys=X1();var by=eie();li.aggNums=by.aggNums;li.len=by.len;li.mean=by.mean;li.geometricMean=by.geometricMean;li.median=by.median;li.midRange=by.midRange;li.variance=by.variance;li.stdev=by.stdev;li.interp=by.interp;var yg=g6();li.init2dArray=yg.init2dArray;li.transposeRagged=yg.transposeRagged;li.dot=yg.dot;li.translationMatrix=yg.translationMatrix;li.rotationMatrix=yg.rotationMatrix;li.rotationXYMatrix=yg.rotationXYMatrix;li.apply3DTransform=yg.apply3DTransform;li.apply2DTransform=yg.apply2DTransform;li.apply2DTransform2=yg.apply2DTransform2;li.convertCssMatrix=yg.convertCssMatrix;li.inverseTransformMatrix=yg.inverseTransformMatrix;var vm=aie();li.deg2rad=vm.deg2rad;li.rad2deg=vm.rad2deg;li.angleDelta=vm.angleDelta;li.angleDist=vm.angleDist;li.isFullCircle=vm.isFullCircle;li.isAngleInsideSector=vm.isAngleInsideSector;li.isPtInsideSector=vm.isPtInsideSector;li.pathArc=vm.pathArc;li.pathSector=vm.pathSector;li.pathAnnulus=vm.pathAnnulus;var d3=oie();li.isLeftAnchor=d3.isLeftAnchor;li.isCenterAnchor=d3.isCenterAnchor;li.isRightAnchor=d3.isRightAnchor;li.isTopAnchor=d3.isTopAnchor;li.isMiddleAnchor=d3.isMiddleAnchor;li.isBottomAnchor=d3.isBottomAnchor;var v3=uie();li.segmentsIntersect=v3.segmentsIntersect;li.segmentDistance=v3.segmentDistance;li.getTextLocation=v3.getTextLocation;li.clearLocationCache=v3.clearLocationCache;li.getVisibleSegment=v3.getVisibleSegment;li.findPointOnPath=v3.findPointOnPath;var D6=no();li.extendFlat=D6.extendFlat;li.extendDeep=D6.extendDeep;li.extendDeepAll=D6.extendDeepAll;li.extendDeepNoArrays=D6.extendDeepNoArrays;var jq=H1();li.log=jq.log;li.warn=jq.warn;li.error=jq.error;var Irt=n3();li.counterRegex=Irt.counter;var Wq=L6();li.throttle=Wq.throttle;li.throttleDone=Wq.done;li.clearThrottle=Wq.clear;var _g=DS();li.getGraphDiv=_g.getGraphDiv;li.isPlotDiv=_g.isPlotDiv;li.removeElement=_g.removeElement;li.addStyleRule=_g.addStyleRule;li.addRelatedStyleRule=_g.addRelatedStyleRule;li.deleteRelatedStyleRule=_g.deleteRelatedStyleRule;li.setStyleOnHover=_g.setStyleOnHover;li.getFullTransformMatrix=_g.getFullTransformMatrix;li.getElementTransformMatrix=_g.getElementTransformMatrix;li.getElementAndAncestors=_g.getElementAndAncestors;li.equalDomRects=_g.equalDomRects;li.clearResponsive=hie();li.preserveDrawingBuffer=pie();li.makeTraceGroups=mie();li._=_ie();li.notifier=Aq();li.filterUnique=Gq();li.filterVisible=wie();li.pushUnique=Eq();li.increment=Aie();li.cleanNumber=Mie();li.ensureNumber=function(t){return Iie(t)?(t=Number(t),t>Die||t=t?!1:Iie(e)&&e>=0&&e%1===0};li.noop=p6();li.identity=OS();li.repeat=function(e,t){for(var r=new Array(t),n=0;nr?Math.max(r,Math.min(t,e)):Math.max(t,Math.min(r,e))};li.bBoxIntersect=function(e,t,r){return r=r||0,e.left<=t.right+r&&t.left<=e.right+r&&e.top<=t.bottom+r&&t.top<=e.bottom+r};li.simpleMap=function(e,t,r,n,i){for(var a=e.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(li.warn(\"randstr failed uniqueness\"),o):e(t,r,n,(i||0)+1):o};li.OptionControl=function(e,t){e||(e={}),t||(t=\"opt\");var r={};return r.optionList=[],r._newoption=function(n){n[t]=e,r[n.name]=n,r.optionList.push(n)},r[\"_\"+t]=e,r};li.smooth=function(e,t){if(t=Math.round(t)||0,t<2)return e;var r=e.length,n=2*r,i=2*t-1,a=new Array(i),o=new Array(r),s,l,u,c;for(s=0;s=n&&(u-=n*Math.floor(u/n)),u<0?u=-1-u:u>=r&&(u=n-1-u),c+=e[u]*a[l];o[s]=c}return o};li.syncOrAsync=function(e,t,r){var n,i;function a(){return li.syncOrAsync(e,t,r)}for(;e.length;)if(i=e.splice(0,1)[0],n=i(t),n&&n.then)return n.then(a);return r&&r(t)};li.stripTrailingSlash=function(e){return e.substr(-1)===\"/\"?e.substr(0,e.length-1):e};li.noneOrAll=function(e,t,r){if(e){var n=!1,i=!0,a,o;for(a=0;a0?i:0})};li.fillArray=function(e,t,r,n){if(n=n||li.identity,li.isArrayOrTypedArray(e))for(var i=0;i1?i+o[1]:\"\";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,\"$1\"+a+\"$2\");return s+l};li.TEMPLATE_STRING_REGEX=/%{([^\\s%{}:]*)([:|\\|][^}]*)?}/g;var Oie=/^\\w*$/;li.templateString=function(e,t){var r={};return e.replace(li.TEMPLATE_STRING_REGEX,function(n,i){var a;return Oie.test(i)?a=t[i]:(r[i]=r[i]||li.nestedProperty(t,i).get,a=r[i]()),li.isValidTextValue(a)?a:\"\"})};var Ort={max:10,count:0,name:\"hovertemplate\"};li.hovertemplateString=function(){return Zq.apply(Ort,arguments)};var Brt={max:10,count:0,name:\"texttemplate\"};li.texttemplateString=function(){return Zq.apply(Brt,arguments)};var Nrt=/^(\\S+)([\\*\\/])(-?\\d+(\\.\\d+)?)$/;function Urt(e){var t=e.match(Nrt);return t?{key:t[1],op:t[2],number:Number(t[3])}:{key:e,op:null,number:null}}var Vrt={max:10,count:0,name:\"texttemplate\",parseMultDiv:!0};li.texttemplateStringForShapes=function(){return Zq.apply(Vrt,arguments)};var Cie=/^[:|\\|]/;function Zq(e,t,r){var n=this,i=arguments;t||(t={});var a={};return e.replace(li.TEMPLATE_STRING_REGEX,function(o,s,l){var u=s===\"xother\"||s===\"yother\",c=s===\"_xother\"||s===\"_yother\",f=s===\"_xother_\"||s===\"_yother_\",h=s===\"xother_\"||s===\"yother_\",d=u||c||h||f,v=s;(c||f)&&(v=v.substring(1)),(h||f)&&(v=v.substring(0,v.length-1));var x=null,b=null;if(n.parseMultDiv){var g=Urt(v);v=g.key,x=g.op,b=g.number}var E;if(d){if(E=t[v],E===void 0)return\"\"}else{var k,A;for(A=3;A=R6&&o<=Lie,u=s>=R6&&s<=Lie;if(l&&(n=10*n+o-R6),u&&(i=10*i+s-R6),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var h3=2e9;li.seedPseudoRandom=function(){h3=2e9};li.pseudoRandom=function(){var e=h3;return h3=(69069*h3+1)%4294967296,Math.abs(h3-e)<429496729?li.pseudoRandom():h3/4294967296};li.fillText=function(e,t,r){var n=Array.isArray(r)?function(o){r.push(o)}:function(o){r.text=o},i=li.extractOption(e,t,\"htx\",\"hovertext\");if(li.isValidTextValue(i))return n(i);var a=li.extractOption(e,t,\"tx\",\"text\");if(li.isValidTextValue(a))return n(a)};li.isValidTextValue=function(e){return e||e===0};li.formatPercent=function(e,t){t=t||0;for(var r=(Math.round(100*e*Math.pow(10,t))*Math.pow(.1,t)).toFixed(t)+\"%\",n=0;n1&&(u=1):u=0,li.strTranslate(i-u*(r+o),a-u*(n+s))+li.strScale(u)+(l?\"rotate(\"+l+(t?\"\":\" \"+r+\" \"+n)+\")\":\"\")};li.setTransormAndDisplay=function(e,t){e.attr(\"transform\",li.getTextTransform(t)),e.style(\"display\",t.scale?null:\"none\")};li.ensureUniformFontSize=function(e,t){var r=li.extendFlat({},t);return r.size=Math.max(t.size,e._fullLayout.uniformtext.minsize||0),r};li.join2=function(e,t,r){var n=e.length;return n>1?e.slice(0,-1).join(t)+r+e[n-1]:e.join(t)};li.bigFont=function(e){return Math.round(1.2*e)};var Pie=li.getFirefoxVersion(),Hrt=Pie!==null&&Pie<86;li.getPositionFromD3Event=function(){return Hrt?[VS.event.layerX,VS.event.layerY]:[VS.event.offsetX,VS.event.offsetY]}});var Vie=ye(()=>{\"use strict\";var Grt=Mr(),Nie={\"X,X div\":'direction:ltr;font-family:\"Open Sans\",verdana,arial,sans-serif;margin:0;padding:0;',\"X input,X button\":'font-family:\"Open Sans\",verdana,arial,sans-serif;',\"X input:focus,X button:focus\":\"outline:none;\",\"X a\":\"text-decoration:none;\",\"X a:hover\":\"text-decoration:none;\",\"X .crisp\":\"shape-rendering:crispEdges;\",\"X .user-select-none\":\"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;\",\"X svg a\":\"fill:#447adb;\",\"X svg a:hover\":\"fill:#3c6dc5;\",\"X .main-svg\":\"position:absolute;top:0;left:0;pointer-events:none;\",\"X .main-svg .draglayer\":\"pointer-events:all;\",\"X .cursor-default\":\"cursor:default;\",\"X .cursor-pointer\":\"cursor:pointer;\",\"X .cursor-crosshair\":\"cursor:crosshair;\",\"X .cursor-move\":\"cursor:move;\",\"X .cursor-col-resize\":\"cursor:col-resize;\",\"X .cursor-row-resize\":\"cursor:row-resize;\",\"X .cursor-ns-resize\":\"cursor:ns-resize;\",\"X .cursor-ew-resize\":\"cursor:ew-resize;\",\"X .cursor-sw-resize\":\"cursor:sw-resize;\",\"X .cursor-s-resize\":\"cursor:s-resize;\",\"X .cursor-se-resize\":\"cursor:se-resize;\",\"X .cursor-w-resize\":\"cursor:w-resize;\",\"X .cursor-e-resize\":\"cursor:e-resize;\",\"X .cursor-nw-resize\":\"cursor:nw-resize;\",\"X .cursor-n-resize\":\"cursor:n-resize;\",\"X .cursor-ne-resize\":\"cursor:ne-resize;\",\"X .cursor-grab\":\"cursor:-webkit-grab;cursor:grab;\",\"X .modebar\":\"position:absolute;top:2px;right:2px;\",\"X .ease-bg\":\"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;\",\"X .modebar--hover>:not(.watermark)\":\"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;\",\"X:hover .modebar--hover .modebar-group\":\"opacity:1;\",\"X .modebar-group\":\"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;\",\"X .modebar-btn\":\"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;\",\"X .modebar-btn svg\":\"position:relative;top:2px;\",\"X .modebar.vertical\":\"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;\",\"X .modebar.vertical svg\":\"top:-1px;\",\"X .modebar.vertical .modebar-group\":\"display:block;float:none;padding-left:0px;padding-bottom:8px;\",\"X .modebar.vertical .modebar-group .modebar-btn\":\"display:block;text-align:center;\",\"X [data-title]:before,X [data-title]:after\":\"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;\",\"X [data-title]:hover:before,X [data-title]:hover:after\":\"display:block;opacity:1;\",\"X [data-title]:before\":'content:\"\";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',\"X [data-title]:after\":\"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;\",\"X .vertical [data-title]:before,X .vertical [data-title]:after\":\"top:0%;right:200%;\",\"X .vertical [data-title]:before\":\"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;\",Y:'font-family:\"Open Sans\",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',\"Y p\":\"margin:0;\",\"Y .notifier-note\":\"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;\",\"Y .notifier-close\":\"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;\",\"Y .notifier-close:hover\":\"color:#444;text-decoration:none;cursor:pointer;\"};for(Xq in Nie)Uie=Xq.replace(/^,/,\" ,\").replace(/X/g,\".js-plotly-plot .plotly\").replace(/Y/g,\".plotly-notifier\"),Grt.addStyleRule(Uie,Nie[Xq]);var Uie,Xq});var Yq=ye((_tr,Hie)=>{Hie.exports=!0});var Jq=ye((xtr,Gie)=>{\"use strict\";var jrt=Yq(),Kq;typeof window.matchMedia==\"function\"?Kq=!window.matchMedia(\"(hover: none)\").matches:Kq=jrt;Gie.exports=Kq});var vb=ye((btr,$q)=>{\"use strict\";var p3=typeof Reflect==\"object\"?Reflect:null,jie=p3&&typeof p3.apply==\"function\"?p3.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},z6;p3&&typeof p3.ownKeys==\"function\"?z6=p3.ownKeys:Object.getOwnPropertySymbols?z6=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:z6=function(t){return Object.getOwnPropertyNames(t)};function Wrt(e){console&&console.warn&&console.warn(e)}var Zie=Number.isNaN||function(t){return t!==t};function Tc(){Tc.init.call(this)}$q.exports=Tc;$q.exports.once=Krt;Tc.EventEmitter=Tc;Tc.prototype._events=void 0;Tc.prototype._eventsCount=0;Tc.prototype._maxListeners=void 0;var Wie=10;function F6(e){if(typeof e!=\"function\")throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(Tc,\"defaultMaxListeners\",{enumerable:!0,get:function(){return Wie},set:function(e){if(typeof e!=\"number\"||e<0||Zie(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");Wie=e}});Tc.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Tc.prototype.setMaxListeners=function(t){if(typeof t!=\"number\"||t<0||Zie(t))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+t+\".\");return this._maxListeners=t,this};function Xie(e){return e._maxListeners===void 0?Tc.defaultMaxListeners:e._maxListeners}Tc.prototype.getMaxListeners=function(){return Xie(this)};Tc.prototype.emit=function(t){for(var r=[],n=1;n0&&(o=r[0]),o instanceof Error)throw o;var s=new Error(\"Unhandled error.\"+(o?\" (\"+o.message+\")\":\"\"));throw s.context=o,s}var l=a[t];if(l===void 0)return!1;if(typeof l==\"function\")jie(l,this,r);else for(var u=l.length,c=Qie(l,u),n=0;n0&&o.length>i&&!o.warned){o.warned=!0;var s=new Error(\"Possible EventEmitter memory leak detected. \"+o.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");s.name=\"MaxListenersExceededWarning\",s.emitter=e,s.type=t,s.count=o.length,Wrt(s)}return e}Tc.prototype.addListener=function(t,r){return Yie(this,t,r,!1)};Tc.prototype.on=Tc.prototype.addListener;Tc.prototype.prependListener=function(t,r){return Yie(this,t,r,!0)};function Zrt(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Kie(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Zrt.bind(n);return i.listener=r,n.wrapFn=i,i}Tc.prototype.once=function(t,r){return F6(r),this.on(t,Kie(this,t,r)),this};Tc.prototype.prependOnceListener=function(t,r){return F6(r),this.prependListener(t,Kie(this,t,r)),this};Tc.prototype.removeListener=function(t,r){var n,i,a,o,s;if(F6(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit(\"removeListener\",t,n.listener||r));else if(typeof n!=\"function\"){for(a=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){s=n[o].listener,a=o;break}if(a<0)return this;a===0?n.shift():Xrt(n,a),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit(\"removeListener\",t,s||r)}return this};Tc.prototype.off=Tc.prototype.removeListener;Tc.prototype.removeAllListeners=function(t){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),this;if(arguments.length===0){var a=Object.keys(n),o;for(i=0;i=0;i--)this.removeListener(t,r[i]);return this};function Jie(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i==\"function\"?r?[i.listener||i]:[i]:r?Yrt(i):Qie(i,i.length)}Tc.prototype.listeners=function(t){return Jie(this,t,!0)};Tc.prototype.rawListeners=function(t){return Jie(this,t,!1)};Tc.listenerCount=function(e,t){return typeof e.listenerCount==\"function\"?e.listenerCount(t):$ie.call(e,t)};Tc.prototype.listenerCount=$ie;function $ie(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r==\"function\")return 1;if(r!==void 0)return r.length}return 0}Tc.prototype.eventNames=function(){return this._eventsCount>0?z6(this._events):[]};function Qie(e,t){for(var r=new Array(t),n=0;n{\"use strict\";var Qq=vb().EventEmitter,$rt={init:function(e){if(e._ev instanceof Qq)return e;var t=new Qq,r=new Qq;return e._ev=t,e._internalEv=r,e.on=t.on.bind(t),e.once=t.once.bind(t),e.removeListener=t.removeListener.bind(t),e.removeAllListeners=t.removeAllListeners.bind(t),e._internalOn=r.on.bind(r),e._internalOnce=r.once.bind(r),e._removeInternalListener=r.removeListener.bind(r),e._removeAllInternalListeners=r.removeAllListeners.bind(r),e.emit=function(n,i){t.emit(n,i),r.emit(n,i)},e},triggerHandler:function(e,t,r){var n,i=e._ev;if(!i)return;var a=i._events[t];if(!a)return;function o(l){if(l.listener){if(i.removeListener(t,l.listener),!l.fired)return l.fired=!0,l.listener.apply(i,[r])}else return l.apply(i,[r])}a=Array.isArray(a)?a:[a];var s;for(s=0;s{\"use strict\";var rne=Mr(),Qrt=ub().dfltConfig;function eit(e,t){for(var r=[],n,i=0;iQrt.queueLength&&(e.undoQueue.queue.shift(),e.undoQueue.index--)};wy.startSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!0,e.undoQueue.beginSequence=!0};wy.stopSequence=function(e){e.undoQueue=e.undoQueue||{index:0,queue:[],sequence:!1},e.undoQueue.sequence=!1,e.undoQueue.beginSequence=!1};wy.undo=function(t){var r,n;if(!(t.undoQueue===void 0||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n=t.undoQueue.queue.length)){for(r=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,n=0;n{\"use strict\";ane.exports={_isLinkedToArray:\"frames_entry\",group:{valType:\"string\"},name:{valType:\"string\"},traces:{valType:\"any\"},baseframe:{valType:\"string\"},data:{valType:\"any\"},layout:{valType:\"any\"}}});var _3=ye(Bh=>{\"use strict\";var x0=ba(),HS=Mr(),O6=vl(),tO=s3(),tit=eO(),rit=zS(),iit=ub().configAttributes,one=Bu(),xg=HS.extendDeepAll,m3=HS.isPlainObject,nit=HS.isArrayOrTypedArray,B6=HS.nestedProperty,ait=HS.valObjectMeta,rO=\"_isSubplotObj\",N6=\"_isLinkedToArray\",oit=\"_arrayAttrRegexps\",lne=\"_deprecated\",iO=[rO,N6,oit,lne];Bh.IS_SUBPLOT_OBJ=rO;Bh.IS_LINKED_TO_ARRAY=N6;Bh.DEPRECATED=lne;Bh.UNDERSCORE_ATTRS=iO;Bh.get=function(){var e={};return x0.allTypes.forEach(function(t){e[t]=lit(t)}),{defs:{valObjects:ait,metaKeys:iO.concat([\"description\",\"role\",\"editType\",\"impliedEdits\"]),editType:{traces:one.traces,layout:one.layout},impliedEdits:{}},traces:e,layout:uit(),frames:cit(),animation:y3(rit),config:y3(iit)}};Bh.crawl=function(e,t,r,n){var i=r||0;n=n||\"\",Object.keys(e).forEach(function(a){var o=e[a];if(iO.indexOf(a)===-1){var s=(n?n+\".\":\"\")+a;t(o,a,e,i,s),!Bh.isValObject(o)&&m3(o)&&a!==\"impliedEdits\"&&Bh.crawl(o,t,i+1,s)}})};Bh.isValObject=function(e){return e&&e.valType!==void 0};Bh.findArrayAttributes=function(e){var t=[],r=[],n=[],i,a;function o(l,u,c,f){r=r.slice(0,f).concat([u]),n=n.slice(0,f).concat([l&&l._isLinkedToArray]);var h=l&&(l.valType===\"data_array\"||l.arrayOk===!0)&&!(r[f-1]===\"colorbar\"&&(u===\"ticktext\"||u===\"tickvals\"));h&&s(i,0,\"\")}function s(l,u,c){var f=l[r[u]],h=c+r[u];if(u===r.length-1)nit(f)&&t.push(a+h);else if(n[u]){if(Array.isArray(f))for(var d=0;d=a.length)return!1;if(e.dimensions===2){if(r++,t.length===r)return e;var o=t[r];if(!q6(o))return!1;e=a[i][o]}else e=a[i]}else e=a}}return e}function q6(e){return e===Math.round(e)&&e>=0}function lit(e){var t,r;t=x0.modules[e]._module,r=t.basePlotModule;var n={};n.type=null;var i=xg({},O6),a=xg({},t.attributes);Bh.crawl(a,function(l,u,c,f,h){B6(i,h).set(void 0),l===void 0&&B6(a,h).set(void 0)}),xg(n,i),x0.traceIs(e,\"noOpacity\")&&delete n.opacity,x0.traceIs(e,\"showLegend\")||(delete n.showlegend,delete n.legendgroup),x0.traceIs(e,\"noHover\")&&(delete n.hoverinfo,delete n.hoverlabel),t.selectPoints||delete n.selectedpoints,xg(n,a),r.attributes&&xg(n,r.attributes),n.type=e;var o={meta:t.meta||{},categories:t.categories||{},animatable:!!t.animatable,type:e,attributes:y3(n)};if(t.layoutAttributes){var s={};xg(s,t.layoutAttributes),o.layoutAttributes=y3(s)}return t.animatable||Bh.crawl(o,function(l){Bh.isValObject(l)&&\"anim\"in l&&delete l.anim}),o}function uit(){var e={},t,r;xg(e,tO);for(t in x0.subplotsRegistry)if(r=x0.subplotsRegistry[t],!!r.layoutAttributes)if(Array.isArray(r.attr))for(var n=0;n{\"use strict\";var x3=Mr(),pit=vl(),$1=\"templateitemname\",nO={name:{valType:\"string\",editType:\"none\"}};nO[$1]={valType:\"string\",editType:\"calc\"};pb.templatedArray=function(e,t){return t._isLinkedToArray=e,t.name=nO.name,t[$1]=nO[$1],t};pb.traceTemplater=function(e){var t={},r,n;for(r in e)n=e[r],Array.isArray(n)&&n.length&&(t[r]=0);function i(a){r=x3.coerce(a,{},pit,\"type\");var o={type:r,_template:null};if(r in t){n=e[r];var s=t[r]%n.length;t[r]++,o._template=n[s]}return o}return{newTrace:i}};pb.newContainer=function(e,t,r){var n=e._template,i=n&&(n[t]||r&&n[r]);x3.isPlainObject(i)||(i=null);var a=e[t]={_template:i};return a};pb.arrayTemplater=function(e,t,r){var n=e._template,i=n&&n[fne(t)],a=n&&n[t];(!Array.isArray(a)||!a.length)&&(a=[]);var o={};function s(u){var c={name:u.name,_input:u},f=c[$1]=u[$1];if(!cne(f))return c._template=i,c;for(var h=0;h=n&&(r._input||{})._templateitemname;a&&(i=n);var o=t+\"[\"+i+\"]\",s;function l(){s={},a&&(s[o]={},s[o][$1]=a)}l();function u(d,v){s[d]=v}function c(d,v){a?x3.nestedProperty(s[o],d).set(v):s[o+\".\"+d]=v}function f(){var d=s;return l(),d}function h(d,v){d&&c(d,v);var x=f();for(var b in x)x3.nestedProperty(e,b).set(x[b])}return{modifyBase:u,modifyItem:c,getUpdateObj:f,applyUpdate:h}}});var ad=ye((Etr,hne)=>{\"use strict\";var GS=n3().counter;hne.exports={idRegex:{x:GS(\"x\",\"( domain)?\"),y:GS(\"y\",\"( domain)?\")},attrRegex:GS(\"[xy]axis\"),xAxisMatch:GS(\"xaxis\"),yAxisMatch:GS(\"yaxis\"),AX_ID_PATTERN:/^[xyz][0-9]*( domain)?$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,HOUR_PATTERN:\"hour\",WEEKDAY_PATTERN:\"day of week\",MINDRAG:8,MINZOOM:20,DRAGGERSIZE:20,REDRAWDELAY:50,DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:[\"imagelayer\",\"heatmaplayer\",\"contourcarpetlayer\",\"contourlayer\",\"funnellayer\",\"waterfalllayer\",\"barlayer\",\"carpetlayer\",\"violinlayer\",\"boxlayer\",\"ohlclayer\",\"scattercarpetlayer\",\"scatterlayer\"],clipOnAxisFalseQuery:[\".scatterlayer\",\".barlayer\",\".funnellayer\",\".waterfalllayer\"],layerValue2layerClass:{\"above traces\":\"above\",\"below traces\":\"below\"},zindexSeparator:\"z\"}});var af=ye(Tp=>{\"use strict\";var git=ba(),aO=ad();Tp.id2name=function(t){if(!(typeof t!=\"string\"||!t.match(aO.AX_ID_PATTERN))){var r=t.split(\" \")[0].substr(1);return r===\"1\"&&(r=\"\"),t.charAt(0)+\"axis\"+r}};Tp.name2id=function(t){if(t.match(aO.AX_NAME_PATTERN)){var r=t.substr(5);return r===\"1\"&&(r=\"\"),t.charAt(0)+r}};Tp.cleanId=function(t,r,n){var i=/( domain)$/.test(t);if(!(typeof t!=\"string\"||!t.match(aO.AX_ID_PATTERN))&&!(r&&t.charAt(0)!==r)&&!(i&&!n)){var a=t.split(\" \")[0].substr(1).replace(/^0+/,\"\");return a===\"1\"&&(a=\"\"),t.charAt(0)+a+(i&&n?\" domain\":\"\")}};Tp.list=function(e,t,r){var n=e._fullLayout;if(!n)return[];var i=Tp.listIds(e,t),a=new Array(i.length),o;for(o=0;on?1:-1:+(e.substr(1)||1)-+(t.substr(1)||1)};Tp.ref2id=function(e){return/^[xyz]/.test(e)?e.split(\" \")[0]:!1};function dne(e,t){if(t&&t.length){for(var r=0;r{\"use strict\";function mit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".outline-controllers\").remove()}function yit(e){var t=e._fullLayout._zoomlayer;t&&t.selectAll(\".select-outline\").remove(),e._fullLayout._outlining=!1}vne.exports={clearOutlineControllers:mit,clearOutline:yit}});var U6=ye((Ltr,pne)=>{\"use strict\";pne.exports={scattermode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},scattergap:{valType:\"number\",min:0,max:1,editType:\"calc\"}}});var kd=ye(H6=>{\"use strict\";var V6=ba(),Ptr=ad().SUBPLOT_PATTERN;H6.getSubplotCalcData=function(e,t,r){var n=V6.subplotsRegistry[t];if(!n)return[];for(var i=n.attr,a=[],o=0;o{\"use strict\";var _it=ba(),b3=Mr();gb.manageCommandObserver=function(e,t,r,n){var i={},a=!0;t&&t._commandObserver&&(i=t._commandObserver),i.cache||(i.cache={}),i.lookupTable={};var o=gb.hasSimpleAPICommandBindings(e,r,i.lookupTable);if(t&&t._commandObserver){if(o)return i;if(t._commandObserver.remove)return t._commandObserver.remove(),t._commandObserver=null,i}if(o){gne(e,o,i.cache),i.check=function(){if(a){var c=gne(e,o,i.cache);return c.changed&&n&&i.lookupTable[c.value]!==void 0&&(i.disable(),Promise.resolve(n({value:c.value,type:o.type,prop:o.prop,traces:o.traces,index:i.lookupTable[c.value]})).then(i.enable,i.enable)),c.changed}};for(var s=[\"plotly_relayout\",\"plotly_redraw\",\"plotly_restyle\",\"plotly_update\",\"plotly_animatingframe\",\"plotly_afterplot\"],l=0;l0?\".\":\"\")+i;b3.isPlainObject(a)?oO(a,t,o,n+1):t(o,i,a)}})}});var Xu=ye((Dtr,Rne)=>{\"use strict\";var Mne=xa(),bit=e3().timeFormatLocale,wit=dq().formatLocale,jS=uo(),Tit=vq(),bl=ba(),Ene=_3(),Ait=Vs(),Ca=Mr(),kne=va(),xne=es().BADNUM,Ap=af(),Sit=Q1().clearOutline,Mit=U6(),sO=zS(),Eit=eO(),kit=kd().getModuleCalcData,bne=Ca.relinkPrivateKeys,mb=Ca._,ha=Rne.exports={};Ca.extendFlat(ha,bl);ha.attributes=vl();ha.attributes.type.values=ha.allTypes;ha.fontAttrs=Su();ha.layoutAttributes=s3();var j6=_ne();ha.executeAPICommand=j6.executeAPICommand;ha.computeAPICommandBindings=j6.computeAPICommandBindings;ha.manageCommandObserver=j6.manageCommandObserver;ha.hasSimpleAPICommandBindings=j6.hasSimpleAPICommandBindings;ha.redrawText=function(e){return e=Ca.getGraphDiv(e),new Promise(function(t){setTimeout(function(){e._fullLayout&&(bl.getComponentMethod(\"annotations\",\"draw\")(e),bl.getComponentMethod(\"legend\",\"draw\")(e),bl.getComponentMethod(\"colorbar\",\"draw\")(e),t(ha.previousPromises(e)))},300)})};ha.resize=function(e){e=Ca.getGraphDiv(e);var t,r=new Promise(function(n,i){(!e||Ca.isHidden(e))&&i(new Error(\"Resize must be passed a displayed plot div element.\")),e._redrawTimer&&clearTimeout(e._redrawTimer),e._resolveResize&&(t=e._resolveResize),e._resolveResize=n,e._redrawTimer=setTimeout(function(){if(!e.layout||e.layout.width&&e.layout.height||Ca.isHidden(e)){n(e);return}delete e.layout.width,delete e.layout.height;var a=e.changed;e.autoplay=!0,bl.call(\"relayout\",e,{autosize:!0}).then(function(){e.changed=a,e._resolveResize===n&&(delete e._resolveResize,n(e))})},100)});return t&&t(r),r};ha.previousPromises=function(e){if((e._promises||[]).length)return Promise.all(e._promises).then(function(){e._promises=[]})};ha.addLinks=function(e){if(!(!e._context.showLink&&!e._context.showSources)){var t=e._fullLayout,r=Ca.ensureSingle(t._paper,\"text\",\"js-plot-link-container\",function(l){l.style({\"font-family\":'\"Open Sans\", Arial, sans-serif',\"font-size\":\"12px\",fill:kne.defaultLine,\"pointer-events\":\"all\"}).each(function(){var u=Mne.select(this);u.append(\"tspan\").classed(\"js-link-to-tool\",!0),u.append(\"tspan\").classed(\"js-link-spacer\",!0),u.append(\"tspan\").classed(\"js-sourcelinks\",!0)})}),n=r.node(),i={y:t._paper.attr(\"height\")-9};document.body.contains(n)&&n.getComputedTextLength()>=t.width-20?(i[\"text-anchor\"]=\"start\",i.x=5):(i[\"text-anchor\"]=\"end\",i.x=t._paper.attr(\"width\")-7),r.attr(i);var a=r.select(\".js-link-to-tool\"),o=r.select(\".js-link-spacer\"),s=r.select(\".js-sourcelinks\");e._context.showSources&&e._context.showSources(e),e._context.showLink&&Cit(e,a),o.text(a.text()&&s.text()?\" - \":\"\")}};function Cit(e,t){t.text(\"\");var r=t.append(\"a\").attr({\"xlink:xlink:href\":\"#\",class:\"link--impt link--embedview\",\"font-weight\":\"bold\"}).text(e._context.linkText+\" \\xBB\");if(e._context.sendData)r.on(\"click\",function(){ha.sendDataToCloud(e)});else{var n=window.location.pathname.split(\"/\"),i=window.location.search;r.attr({\"xlink:xlink:show\":\"new\",\"xlink:xlink:href\":\"/\"+n[2].split(\".\")[0]+\"/\"+n[1]+i})}}ha.sendDataToCloud=function(e){var t=(window.PLOTLYENV||{}).BASE_URL||e._context.plotlyServerURL;if(t){e.emit(\"plotly_beforeexport\");var r=Mne.select(e).append(\"div\").attr(\"id\",\"hiddenform\").style(\"display\",\"none\"),n=r.append(\"form\").attr({action:t+\"/external\",method:\"post\",target:\"_blank\"}),i=n.append(\"input\").attr({type:\"text\",name:\"data\"});return i.node().value=ha.graphJson(e,!1,\"keepdata\"),n.node().submit(),r.remove(),e.emit(\"plotly_afterexport\"),!1}};var Lit=[\"days\",\"shortDays\",\"months\",\"shortMonths\",\"periods\",\"dateTime\",\"date\",\"time\",\"decimal\",\"thousands\",\"grouping\",\"currency\"],Pit=[\"year\",\"month\",\"dayMonth\",\"dayMonthYear\"];ha.supplyDefaults=function(e,t){var r=t&&t.skipUpdateCalc,n=e._fullLayout||{};if(n._skipDefaults){delete n._skipDefaults;return}var i=e._fullLayout={},a=e.layout||{},o=e._fullData||[],s=e._fullData=[],l=e.data||[],u=e.calcdata||[],c=e._context||{},f;e._transitionData||ha.createTransitionData(e),i._dfltTitle={plot:mb(e,\"Click to enter Plot title\"),subtitle:mb(e,\"Click to enter Plot subtitle\"),x:mb(e,\"Click to enter X axis title\"),y:mb(e,\"Click to enter Y axis title\"),colorbar:mb(e,\"Click to enter Colorscale title\"),annotation:mb(e,\"new text\")},i._traceWord=mb(e,\"trace\");var h=wne(e,Lit);if(i._mapboxAccessToken=c.mapboxAccessToken,n._initialAutoSizeIsDone){var d=n.width,v=n.height;ha.supplyLayoutGlobalDefaults(a,i,h),a.width||(i.width=d),a.height||(i.height=v),ha.sanitizeMargins(i)}else{ha.supplyLayoutGlobalDefaults(a,i,h);var x=!a.width||!a.height,b=i.autosize,g=c.autosizable,E=x&&(b||g);E?ha.plotAutoSize(e,a,i):x&&ha.sanitizeMargins(i),!b&&x&&(a.width=i.width,a.height=i.height)}i._d3locale=Dit(h,i.separators),i._extraFormat=wne(e,Pit),i._initialAutoSizeIsDone=!0,i._dataLength=l.length,i._modules=[],i._visibleModules=[],i._basePlotModules=[];var k=i._subplots=Rit(),A=i._splomAxes={x:{},y:{}},L=i._splomSubplots={};i._splomGridDflt={},i._scatterStackOpts={},i._firstScatter={},i._alignmentOpts={},i._colorAxes={},i._requestRangeslider={},i._traceUids=Iit(o,l),ha.supplyDataDefaults(l,s,a,i);var _=Object.keys(A.x),C=Object.keys(A.y);if(_.length>1&&C.length>1){for(bl.getComponentMethod(\"grid\",\"sizeDefaults\")(a,i),f=0;f<_.length;f++)Ca.pushUnique(k.xaxis,_[f]);for(f=0;f15&&C.length>15&&i.shapes.length===0&&i.images.length===0,ha.linkSubplots(s,i,o,n),ha.cleanPlot(s,i,o,n);var F=!!(n._has&&n._has(\"cartesian\")),q=!!(i._has&&i._has(\"cartesian\")),V=F,H=q;V&&!H?n._bgLayer.remove():H&&!V&&(i._shouldCreateBgLayer=!0),n._zoomlayer&&!e._dragging&&Sit({_fullLayout:n}),zit(s,i),bne(i,n),bl.getComponentMethod(\"colorscale\",\"crossTraceDefaults\")(s,i),i._preGUI||(i._preGUI={}),i._tracePreGUI||(i._tracePreGUI={});var X=i._tracePreGUI,G={},N;for(N in X)G[N]=\"old\";for(f=0;f0){var c=1-2*a;o=Math.round(c*o),s=Math.round(c*s)}}var f=ha.layoutAttributes.width.min,h=ha.layoutAttributes.height.min;o1,v=!r.height&&Math.abs(n.height-s)>1;(v||d)&&(d&&(n.width=o),v&&(n.height=s)),t._initialAutoSize||(t._initialAutoSize={width:o,height:s}),ha.sanitizeMargins(n)};ha.supplyLayoutModuleDefaults=function(e,t,r,n){var i=bl.componentsRegistry,a=t._basePlotModules,o,s,l,u=bl.subplotsRegistry.cartesian;for(o in i)l=i[o],l.includeBasePlot&&l.includeBasePlot(e,t);a.length||a.push(u),t._has(\"cartesian\")&&(bl.getComponentMethod(\"grid\",\"contentDefaults\")(e,t),u.finalizeSubplots(e,t));for(var c in t._subplots)t._subplots[c].sort(Ca.subplotSort);for(s=0;s1&&(r.l/=b,r.r/=b)}if(h){var g=(r.t+r.b)/h;g>1&&(r.t/=g,r.b/=g)}var E=r.xl!==void 0?r.xl:r.x,k=r.xr!==void 0?r.xr:r.x,A=r.yt!==void 0?r.yt:r.y,L=r.yb!==void 0?r.yb:r.y;d[t]={l:{val:E,size:r.l+x},r:{val:k,size:r.r+x},b:{val:L,size:r.b+x},t:{val:A,size:r.t+x}},v[t]=1}if(!n._replotting)return ha.doAutoMargin(e)}};function qit(e){if(\"_redrawFromAutoMarginCount\"in e._fullLayout)return!1;var t=Ap.list(e,\"\",!0);for(var r in t)if(t[r].autoshift||t[r].shift)return!0;return!1}ha.doAutoMargin=function(e){var t=e._fullLayout,r=t.width,n=t.height;t._size||(t._size={}),Cne(t);var i=t._size,a=t.margin,o={t:0,b:0,l:0,r:0},s=Ca.extendFlat({},i),l=a.l,u=a.r,c=a.t,f=a.b,h=t._pushmargin,d=t._pushmarginIds,v=t.minreducedwidth,x=t.minreducedheight;if(a.autoexpand!==!1){for(var b in h)d[b]||delete h[b];var g=e._fullLayout._reservedMargin;for(var E in g)for(var k in g[E]){var A=g[E][k];o[k]=Math.max(o[k],A)}h.base={l:{val:0,size:l},r:{val:1,size:u},t:{val:1,size:c},b:{val:0,size:f}};for(var L in o){var _=0;for(var C in h)C!==\"base\"&&jS(h[C][L].size)&&(_=h[C][L].size>_?h[C][L].size:_);var M=Math.max(0,a[L]-_);o[L]=Math.max(0,o[L]-M)}for(var p in h){var P=h[p].l||{},T=h[p].b||{},F=P.val,q=P.size,V=T.val,H=T.size,X=r-o.r-o.l,G=n-o.t-o.b;for(var N in h){if(jS(q)&&h[N].r){var W=h[N].r.val,re=h[N].r.size;if(W>F){var ae=(q*W+(re-X)*F)/(W-F),_e=(re*(1-F)+(q-X)*(1-W))/(W-F);ae+_e>l+u&&(l=ae,u=_e)}}if(jS(H)&&h[N].t){var Me=h[N].t.val,ke=h[N].t.size;if(Me>V){var ge=(H*Me+(ke-G)*V)/(Me-V),ie=(ke*(1-V)+(H-G)*(1-Me))/(Me-V);ge+ie>f+c&&(f=ge,c=ie)}}}}}var Te=Ca.constrain(r-a.l-a.r,Lne,v),Ee=Ca.constrain(n-a.t-a.b,Pne,x),Ae=Math.max(0,r-Te),ze=Math.max(0,n-Ee);if(Ae){var Ce=(l+u)/Ae;Ce>1&&(l/=Ce,u/=Ce)}if(ze){var me=(f+c)/ze;me>1&&(f/=me,c/=me)}if(i.l=Math.round(l)+o.l,i.r=Math.round(u)+o.r,i.t=Math.round(c)+o.t,i.b=Math.round(f)+o.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!t._replotting&&(ha.didMarginChange(s,i)||qit(e))){\"_redrawFromAutoMarginCount\"in t?t._redrawFromAutoMarginCount++:t._redrawFromAutoMarginCount=1;var Re=3*(1+Object.keys(d).length);if(t._redrawFromAutoMarginCount1)return!0}return!1};ha.graphJson=function(e,t,r,n,i,a){(i&&t&&!e._fullData||i&&!t&&!e._fullLayout)&&ha.supplyDefaults(e);var o=i?e._fullData:e.data,s=i?e._fullLayout:e.layout,l=(e._transitionData||{})._frames;function u(h,d){if(typeof h==\"function\")return d?\"_function_\":null;if(Ca.isPlainObject(h)){var v={},x;return Object.keys(h).sort().forEach(function(k){if([\"_\",\"[\"].indexOf(k.charAt(0))===-1){if(typeof h[k]==\"function\"){d&&(v[k]=\"_function\");return}if(r===\"keepdata\"){if(k.substr(k.length-3)===\"src\")return}else if(r===\"keepstream\"){if(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0&&!Ca.isPlainObject(h.stream))return}else if(r!==\"keepall\"&&(x=h[k+\"src\"],typeof x==\"string\"&&x.indexOf(\":\")>0))return;v[k]=u(h[k],d)}}),v}var b=Array.isArray(h),g=Ca.isTypedArray(h);if((b||g)&&h.dtype&&h.shape){var E=h.bdata;return u({dtype:h.dtype,shape:h.shape,bdata:Ca.isArrayBuffer(E)?Tit.encode(E):E},d)}return b?h.map(function(k){return u(k,d)}):g?Ca.simpleMap(h,Ca.identity):Ca.isJSDate(h)?Ca.ms2DateTimeLocal(+h):h}var c={data:(o||[]).map(function(h){var d=u(h);return t&&delete d.fit,d})};if(!t&&(c.layout=u(s),i)){var f=s._size;c.layout.computed={margin:{b:f.b,l:f.l,r:f.r,t:f.t}}}return l&&(c.frames=u(l)),a&&(c.config=u(e._context,!0)),n===\"object\"?c:JSON.stringify(c)};ha.modifyFrames=function(e,t){var r,n,i,a=e._transitionData._frames,o=e._transitionData._frameHash;for(r=0;r0&&(e._transitioningWithDuration=!0),e._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&e._transitionData._interruptCallbacks.push(function(){return bl.call(\"redraw\",e)}),e._transitionData._interruptCallbacks.push(function(){e.emit(\"plotly_transitioninterrupted\",[])});var h=0,d=0;function v(){return h++,function(){d++,!n&&d===h&&s(f)}}r.runFn(v),setTimeout(v())})}function s(f){if(e._transitionData)return a(e._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return bl.call(\"redraw\",e)}).then(function(){e._transitioning=!1,e._transitioningWithDuration=!1,e.emit(\"plotly_transitioned\",[])}).then(f)}function l(){if(e._transitionData)return e._transitioning=!1,i(e._transitionData._interruptCallbacks)}var u=[ha.previousPromises,l,r.prepareFn,ha.rehover,ha.reselect,o],c=Ca.syncOrAsync(u,e);return(!c||!c.then)&&(c=Promise.resolve()),c.then(function(){return e})}ha.doCalcdata=function(e,t){var r=Ap.list(e),n=e._fullData,i=e._fullLayout,a,o,s,l,u=new Array(n.length),c=(e.calcdata||[]).slice();for(e.calcdata=u,i._numBoxes=0,i._numViolins=0,i._violinScaleGroupStats={},e._hmpixcount=0,e._hmlumcount=0,i._piecolormap={},i._sunburstcolormap={},i._treemapcolormap={},i._iciclecolormap={},i._funnelareacolormap={},s=0;s=0;l--)if(L[l].enabled){a._indexToPoints=L[l]._indexToPoints;break}o&&o.calc&&(A=o.calc(e,a))}(!Array.isArray(A)||!A[0])&&(A=[{x:xne,y:xne}]),A[0].t||(A[0].t={}),A[0].trace=a,u[E]=A}}for(Ane(r,n,i),s=0;s{\"use strict\";yb.xmlns=\"http://www.w3.org/2000/xmlns/\";yb.svg=\"http://www.w3.org/2000/svg\";yb.xlink=\"http://www.w3.org/1999/xlink\";yb.svgAttrs={xmlns:yb.svg,\"xmlns:xlink\":yb.xlink}});var Nh=ye((Ftr,Dne)=>{\"use strict\";Dne.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:\"right\",right:\"left\",top:\"bottom\",bottom:\"top\"}}});var Ll=ye(b0=>{\"use strict\";var vh=xa(),Ty=Mr(),Uit=Ty.strTranslate,lO=Zp(),Vit=Nh().LINE_SPACING,Hit=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;b0.convertToTspans=function(e,t,r){var n=e.text(),i=!e.attr(\"data-notex\")&&t&&t._context.typesetMath&&typeof MathJax!=\"undefined\"&&n.match(Hit),a=vh.select(e.node().parentNode);if(a.empty())return;var o=e.attr(\"class\")?e.attr(\"class\").split(\" \")[0]:\"text\";o+=\"-math\",a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove(),e.style(\"display\",null).attr({\"data-unformatted\":n,\"data-math\":\"N\"});function s(){a.empty()||(o=e.attr(\"class\")+\"-math\",a.select(\"svg.\"+o).remove()),e.text(\"\").style(\"white-space\",\"pre\");var l=rnt(e.node(),n);l&&e.style(\"pointer-events\",\"all\"),b0.positionText(e),r&&r.call(e)}return i?(t&&t._promises||[]).push(new Promise(function(l){e.style(\"display\",\"none\");var u=parseInt(e.node().style.fontSize,10),c={fontSize:u};Zit(i[2],c,function(f,h,d){a.selectAll(\"svg.\"+o).remove(),a.selectAll(\"g.\"+o+\"-group\").remove();var v=f&&f.select(\"svg\");if(!v||!v.node()){s(),l();return}var x=a.append(\"g\").classed(o+\"-group\",!0).attr({\"pointer-events\":\"none\",\"data-unformatted\":n,\"data-math\":\"Y\"});x.node().appendChild(v.node()),h&&h.node()&&v.node().insertBefore(h.node().cloneNode(!0),v.node().firstChild);var b=d.width,g=d.height;v.attr({class:o,height:g,preserveAspectRatio:\"xMinYMin meet\"}).style({overflow:\"visible\",\"pointer-events\":\"none\"});var E=e.node().style.fill||\"black\",k=v.select(\"g\");k.attr({fill:E,stroke:E});var A=k.node().getBoundingClientRect(),L=A.width,_=A.height;(L>b||_>g)&&(v.style(\"overflow\",\"hidden\"),A=v.node().getBoundingClientRect(),L=A.width,_=A.height);var C=+e.attr(\"x\"),M=+e.attr(\"y\"),p=u||e.node().getBoundingClientRect().height,P=-p/4;if(o[0]===\"y\")x.attr({transform:\"rotate(\"+[-90,C,M]+\")\"+Uit(-L/2,P-_/2)});else if(o[0]===\"l\")M=P-_/2;else if(o[0]===\"a\"&&o.indexOf(\"atitle\")!==0)C=0,M=P;else{var T=e.attr(\"text-anchor\");C=C-L*(T===\"middle\"?.5:T===\"end\"?1:0),M=M+P-_/2}v.attr({x:C,y:M}),r&&r.call(e,x),l(x)})})):s(),e};var Git=/(<|<|<)/g,jit=/(>|>|>)/g;function Wit(e){return e.replace(Git,\"\\\\lt \").replace(jit,\"\\\\gt \")}var zne=[[\"$\",\"$\"],[\"\\\\(\",\"\\\\)\"]];function Zit(e,t,r){var n=parseInt((MathJax.version||\"\").split(\".\")[0]);if(n!==2&&n!==3){Ty.warn(\"No MathJax version:\",MathJax.version);return}var i,a,o,s,l=function(){return a=Ty.extendDeepAll({},MathJax.Hub.config),o=MathJax.Hub.processSectionDelay,MathJax.Hub.processSectionDelay!==void 0&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:\"none\",tex2jax:{inlineMath:zne},displayAlign:\"left\"})},u=function(){a=Ty.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=zne},c=function(){if(i=MathJax.Hub.config.menuSettings.renderer,i!==\"SVG\")return MathJax.Hub.setRenderer(\"SVG\")},f=function(){i=MathJax.config.startup.output,i!==\"svg\"&&(MathJax.config.startup.output=\"svg\")},h=function(){var E=\"math-output-\"+Ty.randstr({},64);s=vh.select(\"body\").append(\"div\").attr({id:E}).style({visibility:\"hidden\",position:\"absolute\",\"font-size\":t.fontSize+\"px\"}).text(Wit(e));var k=s.node();return n===2?MathJax.Hub.Typeset(k):MathJax.typeset([k])},d=function(){var E=s.select(n===2?\".MathJax_SVG\":\".MathJax\"),k=!E.empty()&&s.select(\"svg\").node();if(!k)Ty.log(\"There was an error in the tex syntax.\",e),r();else{var A=k.getBoundingClientRect(),L;n===2?L=vh.select(\"body\").select(\"#MathJax_SVG_glyphs\"):L=E.select(\"defs\"),r(E,L,A)}s.remove()},v=function(){if(i!==\"SVG\")return MathJax.Hub.setRenderer(i)},x=function(){i!==\"svg\"&&(MathJax.config.startup.output=i)},b=function(){return o!==void 0&&(MathJax.Hub.processSectionDelay=o),MathJax.Hub.Config(a)},g=function(){MathJax.config=a};n===2?MathJax.Hub.Queue(l,c,h,d,v,b):n===3&&(u(),f(),MathJax.startup.defaultReady(),MathJax.startup.promise.then(function(){h(),d(),x(),g()}))}var Bne={sup:\"font-size:70%\",sub:\"font-size:70%\",s:\"text-decoration:line-through\",u:\"text-decoration:underline\",b:\"font-weight:bold\",i:\"font-style:italic\",a:\"cursor:pointer\",span:\"\",em:\"font-style:italic;font-weight:bold\"},Xit={sub:\"0.3em\",sup:\"-0.6em\"},Yit={sub:\"-0.21em\",sup:\"0.42em\"},Fne=\"\\u200B\",qne=[\"http:\",\"https:\",\"mailto:\",\"\",void 0,\":\"],Nne=b0.NEWLINES=/(\\r\\n?|\\n)/g,cO=/(<[^<>]*>)/,fO=/<(\\/?)([^ >]*)(\\s+(.*))?>/i,Kit=//i;b0.BR_TAG_ALL=//gi;var Une=/(^|[\\s\"'])style\\s*=\\s*(\"([^\"]*);?\"|'([^']*);?')/i,Vne=/(^|[\\s\"'])href\\s*=\\s*(\"([^\"]*)\"|'([^']*)')/i,Hne=/(^|[\\s\"'])target\\s*=\\s*(\"([^\"\\s]*)\"|'([^'\\s]*)')/i,Jit=/(^|[\\s\"'])popup\\s*=\\s*(\"([\\w=,]*)\"|'([\\w=,]*)')/i;function _b(e,t){if(!e)return null;var r=e.match(t),n=r&&(r[3]||r[4]);return n&&W6(n)}var $it=/(^|;)\\s*color:/;b0.plainText=function(e,t){t=t||{};for(var r=t.len!==void 0&&t.len!==-1?t.len:1/0,n=t.allowedTags!==void 0?t.allowedTags:[\"br\"],i=\"...\",a=i.length,o=e.split(cO),s=[],l=\"\",u=0,c=0;ca?s.push(f.substr(0,x-a)+i):s.push(f.substr(0,x));break}l=\"\"}}return s.join(\"\")};var Qit={mu:\"\\u03BC\",amp:\"&\",lt:\"<\",gt:\">\",nbsp:\"\\xA0\",times:\"\\xD7\",plusmn:\"\\xB1\",deg:\"\\xB0\"},ent=/&(#\\d+|#x[\\da-fA-F]+|[a-z]+);/g;function W6(e){return e.replace(ent,function(t,r){var n;return r.charAt(0)===\"#\"?n=tnt(r.charAt(1)===\"x\"?parseInt(r.substr(2),16):parseInt(r.substr(1),10)):n=Qit[r],n||t})}b0.convertEntities=W6;function tnt(e){if(!(e>1114111)){var t=String.fromCodePoint;if(t)return t(e);var r=String.fromCharCode;return e<=65535?r(e):r((e>>10)+55232,e%1024+56320)}}function rnt(e,t){t=t.replace(Nne,\" \");var r=!1,n=[],i,a=-1;function o(){a++;var _=document.createElementNS(lO.svg,\"tspan\");vh.select(_).attr({class:\"line\",dy:a*Vit+\"em\"}),e.appendChild(_),i=_;var C=n;if(n=[{node:_}],C.length>1)for(var M=1;M.\",t);return}var C=n.pop();_!==C.type&&Ty.log(\"Start tag <\"+C.type+\"> doesnt match end tag <\"+_+\">. Pretending it did match.\",t),i=n[n.length-1].node}var c=Kit.test(t);c?o():(i=e,n=[{node:e}]);for(var f=t.split(cO),h=0;h{\"use strict\";var int=xa(),X6=id(),ZS=uo(),Z6=Mr(),jne=va(),nnt=sb().isValid;function ant(e,t,r){var n=t?Z6.nestedProperty(e,t).get()||{}:e,i=n[r||\"color\"];i&&i._inputArray&&(i=i._inputArray);var a=!1;if(Z6.isArrayOrTypedArray(i)){for(var o=0;o=0;n--,i++){var a=e[n];r[i]=[1-a[0],a[1]]}return r}function Jne(e,t){t=t||{};for(var r=e.domain,n=e.range,i=n.length,a=new Array(i),o=0;o{\"use strict\";var Qne=Iq(),snt=Qne.FORMAT_LINK,lnt=Qne.DATE_FORMAT_LINK;function unt(e,t){return{valType:\"string\",dflt:\"\",editType:\"none\",description:(t?hO:eae)(\"hover text\",e)+[\"By default the values are formatted using \"+(t?\"generic number format\":\"`\"+e+\"axis.hoverformat`\")+\".\"].join(\" \")}}function hO(e,t){return[\"Sets the \"+e+\" formatting rule\"+(t?\"for `\"+t+\"` \":\"\"),\"using d3 formatting mini-languages\",\"which are very similar to those in Python. For numbers, see: \"+snt+\".\"].join(\" \")}function eae(e,t){return hO(e,t)+[\" And for dates see: \"+lnt+\".\",\"We add two items to d3's date formatter:\",\"*%h* for half of the year as a decimal number as well as\",\"*%{n}f* for fractional seconds\",\"with n digits. For example, *2016-10-13 09:15:23.456* with tickformat\",\"*%H~%M~%S.%2f* would display *09~15~23.46*\"].join(\" \")}tae.exports={axisHoverFormat:unt,descriptionOnlyNumbers:hO,descriptionWithDates:eae}});var Cd=ye((Ntr,yae)=>{\"use strict\";var rae=Su(),w3=dh(),mae=Ed().dash,vO=no().extendFlat,iae=Vs().templatedArray,nae=Oc().descriptionWithDates,cnt=es().ONEDAY,pm=ad(),fnt=pm.HOUR_PATTERN,hnt=pm.WEEKDAY_PATTERN,dO={valType:\"enumerated\",values:[\"auto\",\"linear\",\"array\"],editType:\"ticks\",impliedEdits:{tick0:void 0,dtick:void 0}},dnt=vO({},dO,{values:dO.values.slice().concat([\"sync\"])});function aae(e){return{valType:\"integer\",min:0,dflt:e?5:0,editType:\"ticks\"}}var oae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},sae={valType:\"any\",editType:\"ticks\",impliedEdits:{tickmode:\"linear\"}},lae={valType:\"data_array\",editType:\"ticks\"},uae={valType:\"enumerated\",values:[\"outside\",\"inside\",\"\"],editType:\"ticks\"};function cae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=5),t}function fae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var hae={valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dae={valType:\"color\",dflt:w3.lightLine,editType:\"ticks\"};function vae(e){var t={valType:\"number\",min:0,editType:\"ticks\"};return e||(t.dflt=1),t}var pae=vO({},mae,{editType:\"ticks\"}),gae={valType:\"boolean\",editType:\"ticks\"};yae.exports={visible:{valType:\"boolean\",editType:\"plot\"},color:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},title:{text:{valType:\"string\",editType:\"ticks\"},font:rae({editType:\"ticks\"}),standoff:{valType:\"number\",min:0,editType:\"ticks\"},editType:\"ticks\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"log\",\"date\",\"category\",\"multicategory\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:{valType:\"enumerated\",values:[\"convert types\",\"strict\"],dflt:\"convert types\",editType:\"calc\"},autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\",\"min reversed\",\"max reversed\",\"min\",\"max\"],dflt:!0,editType:\"axrange\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},autorangeoptions:{minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmin:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},clipmax:{valType:\"any\",editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},include:{valType:\"any\",arrayOk:!0,editType:\"plot\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},editType:\"plot\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0},{valType:\"any\",editType:\"axrange\",impliedEdits:{\"^autorange\":!1},anim:!0}],editType:\"axrange\",impliedEdits:{autorange:!1},anim:!0},minallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},maxallowed:{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},insiderange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},scaleanchor:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString(),!1],editType:\"plot\"},scaleratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},constrain:{valType:\"enumerated\",values:[\"range\",\"domain\"],editType:\"plot\"},constraintoward:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\",\"top\",\"middle\",\"bottom\"],editType:\"plot\"},matches:{valType:\"enumerated\",values:[pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"calc\"},rangebreaks:iae(\"rangebreak\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"calc\"},bounds:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},pattern:{valType:\"enumerated\",values:[hnt,fnt,\"\"],editType:\"calc\"},values:{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"any\",editType:\"calc\"}},dvalue:{valType:\"number\",editType:\"calc\",min:0,dflt:cnt},editType:\"calc\"}),tickmode:dnt,nticks:aae(),tick0:oae,dtick:sae,ticklabelstep:{valType:\"integer\",min:1,dflt:1,editType:\"ticks\"},tickvals:lae,ticktext:{valType:\"data_array\",editType:\"ticks\"},ticks:uae,tickson:{valType:\"enumerated\",values:[\"labels\",\"boundaries\"],dflt:\"labels\",editType:\"ticks\"},ticklabelmode:{valType:\"enumerated\",values:[\"instant\",\"period\"],dflt:\"instant\",editType:\"ticks\"},ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\",editType:\"calc\"},ticklabeloverflow:{valType:\"enumerated\",values:[\"allow\",\"hide past div\",\"hide past domain\"],editType:\"calc\"},ticklabelshift:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelstandoff:{valType:\"integer\",dflt:0,editType:\"ticks\"},ticklabelindex:{valType:\"integer\",arrayOk:!0,editType:\"calc\"},mirror:{valType:\"enumerated\",values:[!0,\"ticks\",!1,\"all\",\"allticks\"],dflt:!1,editType:\"ticks+layoutstyle\"},ticklen:cae(),tickwidth:fae(),tickcolor:hae,showticklabels:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},labelalias:{valType:\"any\",dflt:!1,editType:\"ticks\"},automargin:{valType:\"flaglist\",flags:[\"height\",\"width\",\"left\",\"right\",\"top\",\"bottom\"],extras:[!0,!1],dflt:!1,editType:\"ticks\"},showspikes:{valType:\"boolean\",dflt:!1,editType:\"modebar\"},spikecolor:{valType:\"color\",dflt:null,editType:\"none\"},spikethickness:{valType:\"number\",dflt:3,editType:\"none\"},spikedash:vO({},mae,{dflt:\"dash\",editType:\"none\"}),spikemode:{valType:\"flaglist\",flags:[\"toaxis\",\"across\",\"marker\"],dflt:\"toaxis\",editType:\"none\"},spikesnap:{valType:\"enumerated\",values:[\"data\",\"cursor\",\"hovered data\"],dflt:\"hovered data\",editType:\"none\"},tickfont:rae({editType:\"ticks\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"ticks\"},autotickangles:{valType:\"info_array\",freeLength:!0,items:{valType:\"angle\"},dflt:[0,30,90],editType:\"ticks\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"ticks\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"ticks\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"ticks\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"ticks\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"ticks\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"ticks\",description:nae(\"tick label\")},tickformatstops:iae(\"tickformatstop\",{enabled:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dtickrange:{valType:\"info_array\",items:[{valType:\"any\",editType:\"ticks\"},{valType:\"any\",editType:\"ticks\"}],editType:\"ticks\"},value:{valType:\"string\",dflt:\"\",editType:\"ticks\"},editType:\"ticks\"}),hoverformat:{valType:\"string\",dflt:\"\",editType:\"none\",description:nae(\"hover text\")},showline:{valType:\"boolean\",dflt:!1,editType:\"ticks+layoutstyle\"},linecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"layoutstyle\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"ticks+layoutstyle\"},showgrid:gae,gridcolor:dae,gridwidth:vae(),griddash:pae,zeroline:{valType:\"boolean\",editType:\"ticks\"},zerolinecolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},zerolinewidth:{valType:\"number\",dflt:1,editType:\"ticks\"},showdividers:{valType:\"boolean\",dflt:!0,editType:\"ticks\"},dividercolor:{valType:\"color\",dflt:w3.defaultLine,editType:\"ticks\"},dividerwidth:{valType:\"number\",dflt:1,editType:\"ticks\"},anchor:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],editType:\"plot\"},overlaying:{valType:\"enumerated\",values:[\"free\",pm.idRegex.x.toString(),pm.idRegex.y.toString()],editType:\"plot\"},minor:{tickmode:dO,nticks:aae(\"minor\"),tick0:oae,dtick:sae,tickvals:lae,ticks:uae,ticklen:cae(\"minor\"),tickwidth:fae(\"minor\"),tickcolor:hae,gridcolor:dae,gridwidth:vae(\"minor\"),griddash:pae,showgrid:gae,editType:\"ticks\"},layer:{valType:\"enumerated\",values:[\"above traces\",\"below traces\"],dflt:\"above traces\",editType:\"plot\"},domain:{valType:\"info_array\",items:[{valType:\"number\",min:0,max:1,editType:\"plot\"},{valType:\"number\",min:0,max:1,editType:\"plot\"}],dflt:[0,1],editType:\"plot\"},position:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},autoshift:{valType:\"boolean\",dflt:!1,editType:\"plot\"},shift:{valType:\"number\",editType:\"plot\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\",\"total ascending\",\"total descending\",\"min ascending\",\"min descending\",\"max ascending\",\"max descending\",\"sum ascending\",\"sum descending\",\"mean ascending\",\"mean descending\",\"geometric mean ascending\",\"geometric mean descending\",\"median ascending\",\"median descending\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var Y6=ye((Utr,bae)=>{\"use strict\";var Ac=Cd(),_ae=Su(),xae=no().extendFlat,vnt=Bu().overrideAll;bae.exports=vnt({orientation:{valType:\"enumerated\",values:[\"h\",\"v\"],dflt:\"v\"},thicknessmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\"},thickness:{valType:\"number\",min:0,dflt:30},lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"]},xpad:{valType:\"number\",min:0,dflt:10},y:{valType:\"number\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"]},ypad:{valType:\"number\",min:0,dflt:10},outlinecolor:Ac.linecolor,outlinewidth:Ac.linewidth,bordercolor:Ac.linecolor,borderwidth:{valType:\"number\",min:0,dflt:0},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\"},tickmode:Ac.minor.tickmode,nticks:Ac.nticks,tick0:Ac.tick0,dtick:Ac.dtick,tickvals:Ac.tickvals,ticktext:Ac.ticktext,ticks:xae({},Ac.ticks,{dflt:\"\"}),ticklabeloverflow:xae({},Ac.ticklabeloverflow,{}),ticklabelposition:{valType:\"enumerated\",values:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside left\",\"inside left\",\"outside right\",\"inside right\",\"outside bottom\",\"inside bottom\"],dflt:\"outside\"},ticklen:Ac.ticklen,tickwidth:Ac.tickwidth,tickcolor:Ac.tickcolor,ticklabelstep:Ac.ticklabelstep,showticklabels:Ac.showticklabels,labelalias:Ac.labelalias,tickfont:_ae({}),tickangle:Ac.tickangle,tickformat:Ac.tickformat,tickformatstops:Ac.tickformatstops,tickprefix:Ac.tickprefix,showtickprefix:Ac.showtickprefix,ticksuffix:Ac.ticksuffix,showticksuffix:Ac.showticksuffix,separatethousands:Ac.separatethousands,exponentformat:Ac.exponentformat,minexponent:Ac.minexponent,showexponent:Ac.showexponent,title:{text:{valType:\"string\"},font:_ae({}),side:{valType:\"enumerated\",values:[\"right\",\"top\",\"bottom\"]}}},\"colorbars\",\"from-root\")});var Kl=ye((Htr,Tae)=>{\"use strict\";var pnt=Y6(),gnt=n3().counter,mnt=X1(),wae=sb().scales,Vtr=mnt(wae);function K6(e){return\"`\"+e+\"`\"}Tae.exports=function(t,r){t=t||\"\",r=r||{};var n=r.cLetter||\"c\",i=\"onlyIfNumerical\"in r?r.onlyIfNumerical:!!t,a=\"noScale\"in r?r.noScale:t===\"marker.line\",o=\"showScaleDflt\"in r?r.showScaleDflt:n===\"z\",s=typeof r.colorscaleDflt==\"string\"?wae[r.colorscaleDflt]:null,l=r.editTypeOverride||\"\",u=t?t+\".\":\"\",c,f;\"colorAttr\"in r?(c=r.colorAttr,f=r.colorAttr):(c={z:\"z\",c:\"color\"}[n],f=\"in \"+K6(u+c));var h=i?\" Has an effect only if \"+f+\" is set to a numerical array.\":\"\",d=n+\"auto\",v=n+\"min\",x=n+\"max\",b=n+\"mid\",g=K6(u+d),E=K6(u+v),k=K6(u+x),A=E+\" and \"+k,L={};L[v]=L[x]=void 0;var _={};_[d]=!1;var C={};return c===\"color\"&&(C.color={valType:\"color\",arrayOk:!0,editType:l||\"style\"},r.anim&&(C.color.anim=!0)),C[d]={valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:L},C[v]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[x]={valType:\"number\",dflt:null,editType:l||\"plot\",impliedEdits:_},C[b]={valType:\"number\",dflt:null,editType:\"calc\",impliedEdits:L},C.colorscale={valType:\"colorscale\",editType:\"calc\",dflt:s,impliedEdits:{autocolorscale:!1}},C.autocolorscale={valType:\"boolean\",dflt:r.autoColorDflt!==!1,editType:\"calc\",impliedEdits:{colorscale:void 0}},C.reversescale={valType:\"boolean\",dflt:!1,editType:\"plot\"},a||(C.showscale={valType:\"boolean\",dflt:o,editType:\"calc\"},C.colorbar=pnt),r.noColorAxis||(C.coloraxis={valType:\"subplotid\",regex:gnt(\"coloraxis\"),dflt:null,editType:\"calc\"}),C}});var gO=ye((Gtr,Aae)=>{\"use strict\";var ynt=no().extendFlat,_nt=Kl(),pO=sb().scales;Aae.exports={editType:\"calc\",colorscale:{editType:\"calc\",sequential:{valType:\"colorscale\",dflt:pO.Reds,editType:\"calc\"},sequentialminus:{valType:\"colorscale\",dflt:pO.Blues,editType:\"calc\"},diverging:{valType:\"colorscale\",dflt:pO.RdBu,editType:\"calc\"}},coloraxis:ynt({_isSubplotObj:!0,editType:\"calc\"},_nt(\"\",{colorAttr:\"corresponding trace color array(s)\",noColorAxis:!0,showScaleDflt:!0}))}});var mO=ye((jtr,Sae)=>{\"use strict\";var xnt=Mr();Sae.exports=function(t){return xnt.isPlainObject(t.colorbar)}});var xO=ye(_O=>{\"use strict\";var yO=uo(),Mae=Mr(),Eae=es(),bnt=Eae.ONEDAY,wnt=Eae.ONEWEEK;_O.dtick=function(e,t){var r=t===\"log\",n=t===\"date\",i=t===\"category\",a=n?bnt:1;if(!e)return a;if(yO(e))return e=Number(e),e<=0?a:i?Math.max(1,Math.round(e)):n?Math.max(.1,e):e;if(typeof e!=\"string\"||!(n||r))return a;var o=e.charAt(0),s=e.substr(1);return s=yO(s)?Number(s):0,s<=0||!(n&&o===\"M\"&&s===Math.round(s)||r&&o===\"L\"||r&&o===\"D\"&&(s===1||s===2))?a:e};_O.tick0=function(e,t,r,n){if(t===\"date\")return Mae.cleanDate(e,Mae.dateTick0(r,n%wnt===0?1:0));if(!(n===\"D1\"||n===\"D2\"))return yO(e)?Number(e):0}});var xb=ye((Ztr,Cae)=>{\"use strict\";var kae=xO(),Tnt=Mr().isArrayOrTypedArray,Ant=vv().isTypedArraySpec,Snt=vv().decodeTypedArraySpec;Cae.exports=function(t,r,n,i,a){a||(a={});var o=a.isMinor,s=o?t.minor||{}:t,l=o?r.minor:r,u=o?\"minor.\":\"\";function c(E){var k=s[E];return Ant(k)&&(k=Snt(k)),k!==void 0?k:(l._template||{})[E]}var f=c(\"tick0\"),h=c(\"dtick\"),d=c(\"tickvals\"),v=Tnt(d)?\"array\":h?\"linear\":\"auto\",x=n(u+\"tickmode\",v);if(x===\"auto\"||x===\"sync\")n(u+\"nticks\");else if(x===\"linear\"){var b=l.dtick=kae.dtick(h,i);l.tick0=kae.tick0(f,i,r.calendar,b)}else if(i!==\"multicategory\"){var g=n(u+\"tickvals\");g===void 0?l.tickmode=\"auto\":o||n(\"ticktext\")}}});var T3=ye((Xtr,Pae)=>{\"use strict\";var bO=Mr(),Lae=Cd();Pae.exports=function(t,r,n,i){var a=i.isMinor,o=a?t.minor||{}:t,s=a?r.minor:r,l=a?Lae.minor:Lae,u=a?\"minor.\":\"\",c=bO.coerce2(o,s,l,\"ticklen\",a?(r.ticklen||5)*.6:void 0),f=bO.coerce2(o,s,l,\"tickwidth\",a?r.tickwidth||1:void 0),h=bO.coerce2(o,s,l,\"tickcolor\",(a?r.tickcolor:void 0)||s.color),d=n(u+\"ticks\",!a&&i.outerTicks||c||f||h?\"outside\":\"\");d||(delete s.ticklen,delete s.tickwidth,delete s.tickcolor)}});var wO=ye((Ytr,Iae)=>{\"use strict\";Iae.exports=function(t){var r=[\"showexponent\",\"showtickprefix\",\"showticksuffix\"],n=r.filter(function(a){return t[a]!==void 0}),i=function(a){return t[a]===t[n[0]]};if(n.every(i)||n.length===1)return t[n[0]]}});var Zd=ye((Ktr,Rae)=>{\"use strict\";var J6=Mr(),Mnt=Vs();Rae.exports=function(t,r,n){var i=n.name,a=n.inclusionAttr||\"visible\",o=r[i],s=J6.isArrayOrTypedArray(t[i])?t[i]:[],l=r[i]=[],u=Mnt.arrayTemplater(r,i,a),c,f;for(c=0;c{\"use strict\";var TO=Mr(),Ent=va().contrast,Dae=Cd(),knt=wO(),Cnt=Zd();zae.exports=function(t,r,n,i,a){a||(a={});var o=n(\"labelalias\");TO.isPlainObject(o)||delete r.labelalias;var s=knt(t),l=n(\"showticklabels\");if(l){a.noTicklabelshift||n(\"ticklabelshift\"),a.noTicklabelstandoff||n(\"ticklabelstandoff\");var u=a.font||{},c=r.color,f=r.ticklabelposition||\"\",h=f.indexOf(\"inside\")!==-1?Ent(a.bgColor):c&&c!==Dae.color.dflt?c:u.color;if(TO.coerceFont(n,\"tickfont\",u,{overrideDflt:{color:h}}),!a.noTicklabelstep&&i!==\"multicategory\"&&i!==\"log\"&&n(\"ticklabelstep\"),!a.noAng){var d=n(\"tickangle\");!a.noAutotickangles&&d===\"auto\"&&n(\"autotickangles\")}if(i!==\"category\"){var v=n(\"tickformat\");Cnt(t,r,{name:\"tickformatstops\",inclusionAttr:\"enabled\",handleItemDefaults:Lnt}),r.tickformatstops.length||delete r.tickformatstops,!a.noExp&&!v&&i!==\"date\"&&(n(\"showexponent\",s),n(\"exponentformat\"),n(\"minexponent\"),n(\"separatethousands\"))}}};function Lnt(e,t){function r(i,a){return TO.coerce(e,t,Dae.tickformatstops,i,a)}var n=r(\"enabled\");n&&(r(\"dtickrange\"),r(\"value\"))}});var t_=ye(($tr,Fae)=>{\"use strict\";var Pnt=wO();Fae.exports=function(t,r,n,i,a){a||(a={});var o=a.tickSuffixDflt,s=Pnt(t),l=n(\"tickprefix\");l&&n(\"showtickprefix\",s);var u=n(\"ticksuffix\",o);u&&n(\"showticksuffix\",s)}});var AO=ye((Qtr,qae)=>{\"use strict\";var r_=Mr(),Int=Vs(),Rnt=xb(),Dnt=T3(),znt=e_(),Fnt=t_(),qnt=Y6();qae.exports=function(t,r,n){var i=Int.newContainer(r,\"colorbar\"),a=t.colorbar||{};function o(T,F){return r_.coerce(a,i,qnt,T,F)}var s=n.margin||{t:0,b:0,l:0,r:0},l=n.width-s.l-s.r,u=n.height-s.t-s.b,c=o(\"orientation\"),f=c===\"v\",h=o(\"thicknessmode\");o(\"thickness\",h===\"fraction\"?30/(f?l:u):30);var d=o(\"lenmode\");o(\"len\",d===\"fraction\"?1:f?u:l);var v=o(\"yref\"),x=o(\"xref\"),b=v===\"paper\",g=x===\"paper\",E,k,A,L=\"left\";f?(A=\"middle\",L=g?\"left\":\"right\",E=g?1.02:1,k=.5):(A=b?\"bottom\":\"top\",L=\"center\",E=.5,k=b?1.02:1),r_.coerce(a,i,{x:{valType:\"number\",min:g?-2:0,max:g?3:1,dflt:E}},\"x\"),r_.coerce(a,i,{y:{valType:\"number\",min:b?-2:0,max:b?3:1,dflt:k}},\"y\"),o(\"xanchor\",L),o(\"xpad\"),o(\"yanchor\",A),o(\"ypad\"),r_.noneOrAll(a,i,[\"x\",\"y\"]),o(\"outlinecolor\"),o(\"outlinewidth\"),o(\"bordercolor\"),o(\"borderwidth\"),o(\"bgcolor\");var _=r_.coerce(a,i,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:f?[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]:[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]}},\"ticklabelposition\");o(\"ticklabeloverflow\",_.indexOf(\"inside\")!==-1?\"hide past domain\":\"hide past div\"),Rnt(a,i,o,\"linear\");var C=n.font,M={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,outerTicks:!1,font:C};_.indexOf(\"inside\")!==-1&&(M.bgColor=\"black\"),Fnt(a,i,o,\"linear\",M),znt(a,i,o,\"linear\",M),Dnt(a,i,o,\"linear\",M),o(\"title.text\",n._dfltTitle.colorbar);var p=i.showticklabels?i.tickfont:C,P=r_.extendFlat({},C,{family:p.family,size:r_.bigFont(p.size)});r_.coerceFont(o,\"title.font\",P),o(\"title.side\",f?\"top\":\"right\")}});var Uh=ye((err,Nae)=>{\"use strict\";var Oae=uo(),MO=Mr(),Ont=mO(),Bnt=AO(),Bae=sb().isValid,Nnt=ba().traceIs;function SO(e,t){var r=t.slice(0,t.length-1);return t?MO.nestedProperty(e,r).get()||{}:e}Nae.exports=function e(t,r,n,i,a){var o=a.prefix,s=a.cLetter,l=\"_module\"in r,u=SO(t,o),c=SO(r,o),f=SO(r._template||{},o)||{},h=function(){return delete t.coloraxis,delete r.coloraxis,e(t,r,n,i,a)};if(l){var d=n._colorAxes||{},v=i(o+\"coloraxis\");if(v){var x=Nnt(r,\"contour\")&&MO.nestedProperty(r,\"contours.coloring\").get()||\"heatmap\",b=d[v];b?(b[2].push(h),b[0]!==x&&(b[0]=!1,MO.warn([\"Ignoring coloraxis:\",v,\"setting\",\"as it is linked to incompatible colorscales.\"].join(\" \")))):d[v]=[x,r,[h]];return}}var g=u[s+\"min\"],E=u[s+\"max\"],k=Oae(g)&&Oae(E)&&g{\"use strict\";var Uae=Mr(),Unt=Vs(),Vae=gO(),Vnt=Uh();Hae.exports=function(t,r){function n(f,h){return Uae.coerce(t,r,Vae,f,h)}n(\"colorscale.sequential\"),n(\"colorscale.sequentialminus\"),n(\"colorscale.diverging\");var i=r._colorAxes,a,o;function s(f,h){return Uae.coerce(a,o,Vae.coloraxis,f,h)}for(var l in i){var u=i[l];if(u[0])a=t[l]||{},o=Unt.newContainer(r,l,\"coloraxis\"),o._name=l,Vnt(a,o,r,s,{prefix:\"\",cLetter:\"c\"});else{for(var c=0;c{\"use strict\";var Hnt=Mr(),Gnt=Dv().hasColorscale,jnt=Dv().extractOpts;jae.exports=function(t,r){function n(c,f){var h=c[\"_\"+f];h!==void 0&&(c[f]=h)}function i(c,f){var h=f.container?Hnt.nestedProperty(c,f.container).get():c;if(h)if(h.coloraxis)h._colorAx=r[h.coloraxis];else{var d=jnt(h),v=d.auto;(v||d.min===void 0)&&n(h,f.min),(v||d.max===void 0)&&n(h,f.max),d.autocolorscale&&n(h,\"colorscale\")}}for(var a=0;a{\"use strict\";var Zae=uo(),EO=Mr(),Wnt=Dv().extractOpts;Xae.exports=function(t,r,n){var i=t._fullLayout,a=n.vals,o=n.containerStr,s=o?EO.nestedProperty(r,o).get():r,l=Wnt(s),u=l.auto!==!1,c=l.min,f=l.max,h=l.mid,d=function(){return EO.aggNums(Math.min,null,a)},v=function(){return EO.aggNums(Math.max,null,a)};if(c===void 0?c=d():u&&(s._colorAx&&Zae(c)?c=Math.min(c,d()):c=d()),f===void 0?f=v():u&&(s._colorAx&&Zae(f)?f=Math.max(f,v()):f=v()),u&&h!==void 0&&(f-h>h-c?c=h-(f-h):f-h=0?x=i.colorscale.sequential:x=i.colorscale.sequentialminus,l._sync(\"colorscale\",x)}}});var Mu=ye((nrr,Yae)=>{\"use strict\";var $6=sb(),A3=Dv();Yae.exports={moduleType:\"component\",name:\"colorscale\",attributes:Kl(),layoutAttributes:gO(),supplyLayoutDefaults:Gae(),handleDefaults:Uh(),crossTraceDefaults:Wae(),calc:zv(),scales:$6.scales,defaultScale:$6.defaultScale,getScale:$6.get,isValidScale:$6.isValid,hasColorscale:A3.hasColorscale,extractOpts:A3.extractOpts,extractScale:A3.extractScale,flipScale:A3.flipScale,makeColorScaleFunc:A3.makeColorScaleFunc,makeColorScaleFuncFromTrace:A3.makeColorScaleFuncFromTrace}});var lu=ye((arr,Jae)=>{\"use strict\";var Kae=Mr(),Znt=vv().isTypedArraySpec;Jae.exports={hasLines:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"lines\")!==-1},hasMarkers:function(e){return e.visible&&(e.mode&&e.mode.indexOf(\"markers\")!==-1||e.type===\"splom\")},hasText:function(e){return e.visible&&e.mode&&e.mode.indexOf(\"text\")!==-1},isBubble:function(e){var t=e.marker;return Kae.isPlainObject(t)&&(Kae.isArrayOrTypedArray(t.size)||Znt(t.size))}}});var S3=ye((orr,$ae)=>{\"use strict\";var Xnt=uo();$ae.exports=function(t,r){r||(r=2);var n=t.marker,i=n.sizeref||1,a=n.sizemin||0,o=n.sizemode===\"area\"?function(s){return Math.sqrt(s/i)}:function(s){return s/i};return function(s){var l=o(s/r);return Xnt(l)&&l>0?Math.max(l,a):0}}});var rp=ye(pv=>{\"use strict\";var Qae=Mr();pv.getSubplot=function(e){return e.subplot||e.xaxis+e.yaxis||e.geo};pv.isTraceInSubplots=function(e,t){if(e.type===\"splom\"){for(var r=e.xaxes||[],n=e.yaxes||[],i=0;i=0&&r.index{roe.exports=Qnt;var kO={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},$nt=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Qnt(e){var t=[];return e.replace($nt,function(r,n,i){var a=n.toLowerCase();for(i=tat(i),a==\"m\"&&i.length>2&&(t.push([n].concat(i.splice(0,2))),a=\"l\",n=n==\"m\"?\"l\":\"L\");;){if(i.length==kO[a])return i.unshift(n),t.push(i);if(i.length{\"use strict\";var rat=XS(),Yn=function(e,t){return t?Math.round(e*(t=Math.pow(10,t)))/t:Math.round(e)},ts=\"M0,0Z\",ioe=Math.sqrt(2),i_=Math.sqrt(3),CO=Math.PI,LO=Math.cos,PO=Math.sin;loe.exports={circle:{n:0,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\";return r?is(t,r,i):i}},square:{n:1,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")}},diamond:{n:2,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"Z\")}},cross:{n:3,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.4,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H\"+n+\"V\"+i+\"H-\"+n+\"V\"+n+\"H-\"+i+\"V-\"+n+\"H-\"+n+\"V-\"+i+\"H\"+n+\"V-\"+n+\"H\"+i+\"Z\")}},x:{n:4,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.8/ioe,2),i=\"l\"+n+\",\"+n,a=\"l\"+n+\",-\"+n,o=\"l-\"+n+\",-\"+n,s=\"l-\"+n+\",\"+n;return is(t,r,\"M0,\"+n+i+a+o+a+o+s+o+s+i+s+i+\"Z\")}},\"triangle-up\":{n:5,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",\"+i+\"H\"+n+\"L0,-\"+a+\"Z\")}},\"triangle-down\":{n:6,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+n+\",-\"+i+\"H\"+n+\"L0,\"+a+\"Z\")}},\"triangle-left\":{n:7,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M\"+i+\",-\"+n+\"V\"+n+\"L-\"+a+\",0Z\")}},\"triangle-right\":{n:8,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2/i_,2),i=Yn(e/2,2),a=Yn(e,2);return is(t,r,\"M-\"+i+\",-\"+n+\"V\"+n+\"L\"+a+\",0Z\")}},\"triangle-ne\":{n:9,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+n+\"V\"+i+\"Z\")}},\"triangle-se\":{n:10,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+n+\",-\"+i+\"V\"+n+\"H-\"+i+\"Z\")}},\"triangle-sw\":{n:11,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M\"+i+\",\"+n+\"H-\"+n+\"V-\"+i+\"Z\")}},\"triangle-nw\":{n:12,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.6,2),i=Yn(e*1.2,2);return is(t,r,\"M-\"+n+\",\"+i+\"V-\"+n+\"H\"+i+\"Z\")}},pentagon:{n:13,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.951,2),i=Yn(e*.588,2),a=Yn(-e,2),o=Yn(e*-.309,2),s=Yn(e*.809,2);return is(t,r,\"M\"+n+\",\"+o+\"L\"+i+\",\"+s+\"H-\"+i+\"L-\"+n+\",\"+o+\"L0,\"+a+\"Z\")}},hexagon:{n:14,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*i_/2,2);return is(t,r,\"M\"+a+\",-\"+i+\"V\"+i+\"L0,\"+n+\"L-\"+a+\",\"+i+\"V-\"+i+\"L0,-\"+n+\"Z\")}},hexagon2:{n:15,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/2,2),a=Yn(e*i_/2,2);return is(t,r,\"M-\"+i+\",\"+a+\"H\"+i+\"L\"+n+\",0L\"+i+\",-\"+a+\"H-\"+i+\"L-\"+n+\",0Z\")}},octagon:{n:16,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.924,2),i=Yn(e*.383,2);return is(t,r,\"M-\"+i+\",-\"+n+\"H\"+i+\"L\"+n+\",-\"+i+\"V\"+i+\"L\"+i+\",\"+n+\"H-\"+i+\"L-\"+n+\",\"+i+\"V-\"+i+\"Z\")}},star:{n:17,f:function(e,t,r){if(rs(t))return ts;var n=e*1.4,i=Yn(n*.225,2),a=Yn(n*.951,2),o=Yn(n*.363,2),s=Yn(n*.588,2),l=Yn(-n,2),u=Yn(n*-.309,2),c=Yn(n*.118,2),f=Yn(n*.809,2),h=Yn(n*.382,2);return is(t,r,\"M\"+i+\",\"+u+\"H\"+a+\"L\"+o+\",\"+c+\"L\"+s+\",\"+f+\"L0,\"+h+\"L-\"+s+\",\"+f+\"L-\"+o+\",\"+c+\"L-\"+a+\",\"+u+\"H-\"+i+\"L0,\"+l+\"Z\")}},hexagram:{n:18,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.66,2),i=Yn(e*.38,2),a=Yn(e*.76,2);return is(t,r,\"M-\"+a+\",0l-\"+i+\",-\"+n+\"h\"+a+\"l\"+i+\",-\"+n+\"l\"+i+\",\"+n+\"h\"+a+\"l-\"+i+\",\"+n+\"l\"+i+\",\"+n+\"h-\"+a+\"l-\"+i+\",\"+n+\"l-\"+i+\",-\"+n+\"h-\"+a+\"Z\")}},\"star-triangle-up\":{n:19,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*i_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",\"+i+s+n+\",\"+i+s+\"0,-\"+a+s+\"-\"+n+\",\"+i+\"Z\")}},\"star-triangle-down\":{n:20,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*i_*.8,2),i=Yn(e*.8,2),a=Yn(e*1.6,2),o=Yn(e*4,2),s=\"A \"+o+\",\"+o+\" 0 0 1 \";return is(t,r,\"M\"+n+\",-\"+i+s+\"-\"+n+\",-\"+i+s+\"0,\"+a+s+n+\",-\"+i+\"Z\")}},\"star-square\":{n:21,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.1,2),i=Yn(e*2,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",-\"+n+a+\"-\"+n+\",\"+n+a+n+\",\"+n+a+n+\",-\"+n+a+\"-\"+n+\",-\"+n+\"Z\")}},\"star-diamond\":{n:22,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*1.9,2),a=\"A \"+i+\",\"+i+\" 0 0 1 \";return is(t,r,\"M-\"+n+\",0\"+a+\"0,\"+n+a+n+\",0\"+a+\"0,-\"+n+a+\"-\"+n+\",0Z\")}},\"diamond-tall\":{n:23,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*.7,2),i=Yn(e*1.4,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},\"diamond-wide\":{n:24,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2),i=Yn(e*.7,2);return is(t,r,\"M0,\"+i+\"L\"+n+\",0L0,-\"+i+\"L-\"+n+\",0Z\")}},hourglass:{n:25,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"H-\"+n+\"L\"+n+\",-\"+n+\"H-\"+n+\"Z\")},noDot:!0},bowtie:{n:26,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"V-\"+n+\"L-\"+n+\",\"+n+\"V-\"+n+\"Z\")},noDot:!0},\"circle-cross\":{n:27,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"circle-x\":{n:28,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e/ioe,2);return is(t,r,\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i+\"M\"+n+\",0A\"+n+\",\"+n+\" 0 1,1 0,-\"+n+\"A\"+n+\",\"+n+\" 0 0,1 \"+n+\",0Z\")},needLine:!0,noDot:!0},\"square-cross\":{n:29,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"square-x\":{n:30,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n+\"M\"+n+\",\"+n+\"H-\"+n+\"V-\"+n+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"diamond-cross\":{n:31,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM0,-\"+n+\"V\"+n+\"M-\"+n+\",0H\"+n)},needLine:!0,noDot:!0},\"diamond-x\":{n:32,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.3,2),i=Yn(e*.65,2);return is(t,r,\"M\"+n+\",0L0,\"+n+\"L-\"+n+\",0L0,-\"+n+\"ZM-\"+i+\",-\"+i+\"L\"+i+\",\"+i+\"M-\"+i+\",\"+i+\"L\"+i+\",-\"+i)},needLine:!0,noDot:!0},\"cross-thin\":{n:33,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"x-thin\":{n:34,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n+\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*.85,2);return is(t,r,\"M0,\"+n+\"V-\"+n+\"M\"+n+\",0H-\"+n+\"M\"+i+\",\"+i+\"L-\"+i+\",-\"+i+\"M\"+i+\",-\"+i+\"L-\"+i+\",\"+i)},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e/2,2),i=Yn(e,2);return is(t,r,\"M\"+n+\",\"+i+\"V-\"+i+\"M\"+(n-i)+\",-\"+i+\"V\"+i+\"M\"+i+\",\"+n+\"H-\"+i+\"M-\"+i+\",\"+(n-i)+\"H\"+i)},needLine:!0,noFill:!0},\"y-up\":{n:37,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",\"+a+\"L0,0M\"+n+\",\"+a+\"L0,0M0,-\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-down\":{n:38,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+n+\",-\"+a+\"L0,0M\"+n+\",-\"+a+\"L0,0M0,\"+i+\"L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-left\":{n:39,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M\"+a+\",\"+n+\"L0,0M\"+a+\",-\"+n+\"L0,0M-\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"y-right\":{n:40,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.2,2),i=Yn(e*1.6,2),a=Yn(e*.8,2);return is(t,r,\"M-\"+a+\",\"+n+\"L0,0M-\"+a+\",-\"+n+\"L0,0M\"+i+\",0L0,0\")},needLine:!0,noDot:!0,noFill:!0},\"line-ew\":{n:41,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M\"+n+\",0H-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ns\":{n:42,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*1.4,2);return is(t,r,\"M0,\"+n+\"V-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-ne\":{n:43,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",-\"+n+\"L-\"+n+\",\"+n)},needLine:!0,noDot:!0,noFill:!0},\"line-nw\":{n:44,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2);return is(t,r,\"M\"+n+\",\"+n+\"L-\"+n+\",-\"+n)},needLine:!0,noDot:!0,noFill:!0},\"arrow-up\":{n:45,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,noDot:!0},\"arrow-down\":{n:46,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},noDot:!0},\"arrow-left\":{n:47,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-right\":{n:48,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},noDot:!0},\"arrow-bar-up\":{n:49,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",\"+i+\"H\"+n+\"Z\")},backoff:1,needLine:!0,noDot:!0},\"arrow-bar-down\":{n:50,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e,2),i=Yn(e*2,2);return is(t,r,\"M-\"+n+\",0H\"+n+\"M0,0L-\"+n+\",-\"+i+\"H\"+n+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-left\":{n:51,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},\"arrow-bar-right\":{n:52,f:function(e,t,r){if(rs(t))return ts;var n=Yn(e*2,2),i=Yn(e,2);return is(t,r,\"M0,-\"+i+\"V\"+i+\"M0,0L-\"+n+\",-\"+i+\"V\"+i+\"Z\")},needLine:!0,noDot:!0},arrow:{n:53,f:function(e,t,r){if(rs(t))return ts;var n=CO/2.5,i=2*e*LO(n),a=2*e*PO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"L\"+i+\",\"+a+\"Z\")},backoff:.9,noDot:!0},\"arrow-wide\":{n:54,f:function(e,t,r){if(rs(t))return ts;var n=CO/4,i=2*e*LO(n),a=2*e*PO(n);return is(t,r,\"M0,0L\"+-i+\",\"+a+\"A \"+2*e+\",\"+2*e+\" 0 0 1 \"+i+\",\"+a+\"Z\")},backoff:.4,noDot:!0}};function rs(e){return e===null}var noe,aoe,ooe,soe;function is(e,t,r){if((!e||e%360===0)&&!t)return r;if(ooe===e&&soe===t&&noe===r)return aoe;ooe=e,soe=t,noe=r;function n(b,g){var E=LO(b),k=PO(b),A=g[0],L=g[1]+(t||0);return[A*E-L*k,A*k+L*E]}for(var i=e/180*CO,a=0,o=0,s=rat(r),l=\"\",u=0;u{\"use strict\";var od=xa(),du=Mr(),iat=du.numberFormat,Ab=uo(),qO=id(),eL=ba(),Xd=va(),nat=Mu(),KS=du.strTranslate,tL=Ll(),aat=Zp(),oat=Nh(),sat=oat.LINE_SPACING,_oe=N1().DESELECTDIM,lat=lu(),uat=S3(),cat=rp().appendArrayPointValue,na=Coe.exports={};na.font=function(e,t){var r=t.variant,n=t.style,i=t.weight,a=t.color,o=t.size,s=t.family,l=t.shadow,u=t.lineposition,c=t.textcase;s&&e.style(\"font-family\",s),o+1&&e.style(\"font-size\",o+\"px\"),a&&e.call(Xd.fill,a),i&&e.style(\"font-weight\",i),n&&e.style(\"font-style\",n),r&&e.style(\"font-variant\",r),c&&e.style(\"text-transform\",IO(hat(c))),l&&e.style(\"text-shadow\",l===\"auto\"?tL.makeTextShadow(Xd.contrast(a)):IO(l)),u&&e.style(\"text-decoration-line\",IO(dat(u)))};function IO(e){return e===\"none\"?void 0:e}var fat={normal:\"none\",lower:\"lowercase\",upper:\"uppercase\",\"word caps\":\"capitalize\"};function hat(e){return fat[e]}function dat(e){return e.replace(\"under\",\"underline\").replace(\"over\",\"overline\").replace(\"through\",\"line-through\").split(\"+\").join(\" \")}na.setPosition=function(e,t,r){e.attr(\"x\",t).attr(\"y\",r)};na.setSize=function(e,t,r){e.attr(\"width\",t).attr(\"height\",r)};na.setRect=function(e,t,r,n,i){e.call(na.setPosition,t,r).call(na.setSize,n,i)};na.translatePoint=function(e,t,r,n){var i=r.c2p(e.x),a=n.c2p(e.y);if(Ab(i)&&Ab(a)&&t.node())t.node().nodeName===\"text\"?t.attr(\"x\",i).attr(\"y\",a):t.attr(\"transform\",KS(i,a));else return!1;return!0};na.translatePoints=function(e,t,r){e.each(function(n){var i=od.select(this);na.translatePoint(n,i,t,r)})};na.hideOutsideRangePoint=function(e,t,r,n,i,a){t.attr(\"display\",r.isPtWithinRange(e,i)&&n.isPtWithinRange(e,a)?null:\"none\")};na.hideOutsideRangePoints=function(e,t){if(t._hasClipOnAxisFalse){var r=t.xaxis,n=t.yaxis;e.each(function(i){var a=i[0].trace,o=a.xcalendar,s=a.ycalendar,l=eL.traceIs(a,\"bar-like\")?\".bartext\":\".point,.textpoint\";e.selectAll(l).each(function(u){na.hideOutsideRangePoint(u,od.select(this),r,n,o,s)})})}};na.crispRound=function(e,t,r){return!t||!Ab(t)?r||0:e._context.staticPlot?t:t<1?1:Math.round(t)};na.singleLineStyle=function(e,t,r,n,i){t.style(\"fill\",\"none\");var a=(((e||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||\"\";Xd.stroke(t,n||a.color),na.dashLine(t,s,o)};na.lineGroupStyle=function(e,t,r,n){e.style(\"fill\",\"none\").each(function(i){var a=(((i||[])[0]||{}).trace||{}).line||{},o=t||a.width||0,s=n||a.dash||\"\";od.select(this).call(Xd.stroke,r||a.color).call(na.dashLine,s,o)})};na.dashLine=function(e,t,r){r=+r||0,t=na.dashStyle(t,r),e.style({\"stroke-dasharray\":t,\"stroke-width\":r+\"px\"})};na.dashStyle=function(e,t){t=+t||1;var r=Math.max(t,3);return e===\"solid\"?e=\"\":e===\"dot\"?e=r+\"px,\"+r+\"px\":e===\"dash\"?e=3*r+\"px,\"+3*r+\"px\":e===\"longdash\"?e=5*r+\"px,\"+5*r+\"px\":e===\"dashdot\"?e=3*r+\"px,\"+r+\"px,\"+r+\"px,\"+r+\"px\":e===\"longdashdot\"&&(e=5*r+\"px,\"+2*r+\"px,\"+r+\"px,\"+2*r+\"px\"),e};function xoe(e,t,r,n){var i=t.fillpattern,a=t.fillgradient,o=i&&na.getPatternAttr(i.shape,0,\"\");if(o){var s=na.getPatternAttr(i.bgcolor,0,null),l=na.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,c=na.getPatternAttr(i.size,0,8),f=na.getPatternAttr(i.solidity,0,.3),h=t.uid;na.pattern(e,\"point\",r,h,o,c,f,void 0,i.fillmode,s,l,u)}else if(a&&a.type!==\"none\"){var d=a.type,v=\"scatterfill-\"+t.uid;if(n&&(v=\"legendfill-\"+t.uid),!n&&(a.start!==void 0||a.stop!==void 0)){var x,b;d===\"horizontal\"?(x={x:a.start,y:0},b={x:a.stop,y:0}):d===\"vertical\"&&(x={x:0,y:a.start},b={x:0,y:a.stop}),x.x=t._xA.c2p(x.x===void 0?t._extremes.x.min[0].val:x.x,!0),x.y=t._yA.c2p(x.y===void 0?t._extremes.y.min[0].val:x.y,!0),b.x=t._xA.c2p(b.x===void 0?t._extremes.x.max[0].val:b.x,!0),b.y=t._yA.c2p(b.y===void 0?t._extremes.y.max[0].val:b.y,!0),e.call(Toe,r,v,\"linear\",a.colorscale,\"fill\",x,b,!0,!1)}else d===\"horizontal\"&&(d=d+\"reversed\"),e.call(na.gradient,r,v,d,a.colorscale,\"fill\")}else t.fillcolor&&e.call(Xd.fill,t.fillcolor)}na.singleFillStyle=function(e,t){var r=od.select(e.node()),n=r.data(),i=((n[0]||[])[0]||{}).trace||{};xoe(e,i,t,!1)};na.fillGroupStyle=function(e,t,r){e.style(\"stroke-width\",0).each(function(n){var i=od.select(this);n[0].trace&&xoe(i,n[0].trace,t,r)})};var coe=uoe();na.symbolNames=[];na.symbolFuncs=[];na.symbolBackOffs=[];na.symbolNeedLines={};na.symbolNoDot={};na.symbolNoFill={};na.symbolList=[];Object.keys(coe).forEach(function(e){var t=coe[e],r=t.n;na.symbolList.push(r,String(r),e,r+100,String(r+100),e+\"-open\"),na.symbolNames[r]=e,na.symbolFuncs[r]=t.f,na.symbolBackOffs[r]=t.backoff||0,t.needLine&&(na.symbolNeedLines[r]=!0),t.noDot?na.symbolNoDot[r]=!0:na.symbolList.push(r+200,String(r+200),e+\"-dot\",r+300,String(r+300),e+\"-open-dot\"),t.noFill&&(na.symbolNoFill[r]=!0)});var vat=na.symbolNames.length,pat=\"M0,0.5L0.5,0L0,-0.5L-0.5,0Z\";na.symbolNumber=function(e){if(Ab(e))e=+e;else if(typeof e==\"string\"){var t=0;e.indexOf(\"-open\")>0&&(t=100,e=e.replace(\"-open\",\"\")),e.indexOf(\"-dot\")>0&&(t+=200,e=e.replace(\"-dot\",\"\")),e=na.symbolNames.indexOf(e),e>=0&&(e+=t)}return e%100>=vat||e>=400?0:Math.floor(Math.max(e,0))};function boe(e,t,r,n){var i=e%100;return na.symbolFuncs[i](t,r,n)+(e>=200?pat:\"\")}var foe=iat(\"~f\"),woe={radial:{type:\"radial\"},radialreversed:{type:\"radial\",reversed:!0},horizontal:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:\"linear\",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:\"linear\",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};na.gradient=function(e,t,r,n,i,a){var o=woe[n];return Toe(e,t,r,o.type,i,a,o.start,o.stop,!1,o.reversed)};function Toe(e,t,r,n,i,a,o,s,l,u){var c=i.length,f;n===\"linear\"?f={node:\"linearGradient\",attrs:{x1:o.x,y1:o.y,x2:s.x,y2:s.y,gradientUnits:l?\"userSpaceOnUse\":\"objectBoundingBox\"},reversed:u}:n===\"radial\"&&(f={node:\"radialGradient\",reversed:u});for(var h=new Array(c),d=0;d=0&&e.i===void 0&&(e.i=a.i),t.style(\"opacity\",n.selectedOpacityFn?n.selectedOpacityFn(e):e.mo===void 0?o.opacity:e.mo),n.ms2mrc){var l;e.ms===\"various\"||o.size===\"various\"?l=3:l=n.ms2mrc(e.ms),e.mrc=l,n.selectedSizeFn&&(l=e.mrc=n.selectedSizeFn(e));var u=na.symbolNumber(e.mx||o.symbol)||0;e.om=u%200>=100;var c=NO(e,r),f=BO(e,r);t.attr(\"d\",boe(u,l,c,f))}var h=!1,d,v,x;if(e.so)x=s.outlierwidth,v=s.outliercolor,d=o.outliercolor;else{var b=(s||{}).width;x=(e.mlw+1||b+1||(e.trace?(e.trace.marker.line||{}).width:0)+1)-1||0,\"mlc\"in e?v=e.mlcc=n.lineScale(e.mlc):du.isArrayOrTypedArray(s.color)?v=Xd.defaultLine:v=s.color,du.isArrayOrTypedArray(o.color)&&(d=Xd.defaultLine,h=!0),\"mc\"in e?d=e.mcc=n.markerScale(e.mc):d=o.color||o.colors||\"rgba(0,0,0,0)\",n.selectedColorFn&&(d=n.selectedColorFn(e))}if(e.om)t.call(Xd.stroke,d).style({\"stroke-width\":(x||1)+\"px\",fill:\"none\"});else{t.style(\"stroke-width\",(e.isBlank?0:x)+\"px\");var g=o.gradient,E=e.mgt;E?h=!0:E=g&&g.type,du.isArrayOrTypedArray(E)&&(E=E[0],woe[E]||(E=0));var k=o.pattern,A=k&&na.getPatternAttr(k.shape,e.i,\"\");if(E&&E!==\"none\"){var L=e.mgc;L?h=!0:L=g.color;var _=r.uid;h&&(_+=\"-\"+e.i),na.gradient(t,i,_,E,[[0,L],[1,d]],\"fill\")}else if(A){var C=!1,M=k.fgcolor;!M&&a&&a.color&&(M=a.color,C=!0);var p=na.getPatternAttr(M,e.i,a&&a.color||null),P=na.getPatternAttr(k.bgcolor,e.i,null),T=k.fgopacity,F=na.getPatternAttr(k.size,e.i,8),q=na.getPatternAttr(k.solidity,e.i,.3);C=C||e.mcc||du.isArrayOrTypedArray(k.shape)||du.isArrayOrTypedArray(k.bgcolor)||du.isArrayOrTypedArray(k.fgcolor)||du.isArrayOrTypedArray(k.size)||du.isArrayOrTypedArray(k.solidity);var V=r.uid;C&&(V+=\"-\"+e.i),na.pattern(t,\"point\",i,V,A,F,q,e.mcc,k.fillmode,P,p,T)}else du.isArrayOrTypedArray(d)?Xd.fill(t,d[e.i]):Xd.fill(t,d);x&&Xd.stroke(t,v)}};na.makePointStyleFns=function(e){var t={},r=e.marker;return t.markerScale=na.tryColorscale(r,\"\"),t.lineScale=na.tryColorscale(r,\"line\"),eL.traceIs(e,\"symbols\")&&(t.ms2mrc=lat.isBubble(e)?uat(e):function(){return(r.size||6)/2}),e.selectedpoints&&du.extendFlat(t,na.makeSelectedPointStyleFns(e)),t};na.makeSelectedPointStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.marker||{},a=r.marker||{},o=n.marker||{},s=i.opacity,l=a.opacity,u=o.opacity,c=l!==void 0,f=u!==void 0;(du.isArrayOrTypedArray(s)||c||f)&&(t.selectedOpacityFn=function(A){var L=A.mo===void 0?i.opacity:A.mo;return A.selected?c?l:L:f?u:_oe*L});var h=i.color,d=a.color,v=o.color;(d||v)&&(t.selectedColorFn=function(A){var L=A.mcc||h;return A.selected?d||L:v||L});var x=i.size,b=a.size,g=o.size,E=b!==void 0,k=g!==void 0;return eL.traceIs(e,\"symbols\")&&(E||k)&&(t.selectedSizeFn=function(A){var L=A.mrc||x/2;return A.selected?E?b/2:L:k?g/2:L}),t};na.makeSelectedTextStyleFns=function(e){var t={},r=e.selected||{},n=e.unselected||{},i=e.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return t.selectedTextColorFn=function(c){var f=c.tc||s;return c.selected?l||f:u||(l?f:Xd.addOpacity(f,_oe))},t};na.selectedPointStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedPointStyleFns(t),n=t.marker||{},i=[];r.selectedOpacityFn&&i.push(function(a,o){a.style(\"opacity\",r.selectedOpacityFn(o))}),r.selectedColorFn&&i.push(function(a,o){Xd.fill(a,r.selectedColorFn(o))}),r.selectedSizeFn&&i.push(function(a,o){var s=o.mx||n.symbol||0,l=r.selectedSizeFn(o);a.attr(\"d\",boe(na.symbolNumber(s),l,NO(o,t),BO(o,t))),o.mrc2=l}),i.length&&e.each(function(a){for(var o=od.select(this),s=0;s0?r:0}na.textPointStyle=function(e,t,r){if(e.size()){var n;if(t.selectedpoints){var i=na.makeSelectedTextStyleFns(t);n=i.selectedTextColorFn}var a=t.texttemplate,o=r._fullLayout;e.each(function(s){var l=od.select(this),u=a?du.extractOption(s,t,\"txt\",\"texttemplate\"):du.extractOption(s,t,\"tx\",\"text\");if(!u&&u!==0){l.remove();return}if(a){var c=t._module.formatLabels,f=c?c(s,t,o):{},h={};cat(h,t,s.i);var d=t._meta||{};u=du.texttemplateString(u,f,o._d3locale,h,s,d)}var v=s.tp||t.textposition,x=Soe(s,t),b=n?n(s):s.tc||t.textfont.color;l.call(na.font,{family:s.tf||t.textfont.family,weight:s.tw||t.textfont.weight,style:s.ty||t.textfont.style,variant:s.tv||t.textfont.variant,textcase:s.tC||t.textfont.textcase,lineposition:s.tE||t.textfont.lineposition,shadow:s.tS||t.textfont.shadow,size:x,color:b}).text(u).call(tL.convertToTspans,r).call(Aoe,v,x,s.mrc)})}};na.selectedTextStyle=function(e,t){if(!(!e.size()||!t.selectedpoints)){var r=na.makeSelectedTextStyleFns(t);e.each(function(n){var i=od.select(this),a=r.selectedTextColorFn(n),o=n.tp||t.textposition,s=Soe(n,t);Xd.fill(i,a);var l=eL.traceIs(t,\"bar-like\");Aoe(i,o,s,n.mrc2||n.mrc,l)})}};var hoe=.5;na.smoothopen=function(e,t){if(e.length<3)return\"M\"+e.join(\"L\");var r=\"M\"+e[0],n=[],i;for(i=1;i=l||A>=c&&A<=l)&&(L<=f&&L>=u||L>=f&&L<=u)&&(e=[A,L])}return e}na.applyBackoff=koe;na.makeTester=function(){var e=du.ensureSingleById(od.select(\"body\"),\"svg\",\"js-plotly-tester\",function(r){r.attr(aat.svgAttrs).style({position:\"absolute\",left:\"-10000px\",top:\"-10000px\",width:\"9000px\",height:\"9000px\",\"z-index\":\"1\"})}),t=du.ensureSingle(e,\"path\",\"js-reference-point\",function(r){r.attr(\"d\",\"M0,0H1V1H0Z\").style({\"stroke-width\":0,fill:\"black\"})});na.tester=e,na.testref=t};na.savedBBoxes={};var DO=0,yat=1e4;na.bBox=function(e,t,r){r||(r=doe(e));var n;if(r){if(n=na.savedBBoxes[r],n)return du.extendFlat({},n)}else if(e.childNodes.length===1){var i=e.childNodes[0];if(r=doe(i),r){var a=+i.getAttribute(\"x\")||0,o=+i.getAttribute(\"y\")||0,s=i.getAttribute(\"transform\");if(!s){var l=na.bBox(i,!1,r);return a&&(l.left+=a,l.right+=a),o&&(l.top+=o,l.bottom+=o),l}if(r+=\"~\"+a+\"~\"+o+\"~\"+s,n=na.savedBBoxes[r],n)return du.extendFlat({},n)}}var u,c;t?u=e:(c=na.tester.node(),u=e.cloneNode(!0),c.appendChild(u)),od.select(u).attr(\"transform\",null).call(tL.positionText,0,0);var f=u.getBoundingClientRect(),h=na.testref.node().getBoundingClientRect();t||c.removeChild(u);var d={height:f.height,width:f.width,left:f.left-h.left,top:f.top-h.top,right:f.right-h.left,bottom:f.bottom-h.top};return DO>=yat&&(na.savedBBoxes={},DO=0),r&&(na.savedBBoxes[r]=d),DO++,du.extendFlat({},d)};function doe(e){var t=e.getAttribute(\"data-unformatted\");if(t!==null)return t+e.getAttribute(\"data-math\")+e.getAttribute(\"text-anchor\")+e.getAttribute(\"style\")}na.setClipUrl=function(e,t,r){e.attr(\"clip-path\",OO(t,r))};function OO(e,t){if(!e)return null;var r=t._context,n=r._exportedPlot?\"\":r._baseUrl||\"\";return n?\"url('\"+n+\"#\"+e+\"')\":\"url(#\"+e+\")\"}na.getTranslate=function(e){var t=/.*\\btranslate\\((-?\\d*\\.?\\d*)[^-\\d]*(-?\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||0,y:+i[1]||0}};na.setTranslate=function(e,t,r){var n=/(\\btranslate\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||0,r=r||0,o=o.replace(n,\"\").trim(),o+=KS(t,r),o=o.trim(),e[a](\"transform\",o),o};na.getScale=function(e){var t=/.*\\bscale\\((\\d*\\.?\\d*)[^\\d]*(\\d*\\.?\\d*)[^\\d].*/,r=e.attr?\"attr\":\"getAttribute\",n=e[r](\"transform\")||\"\",i=n.replace(t,function(a,o,s){return[o,s].join(\" \")}).split(\" \");return{x:+i[0]||1,y:+i[1]||1}};na.setScale=function(e,t,r){var n=/(\\bscale\\(.*?\\);?)/,i=e.attr?\"attr\":\"getAttribute\",a=e.attr?\"attr\":\"setAttribute\",o=e[i](\"transform\")||\"\";return t=t||1,r=r||1,o=o.replace(n,\"\").trim(),o+=\"scale(\"+t+\",\"+r+\")\",o=o.trim(),e[a](\"transform\",o),o};var _at=/\\s*sc.*/;na.setPointGroupScale=function(e,t,r){if(t=t||1,r=r||1,!!e){var n=t===1&&r===1?\"\":\"scale(\"+t+\",\"+r+\")\";e.each(function(){var i=(this.getAttribute(\"transform\")||\"\").replace(_at,\"\");i+=n,i=i.trim(),this.setAttribute(\"transform\",i)})}};var xat=/translate\\([^)]*\\)\\s*$/;na.setTextPointsScale=function(e,t,r){e&&e.each(function(){var n,i=od.select(this),a=i.select(\"text\");if(a.node()){var o=parseFloat(a.attr(\"x\")||0),s=parseFloat(a.attr(\"y\")||0),l=(i.attr(\"transform\")||\"\").match(xat);t===1&&r===1?n=[]:n=[KS(o,s),\"scale(\"+t+\",\"+r+\")\",KS(-o,-s)],l&&n.push(l),i.attr(\"transform\",n.join(\"\"))}})};function BO(e,t){var r;return e&&(r=e.mf),r===void 0&&(r=t.marker&&t.marker.standoff||0),!t._geo&&!t._xA?-r:r}na.getMarkerStandoff=BO;var YS=Math.atan2,bb=Math.cos,E3=Math.sin;function voe(e,t){var r=t[0],n=t[1];return[r*bb(e)-n*E3(e),r*E3(e)+n*bb(e)]}var poe,goe,moe,yoe,zO,FO;function NO(e,t){var r=e.ma;r===void 0&&(r=t.marker.angle,(!r||du.isArrayOrTypedArray(r))&&(r=0));var n,i,a=t.marker.angleref;if(a===\"previous\"||a===\"north\"){if(t._geo){var o=t._geo.project(e.lonlat);n=o[0],i=o[1]}else{var s=t._xA,l=t._yA;if(s&&l)n=s.c2p(e.x),i=l.c2p(e.y);else return 90}if(t._geo){var u=e.lonlat[0],c=e.lonlat[1],f=t._geo.project([u,c+1e-5]),h=t._geo.project([u+1e-5,c]),d=YS(h[1]-i,h[0]-n),v=YS(f[1]-i,f[0]-n),x;if(a===\"north\")x=r/180*Math.PI;else if(a===\"previous\"){var b=u/180*Math.PI,g=c/180*Math.PI,E=poe/180*Math.PI,k=goe/180*Math.PI,A=E-b,L=bb(k)*E3(A),_=E3(k)*bb(g)-bb(k)*E3(g)*bb(A);x=-YS(L,_)-Math.PI,poe=u,goe=c}var C=voe(d,[bb(x),0]),M=voe(v,[E3(x),0]);r=YS(C[1]+M[1],C[0]+M[0])/Math.PI*180,a===\"previous\"&&!(FO===t.uid&&e.i===zO+1)&&(r=null)}if(a===\"previous\"&&!t._geo)if(FO===t.uid&&e.i===zO+1&&Ab(n)&&Ab(i)){var p=n-moe,P=i-yoe,T=t.line&&t.line.shape||\"\",F=T.slice(T.length-1);F===\"h\"&&(P=0),F===\"v\"&&(p=0),r+=YS(P,p)/Math.PI*180+90}else r=null}return moe=n,yoe=i,zO=e.i,FO=t.uid,r}na.getMarkerAngle=NO});var Mb=ye((frr,Roe)=>{\"use strict\";var k3=xa(),bat=uo(),wat=Xu(),UO=ba(),Sb=Mr(),Loe=Sb.strTranslate,rL=ao(),iL=va(),C3=Ll(),Poe=N1(),Tat=Nh().OPPOSITE_SIDE,Ioe=/ [XY][0-9]* /,VO=1.6,HO=1.6;function Aat(e,t,r){var n=e._fullLayout,i=r.propContainer,a=r.propName,o=r.placeholder,s=r.traceIndex,l=r.avoid||{},u=r.attributes,c=r.transform,f=r.containerGroup,h=1,d=i.title,v=(d&&d.text?d.text:\"\").trim(),x=!1,b=d&&d.font?d.font:{},g=b.family,E=b.size,k=b.color,A=b.weight,L=b.style,_=b.variant,C=b.textcase,M=b.lineposition,p=b.shadow,P=r.subtitlePropName,T=!!P,F=r.subtitlePlaceholder,q=(i.title||{}).subtitle||{text:\"\",font:{}},V=q.text.trim(),H=!1,X=1,G=q.font,N=G.family,W=G.size,re=G.color,ae=G.weight,_e=G.style,Me=G.variant,ke=G.textcase,ge=G.lineposition,ie=G.shadow,Te;a===\"title.text\"?Te=\"titleText\":a.indexOf(\"axis\")!==-1?Te=\"axisTitleText\":a.indexOf(\"colorbar\"!==-1)&&(Te=\"colorbarTitleText\");var Ee=e._context.edits[Te];function Ae(kt,Ct){return kt===void 0||Ct===void 0?!1:kt.replace(Ioe,\" % \")===Ct.replace(Ioe,\" % \")}v===\"\"?h=0:Ae(v,o)&&(Ee||(v=\"\"),h=.2,x=!0),T&&(V===\"\"?X=0:Ae(V,F)&&(Ee||(V=\"\"),X=.2,H=!0)),r._meta?v=Sb.templateString(v,r._meta):n._meta&&(v=Sb.templateString(v,n._meta));var ze=v||V||Ee,Ce;f||(f=Sb.ensureSingle(n._infolayer,\"g\",\"g-\"+t),Ce=n._hColorbarMoveTitle);var me=f.selectAll(\"text.\"+t).data(ze?[0]:[]);me.enter().append(\"text\"),me.text(v).attr(\"class\",t),me.exit().remove();var Re=null,ce=t+\"-subtitle\",Ge=V||Ee;if(T&&Ge&&(Re=f.selectAll(\"text.\"+ce).data(Ge?[0]:[]),Re.enter().append(\"text\"),Re.text(V).attr(\"class\",ce),Re.exit().remove()),!ze)return f;function nt(kt,Ct){Sb.syncOrAsync([ct,qt],{title:kt,subtitle:Ct})}function ct(kt){var Ct=kt.title,Yt=kt.subtitle,xr;!c&&Ce&&(c={}),c?(xr=\"\",c.rotate&&(xr+=\"rotate(\"+[c.rotate,u.x,u.y]+\")\"),(c.offset||Ce)&&(xr+=Loe(0,(c.offset||0)-(Ce||0)))):xr=null,Ct.attr(\"transform\",xr);function er(Et){if(Et){var dt=k3.select(Et.node().parentNode).select(\".\"+ce);if(!dt.empty()){var Ht=Et.node().getBBox();if(Ht.height){var $t=Ht.y+Ht.height+VO*W;dt.attr(\"y\",$t)}}}}if(Ct.style(\"opacity\",h*iL.opacity(k)).call(rL.font,{color:iL.rgb(k),size:k3.round(E,2),family:g,weight:A,style:L,variant:_,textcase:C,shadow:p,lineposition:M}).attr(u).call(C3.convertToTspans,e,er),Yt){var Ke=f.select(\".\"+t+\"-math-group\"),xt=Ct.node().getBBox(),bt=Ke.node()?Ke.node().getBBox():void 0,Lt=bt?bt.y+bt.height+VO*W:xt.y+xt.height+HO*W,St=Sb.extendFlat({},u,{y:Lt});Yt.attr(\"transform\",xr),Yt.style(\"opacity\",X*iL.opacity(re)).call(rL.font,{color:iL.rgb(re),size:k3.round(W,2),family:N,weight:ae,style:_e,variant:Me,textcase:ke,shadow:ie,lineposition:ge}).attr(St).call(C3.convertToTspans,e)}return wat.previousPromises(e)}function qt(kt){var Ct=kt.title,Yt=k3.select(Ct.node().parentNode);if(l&&l.selection&&l.side&&v){Yt.attr(\"transform\",null);var xr=Tat[l.side],er=l.side===\"left\"||l.side===\"top\"?-1:1,Ke=bat(l.pad)?l.pad:2,xt=rL.bBox(Yt.node()),bt={t:0,b:0,l:0,r:0},Lt=e._fullLayout._reservedMargin;for(var St in Lt)for(var Et in Lt[St]){var dt=Lt[St][Et];bt[Et]=Math.max(bt[Et],dt)}var Ht={left:bt.l,top:bt.t,right:n.width-bt.r,bottom:n.height-bt.b},$t=l.maxShift||er*(Ht[l.side]-xt[l.side]),fr=0;if($t<0)fr=$t;else{var _r=l.offsetLeft||0,Br=l.offsetTop||0;xt.left-=_r,xt.right-=_r,xt.top-=Br,xt.bottom-=Br,l.selection.each(function(){var Nr=rL.bBox(this);Sb.bBoxIntersect(xt,Nr,Ke)&&(fr=Math.max(fr,er*(Nr[l.side]-xt[xr])+Ke))}),fr=Math.min($t,fr),i._titleScoot=Math.abs(fr)}if(fr>0||$t<0){var Or={left:[-fr,0],right:[fr,0],top:[0,-fr],bottom:[0,fr]}[l.side];Yt.attr(\"transform\",Loe(Or[0],Or[1]))}}}me.call(nt,Re);function rt(kt,Ct){kt.text(Ct).on(\"mouseover.opacity\",function(){k3.select(this).transition().duration(Poe.SHOW_PLACEHOLDER).style(\"opacity\",1)}).on(\"mouseout.opacity\",function(){k3.select(this).transition().duration(Poe.HIDE_PLACEHOLDER).style(\"opacity\",0)})}if(Ee&&(v?me.on(\".opacity\",null):(rt(me,o),x=!0),me.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){s!==void 0?UO.call(\"_guiRestyle\",e,a,kt,s):UO.call(\"_guiRelayout\",e,a,kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,u.x,u.y)}),T)){if(T&&!v){var ot=me.node().getBBox(),Rt=ot.y+ot.height+HO*W;Re.attr(\"y\",Rt)}V?Re.on(\".opacity\",null):(rt(Re,F),H=!0),Re.call(C3.makeEditable,{gd:e}).on(\"edit\",function(kt){UO.call(\"_guiRelayout\",e,\"title.subtitle.text\",kt)}).on(\"cancel\",function(){this.text(this.attr(\"data-unformatted\")).call(nt)}).on(\"input\",function(kt){this.text(kt||\" \").call(C3.positionText,Re.attr(\"x\"),Re.attr(\"y\"))})}return me.classed(\"js-placeholder\",x),Re&&Re.classed(\"js-placeholder\",H),f}Roe.exports={draw:Aat,SUBTITLE_PADDING_EM:HO,SUBTITLE_PADDING_MATHJAX_EM:VO}});var ym=ye((hrr,Ooe)=>{\"use strict\";var Sat=xa(),Mat=e3().utcFormat,Nu=Mr(),Eat=Nu.numberFormat,gm=uo(),n_=Nu.cleanNumber,kat=Nu.ms2DateTime,Doe=Nu.dateTime2ms,mm=Nu.ensureNumber,zoe=Nu.isArrayOrTypedArray,a_=es(),nL=a_.FP_SAFE,bg=a_.BADNUM,Cat=a_.LOG_CLIP,Lat=a_.ONEWEEK,aL=a_.ONEDAY,oL=a_.ONEHOUR,Foe=a_.ONEMIN,qoe=a_.ONESEC,sL=af(),cL=ad(),lL=cL.HOUR_PATTERN,uL=cL.WEEKDAY_PATTERN;function JS(e){return Math.pow(10,e)}function GO(e){return e!=null}Ooe.exports=function(t,r){r=r||{};var n=t._id||\"x\",i=n.charAt(0);function a(A,L){if(A>0)return Math.log(A)/Math.LN10;if(A<=0&&L&&t.range&&t.range.length===2){var _=t.range[0],C=t.range[1];return .5*(_+C-2*Cat*Math.abs(_-C))}else return bg}function o(A,L,_,C){if((C||{}).msUTC&&gm(A))return+A;var M=Doe(A,_||t.calendar);if(M===bg)if(gm(A)){A=+A;var p=Math.floor(Nu.mod(A+.05,1)*10),P=Math.round(A-p/10);M=Doe(new Date(P))+p/10}else return bg;return M}function s(A,L,_){return kat(A,L,_||t.calendar)}function l(A){return t._categories[Math.round(A)]}function u(A){if(GO(A)){if(t._categoriesMap===void 0&&(t._categoriesMap={}),t._categoriesMap[A]!==void 0)return t._categoriesMap[A];t._categories.push(typeof A==\"number\"?String(A):A);var L=t._categories.length-1;return t._categoriesMap[A]=L,L}return bg}function c(A,L){for(var _=new Array(L),C=0;Ct.range[1]&&(_=!_);for(var C=_?-1:1,M=C*A,p=0,P=0;PF)p=P+1;else{p=M<(T+F)/2?P:P+1;break}}var q=t._B[p]||0;return isFinite(q)?v(A,t._m2,q):0},g=function(A){var L=t._rangebreaks.length;if(!L)return x(A,t._m,t._b);for(var _=0,C=0;Ct._rangebreaks[C].pmax&&(_=C+1);return x(A,t._m2,t._B[_])}}t.c2l=t.type===\"log\"?a:mm,t.l2c=t.type===\"log\"?JS:mm,t.l2p=b,t.p2l=g,t.c2p=t.type===\"log\"?function(A,L){return b(a(A,L))}:b,t.p2c=t.type===\"log\"?function(A){return JS(g(A))}:g,[\"linear\",\"-\"].indexOf(t.type)!==-1?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=n_,t.c2d=t.c2r=t.l2d=t.l2r=mm,t.d2p=t.r2p=function(A){return t.l2p(n_(A))},t.p2d=t.p2r=g,t.cleanPos=mm):t.type===\"log\"?(t.d2r=t.d2l=function(A,L){return a(n_(A),L)},t.r2d=t.r2c=function(A){return JS(n_(A))},t.d2c=t.r2l=n_,t.c2d=t.l2r=mm,t.c2r=a,t.l2d=JS,t.d2p=function(A,L){return t.l2p(t.d2r(A,L))},t.p2d=function(A){return JS(g(A))},t.r2p=function(A){return t.l2p(n_(A))},t.p2r=g,t.cleanPos=mm):t.type===\"date\"?(t.d2r=t.r2d=Nu.identity,t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=s,t.d2p=t.r2p=function(A,L,_){return t.l2p(o(A,0,_))},t.p2d=t.p2r=function(A,L,_){return s(g(A),L,_)},t.cleanPos=function(A){return Nu.cleanDate(A,bg,t.calendar)}):t.type===\"category\"?(t.d2c=t.d2l=u,t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=d(A);return L!==void 0?L:t.fraction2r(.5)},t.l2r=t.c2r=mm,t.r2l=d,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(g(A))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(A){return typeof A==\"string\"&&A!==\"\"?A:mm(A)}):t.type===\"multicategory\"&&(t.r2d=t.c2d=t.l2d=l,t.d2r=t.d2l_noadd=h,t.r2c=function(A){var L=h(A);return L!==void 0?L:t.fraction2r(.5)},t.r2c_just_indices=f,t.l2r=t.c2r=mm,t.r2l=h,t.d2p=function(A){return t.l2p(t.r2c(A))},t.p2d=function(A){return l(g(A))},t.r2p=t.d2p,t.p2r=g,t.cleanPos=function(A){return Array.isArray(A)||typeof A==\"string\"&&A!==\"\"?A:mm(A)},t.setupMultiCategory=function(A){var L=t._traceIndices,_,C,M=t._matchGroup;if(M&&t._categories.length===0){for(var p in M)if(p!==n){var P=r[sL.id2name(p)];L=L.concat(P._traceIndices)}}var T=[[0,{}],[0,{}]],F=[];for(_=0;_P[1]&&(C[p?0:1]=_),C[0]===C[1]){var T=t.l2r(L),F=t.l2r(_);if(L!==void 0){var q=T+1;_!==void 0&&(q=Math.min(q,F)),C[p?1:0]=q}if(_!==void 0){var V=F+1;L!==void 0&&(V=Math.max(V,T)),C[p?0:1]=V}}}},t.cleanRange=function(A,L){t._cleanRange(A,L),t.limitRange(A)},t._cleanRange=function(A,L){L||(L={}),A||(A=\"range\");var _=Nu.nestedProperty(t,A).get(),C,M;if(t.type===\"date\"?M=Nu.dfltRange(t.calendar):i===\"y\"?M=cL.DFLTRANGEY:t._name===\"realaxis\"?M=[0,1]:M=L.dfltRange||cL.DFLTRANGEX,M=M.slice(),(t.rangemode===\"tozero\"||t.rangemode===\"nonnegative\")&&(M[0]=0),!_||_.length!==2){Nu.nestedProperty(t,A).set(M);return}var p=_[0]===null,P=_[1]===null;for(t.type===\"date\"&&!t.autorange&&(_[0]=Nu.cleanDate(_[0],bg,t.calendar),_[1]=Nu.cleanDate(_[1],bg,t.calendar)),C=0;C<2;C++)if(t.type===\"date\"){if(!Nu.isDateTime(_[C],t.calendar)){t[A]=M;break}if(t.r2l(_[0])===t.r2l(_[1])){var T=Nu.constrain(t.r2l(_[0]),Nu.MIN_MS+1e3,Nu.MAX_MS-1e3);_[0]=t.l2r(T-1e3),_[1]=t.l2r(T+1e3);break}}else{if(!gm(_[C]))if(!(p||P)&&gm(_[1-C]))_[C]=_[1-C]*(C?10:.1);else{t[A]=M;break}if(_[C]<-nL?_[C]=-nL:_[C]>nL&&(_[C]=nL),_[0]===_[1]){var F=Math.max(1,Math.abs(_[0]*1e-6));_[0]-=F,_[1]+=F}}},t.setScale=function(A){var L=r._size;if(t.overlaying){var _=sL.getFromId({_fullLayout:r},t.overlaying);t.domain=_.domain}var C=A&&t._r?\"_r\":\"range\",M=t.calendar;t.cleanRange(C);var p=t.r2l(t[C][0],M),P=t.r2l(t[C][1],M),T=i===\"y\";if(T?(t._offset=L.t+(1-t.domain[1])*L.h,t._length=L.h*(t.domain[1]-t.domain[0]),t._m=t._length/(p-P),t._b=-t._m*P):(t._offset=L.l+t.domain[0]*L.w,t._length=L.w*(t.domain[1]-t.domain[0]),t._m=t._length/(P-p),t._b=-t._m*p),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks){var F,q;if(t._rangebreaks=t.locateBreaks(Math.min(p,P),Math.max(p,P)),t._rangebreaks.length){for(F=0;FP&&(V=!V),V&&t._rangebreaks.reverse();var H=V?-1:1;for(t._m2=H*t._length/(Math.abs(P-p)-t._lBreaks),t._B.push(-t._m2*(T?P:p)),F=0;FM&&(M+=7,pM&&(M+=24,p=C&&p=C&&A=ie.min&&(_eie.max&&(ie.max=Me),ke=!1)}ke&&P.push({min:_e,max:Me})}};for(_=0;_{\"use strict\";var Boe=uo(),jO=Mr(),Pat=es().BADNUM,fL=jO.isArrayOrTypedArray,Iat=jO.isDateTime,Rat=jO.cleanNumber,Noe=Math.round;Voe.exports=function(t,r,n){var i=t,a=n.noMultiCategory;if(fL(i)&&!i.length)return\"-\";if(!a&&Oat(i))return\"multicategory\";if(a&&Array.isArray(i[0])){for(var o=[],s=0;sa*2}function Uoe(e){return Math.max(1,(e-1)/1e3)}function qat(e,t){for(var r=e.length,n=Uoe(r),i=0,a=0,o={},s=0;si*2}function Oat(e){return fL(e[0])&&fL(e[1])}});var wg=ye((vrr,Koe)=>{\"use strict\";var Bat=xa(),Woe=uo(),o_=Mr(),hL=es().FP_SAFE,Nat=ba(),Uat=ao(),Zoe=af(),Vat=Zoe.getFromId,Hat=Zoe.isLinked;Koe.exports={applyAutorangeOptions:Yoe,getAutoRange:WO,makePadFn:ZO,doAutoRange:jat,findExtremes:Wat,concatExtremes:KO};function WO(e,t){var r,n,i=[],a=e._fullLayout,o=ZO(a,t,0),s=ZO(a,t,1),l=KO(e,t),u=l.min,c=l.max;if(u.length===0||c.length===0)return o_.simpleMap(t.range,t.r2l);var f=u[0].val,h=c[0].val;for(r=1;r0&&(P=k-o(_)-s(C),P>A?T/P>L&&(M=_,p=C,L=T/P):T/k>L&&(M={val:_.val,nopad:1},p={val:C.val,nopad:1},L=T/k));function F(G,N){return Math.max(G,s(N))}if(f===h){var q=f-1,V=f+1;if(g)if(f===0)i=[0,1];else{var H=(f>0?c:u).reduce(F,0),X=f/(1-Math.min(.5,H/k));i=f>0?[0,X]:[X,0]}else E?i=[Math.max(0,q),Math.max(1,V)]:i=[q,V]}else g?(M.val>=0&&(M={val:0,nopad:1}),p.val<=0&&(p={val:0,nopad:1})):E&&(M.val-L*o(M)<0&&(M={val:0,nopad:1}),p.val<=0&&(p={val:1,nopad:1})),L=(p.val-M.val-Hoe(t,_.val,C.val))/(k-o(M)-s(p)),i=[M.val-L*o(M),p.val+L*s(p)];return i=Yoe(i,t),t.limitRange&&t.limitRange(),v&&i.reverse(),o_.simpleMap(i,t.l2r||Number)}function Hoe(e,t,r){var n=0;if(e.rangebreaks)for(var i=e.locateBreaks(t,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),_=A((e._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),C=A(r.vpadplus||r.vpad),M=A(r.vpadminus||r.vpad);if(!u){if(E=1/0,k=-1/0,l)for(f=0;f0&&(E=h),h>k&&h-hL&&(E=h),h>k&&h=T;f--)P(f);return{min:n,max:i,opts:r}}function XO(e,t,r,n){Xoe(e,t,r,n,Zat)}function YO(e,t,r,n){Xoe(e,t,r,n,Xat)}function Xoe(e,t,r,n,i){for(var a=n.tozero,o=n.extrapad,s=!0,l=0;l=r&&(u.extrapad||!o)){s=!1;break}else i(t,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(e.splice(l,1),l--)}if(s){var c=a&&t===0;e.push({val:t,pad:c?0:r,extrapad:c?!1:o})}}function joe(e){return Woe(e)&&Math.abs(e)=t}function Yat(e,t){var r=t.autorangeoptions;return r&&r.minallowed!==void 0&&dL(t,r.minallowed,r.maxallowed)?r.minallowed:r&&r.clipmin!==void 0&&dL(t,r.clipmin,r.clipmax)?Math.max(e,t.d2l(r.clipmin)):e}function Kat(e,t){var r=t.autorangeoptions;return r&&r.maxallowed!==void 0&&dL(t,r.minallowed,r.maxallowed)?r.maxallowed:r&&r.clipmax!==void 0&&dL(t,r.clipmin,r.clipmax)?Math.min(e,t.d2l(r.clipmax)):e}function dL(e,t,r){return t!==void 0&&r!==void 0?(t=e.d2l(t),r=e.d2l(r),t=l&&(a=l,r=l),o<=l&&(o=l,n=l)}}return r=Yat(r,t),n=Kat(n,t),[r,n]}});var Qa=ye((prr,yse)=>{\"use strict\";var w0=xa(),ph=uo(),P3=Xu(),QS=ba(),Vo=Mr(),I3=Vo.strTranslate,Eb=Ll(),Jat=Mb(),eM=va(),Xp=ao(),$at=Cd(),Joe=xO(),Yd=es(),Qat=Yd.ONEMAXYEAR,gL=Yd.ONEAVGYEAR,mL=Yd.ONEMINYEAR,eot=Yd.ONEMAXQUARTER,eB=Yd.ONEAVGQUARTER,yL=Yd.ONEMINQUARTER,tot=Yd.ONEMAXMONTH,R3=Yd.ONEAVGMONTH,_L=Yd.ONEMINMONTH,Yp=Yd.ONEWEEK,Fv=Yd.ONEDAY,s_=Fv/2,xm=Yd.ONEHOUR,tM=Yd.ONEMIN,xL=Yd.ONESEC,rot=Yd.ONEMILLI,iot=Yd.ONEMICROSEC,kb=Yd.MINUS_SIGN,TL=Yd.BADNUM,tB={K:\"zeroline\"},rB={K:\"gridline\",L:\"path\"},iB={K:\"minor-gridline\",L:\"path\"},lse={K:\"tick\",L:\"path\"},$oe={K:\"tick\",L:\"text\"},Qoe={width:[\"x\",\"r\",\"l\",\"xl\",\"xr\"],height:[\"y\",\"t\",\"b\",\"yt\",\"yb\"],right:[\"r\",\"xr\"],left:[\"l\",\"xl\"],top:[\"t\",\"yt\"],bottom:[\"b\",\"yb\"]},AL=Nh(),$S=AL.MID_SHIFT,Cb=AL.CAP_SHIFT,rM=AL.LINE_SPACING,not=AL.OPPOSITE_SIDE,bL=3,kn=yse.exports={};kn.setConvert=ym();var aot=L3(),Ay=af(),oot=Ay.idSort,sot=Ay.isLinked;kn.id2name=Ay.id2name;kn.name2id=Ay.name2id;kn.cleanId=Ay.cleanId;kn.list=Ay.list;kn.listIds=Ay.listIds;kn.getFromId=Ay.getFromId;kn.getFromTrace=Ay.getFromTrace;var use=wg();kn.getAutoRange=use.getAutoRange;kn.findExtremes=use.findExtremes;var lot=1e-4;function sB(e){var t=(e[1]-e[0])*lot;return[e[0]-t,e[1]+t]}kn.coerceRef=function(e,t,r,n,i,a){var o=n.charAt(n.length-1),s=r._fullLayout._subplots[o+\"axis\"],l=n+\"ref\",u={};return i||(i=s[0]||(typeof a==\"string\"?a:a[0])),a||(a=i),s=s.concat(s.map(function(c){return c+\" domain\"})),u[l]={valType:\"enumerated\",values:s.concat(a?typeof a==\"string\"?[a]:a:[]),dflt:i},Vo.coerce(e,t,u,l)};kn.getRefType=function(e){return e===void 0?e:e===\"paper\"?\"paper\":e===\"pixel\"?\"pixel\":/( domain)$/.test(e)?\"domain\":\"range\"};kn.coercePosition=function(e,t,r,n,i,a){var o,s,l=kn.getRefType(n);if(l!==\"range\")o=Vo.ensureNumber,s=r(i,a);else{var u=kn.getFromId(t,n);a=u.fraction2r(a),s=r(i,a),o=u.cleanPos}e[i]=o(s)};kn.cleanPosition=function(e,t,r){var n=r===\"paper\"||r===\"pixel\"?Vo.ensureNumber:kn.getFromId(t,r).cleanPos;return n(e)};kn.redrawComponents=function(e,t){t=t||kn.listIds(e);var r=e._fullLayout;function n(i,a,o,s){for(var l=QS.getComponentMethod(i,a),u={},c=0;c2e-6||((r-e._forceTick0)/e._minDtick%1+1.000001)%1>2e-6)&&(e._minDtick=0))};kn.saveRangeInitial=function(e,t){for(var r=kn.list(e,\"\",!0),n=!1,i=0;if*.3||u(n)||u(i))){var h=r.dtick/2;e+=e+ho){var s=Number(r.substr(1));a.exactYears>o&&s%12===0?e=kn.tickIncrement(e,\"M6\",\"reverse\")+Fv*1.5:a.exactMonths>o?e=kn.tickIncrement(e,\"M1\",\"reverse\")+Fv*15.5:e-=s_;var l=kn.tickIncrement(e,r);if(l<=n)return l}return e}kn.prepMinorTicks=function(e,t,r){if(!t.minor.dtick){delete e.dtick;var n=t.dtick&&ph(t._tmin),i;if(n){var a=kn.tickIncrement(t._tmin,t.dtick,!0);i=[t._tmin,a*.99+t._tmin*.01]}else{var o=Vo.simpleMap(t.range,t.r2l);i=[o[0],.8*o[0]+.2*o[1]]}if(e.range=Vo.simpleMap(i,t.l2r),e._isMinor=!0,kn.prepTicks(e,r),n){var s=ph(t.dtick),l=ph(e.dtick),u=s?t.dtick:+t.dtick.substring(1),c=l?e.dtick:+e.dtick.substring(1);s&&l?JO(u,c)?u===2*Yp&&c===2*Fv&&(e.dtick=Yp):u===2*Yp&&c===3*Fv?e.dtick=Yp:u===Yp&&!(t._input.minor||{}).nticks?e.dtick=Fv:rse(u/c,2.5)?e.dtick=u/2:e.dtick=u:String(t.dtick).charAt(0)===\"M\"?l?e.dtick=\"M1\":JO(u,c)?u>=12&&c===2&&(e.dtick=\"M3\"):e.dtick=t.dtick:String(e.dtick).charAt(0)===\"L\"?String(t.dtick).charAt(0)===\"L\"?JO(u,c)||(e.dtick=rse(u/c,2.5)?t.dtick/2:t.dtick):e.dtick=\"D1\":e.dtick===\"D2\"&&+t.dtick>1&&(e.dtick=1)}e.range=t.range}t.minor._tick0Init===void 0&&(e.tick0=t.tick0)};function JO(e,t){return Math.abs((e/t+.5)%1-.5)<.001}function rse(e,t){return Math.abs(e/t-1)<.001}kn.prepTicks=function(e,t){var r=Vo.simpleMap(e.range,e.r2l,void 0,void 0,t);if(e.tickmode===\"auto\"||!e.dtick){var n=e.nticks,i;n||(e.type===\"category\"||e.type===\"multicategory\"?(i=e.tickfont?Vo.bigFont(e.tickfont.size||12):15,n=e._length/i):(i=e._id.charAt(0)===\"y\"?40:80,n=Vo.constrain(e._length/i,4,9)+1),e._name===\"radialaxis\"&&(n*=2)),e.minor&&e.minor.tickmode!==\"array\"||e.tickmode===\"array\"&&(n*=100),e._roughDTick=Math.abs(r[1]-r[0])/n,kn.autoTicks(e,e._roughDTick),e._minDtick>0&&e.dtick0?(a=n-1,o=n):(a=n,o=n);var s=e[a].value,l=e[o].value,u=Math.abs(l-s),c=r||u,f=0;c>=mL?u>=mL&&u<=Qat?f=u:f=gL:r===eB&&c>=yL?u>=yL&&u<=eot?f=u:f=eB:c>=_L?u>=_L&&u<=tot?f=u:f=R3:r===Yp&&c>=Yp?f=Yp:c>=Fv?f=Fv:r===s_&&c>=s_?f=s_:r===xm&&c>=xm&&(f=xm);var h;f>=u&&(f=u,h=!0);var d=i+f;if(t.rangebreaks&&f>0){for(var v=84,x=0,b=0;bYp&&(f=u)}(f>0||n===0)&&(e[n].periodX=i+f/2)}}kn.calcTicks=function(t,r){for(var n=t.type,i=t.calendar,a=t.ticklabelstep,o=t.ticklabelmode===\"period\",s=t.range[0]>t.range[1],l=!t.ticklabelindex||Vo.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],u=Vo.simpleMap(t.range,t.r2l,void 0,void 0,r),c=u[1]=(k?0:1);A--){var L=!A;A?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var _=A?t:Vo.extendFlat({},t,t.minor);if(L?kn.prepMinorTicks(_,t,r):kn.prepTicks(_,r),_.tickmode===\"array\"){A?(b=[],v=ise(t,!L)):(g=[],x=ise(t,!L));continue}if(_.tickmode===\"sync\"){b=[],v=vot(t);continue}var C=sB(u),M=C[0],p=C[1],P=ph(_.dtick),T=n===\"log\"&&!(P||_.dtick.charAt(0)===\"L\"),F=kn.tickFirst(_,r);if(A){if(t._tmin=F,F=p:V<=p;V=kn.tickIncrement(V,G,c,i)){if(A&&H++,_.rangebreaks&&!c){if(V=h)break}if(b.length>d||V===q)break;q=V;var N={value:V};A?(T&&V!==(V|0)&&(N.simpleLabel=!0),a>1&&H%a&&(N.skipLabel=!0),b.push(N)):(N.minor=!0,g.push(N))}}if(!g||g.length<2)l=!1;else{var W=(g[1].value-g[0].value)*(s?-1:1);Oot(W,t.tickformat)||(l=!1)}if(!l)E=b;else{var re=b.concat(g);o&&b.length&&(re=re.slice(1)),re=re.sort(function(Rt,kt){return Rt.value-kt.value}).filter(function(Rt,kt,Ct){return kt===0||Rt.value!==Ct[kt-1].value});var ae=re.map(function(Rt,kt){return Rt.minor===void 0&&!Rt.skipLabel?kt:null}).filter(function(Rt){return Rt!==null});ae.forEach(function(Rt){l.map(function(kt){var Ct=Rt+kt;Ct>=0&&Ct-1;ze--){if(b[ze].drop){b.splice(ze,1);continue}b[ze].value=QO(b[ze].value,t);var ce=t.c2p(b[ze].value);(Ce?Re>ce-me:Reh||Yth&&(Ct.periodX=h),Yti&&hgL)t/=gL,n=i(10),e.dtick=\"M\"+12*_m(t,n,vL);else if(a>R3)t/=R3,e.dtick=\"M\"+_m(t,1,nse);else if(a>Fv){if(e.dtick=_m(t,Fv,e._hasDayOfWeekBreaks?[1,2,7,14]:pot),!r){var o=kn.getTickFormat(e),s=e.ticklabelmode===\"period\";s&&(e._rawTick0=e.tick0),/%[uVW]/.test(o)?e.tick0=Vo.dateTick0(e.calendar,2):e.tick0=Vo.dateTick0(e.calendar,1),s&&(e._dowTick0=e.tick0)}}else a>xm?e.dtick=_m(t,xm,nse):a>tM?e.dtick=_m(t,tM,ase):a>xL?e.dtick=_m(t,xL,ase):(n=i(10),e.dtick=_m(t,n,vL))}else if(e.type===\"log\"){e.tick0=0;var l=Vo.simpleMap(e.range,e.r2l);if(e._isMinor&&(t*=1.5),t>.7)e.dtick=Math.ceil(t);else if(Math.abs(l[1]-l[0])<1){var u=1.5*Math.abs((l[1]-l[0])/t);t=Math.abs(Math.pow(10,l[1])-Math.pow(10,l[0]))/u,n=i(10),e.dtick=\"L\"+_m(t,n,vL)}else e.dtick=t>.3?\"D2\":\"D1\"}else e.type===\"category\"||e.type===\"multicategory\"?(e.tick0=0,e.dtick=Math.ceil(Math.max(t,1))):cB(e)?(e.tick0=0,n=1,e.dtick=_m(t,n,got)):(e.tick0=0,n=i(10),e.dtick=_m(t,n,vL));if(e.dtick===0&&(e.dtick=1),!ph(e.dtick)&&typeof e.dtick!=\"string\"){var c=e.dtick;throw e.dtick=1,\"ax.dtick error: \"+String(c)}};function dse(e){var t=e.dtick;if(e._tickexponent=0,!ph(t)&&typeof t!=\"string\"&&(t=1),(e.type===\"category\"||e.type===\"multicategory\")&&(e._tickround=null),e.type===\"date\"){var r=e.r2l(e.tick0),n=e.l2r(r).replace(/(^-|i)/g,\"\"),i=n.length;if(String(t).charAt(0)===\"M\")i>10||n.substr(5)!==\"01-01\"?e._tickround=\"d\":e._tickround=+t.substr(1)%12===0?\"y\":\"m\";else if(t>=Fv&&i<=10||t>=Fv*15)e._tickround=\"d\";else if(t>=tM&&i<=16||t>=xm)e._tickround=\"M\";else if(t>=xL&&i<=19||t>=tM)e._tickround=\"S\";else{var a=e.l2r(r+t).replace(/^-/,\"\").length;e._tickround=Math.max(i,a)-20,e._tickround<0&&(e._tickround=4)}}else if(ph(t)||t.charAt(0)===\"L\"){var o=e.range.map(e.r2d||Number);ph(t)||(t=Number(t.substr(1))),e._tickround=2-Math.floor(Math.log(t)/Math.LN10+.01);var s=Math.max(Math.abs(o[0]),Math.abs(o[1])),l=Math.floor(Math.log(s)/Math.LN10+.01),u=e.minexponent===void 0?3:e.minexponent;Math.abs(l)>u&&(wL(e.exponentformat)&&!lB(l)?e._tickexponent=3*Math.round((l-1)/3):e._tickexponent=l)}else e._tickround=null}kn.tickIncrement=function(e,t,r,n){var i=r?-1:1;if(ph(t))return Vo.increment(e,i*t);var a=t.charAt(0),o=i*Number(t.substr(1));if(a===\"M\")return Vo.incrementMonth(e,o,n);if(a===\"L\")return Math.log(Math.pow(10,e)+o)/Math.LN10;if(a===\"D\"){var s=t===\"D2\"?hse:fse,l=e+i*.01,u=Vo.roundUp(Vo.mod(l,1),s,r);return Math.floor(l)+Math.log(w0.round(Math.pow(10,u),1))/Math.LN10}throw\"unrecognized dtick \"+String(t)};kn.tickFirst=function(e,t){var r=e.r2l||Number,n=Vo.simpleMap(e.range,r,void 0,void 0,t),i=n[1]=0&&g<=e._length?b:null};if(a&&Vo.isArrayOrTypedArray(e.ticktext)){var f=Vo.simpleMap(e.range,e.r2l),h=(Math.abs(f[1]-f[0])-(e._lBreaks||0))/1e4;for(u=0;u\"+s;else{var u=nM(e),c=e._trueSide||e.side;(!u&&c===\"top\"||u&&c===\"bottom\")&&(o+=\"
\")}t.text=o}function yot(e,t,r,n,i){var a=e.dtick,o=t.x,s=e.tickformat,l=typeof a==\"string\"&&a.charAt(0);if(i===\"never\"&&(i=\"\"),n&&l!==\"L\"&&(a=\"L3\",l=\"L\"),s||l===\"L\")t.text=iM(Math.pow(10,o),e,i,n);else if(ph(a)||l===\"D\"&&Vo.mod(o+.01,1)<.1){var u=Math.round(o),c=Math.abs(u),f=e.exponentformat;f===\"power\"||wL(f)&&lB(u)?(u===0?t.text=1:u===1?t.text=\"10\":t.text=\"10\"+(u>1?\"\":kb)+c+\"\",t.fontSize*=1.25):(f===\"e\"||f===\"E\")&&c>2?t.text=\"1\"+f+(u>0?\"+\":kb)+c:(t.text=iM(Math.pow(10,o),e,\"\",\"fakehover\"),a===\"D1\"&&e._id.charAt(0)===\"y\"&&(t.dy-=t.fontSize/6))}else if(l===\"D\")t.text=String(Math.round(Math.pow(10,Vo.mod(o,1)))),t.fontSize*=.75;else throw\"unrecognized dtick \"+String(a);if(e.dtick===\"D1\"){var h=String(t.text).charAt(0);(h===\"0\"||h===\"1\")&&(e._id.charAt(0)===\"y\"?t.dx-=t.fontSize/4:(t.dy+=t.fontSize/2,t.dx+=(e.range[1]>e.range[0]?1:-1)*t.fontSize*(o<0?.5:.25)))}}function _ot(e,t){var r=e._categories[Math.round(t.x)];r===void 0&&(r=\"\"),t.text=String(r)}function xot(e,t,r){var n=Math.round(t.x),i=e._categories[n]||[],a=i[1]===void 0?\"\":String(i[1]),o=i[0]===void 0?\"\":String(i[0]);r?t.text=o+\" - \"+a:(t.text=a,t.text2=o)}function bot(e,t,r,n,i){i===\"never\"?i=\"\":e.showexponent===\"all\"&&Math.abs(t.x/e.dtick)<1e-6&&(i=\"hide\"),t.text=iM(t.x,e,i,n)}function wot(e,t,r,n,i){if(e.thetaunit===\"radians\"&&!r){var a=t.x/180;if(a===0)t.text=\"0\";else{var o=Tot(a);if(o[1]>=100)t.text=iM(Vo.deg2rad(t.x),e,i,n);else{var s=t.x<0;o[1]===1?o[0]===1?t.text=\"\\u03C0\":t.text=o[0]+\"\\u03C0\":t.text=[\"\",o[0],\"\",\"\\u2044\",\"\",o[1],\"\",\"\\u03C0\"].join(\"\"),s&&(t.text=kb+t.text)}}}else t.text=iM(t.x,e,i,n)}function Tot(e){function t(s,l){return Math.abs(s-l)<=1e-6}function r(s,l){return t(l,0)?s:r(l,s%l)}function n(s){for(var l=1;!t(Math.round(s*l)/l,s);)l*=10;return l}var i=n(e),a=e*i,o=Math.abs(r(a,i));return[Math.round(a/o),Math.round(i/o)]}var Aot=[\"f\",\"p\",\"n\",\"\\u03BC\",\"m\",\"\",\"k\",\"M\",\"G\",\"T\"];function wL(e){return e===\"SI\"||e===\"B\"}function lB(e){return e>14||e<-15}function iM(e,t,r,n){var i=e<0,a=t._tickround,o=r||t.exponentformat||\"B\",s=t._tickexponent,l=kn.getTickFormat(t),u=t.separatethousands;if(n){var c={exponentformat:o,minexponent:t.minexponent,dtick:t.showexponent===\"none\"?t.dtick:ph(e)&&Math.abs(e)||1,range:t.showexponent===\"none\"?t.range.map(t.r2d):[0,e||1]};dse(c),a=(Number(c._tickround)||0)+4,s=c._tickexponent,t.hoverformat&&(l=t.hoverformat)}if(l)return t._numFormat(l)(e).replace(/-/g,kb);var f=Math.pow(10,-a)/2;if(o===\"none\"&&(s=0),e=Math.abs(e),e\"+v+\"\":o===\"B\"&&s===9?e+=\"B\":wL(o)&&(e+=Aot[s/3+5])}return i?kb+e:e}kn.getTickFormat=function(e){var t;function r(l){return typeof l!=\"string\"?l:Number(l.replace(\"M\",\"\"))*R3}function n(l,u){var c=[\"L\",\"D\"];if(typeof l==typeof u){if(typeof l==\"number\")return l-u;var f=c.indexOf(l.charAt(0)),h=c.indexOf(u.charAt(0));return f===h?Number(l.replace(/(L|D)/g,\"\"))-Number(u.replace(/(L|D)/g,\"\")):f-h}else return typeof l==\"number\"?1:-1}function i(l,u,c){var f=c||function(v){return v},h=u[0],d=u[1];return(!h&&typeof h!=\"number\"||f(h)<=f(l))&&(!d&&typeof d!=\"number\"||f(d)>=f(l))}function a(l,u){var c=u[0]===null,f=u[1]===null,h=n(l,u[0])>=0,d=n(l,u[1])<=0;return(c||h)&&(f||d)}var o,s;if(e.tickformatstops&&e.tickformatstops.length>0)switch(e.type){case\"date\":case\"linear\":{for(t=0;t=0&&i.unshift(i.splice(c,1).shift())}});var s={false:{left:0,right:0}};return Vo.syncOrAsync(i.map(function(l){return function(){if(l){var u=kn.getFromId(e,l);r||(r={}),r.axShifts=s,r.overlayingShiftedAx=o;var c=kn.drawOne(e,u,r);return u._shiftPusher&&oB(u,u._fullDepth||0,s,!0),u._r=u.range.slice(),u._rl=Vo.simpleMap(u._r,u.r2l),c}}}))};kn.drawOne=function(e,t,r){r=r||{};var n=r.axShifts||{},i=r.overlayingShiftedAx||[],a,o,s;t.setScale();var l=e._fullLayout,u=t._id,c=u.charAt(0),f=kn.counterLetter(u),h=l._plots[t._mainSubplot];if(!h)return;if(t._shiftPusher=t.autoshift||i.indexOf(t._id)!==-1||i.indexOf(t.overlaying)!==-1,t._shiftPusher&t.anchor===\"free\"){var d=t.linewidth/2||0;t.ticks===\"inside\"&&(d+=t.ticklen),oB(t,d,n,!0),oB(t,t.shift||0,n,!1)}(r.skipTitle!==!0||t._shift===void 0)&&(t._shift=qot(t,n));var v=h[c+\"axislayer\"],x=t._mainLinePosition,b=x+=t._shift,g=t._mainMirrorPosition,E=t._vals=kn.calcTicks(t),k=[t.mirror,b,g].join(\"_\");for(a=0;a0?Ct.bottom-Rt:0,kt))));var Ke=0,xt=0;if(t._shiftPusher&&(Ke=Math.max(kt,Ct.height>0?rt===\"l\"?Rt-Ct.left:Ct.right-Rt:0),t.title.text!==l._dfltTitle[c]&&(xt=(t._titleStandoff||0)+(t._titleScoot||0),rt===\"l\"&&(xt+=sse(t))),t._fullDepth=Math.max(Ke,xt)),t.automargin){Yt={x:0,y:0,r:0,l:0,t:0,b:0};var bt=[0,1],Lt=typeof t._shift==\"number\"?t._shift:0;if(c===\"x\"){if(rt===\"b\"?Yt[rt]=t._depth:(Yt[rt]=t._depth=Math.max(Ct.width>0?Rt-Ct.top:0,kt),bt.reverse()),Ct.width>0){var St=Ct.right-(t._offset+t._length);St>0&&(Yt.xr=1,Yt.r=St);var Et=t._offset-Ct.left;Et>0&&(Yt.xl=0,Yt.l=Et)}}else if(rt===\"l\"?(t._depth=Math.max(Ct.height>0?Rt-Ct.left:0,kt),Yt[rt]=t._depth-Lt):(t._depth=Math.max(Ct.height>0?Ct.right-Rt:0,kt),Yt[rt]=t._depth+Lt,bt.reverse()),Ct.height>0){var dt=Ct.bottom-(t._offset+t._length);dt>0&&(Yt.yb=0,Yt.b=dt);var Ht=t._offset-Ct.top;Ht>0&&(Yt.yt=1,Yt.t=Ht)}Yt[f]=t.anchor===\"free\"?t.position:t._anchorAxis.domain[bt[0]],t.title.text!==l._dfltTitle[c]&&(Yt[rt]+=sse(t)+(t.title.standoff||0)),t.mirror&&t.anchor!==\"free\"&&(xr={x:0,y:0,r:0,l:0,t:0,b:0},xr[ot]=t.linewidth,t.mirror&&t.mirror!==!0&&(xr[ot]+=kt),t.mirror===!0||t.mirror===\"ticks\"?xr[f]=t._anchorAxis.domain[bt[1]]:(t.mirror===\"all\"||t.mirror===\"allticks\")&&(xr[f]=[t._counterDomainMin,t._counterDomainMax][bt[1]]))}qt&&(er=QS.getComponentMethod(\"rangeslider\",\"autoMarginOpts\")(e,t)),typeof t.automargin==\"string\"&&(ose(Yt,t.automargin),ose(xr,t.automargin)),P3.autoMargin(e,uB(t),Yt),P3.autoMargin(e,gse(t),xr),P3.autoMargin(e,mse(t),er)}),Vo.syncOrAsync(nt)}};function ose(e,t){if(e){var r=Object.keys(Qoe).reduce(function(n,i){return t.indexOf(i)!==-1&&Qoe[i].forEach(function(a){n[a]=1}),n},{});Object.keys(e).forEach(function(n){r[n]||(n.length===1?e[n]=0:delete e[n])})}}function Sot(e,t){var r=[],n,i=function(a,o){var s=a.xbnd[o];s!==null&&r.push(Vo.extendFlat({},a,{x:s}))};if(t.length){for(n=0;ne.range[1],s=e.ticklabelposition&&e.ticklabelposition.indexOf(\"inside\")!==-1,l=!s;if(r){var u=o?-1:1;r=r*u}if(n){var c=e.side,f=s&&(c===\"top\"||c===\"left\")||l&&(c===\"bottom\"||c===\"right\")?1:-1;n=n*f}return e._id.charAt(0)===\"x\"?function(h){return I3(i+e._offset+e.l2p(nB(h))+r,a+n)}:function(h){return I3(a+n,i+e._offset+e.l2p(nB(h))+r)}};function nB(e){return e.periodX!==void 0?e.periodX:e.x}function Cot(e){var t=e.ticklabelposition||\"\",r=function(d){return t.indexOf(d)!==-1},n=r(\"top\"),i=r(\"left\"),a=r(\"right\"),o=r(\"bottom\"),s=r(\"inside\"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=e.side,c=l?(e.tickwidth||0)/2:0,f=bL,h=e.tickfont?e.tickfont.size:12;return(o||n)&&(c+=h*Cb,f+=(e.linewidth||0)/2),(i||a)&&(c+=(e.linewidth||0)/2,f+=bL),s&&u===\"top\"&&(f-=h*(1-Cb)),(i||n)&&(c=-c),(u===\"bottom\"||u===\"right\")&&(f=-f),[l?c:0,s?f:0]}kn.makeTickPath=function(e,t,r,n){n||(n={});var i=n.minor;if(i&&!e.minor)return\"\";var a=n.len!==void 0?n.len:i?e.minor.ticklen:e.ticklen,o=e._id.charAt(0),s=(e.linewidth||1)/2;return o===\"x\"?\"M0,\"+(t+s*r)+\"v\"+a*r:\"M\"+(t+s*r)+\",0h\"+a*r};kn.makeLabelFns=function(e,t,r){var n=e.ticklabelposition||\"\",i=function(F){return n.indexOf(F)!==-1},a=i(\"top\"),o=i(\"left\"),s=i(\"right\"),l=i(\"bottom\"),u=l||o||a||s,c=i(\"inside\"),f=n===\"inside\"&&e.ticks===\"inside\"||!c&&e.ticks===\"outside\"&&e.tickson!==\"boundaries\",h=0,d=0,v=f?e.ticklen:0;if(c?v*=-1:u&&(v=0),f&&(h+=v,r)){var x=Vo.deg2rad(r);h=v*Math.cos(x)+1,d=v*Math.sin(x)}e.showticklabels&&(f||e.showline)&&(h+=.2*e.tickfont.size),h+=(e.linewidth||1)/2*(c?-1:1);var b={labelStandoff:h,labelShift:d},g,E,k,A,L=0,_=e.side,C=e._id.charAt(0),M=e.tickangle,p;if(C===\"x\")p=!c&&_===\"bottom\"||c&&_===\"top\",A=p?1:-1,c&&(A*=-1),g=d*A,E=t+h*A,k=p?1:-.2,Math.abs(M)===90&&(c?k+=$S:M===-90&&_===\"bottom\"?k=Cb:M===90&&_===\"top\"?k=$S:k=.5,L=$S/2*(M/90)),b.xFn=function(F){return F.dx+g+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*k},b.anchorFn=function(F,q){if(u){if(o)return\"end\";if(s)return\"start\"}return!ph(q)||q===0||q===180?\"middle\":q*A<0!==c?\"end\":\"start\"},b.heightFn=function(F,q,V){return q<-60||q>60?-.5*V:e.side===\"top\"!==c?-V:0};else if(C===\"y\"){if(p=!c&&_===\"left\"||c&&_===\"right\",A=p?1:-1,c&&(A*=-1),g=h,E=d*A,k=0,!c&&Math.abs(M)===90&&(M===-90&&_===\"left\"||M===90&&_===\"right\"?k=Cb:k=.5),c){var P=ph(M)?+M:0;if(P!==0){var T=Vo.deg2rad(P);L=Math.abs(Math.sin(T))*Cb*A,k=0}}b.xFn=function(F){return F.dx+t-(g+F.fontSize*k)*A+L*F.fontSize},b.yFn=function(F){return F.dy+E+F.fontSize*$S},b.anchorFn=function(F,q){return ph(q)&&Math.abs(q)===90?\"middle\":p?\"end\":\"start\"},b.heightFn=function(F,q,V){return e.side===\"right\"&&(q*=-1),q<-30?-V:q<30?-.5*V:0}}return b};function SL(e){return[e.text,e.x,e.axInfo,e.font,e.fontSize,e.fontColor].join(\"_\")}kn.drawTicks=function(e,t,r){r=r||{};var n=t._id+\"tick\",i=[].concat(t.minor&&t.minor.ticks?r.vals.filter(function(o){return o.minor&&!o.noTick}):[]).concat(t.ticks?r.vals.filter(function(o){return!o.minor&&!o.noTick}):[]),a=r.layer.selectAll(\"path.\"+n).data(i,SL);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"ticks\",1).classed(\"crisp\",r.crisp!==!1).each(function(o){return eM.stroke(w0.select(this),o.minor?t.minor.tickcolor:t.tickcolor)}).style(\"stroke-width\",function(o){return Xp.crispRound(e,o.minor?t.minor.tickwidth:t.tickwidth,1)+\"px\"}).attr(\"d\",r.path).style(\"display\",null),ML(t,[lse]),a.attr(\"transform\",r.transFn)};kn.drawGrid=function(e,t,r){if(r=r||{},t.tickmode!==\"sync\"){var n=t._id+\"grid\",i=t.minor&&t.minor.showgrid,a=i?r.vals.filter(function(g){return g.minor}):[],o=t.showgrid?r.vals.filter(function(g){return!g.minor}):[],s=r.counterAxis;if(s&&kn.shouldShowZeroLine(e,t,s))for(var l=t.tickmode===\"array\",u=0;u=0;v--){var x=v?h:d;if(x){var b=x.selectAll(\"path.\"+n).data(v?o:a,SL);b.exit().remove(),b.enter().append(\"path\").classed(n,1).classed(\"crisp\",r.crisp!==!1),b.attr(\"transform\",r.transFn).attr(\"d\",r.path).each(function(g){return eM.stroke(w0.select(this),g.minor?t.minor.gridcolor:t.gridcolor||\"#ddd\")}).style(\"stroke-dasharray\",function(g){return Xp.dashStyle(g.minor?t.minor.griddash:t.griddash,g.minor?t.minor.gridwidth:t.gridwidth)}).style(\"stroke-width\",function(g){return(g.minor?f:t._gw)+\"px\"}).style(\"display\",null),typeof r.path==\"function\"&&b.attr(\"d\",r.path)}}ML(t,[rB,iB])}};kn.drawZeroLine=function(e,t,r){r=r||r;var n=t._id+\"zl\",i=kn.shouldShowZeroLine(e,t,r.counterAxis),a=r.layer.selectAll(\"path.\"+n).data(i?[{x:0,id:t._id}]:[]);a.exit().remove(),a.enter().append(\"path\").classed(n,1).classed(\"zl\",1).classed(\"crisp\",r.crisp!==!1).each(function(){r.layer.selectAll(\"path\").sort(function(o,s){return oot(o.id,s.id)})}),a.attr(\"transform\",r.transFn).attr(\"d\",r.path).call(eM.stroke,t.zerolinecolor||eM.defaultLine).style(\"stroke-width\",Xp.crispRound(e,t.zerolinewidth,t._gw||1)+\"px\").style(\"display\",null),ML(t,[tB])};kn.drawLabels=function(e,t,r){r=r||{};var n=e._fullLayout,i=t._id,a=r.cls||i+\"tick\",o=r.vals.filter(function(N){return N.text}),s=r.labelFns,l=r.secondary?0:t.tickangle,u=(t._prevTickAngles||{})[a],c=r.layer.selectAll(\"g.\"+a).data(t.showticklabels?o:[],SL),f=[];c.enter().append(\"g\").classed(a,1).append(\"text\").attr(\"text-anchor\",\"middle\").each(function(N){var W=w0.select(this),re=e._promises.length;W.call(Eb.positionText,s.xFn(N),s.yFn(N)).call(Xp.font,{family:N.font,size:N.fontSize,color:N.fontColor,weight:N.fontWeight,style:N.fontStyle,variant:N.fontVariant,textcase:N.fontTextcase,lineposition:N.fontLineposition,shadow:N.fontShadow}).text(N.text).call(Eb.convertToTspans,e),e._promises[re]?f.push(e._promises.pop().then(function(){h(W,l)})):h(W,l)}),ML(t,[$oe]),c.exit().remove(),r.repositionOnUpdate&&c.each(function(N){w0.select(this).select(\"text\").call(Eb.positionText,s.xFn(N),s.yFn(N))});function h(N,W){N.each(function(re){var ae=w0.select(this),_e=ae.select(\".text-math-group\"),Me=s.anchorFn(re,W),ke=r.transFn.call(ae.node(),re)+(ph(W)&&+W!=0?\" rotate(\"+W+\",\"+s.xFn(re)+\",\"+(s.yFn(re)-re.fontSize/2)+\")\":\"\"),ge=Eb.lineCount(ae),ie=rM*re.fontSize,Te=s.heightFn(re,ph(W)?+W:0,(ge-1)*ie);if(Te&&(ke+=I3(0,Te)),_e.empty()){var Ee=ae.select(\"text\");Ee.attr({transform:ke,\"text-anchor\":Me}),Ee.style(\"opacity\",1),t._adjustTickLabelsOverflow&&t._adjustTickLabelsOverflow()}else{var Ae=Xp.bBox(_e.node()).width,ze=Ae*{end:-.5,start:.5}[Me];_e.attr(\"transform\",ke+I3(ze,0))}})}t._adjustTickLabelsOverflow=function(){var N=t.ticklabeloverflow;if(!(!N||N===\"allow\")){var W=N.indexOf(\"hide\")!==-1,re=t._id.charAt(0)===\"x\",ae=0,_e=re?e._fullLayout.width:e._fullLayout.height;if(N.indexOf(\"domain\")!==-1){var Me=Vo.simpleMap(t.range,t.r2l);ae=t.l2p(Me[0])+t._offset,_e=t.l2p(Me[1])+t._offset}var ke=Math.min(ae,_e),ge=Math.max(ae,_e),ie=t.side,Te=1/0,Ee=-1/0;c.each(function(me){var Re=w0.select(this),ce=Re.select(\".text-math-group\");if(ce.empty()){var Ge=Xp.bBox(Re.node()),nt=0;re?(Ge.right>ge||Ge.leftge||Ge.top+(t.tickangle?0:me.fontSize/4)t[\"_visibleLabelMin_\"+Me._id]?me.style(\"display\",\"none\"):ge.K===\"tick\"&&!ke&&me.style(\"display\",null)})})})})},h(c,u+1?u:l);function d(){return f.length&&Promise.all(f)}var v=null;function x(){if(h(c,l),o.length&&t.autotickangles&&(t.type!==\"log\"||String(t.dtick).charAt(0)!==\"D\")){v=t.autotickangles[0];var N=0,W=[],re,ae=1;c.each(function(Ct){N=Math.max(N,Ct.fontSize);var Yt=t.l2p(Ct.x),xr=aB(this),er=Xp.bBox(xr.node());ae=Math.max(ae,Eb.lineCount(xr)),W.push({top:0,bottom:10,height:10,left:Yt-er.width/2,right:Yt+er.width/2+2,width:er.width+2})});var _e=(t.tickson===\"boundaries\"||t.showdividers)&&!r.secondary,Me=o.length,ke=Math.abs((o[Me-1].x-o[0].x)*t._m)/(Me-1),ge=_e?ke/2:ke,ie=_e?t.ticklen:N*1.25*ae,Te=Math.sqrt(Math.pow(ge,2)+Math.pow(ie,2)),Ee=ge/Te,Ae=t.autotickangles.map(function(Ct){return Ct*Math.PI/180}),ze=Ae.find(function(Ct){return Math.abs(Math.cos(Ct))<=Ee});ze===void 0&&(ze=Ae.reduce(function(Ct,Yt){return Math.abs(Math.cos(Ct))H*V&&(T=V,M[C]=p[C]=F[C])}var X=Math.abs(T-P);X-A>0?(X-=A,A*=1+A/X):A=0,t._id.charAt(0)!==\"y\"&&(A=-A),M[_]=E.p2r(E.r2p(p[_])+L*A),E.autorange===\"min\"||E.autorange===\"max reversed\"?(M[0]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0):(E.autorange===\"max\"||E.autorange===\"min reversed\")&&(M[1]=null,E._rangeInitial0=void 0,E._rangeInitial1=void 0),n._insideTickLabelsUpdaterange[E._name+\".range\"]=M}var G=Vo.syncOrAsync(b);return G&&G.then&&e._promises.push(G),G};function Lot(e,t,r){var n=t._id+\"divider\",i=r.vals,a=r.layer.selectAll(\"path.\"+n).data(i,SL);a.exit().remove(),a.enter().insert(\"path\",\":first-child\").classed(n,1).classed(\"crisp\",1).call(eM.stroke,t.dividercolor).style(\"stroke-width\",Xp.crispRound(e,t.dividerwidth,1)+\"px\"),a.attr(\"transform\",r.transFn).attr(\"d\",r.path)}kn.getPxPosition=function(e,t){var r=e._fullLayout._size,n=t._id.charAt(0),i=t.side,a;if(t.anchor!==\"free\"?a=t._anchorAxis:n===\"x\"?a={_offset:r.t+(1-(t.position||0))*r.h,_length:0}:n===\"y\"&&(a={_offset:r.l+(t.position||0)*r.w+t._shift,_length:0}),i===\"top\"||i===\"left\")return a._offset;if(i===\"bottom\"||i===\"right\")return a._offset+a._length};function sse(e){var t=e.title.font.size,r=(e.title.text.match(Eb.BR_TAG_ALL)||[]).length;return e.title.hasOwnProperty(\"standoff\")?t*(Cb+r*rM):r?t*(r+1)*rM:t}function Pot(e,t){var r=e._fullLayout,n=t._id,i=n.charAt(0),a=t.title.font.size,o,s=(t.title.text.match(Eb.BR_TAG_ALL)||[]).length;if(t.title.hasOwnProperty(\"standoff\"))t.side===\"bottom\"||t.side===\"right\"?o=t._depth+t.title.standoff+a*Cb:(t.side===\"top\"||t.side===\"left\")&&(o=t._depth+t.title.standoff+a*($S+s*rM));else{var l=nM(t);if(t.type===\"multicategory\")o=t._depth;else{var u=1.5*a;l&&(u=.5*a,t.ticks===\"outside\"&&(u+=t.ticklen)),o=10+u+(t.linewidth?t.linewidth-1:0)}l||(i===\"x\"?o+=t.side===\"top\"?a*(t.showticklabels?1:0):a*(t.showticklabels?1.5:.5):o+=t.side===\"right\"?a*(t.showticklabels?1:.5):a*(t.showticklabels?.5:0))}var c=kn.getPxPosition(e,t),f,h,d;i===\"x\"?(h=t._offset+t._length/2,d=t.side===\"top\"?c-o:c+o):(d=t._offset+t._length/2,h=t.side===\"right\"?c+o:c-o,f={rotate:\"-90\",offset:0});var v;if(t.type!==\"multicategory\"){var x=t._selections[t._id+\"tick\"];if(v={selection:x,side:t.side},x&&x.node()&&x.node().parentNode){var b=Xp.getTranslate(x.node().parentNode);v.offsetLeft=b.x,v.offsetTop=b.y}t.title.hasOwnProperty(\"standoff\")&&(v.pad=0)}return t._titleStandoff=o,Jat.draw(e,n+\"title\",{propContainer:t,propName:t._name+\".title.text\",placeholder:r._dfltTitle[i],avoid:v,transform:f,attributes:{x:h,y:d,\"text-anchor\":\"middle\"}})}kn.shouldShowZeroLine=function(e,t,r){var n=Vo.simpleMap(t.range,t.r2l);return n[0]*n[1]<=0&&t.zeroline&&(t.type===\"linear\"||t.type===\"-\")&&!(t.rangebreaks&&t.maskBreaks(0)===TL)&&(pse(t,0)||!Iot(e,t,r,n)||Rot(e,t))};kn.clipEnds=function(e,t){return t.filter(function(r){return pse(e,r.x)})};function pse(e,t){var r=e.l2p(t);return r>1&&r1)for(i=1;i=i.min&&e=iot:/%L/.test(t)?e>=rot:/%[SX]/.test(t)?e>=xL:/%M/.test(t)?e>=tM:/%[HI]/.test(t)?e>=xm:/%p/.test(t)?e>=s_:/%[Aadejuwx]/.test(t)?e>=Fv:/%[UVW]/.test(t)?e>=Yp:/%[Bbm]/.test(t)?e>=_L:/%[q]/.test(t)?e>=yL:/%[Yy]/.test(t)?e>=mL:!0}});var fB=ye((grr,_se)=>{\"use strict\";_se.exports=function(t,r,n){var i,a;if(n){var o=r===\"reversed\"||r===\"min reversed\"||r===\"max reversed\";i=n[o?1:0],a=n[o?0:1]}var s=t(\"autorangeoptions.minallowed\",a===null?i:void 0),l=t(\"autorangeoptions.maxallowed\",i===null?a:void 0);s===void 0&&t(\"autorangeoptions.clipmin\"),l===void 0&&t(\"autorangeoptions.clipmax\"),t(\"autorangeoptions.include\")}});var hB=ye((mrr,xse)=>{\"use strict\";var Bot=fB();xse.exports=function(t,r,n,i){var a=r._template||{},o=r.type||a.type||\"-\";n(\"minallowed\"),n(\"maxallowed\");var s=n(\"range\");if(!s){var l;!i.noInsiderange&&o!==\"log\"&&(l=n(\"insiderange\"),l&&(l[0]===null||l[1]===null)&&(r.insiderange=!1,l=void 0),l&&(s=n(\"range\",l)))}var u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u),f;s&&(s[0]===null&&s[1]===null||(s[0]===null||s[1]===null)&&(c===\"reversed\"||c===!0)||s[0]!==null&&(c===\"min\"||c===\"max reversed\")||s[1]!==null&&(c===\"max\"||c===\"min reversed\"))&&(s=void 0,delete r.range,r.autorange=!0,f=!0),f||(u=r.getAutorangeDflt(s,i),c=n(\"autorange\",u)),c&&(Bot(n,c,s),(o===\"linear\"||o===\"-\")&&n(\"rangemode\")),r.cleanRange()}});var wse=ye((yrr,bse)=>{var Not={left:0,top:0};bse.exports=Uot;function Uot(e,t,r){t=t||e.currentTarget||e.srcElement,Array.isArray(r)||(r=[0,0]);var n=e.clientX||0,i=e.clientY||0,a=Vot(t);return r[0]=n-a.left,r[1]=i-a.top,r}function Vot(e){return e===window||e===document||e===document.body?Not:e.getBoundingClientRect()}});var EL=ye((_rr,Tse)=>{\"use strict\";var Hot=Yq();function Got(){var e=!1;try{var t=Object.defineProperty({},\"passive\",{get:function(){e=!0}});window.addEventListener(\"test\",null,t),window.removeEventListener(\"test\",null,t)}catch(r){e=!1}return e}Tse.exports=Hot&&Got()});var Sse=ye((xrr,Ase)=>{\"use strict\";Ase.exports=function(t,r,n,i,a){var o=(t-n)/(i-n),s=o+r/(i-n),l=(o+s)/2;return a===\"left\"||a===\"bottom\"?o:a===\"center\"||a===\"middle\"?l:a===\"right\"||a===\"top\"?s:o<2/3-l?o:s>4/3-l?s:l}});var kse=ye((brr,Ese)=>{\"use strict\";var Mse=Mr(),jot=[[\"sw-resize\",\"s-resize\",\"se-resize\"],[\"w-resize\",\"move\",\"e-resize\"],[\"nw-resize\",\"n-resize\",\"ne-resize\"]];Ese.exports=function(t,r,n,i){return n===\"left\"?t=0:n===\"center\"?t=1:n===\"right\"?t=2:t=Mse.constrain(Math.floor(t*3),0,2),i===\"bottom\"?r=0:i===\"middle\"?r=1:i===\"top\"?r=2:r=Mse.constrain(Math.floor(r*3),0,2),jot[r][t]}});var Lse=ye((wrr,Cse)=>{\"use strict\";var Wot=g3(),Zot=L6(),Xot=DS().getGraphDiv,Yot=IS(),dB=Cse.exports={};dB.wrapped=function(e,t,r){e=Xot(e),e._fullLayout&&Zot.clear(e._fullLayout._uid+Yot.HOVERID),dB.raw(e,t,r)};dB.raw=function(t,r){var n=t._fullLayout,i=t._hoverdata;r||(r={}),!(r.target&&!t._dragged&&Wot.triggerHandler(t,\"plotly_beforehover\",r)===!1)&&(n._hoverlayer.selectAll(\"g\").remove(),n._hoverlayer.selectAll(\"line\").remove(),n._hoverlayer.selectAll(\"circle\").remove(),t._hoverdata=void 0,r.target&&i&&t.emit(\"plotly_unhover\",{event:r,points:i}))}});var gv=ye((Trr,Rse)=>{\"use strict\";var Kot=wse(),vB=Jq(),Jot=EL(),$ot=Mr().removeElement,Qot=ad(),Lb=Rse.exports={};Lb.align=Sse();Lb.getCursor=kse();var Pse=Lse();Lb.unhover=Pse.wrapped;Lb.unhoverRaw=Pse.raw;Lb.init=function(t){var r=t.gd,n=1,i=r._context.doubleClickDelay,a=t.element,o,s,l,u,c,f,h,d;r._mouseDownTime||(r._mouseDownTime=0),a.style.pointerEvents=\"all\",a.onmousedown=b,Jot?(a._ontouchstart&&a.removeEventListener(\"touchstart\",a._ontouchstart),a._ontouchstart=b,a.addEventListener(\"touchstart\",b,{passive:!1})):a.ontouchstart=b;function v(k,A,L){return Math.abs(k)i&&(n=Math.max(n-1,1)),r._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(n,f),!d){var A;try{A=new MouseEvent(\"click\",k)}catch(_){var L=pB(k);A=document.createEvent(\"MouseEvents\"),A.initMouseEvent(\"click\",k.bubbles,k.cancelable,k.view,k.detail,k.screenX,k.screenY,L[0],L[1],k.ctrlKey,k.altKey,k.shiftKey,k.metaKey,k.button,k.relatedTarget)}h.dispatchEvent(A)}r._dragging=!1,r._dragged=!1}};function Ise(){var e=document.createElement(\"div\");e.className=\"dragcover\";var t=e.style;return t.position=\"fixed\",t.left=0,t.right=0,t.top=0,t.bottom=0,t.zIndex=999999999,t.background=\"none\",document.body.appendChild(e),e}Lb.coverSlip=Ise;function pB(e){return Kot(e.changedTouches?e.changedTouches[0]:e,document.body)}});var Tg=ye((Arr,Dse)=>{\"use strict\";Dse.exports=function(t,r){(t.attr(\"class\")||\"\").split(\" \").forEach(function(n){n.indexOf(\"cursor-\")===0&&t.classed(n,!1)}),r&&t.classed(\"cursor-\"+r,!0)}});var qse=ye((Srr,Fse)=>{\"use strict\";var gB=Tg(),aM=\"data-savedcursor\",zse=\"!!\";Fse.exports=function(t,r){var n=t.attr(aM);if(r){if(!n){for(var i=(t.attr(\"class\")||\"\").split(\" \"),a=0;a{\"use strict\";var mB=Su(),est=dh();Ose.exports={_isSubplotObj:!0,visible:{valType:\"boolean\",dflt:!0,editType:\"legend\"},bgcolor:{valType:\"color\",editType:\"legend\"},bordercolor:{valType:\"color\",dflt:est.defaultLine,editType:\"legend\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"legend\"},font:mB({editType:\"legend\"}),grouptitlefont:mB({editType:\"legend\"}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"v\",editType:\"legend\"},traceorder:{valType:\"flaglist\",flags:[\"reversed\",\"grouped\"],extras:[\"normal\"],editType:\"legend\"},tracegroupgap:{valType:\"number\",min:0,dflt:10,editType:\"legend\"},entrywidth:{valType:\"number\",min:0,editType:\"legend\"},entrywidthmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"pixels\",editType:\"legend\"},indentation:{valType:\"number\",min:-15,dflt:0,editType:\"legend\"},itemsizing:{valType:\"enumerated\",values:[\"trace\",\"constant\"],dflt:\"trace\",editType:\"legend\"},itemwidth:{valType:\"number\",min:30,dflt:30,editType:\"legend\"},itemclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggle\",editType:\"legend\"},itemdoubleclick:{valType:\"enumerated\",values:[\"toggle\",\"toggleothers\",!1],dflt:\"toggleothers\",editType:\"legend\"},groupclick:{valType:\"enumerated\",values:[\"toggleitem\",\"togglegroup\"],dflt:\"togglegroup\",editType:\"legend\"},x:{valType:\"number\",editType:\"legend\"},xref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"legend\"},y:{valType:\"number\",editType:\"legend\"},yref:{valType:\"enumerated\",dflt:\"paper\",values:[\"container\",\"paper\"],editType:\"layoutstyle\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],editType:\"legend\"},uirevision:{valType:\"any\",editType:\"none\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"legend\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"legend\"},font:mB({editType:\"legend\"}),side:{valType:\"enumerated\",values:[\"top\",\"left\",\"top left\",\"top center\",\"top right\"],editType:\"legend\"},editType:\"legend\"},editType:\"legend\"}});var CL=ye(kL=>{\"use strict\";kL.isGrouped=function(t){return(t.traceorder||\"\").indexOf(\"grouped\")!==-1};kL.isVertical=function(t){return t.orientation!==\"h\"};kL.isReversed=function(t){return(t.traceorder||\"\").indexOf(\"reversed\")!==-1}});var bB=ye((krr,Bse)=>{\"use strict\";var _B=ba(),Kp=Mr(),tst=Vs(),rst=vl(),ist=yB(),nst=s3(),xB=CL();function ast(e,t,r,n){var i=t[e]||{},a=tst.newContainer(r,e);function o(G,N){return Kp.coerce(i,a,ist,G,N)}var s=Kp.coerceFont(o,\"font\",r.font);o(\"bgcolor\",r.paper_bgcolor),o(\"bordercolor\");var l=o(\"visible\");if(l){for(var u,c=function(G,N){var W=u._input,re=u;return Kp.coerce(W,re,rst,G,N)},f=r.font||{},h=Kp.coerceFont(o,\"grouptitlefont\",f,{overrideDflt:{size:Math.round(f.size*1.1)}}),d=0,v=!1,x=\"normal\",b=(r.shapes||[]).filter(function(G){return G.showlegend}),g=n.concat(b).filter(function(G){return e===(G.legend||\"legend\")}),E=0;E(e===\"legend\"?1:0));if(A===!1&&(r[e]=void 0),!(A===!1&&!i.uirevision)&&(o(\"uirevision\",r.uirevision),A!==!1)){o(\"borderwidth\");var L=o(\"orientation\"),_=o(\"yref\"),C=o(\"xref\"),M=L===\"h\",p=_===\"paper\",P=C===\"paper\",T,F,q,V=\"left\";M?(T=0,_B.getComponentMethod(\"rangeslider\",\"isVisible\")(t.xaxis)?p?(F=1.1,q=\"bottom\"):(F=1,q=\"top\"):p?(F=-.1,q=\"top\"):(F=0,q=\"bottom\")):(F=1,q=\"auto\",P?T=1.02:(T=1,V=\"right\")),Kp.coerce(i,a,{x:{valType:\"number\",editType:\"legend\",min:P?-2:0,max:P?3:1,dflt:T}},\"x\"),Kp.coerce(i,a,{y:{valType:\"number\",editType:\"legend\",min:p?-2:0,max:p?3:1,dflt:F}},\"y\"),o(\"traceorder\",x),xB.isGrouped(r[e])&&o(\"tracegroupgap\"),o(\"entrywidth\"),o(\"entrywidthmode\"),o(\"indentation\"),o(\"itemsizing\"),o(\"itemwidth\"),o(\"itemclick\"),o(\"itemdoubleclick\"),o(\"groupclick\"),o(\"xanchor\",V),o(\"yanchor\",q),o(\"valign\"),Kp.noneOrAll(i,a,[\"x\",\"y\"]);var H=o(\"title.text\");if(H){o(\"title.side\",M?\"left\":\"top\");var X=Kp.extendFlat({},s,{size:Kp.bigFont(s.size)});Kp.coerceFont(o,\"title.font\",X)}}}}Bse.exports=function(t,r,n){var i,a=n.slice(),o=r.shapes;if(o)for(i=0;i{\"use strict\";var D3=ba(),TB=Mr(),ost=TB.pushUnique,wB=!0;Nse.exports=function(t,r,n){var i=r._fullLayout;if(r._dragged||r._editing)return;var a=i.legend.itemclick,o=i.legend.itemdoubleclick,s=i.legend.groupclick;n===1&&a===\"toggle\"&&o===\"toggleothers\"&&wB&&r.data&&r._context.showTips&&TB.notifier(TB._(r,\"Double-click on legend to isolate one trace\"),\"long\"),wB=!1;var l;if(n===1?l=a:n===2&&(l=o),!l)return;var u=s===\"togglegroup\",c=i.hiddenlabels?i.hiddenlabels.slice():[],f=t.data()[0][0];if(f.groupTitle&&f.noClick)return;var h=r._fullData,d=(i.shapes||[]).filter(function(Rt){return Rt.showlegend}),v=h.concat(d),x=f.trace;x._isShape&&(x=x._fullInput);var b=x.legendgroup,g,E,k,A,L,_,C={},M=[],p=[],P=[];function T(Rt,kt){var Ct=M.indexOf(Rt),Yt=C.visible;return Yt||(Yt=C.visible=[]),M.indexOf(Rt)===-1&&(M.push(Rt),Ct=M.length-1),Yt[Ct]=kt,Ct}var F=(i.shapes||[]).map(function(Rt){return Rt._input}),q=!1;function V(Rt,kt){F[Rt].visible=kt,q=!0}function H(Rt,kt){if(!(f.groupTitle&&!u)){var Ct=Rt._fullInput||Rt,Yt=Ct._isShape,xr=Ct.index;xr===void 0&&(xr=Ct._index);var er=Ct.visible===!1?!1:kt;Yt?V(xr,er):T(xr,er)}}var X=x.legend,G=x._fullInput,N=G&&G._isShape;if(!N&&D3.traceIs(x,\"pie-like\")){var W=f.label,re=c.indexOf(W);if(l===\"toggle\")re===-1?c.push(W):c.splice(re,1);else if(l===\"toggleothers\"){var ae=re!==-1,_e=[];for(g=0;g{\"use strict\";Vse.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:\"#808BA4\",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},titlePad:2,itemGap:5}});var jse=ye((Prr,Gse)=>{\"use strict\";var Hse=ba(),SB=CL();Gse.exports=function(t,r,n){var i=r._inHover,a=SB.isGrouped(r),o=SB.isReversed(r),s={},l=[],u=!1,c={},f=0,h=0,d,v;function x(G,N,W){if(r.visible!==!1&&!(n&&G!==r._id))if(N===\"\"||!SB.isGrouped(r)){var re=\"~~i\"+f;l.push(re),s[re]=[W],f++}else l.indexOf(N)===-1?(l.push(N),u=!0,s[N]=[W]):s[N].push(W)}for(d=0;dP&&(p=P)}C[d][0]._groupMinRank=p,C[d][0]._preGroupSort=d}var T=function(G,N){return G[0]._groupMinRank-N[0]._groupMinRank||G[0]._preGroupSort-N[0]._preGroupSort},F=function(G,N){return G.trace.legendrank-N.trace.legendrank||G._preSort-N._preSort};for(C.forEach(function(G,N){G[0]._preGroupSort=N}),C.sort(T),d=0;d{\"use strict\";var LL=Mr();function Wse(e){return e.indexOf(\"e\")!==-1?e.replace(/[.]?0+e/,\"e\"):e.indexOf(\".\")!==-1?e.replace(/[.]?0+$/,\"\"):e}Pb.formatPiePercent=function(t,r){var n=Wse((t*100).toPrecision(3));return LL.numSeparate(n,r)+\"%\"};Pb.formatPieValue=function(t,r){var n=Wse(t.toPrecision(10));return LL.numSeparate(n,r)};Pb.getFirstFilled=function(t,r){if(LL.isArrayOrTypedArray(t))for(var n=0;n{\"use strict\";var sst=ao(),lst=va();Zse.exports=function(t,r,n,i){var a=n.marker.pattern;a&&a.shape?sst.pointStyle(t,n,i,r):lst.fill(t,r.color)}});var z3=ye((Drr,Jse)=>{\"use strict\";var Yse=va(),Kse=l_().castOption,ust=Xse();Jse.exports=function(t,r,n,i){var a=n.marker.line,o=Kse(a.color,r.pts)||Yse.defaultLine,s=Kse(a.width,r.pts)||0;t.call(ust,r,n,i).style(\"stroke-width\",s).call(Yse.stroke,o)}});var CB=ye((zrr,ile)=>{\"use strict\";var qv=xa(),MB=ba(),mv=Mr(),$se=mv.strTranslate,ip=ao(),T0=va(),EB=Dv().extractOpts,PL=lu(),cst=z3(),fst=l_().castOption,hst=AB(),Qse=12,ele=5,Ib=2,dst=10,F3=5;ile.exports=function(t,r,n){var i=r._fullLayout;n||(n=i.legend);var a=n.itemsizing===\"constant\",o=n.itemwidth,s=(o+hst.itemGap*2)/2,l=$se(s,0),u=function(C,M,p,P){var T;if(C+1)T=C;else if(M&&M.width>0)T=M.width;else return 0;return a?P:Math.min(T,p)};t.each(function(C){var M=qv.select(this),p=mv.ensureSingle(M,\"g\",\"layers\");p.style(\"opacity\",C[0].trace.opacity);var P=n.indentation,T=n.valign,F=C[0].lineHeight,q=C[0].height;if(T===\"middle\"&&P===0||!F||!q)p.attr(\"transform\",null);else{var V={top:1,bottom:-1}[T],H=V*(.5*(F-q+3))||0,X=n.indentation;p.attr(\"transform\",$se(X,H))}var G=p.selectAll(\"g.legendfill\").data([C]);G.enter().append(\"g\").classed(\"legendfill\",!0);var N=p.selectAll(\"g.legendlines\").data([C]);N.enter().append(\"g\").classed(\"legendlines\",!0);var W=p.selectAll(\"g.legendsymbols\").data([C]);W.enter().append(\"g\").classed(\"legendsymbols\",!0),W.selectAll(\"g.legendpoints\").data([C]).enter().append(\"g\").classed(\"legendpoints\",!0)}).each(_).each(h).each(v).each(d).each(b).each(A).each(k).each(c).each(f).each(g).each(E);function c(C){var M=tle(C),p=M.showFill,P=M.showLine,T=M.showGradientLine,F=M.showGradientFill,q=M.anyFill,V=M.anyLine,H=C[0],X=H.trace,G,N,W=EB(X),re=W.colorscale,ae=W.reversescale,_e=function(Ae){if(Ae.size())if(p)ip.fillGroupStyle(Ae,r,!0);else{var ze=\"legendfill-\"+X.uid;ip.gradient(Ae,r,ze,kB(ae),re,\"fill\")}},Me=function(Ae){if(Ae.size()){var ze=\"legendline-\"+X.uid;ip.lineGroupStyle(Ae),ip.gradient(Ae,r,ze,kB(ae),re,\"stroke\")}},ke=PL.hasMarkers(X)||!q?\"M5,0\":V?\"M5,-2\":\"M5,-3\",ge=qv.select(this),ie=ge.select(\".legendfill\").selectAll(\"path\").data(p||F?[C]:[]);if(ie.enter().append(\"path\").classed(\"js-fill\",!0),ie.exit().remove(),ie.attr(\"d\",ke+\"h\"+o+\"v6h-\"+o+\"z\").call(_e),P||T){var Te=u(void 0,X.line,dst,ele);N=mv.minExtend(X,{line:{width:Te}}),G=[mv.minExtend(H,{trace:N})]}var Ee=ge.select(\".legendlines\").selectAll(\"path\").data(P||T?[G]:[]);Ee.enter().append(\"path\").classed(\"js-line\",!0),Ee.exit().remove(),Ee.attr(\"d\",ke+(T?\"l\"+o+\",0.0001\":\"h\"+o)).call(P?ip.lineGroupStyle:Me)}function f(C){var M=tle(C),p=M.anyFill,P=M.anyLine,T=M.showLine,F=M.showMarker,q=C[0],V=q.trace,H=!F&&!P&&!p&&PL.hasText(V),X,G;function N(ie,Te,Ee,Ae){var ze=mv.nestedProperty(V,ie).get(),Ce=mv.isArrayOrTypedArray(ze)&&Te?Te(ze):ze;if(a&&Ce&&Ae!==void 0&&(Ce=Ae),Ee){if(CeEe[1])return Ee[1]}return Ce}function W(ie){return q._distinct&&q.index&&ie[q.index]?ie[q.index]:ie[0]}if(F||H||T){var re={},ae={};if(F){re.mc=N(\"marker.color\",W),re.mx=N(\"marker.symbol\",W),re.mo=N(\"marker.opacity\",mv.mean,[.2,1]),re.mlc=N(\"marker.line.color\",W),re.mlw=N(\"marker.line.width\",mv.mean,[0,5],Ib),ae.marker={sizeref:1,sizemin:1,sizemode:\"diameter\"};var _e=N(\"marker.size\",mv.mean,[2,16],Qse);re.ms=_e,ae.marker.size=_e}T&&(ae.line={width:N(\"line.width\",W,[0,10],ele)}),H&&(re.tx=\"Aa\",re.tp=N(\"textposition\",W),re.ts=10,re.tc=N(\"textfont.color\",W),re.tf=N(\"textfont.family\",W),re.tw=N(\"textfont.weight\",W),re.ty=N(\"textfont.style\",W),re.tv=N(\"textfont.variant\",W),re.tC=N(\"textfont.textcase\",W),re.tE=N(\"textfont.lineposition\",W),re.tS=N(\"textfont.shadow\",W)),X=[mv.minExtend(q,re)],G=mv.minExtend(V,ae),G.selectedpoints=null,G.texttemplate=null}var Me=qv.select(this).select(\"g.legendpoints\"),ke=Me.selectAll(\"path.scatterpts\").data(F?X:[]);ke.enter().insert(\"path\",\":first-child\").classed(\"scatterpts\",!0).attr(\"transform\",l),ke.exit().remove(),ke.call(ip.pointStyle,G,r),F&&(X[0].mrc=3);var ge=Me.selectAll(\"g.pointtext\").data(H?X:[]);ge.enter().append(\"g\").classed(\"pointtext\",!0).append(\"text\").attr(\"transform\",l),ge.exit().remove(),ge.selectAll(\"text\").call(ip.textPointStyle,G,r)}function h(C){var M=C[0].trace,p=M.type===\"waterfall\";if(C[0]._distinct&&p){var P=C[0].trace[C[0].dir].marker;return C[0].mc=P.color,C[0].mlw=P.line.width,C[0].mlc=P.line.color,x(C,this,\"waterfall\")}var T=[];M.visible&&p&&(T=C[0].hasTotals?[[\"increasing\",\"M-6,-6V6H0Z\"],[\"totals\",\"M6,6H0L-6,-6H-0Z\"],[\"decreasing\",\"M6,6V-6H0Z\"]]:[[\"increasing\",\"M-6,-6V6H6Z\"],[\"decreasing\",\"M6,6V-6H-6Z\"]]);var F=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendwaterfall\").data(T);F.enter().append(\"path\").classed(\"legendwaterfall\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),F.exit().remove(),F.each(function(q){var V=qv.select(this),H=M[q[0]].marker,X=u(void 0,H.line,F3,Ib);V.attr(\"d\",q[1]).style(\"stroke-width\",X+\"px\").call(T0.fill,H.color),X&&V.call(T0.stroke,H.line.color)})}function d(C){x(C,this)}function v(C){x(C,this,\"funnel\")}function x(C,M,p){var P=C[0].trace,T=P.marker||{},F=T.line||{},q=T.cornerradius?\"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z\":\"M6,6H-6V-6H6Z\",V=p?P.visible&&P.type===p:MB.traceIs(P,\"bar\"),H=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+p).data(V?[C]:[]);H.enter().append(\"path\").classed(\"legend\"+p,!0).attr(\"d\",q).attr(\"transform\",l),H.exit().remove(),H.each(function(X){var G=qv.select(this),N=X[0],W=u(N.mlw,T.line,F3,Ib);G.style(\"stroke-width\",W+\"px\");var re=N.mcc;if(!n._inHover&&\"mc\"in N){var ae=EB(T),_e=ae.mid;_e===void 0&&(_e=(ae.max+ae.min)/2),re=ip.tryColorscale(T,\"\")(_e)}var Me=re||N.mc||T.color,ke=T.pattern,ge=ke&&ip.getPatternAttr(ke.shape,0,\"\");if(ge){var ie=ip.getPatternAttr(ke.bgcolor,0,null),Te=ip.getPatternAttr(ke.fgcolor,0,null),Ee=ke.fgopacity,Ae=rle(ke.size,8,10),ze=rle(ke.solidity,.5,1),Ce=\"legend-\"+P.uid;G.call(ip.pattern,\"legend\",r,Ce,ge,Ae,ze,re,ke.fillmode,ie,Te,Ee)}else G.call(T0.fill,Me);W&&T0.stroke(G,N.mlc||F.color)})}function b(C){var M=C[0].trace,p=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendbox\").data(M.visible&&MB.traceIs(M,\"box-violin\")?[C]:[]);p.enter().append(\"path\").classed(\"legendbox\",!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),p.exit().remove(),p.each(function(){var P=qv.select(this);if((M.boxpoints===\"all\"||M.points===\"all\")&&T0.opacity(M.fillcolor)===0&&T0.opacity((M.line||{}).color)===0){var T=mv.minExtend(M,{marker:{size:a?Qse:mv.constrain(M.marker.size,2,16),sizeref:1,sizemin:1,sizemode:\"diameter\"}});p.call(ip.pointStyle,T,r)}else{var F=u(void 0,M.line,F3,Ib);P.style(\"stroke-width\",F+\"px\").call(T0.fill,M.fillcolor),F&&T0.stroke(P,M.line.color)}})}function g(C){var M=C[0].trace,p=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendcandle\").data(M.visible&&M.type===\"candlestick\"?[C,C]:[]);p.enter().append(\"path\").classed(\"legendcandle\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H-8M-8,6V-6H8Z\":\"M15,0H8M8,-6V6H-8Z\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),p.exit().remove(),p.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"stroke-width\",V+\"px\").call(T0.fill,q.fillcolor),V&&T0.stroke(F,q.line.color)})}function E(C){var M=C[0].trace,p=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legendohlc\").data(M.visible&&M.type===\"ohlc\"?[C,C]:[]);p.enter().append(\"path\").classed(\"legendohlc\",!0).attr(\"d\",function(P,T){return T?\"M-15,0H0M-8,-6V0\":\"M15,0H0M8,6V0\"}).attr(\"transform\",l).style(\"stroke-miterlimit\",1),p.exit().remove(),p.each(function(P,T){var F=qv.select(this),q=M[T?\"increasing\":\"decreasing\"],V=u(void 0,q.line,F3,Ib);F.style(\"fill\",\"none\").call(ip.dashLine,q.line.dash,V),V&&T0.stroke(F,q.line.color)})}function k(C){L(C,this,\"pie\")}function A(C){L(C,this,\"funnelarea\")}function L(C,M,p){var P=C[0],T=P.trace,F=p?T.visible&&T.type===p:MB.traceIs(T,p),q=qv.select(M).select(\"g.legendpoints\").selectAll(\"path.legend\"+p).data(F?[C]:[]);if(q.enter().append(\"path\").classed(\"legend\"+p,!0).attr(\"d\",\"M6,6H-6V-6H6Z\").attr(\"transform\",l),q.exit().remove(),q.size()){var V=T.marker||{},H=u(fst(V.line.width,P.pts),V.line,F3,Ib),X=\"pieLike\",G=mv.minExtend(T,{marker:{line:{width:H}}},X),N=mv.minExtend(P,{trace:G},X);cst(q,N,G,r)}}function _(C){var M=C[0].trace,p,P=[];if(M.visible)switch(M.type){case\"histogram2d\":case\"heatmap\":P=[[\"M-15,-2V4H15V-2Z\"]],p=!0;break;case\"choropleth\":case\"choroplethmapbox\":case\"choroplethmap\":P=[[\"M-6,-6V6H6V-6Z\"]],p=!0;break;case\"densitymapbox\":case\"densitymap\":P=[[\"M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0\"]],p=\"radial\";break;case\"cone\":P=[[\"M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 L6,0Z\"]],p=!1;break;case\"streamtube\":P=[[\"M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z\"],[\"M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z\"],[\"M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z\"]],p=!1;break;case\"surface\":P=[[\"M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z\"],[\"M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z\"]],p=!0;break;case\"mesh3d\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],p=!1;break;case\"volume\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6H6L0,6Z\"]],p=!0;break;case\"isosurface\":P=[[\"M-6,6H0L-6,-6Z\"],[\"M6,6H0L6,-6Z\"],[\"M-6,-6 A12,24 0 0,0 6,-6 L0,6Z\"]],p=!1;break}var T=qv.select(this).select(\"g.legendpoints\").selectAll(\"path.legend3dandfriends\").data(P);T.enter().append(\"path\").classed(\"legend3dandfriends\",!0).attr(\"transform\",l).style(\"stroke-miterlimit\",1),T.exit().remove(),T.each(function(F,q){var V=qv.select(this),H=EB(M),X=H.colorscale,G=H.reversescale,N=function(_e){if(_e.size()){var Me=\"legendfill-\"+M.uid;ip.gradient(_e,r,Me,kB(G,p===\"radial\"),X,\"fill\")}},W;if(X){if(!p){var ae=X.length;W=q===0?X[G?ae-1:0][1]:q===1?X[G?0:ae-1][1]:X[Math.floor((ae-1)/2)][1]}}else{var re=M.vertexcolor||M.facecolor||M.color;W=mv.isArrayOrTypedArray(re)?re[q]||re[0]:re}V.attr(\"d\",F[0]),W?V.call(T0.fill,W):V.call(N)})}};function kB(e,t){var r=t?\"radial\":\"horizontal\";return r+(e?\"\":\"reversed\")}function tle(e){var t=e[0].trace,r=t.contours,n=PL.hasLines(t),i=PL.hasMarkers(t),a=t.visible&&t.fill&&t.fill!==\"none\",o=!1,s=!1;if(r){var l=r.coloring;l===\"lines\"?o=!0:n=l===\"none\"||l===\"heatmap\"||r.showlines,r.type===\"constraint\"?a=r._operation!==\"=\":(l===\"fill\"||l===\"heatmap\")&&(s=!0)}return{showMarker:i,showLine:n,showFill:a,showGradientLine:o,showGradientFill:s,anyLine:n||o,anyFill:a||s}}function rle(e,t,r){return e&&mv.isArrayOrTypedArray(e)?t:e>r?r:e}});var RB=ye((Frr,dle)=>{\"use strict\";var Sp=xa(),gh=Mr(),PB=Xu(),B3=ba(),nle=g3(),LB=gv(),mh=ao(),RL=va(),Rb=Ll(),ale=Use(),Vh=AB(),IB=Nh(),fle=IB.LINE_SPACING,O3=IB.FROM_TL,ole=IB.FROM_BR,sle=jse(),vst=CB(),lle=CL(),q3=1,pst=/^legend[0-9]*$/;dle.exports=function(t,r){if(r)ule(t,r);else{var n=t._fullLayout,i=n._legends,a=n._infolayer.selectAll('[class^=\"legend\"]');a.each(function(){var u=Sp.select(this),c=u.attr(\"class\"),f=c.split(\" \")[0];f.match(pst)&&i.indexOf(f)===-1&&u.remove()});for(var o=0;o1)}var v=n.hiddenlabels||[];if(!s&&(!n.showlegend||!l.length))return o.selectAll(\".\"+i).remove(),n._topdefs.select(\"#\"+a).remove(),PB.autoMargin(e,i);var x=gh.ensureSingle(o,\"g\",i,function(M){s||M.attr(\"pointer-events\",\"all\")}),b=gh.ensureSingleById(n._topdefs,\"clipPath\",a,function(M){M.append(\"rect\")}),g=gh.ensureSingle(x,\"rect\",\"bg\",function(M){M.attr(\"shape-rendering\",\"crispEdges\")});g.call(RL.stroke,r.bordercolor).call(RL.fill,r.bgcolor).style(\"stroke-width\",r.borderwidth+\"px\");var E=gh.ensureSingle(x,\"g\",\"scrollbox\"),k=r.title;r._titleWidth=0,r._titleHeight=0;var A;k.text?(A=gh.ensureSingle(E,\"text\",i+\"titletext\"),A.attr(\"text-anchor\",\"start\").call(mh.font,k.font).text(k.text),DL(A,E,e,r,q3)):E.selectAll(\".\"+i+\"titletext\").remove();var L=gh.ensureSingle(x,\"rect\",\"scrollbar\",function(M){M.attr(Vh.scrollBarEnterAttrs).call(RL.fill,Vh.scrollBarColor)}),_=E.selectAll(\"g.groups\").data(l);_.enter().append(\"g\").attr(\"class\",\"groups\"),_.exit().remove();var C=_.selectAll(\"g.traces\").data(gh.identity);C.enter().append(\"g\").attr(\"class\",\"traces\"),C.exit().remove(),C.style(\"opacity\",function(M){var p=M[0].trace;return B3.traceIs(p,\"pie-like\")?v.indexOf(M[0].label)!==-1?.5:1:p.visible===\"legendonly\"?.5:1}).each(function(){Sp.select(this).call(mst,e,r)}).call(vst,e,r).each(function(){s||Sp.select(this).call(yst,e,i)}),gh.syncOrAsync([PB.previousPromises,function(){return bst(e,_,C,r)},function(){var M=n._size,p=r.borderwidth,P=r.xref===\"paper\",T=r.yref===\"paper\";if(k.text&&gst(A,r,p),!s){var F,q;P?F=M.l+M.w*r.x-O3[zL(r)]*r._width:F=n.width*r.x-O3[zL(r)]*r._width,T?q=M.t+M.h*(1-r.y)-O3[FL(r)]*r._effHeight:q=n.height*(1-r.y)-O3[FL(r)]*r._effHeight;var V=wst(e,i,F,q);if(V)return;if(n.margin.autoexpand){var H=F,X=q;F=P?gh.constrain(F,0,n.width-r._width):H,q=T?gh.constrain(q,0,n.height-r._effHeight):X,F!==H&&gh.log(\"Constrain \"+i+\".x to make legend fit inside graph\"),q!==X&&gh.log(\"Constrain \"+i+\".y to make legend fit inside graph\")}mh.setTranslate(x,F,q)}if(L.on(\".drag\",null),x.on(\"wheel\",null),s||r._height<=r._maxHeight||e._context.staticPlot){var G=r._effHeight;s&&(G=r._height),g.attr({width:r._width-p,height:G-p,x:p/2,y:p/2}),mh.setTranslate(E,0,0),b.select(\"rect\").attr({width:r._width-2*p,height:G-2*p,x:p,y:p}),mh.setClipUrl(E,a,e),mh.setRect(L,0,0,0,0),delete r._scrollY}else{var N=Math.max(Vh.scrollBarMinHeight,r._effHeight*r._effHeight/r._height),W=r._effHeight-N-2*Vh.scrollBarMargin,re=r._height-r._effHeight,ae=W/re,_e=Math.min(r._scrollY||0,re);g.attr({width:r._width-2*p+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-p,x:p/2,y:p/2}),b.select(\"rect\").attr({width:r._width-2*p+Vh.scrollBarWidth+Vh.scrollBarMargin,height:r._effHeight-2*p,x:p,y:p+_e}),mh.setClipUrl(E,a,e),ze(_e,N,ae),x.on(\"wheel\",function(){_e=gh.constrain(r._scrollY+Sp.event.deltaY/W*re,0,re),ze(_e,N,ae),_e!==0&&_e!==re&&Sp.event.preventDefault()});var Me,ke,ge,ie=function(Ge,nt,ct){var qt=(ct-nt)/ae+Ge;return gh.constrain(qt,0,re)},Te=function(Ge,nt,ct){var qt=(nt-ct)/ae+Ge;return gh.constrain(qt,0,re)},Ee=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"?Me=Ge.changedTouches[0].clientY:Me=Ge.clientY,ge=_e}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.buttons===2||Ge.ctrlKey||(Ge.type===\"touchmove\"?ke=Ge.changedTouches[0].clientY:ke=Ge.clientY,_e=ie(ge,Me,ke),ze(_e,N,ae))});L.call(Ee);var Ae=Sp.behavior.drag().on(\"dragstart\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchstart\"&&(Me=Ge.changedTouches[0].clientY,ge=_e)}).on(\"drag\",function(){var Ge=Sp.event.sourceEvent;Ge.type===\"touchmove\"&&(ke=Ge.changedTouches[0].clientY,_e=Te(ge,Me,ke),ze(_e,N,ae))});E.call(Ae)}function ze(Ge,nt,ct){r._scrollY=e._fullLayout[i]._scrollY=Ge,mh.setTranslate(E,0,-Ge),mh.setRect(L,r._width,Vh.scrollBarMargin+Ge*ct,Vh.scrollBarWidth,nt),b.select(\"rect\").attr(\"y\",p+Ge)}if(e._context.edits.legendPosition){var Ce,me,Re,ce;x.classed(\"cursor-move\",!0),LB.init({element:x.node(),gd:e,prepFn:function(Ge){if(Ge.target!==L.node()){var nt=mh.getTranslate(x);Re=nt.x,ce=nt.y}},moveFn:function(Ge,nt){if(Re!==void 0&&ce!==void 0){var ct=Re+Ge,qt=ce+nt;mh.setTranslate(x,ct,qt),Ce=LB.align(ct,r._width,M.l,M.l+M.w,r.xanchor),me=LB.align(qt+r._height,-r._height,M.t+M.h,M.t,r.yanchor)}},doneFn:function(){if(Ce!==void 0&&me!==void 0){var Ge={};Ge[i+\".x\"]=Ce,Ge[i+\".y\"]=me,B3.call(\"_guiRelayout\",e,Ge)}},clickFn:function(Ge,nt){var ct=o.selectAll(\"g.traces\").filter(function(){var qt=this.getBoundingClientRect();return nt.clientX>=qt.left&&nt.clientX<=qt.right&&nt.clientY>=qt.top&&nt.clientY<=qt.bottom});ct.size()>0&&hle(e,x,ct,Ge,nt)}})}}],e)}}function IL(e,t,r){var n=e[0],i=n.width,a=t.entrywidthmode,o=n.trace.legendwidth||t.entrywidth;return a===\"fraction\"?t._maxWidth*o:r+(o||i)}function hle(e,t,r,n,i){var a=r.data()[0][0].trace,o={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a.index,data:e.data,layout:e.layout,frames:e._transitionData._frames,config:e._context,fullData:e._fullData,fullLayout:e._fullLayout};a._group&&(o.group=a._group),B3.traceIs(a,\"pie-like\")&&(o.label=r.datum()[0].label);var s=nle.triggerHandler(e,\"plotly_legendclick\",o);if(n===1){if(s===!1)return;t._clickTimeout=setTimeout(function(){e._fullLayout&&ale(r,e,n)},e._context.doubleClickDelay)}else if(n===2){t._clickTimeout&&clearTimeout(t._clickTimeout),e._legendMouseDownTime=0;var l=nle.triggerHandler(e,\"plotly_legenddoubleclick\",o);l!==!1&&s!==!1&&ale(r,e,n)}}function mst(e,t,r){var n=qL(r),i=e.data()[0][0],a=i.trace,o=B3.traceIs(a,\"pie-like\"),s=!r._inHover&&t._context.edits.legendText&&!o,l=r._maxNameLength,u,c;i.groupTitle?(u=i.groupTitle.text,c=i.groupTitle.font):(c=r.font,r.entries?u=i.text:(u=o?i.label:a.name,a._meta&&(u=gh.templateString(u,a._meta))));var f=gh.ensureSingle(e,\"text\",n+\"text\");f.attr(\"text-anchor\",\"start\").call(mh.font,c).text(s?cle(u,l):u);var h=r.indentation+r.itemwidth+Vh.itemGap*2;Rb.positionText(f,h,0),s?f.call(Rb.makeEditable,{gd:t,text:u}).call(DL,e,t,r).on(\"edit\",function(d){this.text(cle(d,l)).call(DL,e,t,r);var v=i.trace._fullInput||{},x={};return x.name=d,v._isShape?B3.call(\"_guiRelayout\",t,\"shapes[\"+a.index+\"].name\",x.name):B3.call(\"_guiRestyle\",t,x,a.index)}):DL(f,e,t,r)}function cle(e,t){var r=Math.max(4,t);if(e&&e.trim().length>=r/2)return e;e=e||\"\";for(var n=r-e.length;n>0;n--)e+=\" \";return e}function yst(e,t,r){var n=t._context.doubleClickDelay,i,a=1,o=gh.ensureSingle(e,\"rect\",r+\"toggle\",function(s){t._context.staticPlot||s.style(\"cursor\",\"pointer\").attr(\"pointer-events\",\"all\"),s.call(RL.fill,\"rgba(0,0,0,0)\")});t._context.staticPlot||(o.on(\"mousedown\",function(){i=new Date().getTime(),i-t._legendMouseDownTimen&&(a=Math.max(a-1,1)),hle(t,s,e,a,Sp.event)}}))}function DL(e,t,r,n,i){n._inHover&&e.attr(\"data-notex\",!0),Rb.convertToTspans(e,r,function(){_st(t,r,n,i)})}function _st(e,t,r,n){var i=e.data()[0][0];if(!r._inHover&&i&&!i.trace.showlegend){e.remove();return}var a=e.select(\"g[class*=math-group]\"),o=a.node(),s=qL(r);r||(r=t._fullLayout[s]);var l=r.borderwidth,u;n===q3?u=r.title.font:i.groupTitle?u=i.groupTitle.font:u=r.font;var c=u.size*fle,f,h;if(o){var d=mh.bBox(o);f=d.height,h=d.width,n===q3?mh.setTranslate(a,l,l+f*.75):mh.setTranslate(a,0,f*.25)}else{var v=\".\"+s+(n===q3?\"title\":\"\")+\"text\",x=e.select(v),b=Rb.lineCount(x),g=x.node();if(f=c*b,h=g?mh.bBox(g).width:0,n===q3)r.title.side===\"left\"&&(h+=Vh.itemGap*2),Rb.positionText(x,l+Vh.titlePad,l+c);else{var E=Vh.itemGap*2+r.indentation+r.itemwidth;i.groupTitle&&(E=Vh.itemGap,h-=r.indentation+r.itemwidth),Rb.positionText(x,E,-c*((b-1)/2-.3))}}n===q3?(r._titleWidth=h,r._titleHeight=f):(i.lineHeight=c,i.height=Math.max(f,16)+3,i.width=h)}function xst(e){var t=0,r=0,n=e.title.side;return n&&(n.indexOf(\"left\")!==-1&&(t=e._titleWidth),n.indexOf(\"top\")!==-1&&(r=e._titleHeight)),[t,r]}function bst(e,t,r,n){var i=e._fullLayout,a=qL(n);n||(n=i[a]);var o=i._size,s=lle.isVertical(n),l=lle.isGrouped(n),u=n.entrywidthmode===\"fraction\",c=n.borderwidth,f=2*c,h=Vh.itemGap,d=n.indentation+n.itemwidth+h*2,v=2*(c+h),x=FL(n),b=n.y<0||n.y===0&&x===\"top\",g=n.y>1||n.y===1&&x===\"bottom\",E=n.tracegroupgap,k={};n._maxHeight=Math.max(b||g?i.height/2:o.h,30);var A=0;n._width=0,n._height=0;var L=xst(n);if(s)r.each(function(ge){var ie=ge[0].height;mh.setTranslate(this,c+L[0],c+L[1]+n._height+ie/2+h),n._height+=ie,n._width=Math.max(n._width,ge[0].width)}),A=d+n._width,n._width+=h+d+f,n._height+=v,l&&(t.each(function(ge,ie){mh.setTranslate(this,0,ie*n.tracegroupgap)}),n._height+=(n._lgroupsLength-1)*n.tracegroupgap);else{var _=zL(n),C=n.x<0||n.x===0&&_===\"right\",M=n.x>1||n.x===1&&_===\"left\",p=g||b,P=i.width/2;n._maxWidth=Math.max(C?p&&_===\"left\"?o.l+o.w:P:M?p&&_===\"right\"?o.r+o.w:P:o.w,2*d);var T=0,F=0;r.each(function(ge){var ie=IL(ge,n,d);T=Math.max(T,ie),F+=ie}),A=null;var q=0;if(l){var V=0,H=0,X=0;t.each(function(){var ge=0,ie=0;Sp.select(this).selectAll(\"g.traces\").each(function(Ee){var Ae=IL(Ee,n,d),ze=Ee[0].height;mh.setTranslate(this,L[0],L[1]+c+h+ze/2+ie),ie+=ze,ge=Math.max(ge,Ae),k[Ee[0].trace.legendgroup]=ge});var Te=ge+h;H>0&&Te+c+H>n._maxWidth?(q=Math.max(q,H),H=0,X+=V+E,V=ie):V=Math.max(V,ie),mh.setTranslate(this,H,X),H+=Te}),n._width=Math.max(q,H)+c,n._height=X+V+v}else{var G=r.size(),N=F+f+(G-1)*h=n._maxWidth&&(q=Math.max(q,_e),re=0,ae+=W,n._height+=W,W=0),mh.setTranslate(this,L[0]+c+re,L[1]+c+ae+ie/2+h),_e=re+Te+h,re+=Ee,W=Math.max(W,ie)}),N?(n._width=re+f,n._height=W+v):(n._width=Math.max(q,_e)+f,n._height+=W+v)}}n._width=Math.ceil(Math.max(n._width+L[0],n._titleWidth+2*(c+Vh.titlePad))),n._height=Math.ceil(Math.max(n._height+L[1],n._titleHeight+2*(c+Vh.itemGap))),n._effHeight=Math.min(n._height,n._maxHeight);var Me=e._context.edits,ke=Me.legendText||Me.legendPosition;r.each(function(ge){var ie=Sp.select(this).select(\".\"+a+\"toggle\"),Te=ge[0].height,Ee=ge[0].trace.legendgroup,Ae=IL(ge,n,d);l&&Ee!==\"\"&&(Ae=k[Ee]);var ze=ke?d:A||Ae;!s&&!u&&(ze+=h/2),mh.setRect(ie,0,-Te/2,ze,Te)})}function wst(e,t,r,n){var i=e._fullLayout,a=i[t],o=zL(a),s=FL(a),l=a.xref===\"paper\",u=a.yref===\"paper\";e._fullLayout._reservedMargin[t]={};var c=a.y<.5?\"b\":\"t\",f=a.x<.5?\"l\":\"r\",h={r:i.width-r,l:r+a._width,b:i.height-n,t:n+a._effHeight};if(l&&u)return PB.autoMargin(e,t,{x:a.x,y:a.y,l:a._width*O3[o],r:a._width*ole[o],b:a._effHeight*ole[s],t:a._effHeight*O3[s]});l?e._fullLayout._reservedMargin[t][c]=h[c]:u||a.orientation===\"v\"?e._fullLayout._reservedMargin[t][f]=h[f]:e._fullLayout._reservedMargin[t][c]=h[c]}function zL(e){return gh.isRightAnchor(e)?\"right\":gh.isCenterAnchor(e)?\"center\":\"left\"}function FL(e){return gh.isBottomAnchor(e)?\"bottom\":gh.isMiddleAnchor(e)?\"middle\":\"top\"}function qL(e){return e._id||\"legend\"}});var qB=ye(FB=>{\"use strict\";var Db=xa(),Sy=uo(),vle=id(),Rf=Mr(),Tst=Rf.pushUnique,DB=Rf.strTranslate,Ast=Rf.strRotate,Sst=g3(),A0=Ll(),Mst=qse(),bm=ao(),sd=va(),OL=gv(),wm=Qa(),Est=ad().zindexSeparator,U3=ba(),Ag=rp(),zb=IS(),kst=bB(),Cst=RB(),wle=zb.YANGLE,zB=Math.PI*wle/180,Lst=1/Math.sin(zB),Pst=Math.cos(zB),Ist=Math.sin(zB),Bc=zb.HOVERARROWSIZE,Us=zb.HOVERTEXTPAD,ple={box:!0,ohlc:!0,violin:!0,candlestick:!0},Rst={scatter:!0,scattergl:!0,splom:!0};function gle(e,t){return e.distance-t.distance}FB.hover=function(t,r,n,i){t=Rf.getGraphDiv(t);var a=r.target;Rf.throttle(t._fullLayout._uid+zb.HOVERID,zb.HOVERMINTIME,function(){Dst(t,r,n,i,a)})};FB.loneHover=function(t,r){var n=!0;Array.isArray(t)||(n=!1,t=[t]);var i=r.gd,a=Ele(i),o=kle(i),s=t.map(function(b){var g=b._x0||b.x0||b.x||0,E=b._x1||b.x1||b.x||0,k=b._y0||b.y0||b.y||0,A=b._y1||b.y1||b.y||0,L=b.eventData;if(L){var _=Math.min(g,E),C=Math.max(g,E),M=Math.min(k,A),p=Math.max(k,A),P=b.trace;if(U3.traceIs(P,\"gl3d\")){var T=i._fullLayout[P.scene]._scene.container,F=T.offsetLeft,q=T.offsetTop;_+=F,C+=F,M+=q,p+=q}L.bbox={x0:_+o,x1:C+o,y0:M+a,y1:p+a},r.inOut_bbox&&r.inOut_bbox.push(L.bbox)}else L=!1;return{color:b.color||sd.defaultLine,x0:b.x0||b.x||0,x1:b.x1||b.x||0,y0:b.y0||b.y||0,y1:b.y1||b.y||0,xLabel:b.xLabel,yLabel:b.yLabel,zLabel:b.zLabel,text:b.text,name:b.name,idealAlign:b.idealAlign,borderColor:b.borderColor,fontFamily:b.fontFamily,fontSize:b.fontSize,fontColor:b.fontColor,fontWeight:b.fontWeight,fontStyle:b.fontStyle,fontVariant:b.fontVariant,nameLength:b.nameLength,textAlign:b.textAlign,trace:b.trace||{index:0,hoverinfo:\"\"},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:b.hovertemplate||!1,hovertemplateLabels:b.hovertemplateLabels||!1,eventData:L}}),l=!1,u=Ale(s,{gd:i,hovermode:\"closest\",rotateLabels:l,bgColor:r.bgColor||sd.background,container:Db.select(r.container),outerContainer:r.outerContainer||r.container}),c=u.hoverLabels,f=5,h=0,d=0;c.sort(function(b,g){return b.y0-g.y0}).each(function(b,g){var E=b.y0-b.by/2;E-fC[0]._length||ce<0||ce>M[0]._length)return OL.unhoverRaw(e,t)}if(t.pointerX=Re+C[0]._offset,t.pointerY=ce+M[0]._offset,\"xval\"in t?X=Ag.flat(a,t.xval):X=Ag.p2c(C,Re),\"yval\"in t?G=Ag.flat(a,t.yval):G=Ag.p2c(M,ce),!Sy(X[0])||!Sy(G[0]))return Rf.warn(\"Fx.hover failed\",t,e),OL.unhoverRaw(e,t)}var ct=1/0;function qt(Ni,_n){for(W=0;WEe&&(V.splice(0,Ee),ct=V[0].distance),f&&q!==0&&V.length===0){Te.distance=q,Te.index=!1;var ft=ae._module.hoverPoints(Te,ge,ie,\"closest\",{hoverLayer:s._hoverlayer});if(ft&&(ft=ft.filter(function(Vr){return Vr.spikeDistance<=q})),ft&&ft.length){var jt,Zt=ft.filter(function(Vr){return Vr.xa.showspikes&&Vr.xa.spikesnap!==\"hovered data\"});if(Zt.length){var yr=Zt[0];Sy(yr.x0)&&Sy(yr.y0)&&(jt=ot(yr),(!Ae.vLinePoint||Ae.vLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.vLinePoint=jt))}var Fr=ft.filter(function(Vr){return Vr.ya.showspikes&&Vr.ya.spikesnap!==\"hovered data\"});if(Fr.length){var Zr=Fr[0];Sy(Zr.x0)&&Sy(Zr.y0)&&(jt=ot(Zr),(!Ae.hLinePoint||Ae.hLinePoint.spikeDistance>jt.spikeDistance)&&(Ae.hLinePoint=jt))}}}}}qt();function rt(Ni,_n,$i){for(var zn=null,Wn=1/0,It,ft=0;ft0&&Math.abs(Ni.distance)dt-1;Nr--)Or(V[Nr]);V=fr,Yt()}var ut=e._hoverdata,Ne=[],Ye=Ele(e),Ve=kle(e);for(N=0;N1||V.length>1)||h===\"closest\"&&ze&&V.length>1,ri=sd.combine(s.plot_bgcolor||sd.background,s.paper_bgcolor),bi=Ale(V,{gd:e,hovermode:h,rotateLabels:jr,bgColor:ri,container:s._hoverlayer,outerContainer:s._paper.node(),commonLabelOpts:s.hoverlabel,hoverdistance:s.hoverdistance}),nn=bi.hoverLabels;if(Ag.isUnifiedHover(h)||(Fst(nn,jr,s,bi.commonLabelBoundingBox),Mle(nn,jr,s._invScaleX,s._invScaleY)),i&&i.tagName){var Wi=U3.getComponentMethod(\"annotations\",\"hasClickToShow\")(e,Ne);Mst(Db.select(i),Wi?\"pointer\":\"\")}!i||n||!Bst(e,t,ut)||(ut&&e.emit(\"plotly_unhover\",{event:t,points:ut}),e.emit(\"plotly_hover\",{event:t,points:e._hoverdata,xaxes:C,yaxes:M,xvals:X,yvals:G}))}function Tle(e){return[e.trace.index,e.index,e.x0,e.y0,e.name,e.attr,e.xa?e.xa._id:\"\",e.ya?e.ya._id:\"\"].join(\",\")}var zst=/([\\s\\S]*)<\\/extra>/;function Ale(e,t){var r=t.gd,n=r._fullLayout,i=t.hovermode,a=t.rotateLabels,o=t.bgColor,s=t.container,l=t.outerContainer,u=t.commonLabelOpts||{};if(e.length===0)return[[]];var c=t.fontFamily||zb.HOVERFONT,f=t.fontSize||zb.HOVERFONTSIZE,h=t.fontWeight||n.font.weight,d=t.fontStyle||n.font.style,v=t.fontVariant||n.font.variant,x=t.fontTextcase||n.font.textcase,b=t.fontLineposition||n.font.lineposition,g=t.fontShadow||n.font.shadow,E=e[0],k=E.xa,A=E.ya,L=i.charAt(0),_=L+\"Label\",C=E[_];if(C===void 0&&k.type===\"multicategory\")for(var M=0;Mn.width-ut&&(Ne=n.width-ut),Lt.attr(\"d\",\"M\"+(Br-Ne)+\",0L\"+(Br-Ne+Bc)+\",\"+Nr+Bc+\"H\"+ut+\"v\"+Nr+(Us*2+_r.height)+\"H\"+-ut+\"V\"+Nr+Bc+\"H\"+(Br-Ne-Bc)+\"Z\"),Br=Ne,W.minX=Br-ut,W.maxX=Br+ut,k.side===\"top\"?(W.minY=Or-(Us*2+_r.height),W.maxY=Or-Us):(W.minY=Or+Us,W.maxY=Or+(Us*2+_r.height))}else{var Ye,Ve,Xe;A.side===\"right\"?(Ye=\"start\",Ve=1,Xe=\"\",Br=k._offset+k._length):(Ye=\"end\",Ve=-1,Xe=\"-\",Br=k._offset),Or=A._offset+(E.y0+E.y1)/2,St.attr(\"text-anchor\",Ye),Lt.attr(\"d\",\"M0,0L\"+Xe+Bc+\",\"+Bc+\"V\"+(Us+_r.height/2)+\"h\"+Xe+(Us*2+_r.width)+\"V-\"+(Us+_r.height/2)+\"H\"+Xe+Bc+\"V-\"+Bc+\"Z\"),W.minY=Or-(Us+_r.height/2),W.maxY=Or+(Us+_r.height/2),A.side===\"right\"?(W.minX=Br+Bc,W.maxX=Br+Bc+(Us*2+_r.width)):(W.minX=Br-Bc-(Us*2+_r.width),W.maxX=Br-Bc);var ht=_r.height/2,Le=P-_r.top-ht,xe=\"clip\"+n._uid+\"commonlabel\"+A._id,Se;if(Br<_r.width+2*Us+Bc){Se=\"M-\"+(Bc+Us)+\"-\"+ht+\"h-\"+(_r.width-Us)+\"V\"+ht+\"h\"+(_r.width-Us)+\"Z\";var lt=_r.width-Br+Us;A0.positionText(St,lt,Le),Ye===\"end\"&&St.selectAll(\"tspan\").each(function(){var Vt=Db.select(this),ar=bm.tester.append(\"text\").text(Vt.text()).call(bm.font,fr),Qr=N3(r,ar.node());Math.round(Qr.width)=0?er=kt:Ct+ce=0?er=Ct:Yt+ce=0?Ke=ot:Rt+Ge=0?Ke=Rt:xr+Ge=0,(bt.idealAlign===\"top\"||!Vt)&&ar?(Xe-=Le/2,bt.anchor=\"end\"):Vt?(Xe+=Le/2,bt.anchor=\"start\"):bt.anchor=\"middle\",bt.crossPos=Xe;else{if(bt.pos=Xe,Vt=Ve+ht/2+Gt<=T,ar=Ve-ht/2-Gt>=0,(bt.idealAlign===\"left\"||!Vt)&&ar)Ve-=ht/2,bt.anchor=\"end\";else if(Vt)Ve+=ht/2,bt.anchor=\"start\";else{bt.anchor=\"middle\";var Qr=Gt/2,ai=Ve+Qr-T,jr=Ve-Qr;ai>0&&(Ve-=ai),jr<0&&(Ve+=-jr)}bt.crossPos=Ve}Or.attr(\"text-anchor\",bt.anchor),ut&&Nr.attr(\"text-anchor\",bt.anchor),Lt.attr(\"transform\",DB(Ve,Xe)+(a?Ast(wle):\"\"))}),{hoverLabels:xt,commonLabelBoundingBox:W}}function mle(e,t,r,n,i,a){var o=\"\",s=\"\";e.nameOverride!==void 0&&(e.name=e.nameOverride),e.name&&(e.trace._meta&&(e.name=Rf.templateString(e.name,e.trace._meta)),o=xle(e.name,e.nameLength));var l=r.charAt(0),u=l===\"x\"?\"y\":\"x\";e.zLabel!==void 0?(e.xLabel!==void 0&&(s+=\"x: \"+e.xLabel+\"
\"),e.yLabel!==void 0&&(s+=\"y: \"+e.yLabel+\"
\"),e.trace.type!==\"choropleth\"&&e.trace.type!==\"choroplethmapbox\"&&e.trace.type!==\"choroplethmap\"&&(s+=(s?\"z: \":\"\")+e.zLabel)):t&&e[l+\"Label\"]===i?s=e[u+\"Label\"]||\"\":e.xLabel===void 0?e.yLabel!==void 0&&e.trace.type!==\"scattercarpet\"&&(s=e.yLabel):e.yLabel===void 0?s=e.xLabel:s=\"(\"+e.xLabel+\", \"+e.yLabel+\")\",(e.text||e.text===0)&&!Array.isArray(e.text)&&(s+=(s?\"
\":\"\")+e.text),e.extraText!==void 0&&(s+=(s?\"
\":\"\")+e.extraText),a&&s===\"\"&&!e.hovertemplate&&(o===\"\"&&a.remove(),s=o);var c=e.hovertemplate||!1;if(c){var f=e.hovertemplateLabels||e;e[l+\"Label\"]!==i&&(f[l+\"other\"]=f[l+\"Val\"],f[l+\"otherLabel\"]=f[l+\"Label\"]),s=Rf.hovertemplateString(c,f,n._d3locale,e.eventData[0]||{},e.trace._meta),s=s.replace(zst,function(h,d){return o=xle(d,e.nameLength),\"\"})}return[s,o]}function Fst(e,t,r,n){var i=t?\"xa\":\"ya\",a=t?\"ya\":\"xa\",o=0,s=1,l=e.size(),u=new Array(l),c=0,f=n.minX,h=n.maxX,d=n.minY,v=n.maxY,x=function(X){return X*r._invScaleX},b=function(X){return X*r._invScaleY};e.each(function(X){var G=X[i],N=X[a],W=G._id.charAt(0)===\"x\",re=G.range;c===0&&re&&re[0]>re[1]!==W&&(s=-1);var ae=0,_e=W?r.width:r.height;if(r.hovermode===\"x\"||r.hovermode===\"y\"){var Me=Sle(X,t),ke=X.anchor,ge=ke===\"end\"?-1:1,ie,Te;if(ke===\"middle\")ie=X.crossPos+(W?b(Me.y-X.by/2):x(X.bx/2+X.tx2width/2)),Te=ie+(W?b(X.by):x(X.bx));else if(W)ie=X.crossPos+b(Bc+Me.y)-b(X.by/2-Bc),Te=ie+b(X.by);else{var Ee=x(ge*Bc+Me.x),Ae=Ee+x(ge*X.bx);ie=X.crossPos+Math.min(Ee,Ae),Te=X.crossPos+Math.max(Ee,Ae)}W?d!==void 0&&v!==void 0&&Math.min(Te,v)-Math.max(ie,d)>1&&(N.side===\"left\"?(ae=N._mainLinePosition,_e=r.width):_e=N._mainLinePosition):f!==void 0&&h!==void 0&&Math.min(Te,h)-Math.max(ie,f)>1&&(N.side===\"top\"?(ae=N._mainLinePosition,_e=r.height):_e=N._mainLinePosition)}u[c++]=[{datum:X,traceIndex:X.trace.index,dp:0,pos:X.pos,posref:X.posref,size:X.by*(W?Lst:1)/2,pmin:ae,pmax:_e}]}),u.sort(function(X,G){return X[0].posref-G[0].posref||s*(G[0].traceIndex-X[0].traceIndex)});var g,E,k,A,L,_,C;function M(X){var G=X[0],N=X[X.length-1];if(E=G.pmin-G.pos-G.dp+G.size,k=N.pos+N.dp+N.size-G.pmax,E>.01){for(L=X.length-1;L>=0;L--)X[L].dp+=E;g=!1}if(!(k<.01)){if(E<-.01){for(L=X.length-1;L>=0;L--)X[L].dp-=k;g=!1}if(g){var W=0;for(A=0;AG.pmax&&W++;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos>G.pmax-1&&(_.del=!0,W--);for(A=0;A=0;L--)X[L].dp-=k;for(A=X.length-1;A>=0&&!(W<=0);A--)_=X[A],_.pos+_.dp+_.size>G.pmax&&(_.del=!0,W--)}}}for(;!g&&o<=l;){for(o++,g=!0,A=0;A.01){for(L=P.length-1;L>=0;L--)P[L].dp+=E;for(p.push.apply(p,P),u.splice(A+1,1),C=0,L=p.length-1;L>=0;L--)C+=p[L].dp;for(k=C/p.length,L=p.length-1;L>=0;L--)p[L].dp-=k;g=!1}else A++}u.forEach(M)}for(A=u.length-1;A>=0;A--){var q=u[A];for(L=q.length-1;L>=0;L--){var V=q[L],H=V.datum;H.offset=V.dp,H.del=V.del}}}function Sle(e,t){var r=0,n=e.offset;return t&&(n*=-Ist,r=e.offset*Pst),{x:r,y:n}}function qst(e){var t={start:1,end:-1,middle:0}[e.anchor],r=t*(Bc+Us),n=r+t*(e.txwidth+Us),i=e.anchor===\"middle\";return i&&(r-=e.tx2width/2,n+=e.txwidth/2+Us),{alignShift:t,textShiftX:r,text2ShiftX:n}}function Mle(e,t,r,n){var i=function(o){return o*r},a=function(o){return o*n};e.each(function(o){var s=Db.select(this);if(o.del)return s.remove();var l=s.select(\"text.nums\"),u=o.anchor,c=u===\"end\"?-1:1,f=qst(o),h=Sle(o,t),d=h.x,v=h.y,x=u===\"middle\";s.select(\"path\").attr(\"d\",x?\"M-\"+i(o.bx/2+o.tx2width/2)+\",\"+a(v-o.by/2)+\"h\"+i(o.bx)+\"v\"+a(o.by)+\"h-\"+i(o.bx)+\"Z\":\"M0,0L\"+i(c*Bc+d)+\",\"+a(Bc+v)+\"v\"+a(o.by/2-Bc)+\"h\"+i(c*o.bx)+\"v-\"+a(o.by)+\"H\"+i(c*Bc+d)+\"V\"+a(v-Bc)+\"Z\");var b=d+f.textShiftX,g=v+o.ty0-o.by/2+Us,E=o.textAlign||\"auto\";E!==\"auto\"&&(E===\"left\"&&u!==\"start\"?(l.attr(\"text-anchor\",\"start\"),b=x?-o.bx/2-o.tx2width/2+Us:-o.bx-Us):E===\"right\"&&u!==\"end\"&&(l.attr(\"text-anchor\",\"end\"),b=x?o.bx/2-o.tx2width/2-Us:o.bx+Us)),l.call(A0.positionText,i(b),a(g)),o.tx2width&&(s.select(\"text.name\").call(A0.positionText,i(f.text2ShiftX+f.alignShift*Us+d),a(v+o.ty0-o.by/2+Us)),s.select(\"rect\").call(bm.setRect,i(f.text2ShiftX+(f.alignShift-1)*o.tx2width/2+d),a(v-o.by/2-1),i(o.tx2width),a(o.by+2)))})}function Ost(e,t){var r=e.index,n=e.trace||{},i=e.cd[0],a=e.cd[r]||{};function o(h){return h||Sy(h)&&h===0}var s=Array.isArray(r)?function(h,d){var v=Rf.castOption(i,r,h);return o(v)?v:Rf.extractOption({},n,\"\",d)}:function(h,d){return Rf.extractOption(a,n,h,d)};function l(h,d,v){var x=s(d,v);o(x)&&(e[h]=x)}if(l(\"hoverinfo\",\"hi\",\"hoverinfo\"),l(\"bgcolor\",\"hbg\",\"hoverlabel.bgcolor\"),l(\"borderColor\",\"hbc\",\"hoverlabel.bordercolor\"),l(\"fontFamily\",\"htf\",\"hoverlabel.font.family\"),l(\"fontSize\",\"hts\",\"hoverlabel.font.size\"),l(\"fontColor\",\"htc\",\"hoverlabel.font.color\"),l(\"fontWeight\",\"htw\",\"hoverlabel.font.weight\"),l(\"fontStyle\",\"hty\",\"hoverlabel.font.style\"),l(\"fontVariant\",\"htv\",\"hoverlabel.font.variant\"),l(\"nameLength\",\"hnl\",\"hoverlabel.namelength\"),l(\"textAlign\",\"hta\",\"hoverlabel.align\"),e.posref=t===\"y\"||t===\"closest\"&&n.orientation===\"h\"?e.xa._offset+(e.x0+e.x1)/2:e.ya._offset+(e.y0+e.y1)/2,e.x0=Rf.constrain(e.x0,0,e.xa._length),e.x1=Rf.constrain(e.x1,0,e.xa._length),e.y0=Rf.constrain(e.y0,0,e.ya._length),e.y1=Rf.constrain(e.y1,0,e.ya._length),e.xLabelVal!==void 0&&(e.xLabel=\"xLabel\"in e?e.xLabel:wm.hoverLabelText(e.xa,e.xLabelVal,n.xhoverformat),e.xVal=e.xa.c2d(e.xLabelVal)),e.yLabelVal!==void 0&&(e.yLabel=\"yLabel\"in e?e.yLabel:wm.hoverLabelText(e.ya,e.yLabelVal,n.yhoverformat),e.yVal=e.ya.c2d(e.yLabelVal)),e.zLabelVal!==void 0&&e.zLabel===void 0&&(e.zLabel=String(e.zLabelVal)),!isNaN(e.xerr)&&!(e.xa.type===\"log\"&&e.xerr<=0)){var u=wm.tickText(e.xa,e.xa.c2l(e.xerr),\"hover\").text;e.xerrneg!==void 0?e.xLabel+=\" +\"+u+\" / -\"+wm.tickText(e.xa,e.xa.c2l(e.xerrneg),\"hover\").text:e.xLabel+=\" \\xB1 \"+u,t===\"x\"&&(e.distance+=1)}if(!isNaN(e.yerr)&&!(e.ya.type===\"log\"&&e.yerr<=0)){var c=wm.tickText(e.ya,e.ya.c2l(e.yerr),\"hover\").text;e.yerrneg!==void 0?e.yLabel+=\" +\"+c+\" / -\"+wm.tickText(e.ya,e.ya.c2l(e.yerrneg),\"hover\").text:e.yLabel+=\" \\xB1 \"+c,t===\"y\"&&(e.distance+=1)}var f=e.hoverinfo||e.trace.hoverinfo;return f&&f!==\"all\"&&(f=Array.isArray(f)?f:f.split(\"+\"),f.indexOf(\"x\")===-1&&(e.xLabel=void 0),f.indexOf(\"y\")===-1&&(e.yLabel=void 0),f.indexOf(\"z\")===-1&&(e.zLabel=void 0),f.indexOf(\"text\")===-1&&(e.text=void 0),f.indexOf(\"name\")===-1&&(e.name=void 0)),e}function yle(e,t,r){var n=r.container,i=r.fullLayout,a=i._size,o=r.event,s=!!t.hLinePoint,l=!!t.vLinePoint,u,c;if(n.selectAll(\".spikeline\").remove(),!!(l||s)){var f=sd.combine(i.plot_bgcolor,i.paper_bgcolor);if(s){var h=t.hLinePoint,d,v;u=h&&h.xa,c=h&&h.ya;var x=c.spikesnap;x===\"cursor\"?(d=o.pointerX,v=o.pointerY):(d=u._offset+h.x,v=c._offset+h.y);var b=vle.readability(h.color,f)<1.5?sd.contrast(f):h.color,g=c.spikemode,E=c.spikethickness,k=c.spikecolor||b,A=wm.getPxPosition(e,c),L,_;if(g.indexOf(\"toaxis\")!==-1||g.indexOf(\"across\")!==-1){if(g.indexOf(\"toaxis\")!==-1&&(L=A,_=d),g.indexOf(\"across\")!==-1){var C=c._counterDomainMin,M=c._counterDomainMax;c.anchor===\"free\"&&(C=Math.min(C,c.position),M=Math.max(M,c.position)),L=a.l+C*a.w,_=a.l+M*a.w}n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E,stroke:k,\"stroke-dasharray\":bm.dashStyle(c.spikedash,E)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:L,x2:_,y1:v,y2:v,\"stroke-width\":E+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}g.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:A+(c.side!==\"right\"?E:-E),cy:v,r:E,fill:k}).classed(\"spikeline\",!0)}if(l){var p=t.vLinePoint,P,T;u=p&&p.xa,c=p&&p.ya;var F=u.spikesnap;F===\"cursor\"?(P=o.pointerX,T=o.pointerY):(P=u._offset+p.x,T=c._offset+p.y);var q=vle.readability(p.color,f)<1.5?sd.contrast(f):p.color,V=u.spikemode,H=u.spikethickness,X=u.spikecolor||q,G=wm.getPxPosition(e,u),N,W;if(V.indexOf(\"toaxis\")!==-1||V.indexOf(\"across\")!==-1){if(V.indexOf(\"toaxis\")!==-1&&(N=G,W=T),V.indexOf(\"across\")!==-1){var re=u._counterDomainMin,ae=u._counterDomainMax;u.anchor===\"free\"&&(re=Math.min(re,u.position),ae=Math.max(ae,u.position)),N=a.t+(1-ae)*a.h,W=a.t+(1-re)*a.h}n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H,stroke:X,\"stroke-dasharray\":bm.dashStyle(u.spikedash,H)}).classed(\"spikeline\",!0).classed(\"crisp\",!0),n.insert(\"line\",\":first-child\").attr({x1:P,x2:P,y1:N,y2:W,\"stroke-width\":H+2,stroke:f}).classed(\"spikeline\",!0).classed(\"crisp\",!0)}V.indexOf(\"marker\")!==-1&&n.insert(\"circle\",\":first-child\").attr({cx:P,cy:G-(u.side!==\"top\"?H:-H),r:H,fill:X}).classed(\"spikeline\",!0)}}}function Bst(e,t,r){if(!r||r.length!==e._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=e._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}function _le(e,t){return!t||t.vLinePoint!==e._spikepoints.vLinePoint||t.hLinePoint!==e._spikepoints.hLinePoint}function xle(e,t){return A0.plainText(e||\"\",{len:t,allowedTags:[\"br\",\"sub\",\"sup\",\"b\",\"i\",\"em\",\"s\",\"u\"]})}function Nst(e,t){for(var r=t.charAt(0),n=[],i=[],a=[],o=0;o{\"use strict\";var Ust=Mr(),Vst=va(),Hst=rp().isUnifiedHover;Cle.exports=function(t,r,n,i){i=i||{};var a=r.legend;function o(s){i.font[s]||(i.font[s]=a?r.legend.font[s]:r.font[s])}r&&Hst(r.hovermode)&&(i.font||(i.font={}),o(\"size\"),o(\"family\"),o(\"color\"),o(\"weight\"),o(\"style\"),o(\"variant\"),a?(i.bgcolor||(i.bgcolor=Vst.combine(r.legend.bgcolor,r.paper_bgcolor)),i.bordercolor||(i.bordercolor=r.legend.bordercolor)):i.bgcolor||(i.bgcolor=r.paper_bgcolor)),n(\"hoverlabel.bgcolor\",i.bgcolor),n(\"hoverlabel.bordercolor\",i.bordercolor),n(\"hoverlabel.namelength\",i.namelength),Ust.coerceFont(n,\"hoverlabel.font\",i.font),n(\"hoverlabel.align\",i.align)}});var Ple=ye((Brr,Lle)=>{\"use strict\";var Gst=Mr(),jst=oM(),Wst=B1();Lle.exports=function(t,r){function n(i,a){return Gst.coerce(t,r,Wst,i,a)}jst(t,r,n)}});var Dle=ye((Nrr,Rle)=>{\"use strict\";var Ile=Mr(),Zst=i3(),Xst=oM();Rle.exports=function(t,r,n,i){function a(s,l){return Ile.coerce(t,r,Zst,s,l)}var o=Ile.extendFlat({},i.hoverlabel);r.hovertemplate&&(o.namelength=-1),Xst(t,r,a,o)}});var OB=ye((Urr,zle)=>{\"use strict\";var Yst=Mr(),Kst=B1();zle.exports=function(t,r){function n(i,a){return r[i]!==void 0?r[i]:Yst.coerce(t,r,Kst,i,a)}return n(\"clickmode\"),n(\"hoversubplots\"),n(\"hovermode\")}});var Ole=ye((Vrr,qle)=>{\"use strict\";var Fle=Mr(),Jst=B1(),$st=OB(),Qst=oM();qle.exports=function(t,r){function n(c,f){return Fle.coerce(t,r,Jst,c,f)}var i=$st(t,r);i&&(n(\"hoverdistance\"),n(\"spikedistance\"));var a=n(\"dragmode\");a===\"select\"&&n(\"selectdirection\");var o=r._has(\"mapbox\"),s=r._has(\"map\"),l=r._has(\"geo\"),u=r._basePlotModules.length;r.dragmode===\"zoom\"&&((o||s||l)&&u===1||(o||s)&&l&&u===2)&&(r.dragmode=\"pan\"),Qst(t,r,n),Fle.coerceFont(n,\"hoverlabel.grouptitlefont\",r.hoverlabel.font)}});var Ule=ye((Hrr,Nle)=>{\"use strict\";var BB=Mr(),Ble=ba();Nle.exports=function(t){var r=t.calcdata,n=t._fullLayout;function i(u){return function(c){return BB.coerceHoverinfo({hoverinfo:c},{_module:u._module},n)}}for(var a=0;a{\"use strict\";var tlt=ba(),rlt=qB().hover;Vle.exports=function(t,r,n){var i=tlt.getComponentMethod(\"annotations\",\"onClick\")(t,t._hoverdata);n!==void 0&&rlt(t,r,n,!0);function a(){t.emit(\"plotly_click\",{points:t._hoverdata,event:r})}t._hoverdata&&r&&r.target&&(i&&i.then?i.then(a):a(),r.stopImmediatePropagation&&r.stopImmediatePropagation())}});var Nc=ye((jrr,Wle)=>{\"use strict\";var ilt=xa(),BL=Mr(),nlt=gv(),sM=rp(),Gle=B1(),jle=qB();Wle.exports={moduleType:\"component\",name:\"fx\",constants:IS(),schema:{layout:Gle},attributes:i3(),layoutAttributes:Gle,supplyLayoutGlobalDefaults:Ple(),supplyDefaults:Dle(),supplyLayoutDefaults:Ole(),calc:Ule(),getDistanceFunction:sM.getDistanceFunction,getClosest:sM.getClosest,inbox:sM.inbox,quadrature:sM.quadrature,appendArrayPointValue:sM.appendArrayPointValue,castHoverOption:olt,castHoverinfo:slt,hover:jle.hover,unhover:nlt.unhover,loneHover:jle.loneHover,loneUnhover:alt,click:Hle()};function alt(e){var t=BL.isD3Selection(e)?e:ilt.select(e);t.selectAll(\"g.hovertext\").remove(),t.selectAll(\".spikeline\").remove()}function olt(e,t,r){return BL.castOption(e,t,\"hoverlabel.\"+r)}function slt(e,t,r){function n(i){return BL.coerceHoverinfo({hoverinfo:i},{_module:e._module},t)}return BL.castOption(e,r,\"hoverinfo\",n)}});var Sg=ye(My=>{\"use strict\";My.selectMode=function(e){return e===\"lasso\"||e===\"select\"};My.drawMode=function(e){return e===\"drawclosedpath\"||e===\"drawopenpath\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.openMode=function(e){return e===\"drawline\"||e===\"drawopenpath\"};My.rectMode=function(e){return e===\"select\"||e===\"drawline\"||e===\"drawrect\"||e===\"drawcircle\"};My.freeMode=function(e){return e===\"lasso\"||e===\"drawclosedpath\"||e===\"drawopenpath\"};My.selectingOrDrawing=function(e){return My.freeMode(e)||My.rectMode(e)}});var lM=ye((Zrr,Zle)=>{\"use strict\";Zle.exports=function(t){var r=t._fullLayout;r._glcanvas&&r._glcanvas.size()&&r._glcanvas.each(function(n){n.regl&&n.regl.clear({color:!0,depth:!0})})}});var NL=ye((Xrr,Xle)=>{\"use strict\";Xle.exports={undo:{width:857.1,height:1e3,path:\"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z\",transform:\"matrix(1 0 0 -1 0 850)\"},home:{width:928.6,height:1e3,path:\"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"camera-retro\":{width:1e3,height:1e3,path:\"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoombox:{width:1e3,height:1e3,path:\"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z\",transform:\"matrix(1 0 0 -1 0 850)\"},pan:{width:1e3,height:1e3,path:\"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_plus:{width:875,height:1e3,path:\"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},zoom_minus:{width:875,height:1e3,path:\"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z\",transform:\"matrix(1 0 0 -1 0 850)\"},autoscale:{width:1e3,height:1e3,path:\"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_basic:{width:1500,height:1e3,path:\"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},tooltip_compare:{width:1125,height:1e3,path:\"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z\",transform:\"matrix(1 0 0 -1 0 850)\"},plotlylogo:{width:1542,height:1e3,path:\"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"z-axis\":{width:1e3,height:1e3,path:\"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z\",transform:\"matrix(1 0 0 -1 0 850)\"},\"3d_rotate\":{width:1e3,height:1e3,path:\"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z\",transform:\"matrix(1 0 0 -1 0 850)\"},camera:{width:1e3,height:1e3,path:\"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z\",transform:\"matrix(1 0 0 -1 0 850)\"},movie:{width:1e3,height:1e3,path:\"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z\",transform:\"matrix(1 0 0 -1 0 850)\"},question:{width:857.1,height:1e3,path:\"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z\",transform:\"matrix(1 0 0 -1 0 850)\"},disk:{width:857.1,height:1e3,path:\"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawopenpath:{width:70,height:70,path:\"M33.21,85.65a7.31,7.31,0,0,1-2.59-.48c-8.16-3.11-9.27-19.8-9.88-41.3-.1-3.58-.19-6.68-.35-9-.15-2.1-.67-3.48-1.43-3.79-2.13-.88-7.91,2.32-12,5.86L3,32.38c1.87-1.64,11.55-9.66,18.27-6.9,2.13.87,4.75,3.14,5.17,9,.17,2.43.26,5.59.36,9.25a224.17,224.17,0,0,0,1.5,23.4c1.54,10.76,4,12.22,4.48,12.4.84.32,2.79-.46,5.76-3.59L43,80.07C41.53,81.57,37.68,85.64,33.21,85.65ZM74.81,69a11.34,11.34,0,0,0,6.09-6.72L87.26,44.5,74.72,32,56.9,38.35c-2.37.86-5.57,3.42-6.61,6L38.65,72.14l8.42,8.43ZM55,46.27a7.91,7.91,0,0,1,3.64-3.17l14.8-5.3,8,8L76.11,60.6l-.06.19a6.37,6.37,0,0,1-3,3.43L48.25,74.59,44.62,71Zm16.57,7.82A6.9,6.9,0,1,0,64.64,61,6.91,6.91,0,0,0,71.54,54.09Zm-4.05,0a2.85,2.85,0,1,1-2.85-2.85A2.86,2.86,0,0,1,67.49,54.09Zm-4.13,5.22L60.5,56.45,44.26,72.7l2.86,2.86ZM97.83,35.67,84.14,22l-8.57,8.57L89.26,44.24Zm-13.69-8,8,8-2.85,2.85-8-8Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawclosedpath:{width:90,height:90,path:\"M88.41,21.12a26.56,26.56,0,0,0-36.18,0l-2.07,2-2.07-2a26.57,26.57,0,0,0-36.18,0,23.74,23.74,0,0,0,0,34.8L48,90.12a3.22,3.22,0,0,0,4.42,0l36-34.21a23.73,23.73,0,0,0,0-34.79ZM84,51.24,50.16,83.35,16.35,51.25a17.28,17.28,0,0,1,0-25.47,20,20,0,0,1,27.3,0l4.29,4.07a3.23,3.23,0,0,0,4.44,0l4.29-4.07a20,20,0,0,1,27.3,0,17.27,17.27,0,0,1,0,25.46ZM66.76,47.68h-33v6.91h33ZM53.35,35H46.44V68h6.91Z\",transform:\"matrix(1 0 0 1 -5 -5)\"},lasso:{width:1031,height:1e3,path:\"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z\",transform:\"matrix(1 0 0 -1 0 850)\"},selectbox:{width:1e3,height:1e3,path:\"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z\",transform:\"matrix(1 0 0 -1 0 850)\"},drawline:{width:70,height:70,path:\"M60.64,62.3a11.29,11.29,0,0,0,6.09-6.72l6.35-17.72L60.54,25.31l-17.82,6.4c-2.36.86-5.57,3.41-6.6,6L24.48,65.5l8.42,8.42ZM40.79,39.63a7.89,7.89,0,0,1,3.65-3.17l14.79-5.31,8,8L61.94,54l-.06.19a6.44,6.44,0,0,1-3,3.43L34.07,68l-3.62-3.63Zm16.57,7.81a6.9,6.9,0,1,0-6.89,6.9A6.9,6.9,0,0,0,57.36,47.44Zm-4,0a2.86,2.86,0,1,1-2.85-2.85A2.86,2.86,0,0,1,53.32,47.44Zm-4.13,5.22L46.33,49.8,30.08,66.05l2.86,2.86ZM83.65,29,70,15.34,61.4,23.9,75.09,37.59ZM70,21.06l8,8-2.84,2.85-8-8ZM87,80.49H10.67V87H87Z\",transform:\"matrix(1 0 0 1 -15 -15)\"},drawrect:{width:80,height:80,path:\"M78,22V79H21V22H78m9-9H12V88H87V13ZM68,46.22H31V54H68ZM53,32H45.22V69H53Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},drawcircle:{width:80,height:80,path:\"M50,84.72C26.84,84.72,8,69.28,8,50.3S26.84,15.87,50,15.87,92,31.31,92,50.3,73.16,84.72,50,84.72Zm0-60.59c-18.6,0-33.74,11.74-33.74,26.17S31.4,76.46,50,76.46,83.74,64.72,83.74,50.3,68.6,24.13,50,24.13Zm17.15,22h-34v7.11h34Zm-13.8-13H46.24v34h7.11Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},eraseshape:{width:80,height:80,path:\"M82.77,78H31.85L6,49.57,31.85,21.14H82.77a8.72,8.72,0,0,1,8.65,8.77V69.24A8.72,8.72,0,0,1,82.77,78ZM35.46,69.84H82.77a.57.57,0,0,0,.49-.6V29.91a.57.57,0,0,0-.49-.61H35.46L17,49.57Zm32.68-34.7-24,24,5,5,24-24Zm-19,.53-5,5,24,24,5-5Z\",transform:\"matrix(1 0 0 1 -10 -10)\"},spikeline:{width:1e3,height:1e3,path:\"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z\",transform:\"matrix(1.5 0 0 -1.5 0 850)\"},pencil:{width:1792,height:1792,path:\"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z\",transform:\"matrix(1 0 0 1 0 1)\"},newplotlylogo:{name:\"newplotlylogo\",svg:[\"\",\" plotly-logomark\",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\" \",\"\"].join(\"\")}}});var VL=ye((Yrr,Yle)=>{\"use strict\";var UL=32;Yle.exports={CIRCLE_SIDES:UL,i000:0,i090:UL/4,i180:UL/2,i270:UL/4*3,cos45:Math.cos(Math.PI/4),sin45:Math.sin(Math.PI/4),SQRT2:Math.sqrt(2)}});var HL=ye((Krr,Jle)=>{\"use strict\";var llt=Mr().strTranslate;function Kle(e,t){switch(e.type){case\"log\":return e.p2d(t);case\"date\":return e.p2r(t,0,e.calendar);default:return e.p2r(t)}}function ult(e,t){switch(e.type){case\"log\":return e.d2p(t);case\"date\":return e.r2p(t,0,e.calendar);default:return e.r2p(t)}}function clt(e){var t=e._id.charAt(0)===\"y\"?1:0;return function(r){return Kle(e,r[t])}}function flt(e){return llt(e.xaxis._offset,e.yaxis._offset)}Jle.exports={p2r:Kle,r2p:ult,axValue:clt,getTransform:flt}});var u_=ye(Ey=>{\"use strict\";var hlt=XS(),eue=VL(),V3=eue.CIRCLE_SIDES,NB=eue.SQRT2,tue=HL(),$le=tue.p2r,Qle=tue.r2p,dlt=[0,3,4,5,6,1,2],vlt=[0,3,4,1,2];Ey.writePaths=function(e){var t=e.length;if(!t)return\"M0,0Z\";for(var r=\"\",n=0;n0&&l{\"use strict\";var oue=Sg(),plt=oue.drawMode,glt=oue.openMode,H3=VL(),rue=H3.i000,iue=H3.i090,nue=H3.i180,aue=H3.i270,mlt=H3.cos45,ylt=H3.sin45,sue=HL(),jL=sue.p2r,c_=sue.r2p,_lt=Q1(),xlt=_lt.clearOutline,WL=u_(),blt=WL.readPaths,wlt=WL.writePaths,Tlt=WL.ellipseOver,Alt=WL.fixDatesForPaths;function Slt(e,t){if(e.length){var r=e[0][0];if(r){var n=t.gd,i=t.isActiveShape,a=t.dragmode,o=(n.layout||{}).shapes||[];if(!plt(a)&&i!==void 0){var s=n._fullLayout._activeShapeIndex;if(s{\"use strict\";var Mlt=Sg(),Elt=Mlt.selectMode,klt=Q1(),Clt=klt.clearOutline,UB=u_(),Llt=UB.readPaths,Plt=UB.writePaths,Ilt=UB.fixDatesForPaths;cue.exports=function(t,r){if(t.length){var n=t[0][0];if(n){var i=n.getAttribute(\"d\"),a=r.gd,o=a._fullLayout.newselection,s=r.plotinfo,l=s.xaxis,u=s.yaxis,c=r.isActiveSelection,f=r.dragmode,h=(a.layout||{}).selections||[];if(!Elt(f)&&c!==void 0){var d=a._fullLayout._activeSelectionIndex;if(d{\"use strict\";fue.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}});var f_=ye(Ld=>{\"use strict\";var Fb=cM(),hue=Mr(),XL=Qa();Ld.rangeToShapePosition=function(e){return e.type===\"log\"?e.r2d:function(t){return t}};Ld.shapePositionToRange=function(e){return e.type===\"log\"?e.d2r:function(t){return t}};Ld.decodeDate=function(e){return function(t){return t.replace&&(t=t.replace(\"_\",\" \")),e(t)}};Ld.encodeDate=function(e){return function(t){return e(t).replace(\" \",\"_\")}};Ld.extractPathCoords=function(e,t,r){var n=[],i=e.match(Fb.segmentRE);return i.forEach(function(a){var o=t[a.charAt(0)].drawn;if(o!==void 0){var s=a.substr(1).match(Fb.paramRE);if(!(!s||s.lengthd&&(x=\"X\"),x});return u>d&&(v=v.replace(/[\\s,]*X.*/,\"\"),hue.log(\"Ignoring extra params in segment \"+l)),c+v})}function fM(e,t){t=t||0;var r=0;return t&&e&&(e.type===\"category\"||e.type===\"multicategory\")&&(r=(e.r2p(1)-e.r2p(0))*t),r}});var GB=ye((rir,gue)=>{\"use strict\";var Dlt=Mr(),G3=Qa(),due=Ll(),vue=ao(),zlt=u_().readPaths,HB=f_(),Flt=HB.getPathString,pue=x6(),qlt=Nh().FROM_TL;gue.exports=function(t,r,n,i){if(i.selectAll(\".shape-label\").remove(),!!(n.label.text||n.label.texttemplate)){var a;if(n.label.texttemplate){var o={};if(n.type!==\"path\"){var s=G3.getFromId(t,n.xref),l=G3.getFromId(t,n.yref);for(var u in pue){var c=pue[u](n,s,l);c!==void 0&&(o[u]=c)}}a=Dlt.texttemplateStringForShapes(n.label.texttemplate,{},t._fullLayout._d3locale,o)}else a=n.label.text;var f={\"data-index\":r},h=n.label.font,d={\"data-notex\":1},v=i.append(\"g\").attr(f).classed(\"shape-label\",!0),x=v.append(\"text\").attr(d).classed(\"shape-label-text\",!0).text(a),b,g,E,k;if(n.path){var A=Flt(t,n),L=zlt(A,t);b=1/0,E=1/0,g=-1/0,k=-1/0;for(var _=0;_=e?i=t-n:i=n-t,-180/Math.PI*Math.atan2(i,a)}function Blt(e,t,r,n,i,a,o){var s=i.label.textposition,l=i.label.textangle,u=i.label.padding,c=i.type,f=Math.PI/180*a,h=Math.sin(f),d=Math.cos(f),v=i.label.xanchor,x=i.label.yanchor,b,g,E,k;if(c===\"line\"){s===\"start\"?(b=e,g=t):s===\"end\"?(b=r,g=n):(b=(e+r)/2,g=(t+n)/2),v===\"auto\"&&(s===\"start\"?l===\"auto\"?r>e?v=\"left\":re?v=\"right\":re?v=\"right\":re?v=\"left\":r{\"use strict\";var Nlt=Mr(),Ult=Nlt.strTranslate,mue=gv(),xue=Sg(),Vlt=xue.drawMode,bue=xue.selectMode,wue=ba(),yue=va(),KL=VL(),Hlt=KL.i000,Glt=KL.i090,jlt=KL.i180,Wlt=KL.i270,Zlt=Q1(),Tue=Zlt.clearOutlineControllers,WB=u_(),YL=WB.pointsOnRectangle,jB=WB.pointsOnEllipse,Xlt=WB.writePaths,Ylt=ZL().newShapes,Klt=ZL().createShapeObj,Jlt=VB(),$lt=GB();Aue.exports=function e(t,r,n,i){i||(i=0);var a=n.gd;function o(){e(t,r,n,i++),(jB(t[0])||n.hasText)&&s({redrawing:!0})}function s(G){var N={};n.isActiveShape!==void 0&&(n.isActiveShape=!1,N=Ylt(r,n)),n.isActiveSelection!==void 0&&(n.isActiveSelection=!1,N=Jlt(r,n),a._fullLayout._reselect=!0),Object.keys(N).length&&wue.call((G||{}).redrawing?\"relayout\":\"_guiRelayout\",a,N)}var l=a._fullLayout,u=l._zoomlayer,c=n.dragmode,f=Vlt(c),h=bue(c);(f||h)&&(a._fullLayout._outlining=!0),Tue(a),r.attr(\"d\",Xlt(t));var d,v,x,b,g;if(!i&&(n.isActiveShape||n.isActiveSelection)){g=Qlt([],t);var E=u.append(\"g\").attr(\"class\",\"outline-controllers\");P(E),X()}if(f&&n.hasText){var k=u.select(\".label-temp\"),A=Klt(r,n,n.dragmode);$lt(a,\"label-temp\",A,k)}function L(G){x=+G.srcElement.getAttribute(\"data-i\"),b=+G.srcElement.getAttribute(\"data-j\"),d[x][b].moveFn=_}function _(G,N){if(t.length){var W=g[x][b][1],re=g[x][b][2],ae=t[x],_e=ae.length;if(YL(ae)){var Me=G,ke=N;if(n.isActiveSelection){var ge=_ue(ae,b);ge[1]===ae[b][1]?ke=0:Me=0}for(var ie=0;ie<_e;ie++)if(ie!==b){var Te=ae[ie];Te[1]===ae[b][1]&&(Te[1]=W+Me),Te[2]===ae[b][2]&&(Te[2]=re+ke)}if(ae[b][1]=W+Me,ae[b][2]=re+ke,!YL(ae))for(var Ee=0;Ee<_e;Ee++)for(var Ae=0;Ae1&&!(G.length===2&&G[1][0]===\"Z\")&&(b===0&&(G[0][0]=\"M\"),t[x]=G,o(),s())}}function p(G,N){if(G===2){x=+N.srcElement.getAttribute(\"data-i\"),b=+N.srcElement.getAttribute(\"data-j\");var W=t[x];!YL(W)&&!jB(W)&&M()}}function P(G){d=[];for(var N=0;N{\"use strict\";var tut=xa(),Lue=ba(),Sue=Mr(),j3=Qa(),rut=u_().readPaths,iut=JL(),QL=GB(),Pue=Q1().clearOutlineControllers,ZB=va(),YB=ao(),nut=Vs().arrayEditor,Mue=gv(),Eue=Tg(),qb=cM(),Mp=f_(),XB=Mp.getPathString;Due.exports={draw:KB,drawOne:Iue,eraseActiveShape:sut,drawLabel:QL};function KB(e){var t=e._fullLayout;t._shapeUpperLayer.selectAll(\"path\").remove(),t._shapeLowerLayer.selectAll(\"path\").remove(),t._shapeUpperLayer.selectAll(\"text\").remove(),t._shapeLowerLayer.selectAll(\"text\").remove();for(var r in t._plots){var n=t._plots[r].shapelayer;n&&(n.selectAll(\"path\").remove(),n.selectAll(\"text\").remove())}for(var i=0;io&&kt>s&&!rt.shiftKey?Mue.getCursor(Ct/Rt,1-Yt/kt):\"move\";Eue(t,xr),Te=xr.split(\"-\")[0]}}function Ce(rt){$L(e)||(l&&(g=ae(r.xanchor)),u&&(E=_e(r.yanchor)),r.type===\"path\"?T=r.path:(d=l?r.x0:ae(r.x0),v=u?r.y0:_e(r.y0),x=l?r.x1:ae(r.x1),b=u?r.y1:_e(r.y1)),db?(k=v,C=\"y0\",A=b,M=\"y1\"):(k=b,C=\"y1\",A=v,M=\"y0\"),ze(rt),nt(i,r),qt(t,r,e),ie.moveFn=Te===\"move\"?ce:Ge,ie.altKey=rt.altKey)}function me(){$L(e)||(Eue(t),ct(i),Rue(t,e,r),Lue.call(\"_guiRelayout\",e,a.getUpdateObj()))}function Re(){$L(e)||ct(i)}function ce(rt,ot){if(r.type===\"path\"){var Rt=function(Yt){return Yt},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(g+rt)):(kt=function(xr){return Me(ae(xr)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(xr){return ke(_e(xr)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=kue(T,kt,Ct))}else l?h(\"xanchor\",r.xanchor=Me(g+rt)):(h(\"x0\",r.x0=Me(d+rt)),h(\"x1\",r.x1=Me(x+rt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(h(\"y0\",r.y0=ke(v+ot)),h(\"y1\",r.y1=ke(b+ot)));t.attr(\"d\",XB(e,r)),nt(i,r),QL(e,n,r,F)}function Ge(rt,ot){if(f){var Rt=function(_r){return _r},kt=Rt,Ct=Rt;l?h(\"xanchor\",r.xanchor=Me(g+rt)):(kt=function(Br){return Me(ae(Br)+rt)},q&&q.type===\"date\"&&(kt=Mp.encodeDate(kt))),u?h(\"yanchor\",r.yanchor=ke(E+ot)):(Ct=function(Br){return ke(_e(Br)+ot)},H&&H.type===\"date\"&&(Ct=Mp.encodeDate(Ct))),h(\"path\",r.path=kue(T,kt,Ct))}else if(c){if(Te===\"resize-over-start-point\"){var Yt=d+rt,xr=u?v-ot:v+ot;h(\"x0\",r.x0=l?Yt:Me(Yt)),h(\"y0\",r.y0=u?xr:ke(xr))}else if(Te===\"resize-over-end-point\"){var er=x+rt,Ke=u?b-ot:b+ot;h(\"x1\",r.x1=l?er:Me(er)),h(\"y1\",r.y1=u?Ke:ke(Ke))}}else{var xt=function(_r){return Te.indexOf(_r)!==-1},bt=xt(\"n\"),Lt=xt(\"s\"),St=xt(\"w\"),Et=xt(\"e\"),dt=bt?k+ot:k,Ht=Lt?A+ot:A,$t=St?L+rt:L,fr=Et?_+rt:_;u&&(bt&&(dt=k-ot),Lt&&(Ht=A-ot)),(!u&&Ht-dt>s||u&&dt-Ht>s)&&(h(C,r[C]=u?dt:ke(dt)),h(M,r[M]=u?Ht:ke(Ht))),fr-$t>o&&(h(p,r[p]=l?$t:Me($t)),h(P,r[P]=l?fr:Me(fr)))}t.attr(\"d\",XB(e,r)),nt(i,r),QL(e,n,r,F)}function nt(rt,ot){(l||u)&&Rt();function Rt(){var kt=ot.type!==\"path\",Ct=rt.selectAll(\".visual-cue\").data([0]),Yt=1;Ct.enter().append(\"path\").attr({fill:\"#fff\",\"fill-rule\":\"evenodd\",stroke:\"#000\",\"stroke-width\":Yt}).classed(\"visual-cue\",!0);var xr=ae(l?ot.xanchor:Sue.midRange(kt?[ot.x0,ot.x1]:Mp.extractPathCoords(ot.path,qb.paramIsX))),er=_e(u?ot.yanchor:Sue.midRange(kt?[ot.y0,ot.y1]:Mp.extractPathCoords(ot.path,qb.paramIsY)));if(xr=Mp.roundPositionForSharpStrokeRendering(xr,Yt),er=Mp.roundPositionForSharpStrokeRendering(er,Yt),l&&u){var Ke=\"M\"+(xr-1-Yt)+\",\"+(er-1-Yt)+\"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z\";Ct.attr(\"d\",Ke)}else if(l){var xt=\"M\"+(xr-1-Yt)+\",\"+(er-9-Yt)+\"v18 h2 v-18 Z\";Ct.attr(\"d\",xt)}else{var bt=\"M\"+(xr-9-Yt)+\",\"+(er-1-Yt)+\"h18 v2 h-18 Z\";Ct.attr(\"d\",bt)}}}function ct(rt){rt.selectAll(\".visual-cue\").remove()}function qt(rt,ot,Rt){var kt=ot.xref,Ct=ot.yref,Yt=j3.getFromId(Rt,kt),xr=j3.getFromId(Rt,Ct),er=\"\";kt!==\"paper\"&&!Yt.autorange&&(er+=kt),Ct!==\"paper\"&&!xr.autorange&&(er+=Ct),YB.setClipUrl(rt,er?\"clip\"+Rt._fullLayout._uid+er:null,Rt)}}function kue(e,t,r){return e.replace(qb.segmentRE,function(n){var i=0,a=n.charAt(0),o=qb.paramIsX[a],s=qb.paramIsY[a],l=qb.numParams[a],u=n.substr(1).replace(qb.paramRE,function(c){return i>=l||(o[i]?c=t(c):s[i]&&(c=r(c)),i++),c});return a+u})}function out(e,t){if(eP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeShapeIndex){Cue(e);return}e._fullLayout._activeShapeIndex=n,e._fullLayout._deactivateShape=Cue,KB(e)}}}function Cue(e){if(eP(e)){var t=e._fullLayout._activeShapeIndex;t>=0&&(Pue(e),delete e._fullLayout._activeShapeIndex,KB(e))}}function sut(e){if(eP(e)){Pue(e);var t=e._fullLayout._activeShapeIndex,r=(e.layout||{}).shapes||[];if(t{\"use strict\";var S0=ba(),zue=Xu(),Fue=af(),al=NL(),lut=tP().eraseActiveShape,rP=Mr(),Os=rP._,ol=Hue.exports={};ol.toImage={name:\"toImage\",title:function(e){var t=e._context.toImageButtonOptions||{},r=t.format||\"png\";return r===\"png\"?Os(e,\"Download plot as a png\"):Os(e,\"Download plot\")},icon:al.camera,click:function(e){var t=e._context.toImageButtonOptions,r={format:t.format||\"png\"};rP.notifier(Os(e,\"Taking snapshot - this may take a few seconds\"),\"long\"),[\"filename\",\"width\",\"height\",\"scale\"].forEach(function(n){n in t&&(r[n]=t[n])}),S0.call(\"downloadImage\",e,r).then(function(n){rP.notifier(Os(e,\"Snapshot succeeded\")+\" - \"+n,\"long\")}).catch(function(){rP.notifier(Os(e,\"Sorry, there was a problem downloading your snapshot!\"),\"long\")})}};ol.sendDataToCloud={name:\"sendDataToCloud\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.disk,click:function(e){zue.sendDataToCloud(e)}};ol.editInChartStudio={name:\"editInChartStudio\",title:function(e){return Os(e,\"Edit in Chart Studio\")},icon:al.pencil,click:function(e){zue.sendDataToCloud(e)}};ol.zoom2d={name:\"zoom2d\",_cat:\"zoom\",title:function(e){return Os(e,\"Zoom\")},attr:\"dragmode\",val:\"zoom\",icon:al.zoombox,click:Ov};ol.pan2d={name:\"pan2d\",_cat:\"pan\",title:function(e){return Os(e,\"Pan\")},attr:\"dragmode\",val:\"pan\",icon:al.pan,click:Ov};ol.select2d={name:\"select2d\",_cat:\"select\",title:function(e){return Os(e,\"Box Select\")},attr:\"dragmode\",val:\"select\",icon:al.selectbox,click:Ov};ol.lasso2d={name:\"lasso2d\",_cat:\"lasso\",title:function(e){return Os(e,\"Lasso Select\")},attr:\"dragmode\",val:\"lasso\",icon:al.lasso,click:Ov};ol.drawclosedpath={name:\"drawclosedpath\",title:function(e){return Os(e,\"Draw closed freeform\")},attr:\"dragmode\",val:\"drawclosedpath\",icon:al.drawclosedpath,click:Ov};ol.drawopenpath={name:\"drawopenpath\",title:function(e){return Os(e,\"Draw open freeform\")},attr:\"dragmode\",val:\"drawopenpath\",icon:al.drawopenpath,click:Ov};ol.drawline={name:\"drawline\",title:function(e){return Os(e,\"Draw line\")},attr:\"dragmode\",val:\"drawline\",icon:al.drawline,click:Ov};ol.drawrect={name:\"drawrect\",title:function(e){return Os(e,\"Draw rectangle\")},attr:\"dragmode\",val:\"drawrect\",icon:al.drawrect,click:Ov};ol.drawcircle={name:\"drawcircle\",title:function(e){return Os(e,\"Draw circle\")},attr:\"dragmode\",val:\"drawcircle\",icon:al.drawcircle,click:Ov};ol.eraseshape={name:\"eraseshape\",title:function(e){return Os(e,\"Erase active shape\")},icon:al.eraseshape,click:lut};ol.zoomIn2d={name:\"zoomIn2d\",_cat:\"zoomin\",title:function(e){return Os(e,\"Zoom in\")},attr:\"zoom\",val:\"in\",icon:al.zoom_plus,click:Ov};ol.zoomOut2d={name:\"zoomOut2d\",_cat:\"zoomout\",title:function(e){return Os(e,\"Zoom out\")},attr:\"zoom\",val:\"out\",icon:al.zoom_minus,click:Ov};ol.autoScale2d={name:\"autoScale2d\",_cat:\"autoscale\",title:function(e){return Os(e,\"Autoscale\")},attr:\"zoom\",val:\"auto\",icon:al.autoscale,click:Ov};ol.resetScale2d={name:\"resetScale2d\",_cat:\"resetscale\",title:function(e){return Os(e,\"Reset axes\")},attr:\"zoom\",val:\"reset\",icon:al.home,click:Ov};ol.hoverClosestCartesian={name:\"hoverClosestCartesian\",_cat:\"hoverclosest\",title:function(e){return Os(e,\"Show closest data on hover\")},attr:\"hovermode\",val:\"closest\",icon:al.tooltip_basic,gravity:\"ne\",click:Ov};ol.hoverCompareCartesian={name:\"hoverCompareCartesian\",_cat:\"hoverCompare\",title:function(e){return Os(e,\"Compare data on hover\")},attr:\"hovermode\",val:function(e){return e._fullLayout._isHoriz?\"y\":\"x\"},icon:al.tooltip_compare,gravity:\"ne\",click:Ov};function Ov(e,t){var r=t.currentTarget,n=r.getAttribute(\"data-attr\"),i=r.getAttribute(\"data-val\")||!0,a=e._fullLayout,o={},s=Fue.list(e,null,!0),l=a._cartesianSpikesEnabled,u,c;if(n===\"zoom\"){var f=i===\"in\"?.5:2,h=(1+f)/2,d=(1-f)/2,v;for(c=0;c{\"use strict\";var Gue=QB(),fut=Object.keys(Gue),jue=[\"drawline\",\"drawopenpath\",\"drawclosedpath\",\"drawcircle\",\"drawrect\",\"eraseshape\"],Wue=[\"v1hovermode\",\"hoverclosest\",\"hovercompare\",\"togglehover\",\"togglespikelines\"].concat(jue),Z3=[],hut=function(e){if(Wue.indexOf(e._cat||e.name)===-1){var t=e.name,r=(e._cat||e.name).toLowerCase();Z3.indexOf(t)===-1&&Z3.push(t),Z3.indexOf(r)===-1&&Z3.push(r)}};fut.forEach(function(e){hut(Gue[e])});Z3.sort();Zue.exports={DRAW_MODES:jue,backButtons:Wue,foreButtons:Z3}});var tN=ye((lir,Xue)=>{\"use strict\";var sir=eN();Xue.exports={editType:\"modebar\",orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"modebar\"},bgcolor:{valType:\"color\",editType:\"modebar\"},color:{valType:\"color\",editType:\"modebar\"},activecolor:{valType:\"color\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},add:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"},remove:{valType:\"string\",arrayOk:!0,dflt:\"\",editType:\"modebar\"}}});var Kue=ye((uir,Yue)=>{\"use strict\";var dut=Mr(),hM=va(),vut=Vs(),put=tN();Yue.exports=function(t,r){var n=t.modebar||{},i=vut.newContainer(r,\"modebar\");function a(s,l){return dut.coerce(n,i,put,s,l)}a(\"orientation\"),a(\"bgcolor\",hM.addOpacity(r.paper_bgcolor,.5));var o=hM.contrast(hM.rgb(r.modebar.bgcolor));a(\"color\",hM.addOpacity(o,.3)),a(\"activecolor\",hM.addOpacity(o,.7)),a(\"uirevision\",r.uirevision),a(\"add\"),a(\"remove\")}});var ece=ye((cir,Que)=>{\"use strict\";var rN=xa(),gut=uo(),nP=Mr(),Jue=NL(),mut=QC().version,yut=new DOMParser;function $ue(e){this.container=e.container,this.element=document.createElement(\"div\"),this.update(e.graphInfo,e.buttons),this.container.appendChild(this.element)}var Tm=$ue.prototype;Tm.update=function(e,t){this.graphInfo=e;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,i=\"modebar-\"+n._uid;this.element.setAttribute(\"id\",i),this._uid=i,this.element.className=\"modebar\",r.displayModeBar===\"hover\"&&(this.element.className+=\" modebar--hover ease-bg\"),n.modebar.orientation===\"v\"&&(this.element.className+=\" vertical\",t=t.reverse());var a=n.modebar,o=\"#\"+i+\" .modebar-group\";document.querySelectorAll(o).forEach(function(f){f.style.backgroundColor=a.bgcolor});var s=!this.hasButtons(t),l=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(s||l||u)&&(this.removeAllButtons(),this.updateButtons(t),r.watermark||r.displaylogo)){var c=this.getLogo();r.watermark&&(c.className=c.className+\" watermark\"),n.modebar.orientation===\"v\"?this.element.insertBefore(c,this.element.childNodes[0]):this.element.appendChild(c),this.hasLogo=!0}this.updateActiveButton(),nP.setStyleOnHover(\"#\"+i+\" .modebar-btn\",\".active\",\".icon path\",\"fill: \"+a.activecolor,\"fill: \"+a.color,this.element)};Tm.updateButtons=function(e){var t=this;this.buttons=e,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(r){var n=t.createGroup();r.forEach(function(i){var a=i.name;if(!a)throw new Error(\"must provide button 'name' in button config\");if(t.buttonsNames.indexOf(a)!==-1)throw new Error(\"button name '\"+a+\"' is taken\");t.buttonsNames.push(a);var o=t.createButton(i);t.buttonElements.push(o),n.appendChild(o)}),t.element.appendChild(n)})};Tm.createGroup=function(){var e=document.createElement(\"div\");e.className=\"modebar-group\";var t=this.graphInfo._fullLayout.modebar;return e.style.backgroundColor=t.bgcolor,e};Tm.createButton=function(e){var t=this,r=document.createElement(\"a\");r.setAttribute(\"rel\",\"tooltip\"),r.className=\"modebar-btn\";var n=e.title;n===void 0?n=e.name:typeof n==\"function\"&&(n=n(this.graphInfo)),(n||n===0)&&r.setAttribute(\"data-title\",n),e.attr!==void 0&&r.setAttribute(\"data-attr\",e.attr);var i=e.val;i!==void 0&&(typeof i==\"function\"&&(i=i(this.graphInfo)),r.setAttribute(\"data-val\",i));var a=e.click;if(typeof a!=\"function\")throw new Error(\"must provide button 'click' function in button config\");r.addEventListener(\"click\",function(s){e.click(t.graphInfo,s),t.updateActiveButton(s.currentTarget)}),r.setAttribute(\"data-toggle\",e.toggle||!1),e.toggle&&rN.select(r).classed(\"active\",!0);var o=e.icon;return typeof o==\"function\"?r.appendChild(o()):r.appendChild(this.createIcon(o||Jue.question)),r.setAttribute(\"data-gravity\",e.gravity||\"n\"),r};Tm.createIcon=function(e){var t=gut(e.height)?Number(e.height):e.ascent-e.descent,r=\"http://www.w3.org/2000/svg\",n;if(e.path){n=document.createElementNS(r,\"svg\"),n.setAttribute(\"viewBox\",[0,0,e.width,t].join(\" \")),n.setAttribute(\"class\",\"icon\");var i=document.createElementNS(r,\"path\");i.setAttribute(\"d\",e.path),e.transform?i.setAttribute(\"transform\",e.transform):e.ascent!==void 0&&i.setAttribute(\"transform\",\"matrix(1 0 0 -1 0 \"+e.ascent+\")\"),n.appendChild(i)}if(e.svg){var a=yut.parseFromString(e.svg,\"application/xml\");n=a.childNodes[0]}return n.setAttribute(\"height\",\"1em\"),n.setAttribute(\"width\",\"1em\"),n};Tm.updateActiveButton=function(e){var t=this.graphInfo._fullLayout,r=e!==void 0?e.getAttribute(\"data-attr\"):null;this.buttonElements.forEach(function(n){var i=n.getAttribute(\"data-val\")||!0,a=n.getAttribute(\"data-attr\"),o=n.getAttribute(\"data-toggle\")===\"true\",s=rN.select(n),l=function(f,h){var d=t.modebar,v=f.querySelector(\".icon path\");v&&(h||f.matches(\":hover\")?v.style.fill=d.activecolor:v.style.fill=d.color)};if(o){if(a===r){var u=!s.classed(\"active\");s.classed(\"active\",u),l(n,u)}}else{var c=a===null?a:nP.nestedProperty(t,a).get();s.classed(\"active\",c===i),l(n,c===i)}})};Tm.hasButtons=function(e){var t=this.buttons;if(!t||e.length!==t.length)return!1;for(var r=0;r{\"use strict\";var but=af(),tce=lu(),iN=ba(),wut=rp().isUnifiedHover,Tut=ece(),aP=QB(),Aut=eN().DRAW_MODES,Sut=Mr().extendDeep;rce.exports=function(t){var r=t._fullLayout,n=t._context,i=r._modeBar;if(!n.displayModeBar&&!n.watermark){i&&(i.destroy(),delete r._modeBar);return}if(!Array.isArray(n.modeBarButtonsToRemove))throw new Error([\"*modeBarButtonsToRemove* configuration options\",\"must be an array.\"].join(\" \"));if(!Array.isArray(n.modeBarButtonsToAdd))throw new Error([\"*modeBarButtonsToAdd* configuration options\",\"must be an array.\"].join(\" \"));var a=n.modeBarButtons,o;Array.isArray(a)&&a.length?o=Put(a):!n.displayModeBar&&n.watermark?o=[]:o=Mut(t),i?i.update(t,o):r._modeBar=Tut(t,o)};function Mut(e){var t=e._fullLayout,r=e._fullData,n=e._context;function i(N,W){if(typeof W==\"string\"){if(W.toLowerCase()===N.toLowerCase())return!0}else{var re=W.name,ae=W._cat||W.name;if(re===N||ae===N.toLowerCase())return!0}return!1}var a=t.modebar.add;typeof a==\"string\"&&(a=[a]);var o=t.modebar.remove;typeof o==\"string\"&&(o=[o]);var s=n.modeBarButtonsToAdd.concat(a.filter(function(N){for(var W=0;W1?(P=[\"toggleHover\"],T=[\"resetViews\"]):f?(p=[\"zoomInGeo\",\"zoomOutGeo\"],P=[\"hoverClosestGeo\"],T=[\"resetGeo\"]):c?(P=[\"hoverClosest3d\"],T=[\"resetCameraDefault3d\",\"resetCameraLastSave3d\"]):x?(p=[\"zoomInMapbox\",\"zoomOutMapbox\"],P=[\"toggleHover\"],T=[\"resetViewMapbox\"]):b?(p=[\"zoomInMap\",\"zoomOutMap\"],P=[\"toggleHover\"],T=[\"resetViewMap\"]):h?P=[\"hoverClosestPie\"]:k?(P=[\"hoverClosestCartesian\",\"hoverCompareCartesian\"],T=[\"resetViewSankey\"]):P=[\"toggleHover\"],u&&P.push(\"toggleSpikelines\",\"hoverClosestCartesian\",\"hoverCompareCartesian\"),(Cut(r)||L)&&(P=[]),u&&!A&&(p=[\"zoomIn2d\",\"zoomOut2d\",\"autoScale2d\"],T[0]!==\"resetViews\"&&(T=[\"resetScale2d\"])),c?F=[\"zoom3d\",\"pan3d\",\"orbitRotation\",\"tableRotation\"]:u&&!A||v?F=[\"zoom2d\",\"pan2d\"]:x||b||f?F=[\"pan2d\"]:g&&(F=[\"zoom2d\"]),kut(r)&&F.push(\"select2d\",\"lasso2d\");var q=[],V=function(N){q.indexOf(N)===-1&&P.indexOf(N)!==-1&&q.push(N)};if(Array.isArray(s)){for(var H=[],X=0;X{\"use strict\";nce.exports={moduleType:\"component\",name:\"modebar\",layoutAttributes:tN(),supplyLayoutDefaults:Kue(),manage:ice()}});var aN=ye((dir,ace)=>{\"use strict\";var Iut=Nh().FROM_BL;ace.exports=function(t,r,n){n===void 0&&(n=Iut[t.constraintoward||\"center\"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*n;t.range=t._input.range=[t.l2r(a+(i[0]-a)*r),t.l2r(a+(i[1]-a)*r)],t.setScale()}});var Bb=ye(dM=>{\"use strict\";var Ob=Mr(),oN=wg(),Mg=af().id2name,Rut=Cd(),oce=aN(),Dut=ym(),zut=es().ALMOST_EQUAL,Fut=Nh().FROM_BL;dM.handleDefaults=function(e,t,r){var n=r.axIds,i=r.axHasImage,a=t._axisConstraintGroups=[],o=t._axisMatchGroups=[],s,l,u,c,f,h,d,v;for(s=0;sa?r.substr(a):n.substr(i))+o}function Out(e,t){for(var r=t._size,n=r.h/r.w,i={},a=Object.keys(e),o=0;ozut*v&&!E)){for(a=0;aF&&reP&&(P=re);var _e=(P-p)/(2*T);f/=_e,p=l.l2r(p),P=l.l2r(P),l.range=l._input.range=_{\"use strict\";var sP=xa(),Bv=ba(),Jp=Xu(),M0=Mr(),uN=Ll(),cN=lM(),vM=va(),X3=ao(),cce=Mb(),pce=nN(),pM=Qa(),ky=Nh(),gce=Bb(),But=gce.enforce,Nut=gce.clean,fce=wg().doAutoRange,mce=\"start\",Uut=\"middle\",yce=\"end\",Vut=ad().zindexSeparator;ld.layoutStyles=function(e){return M0.syncOrAsync([Jp.doAutoMargin,Gut],e)};function Hut(e,t,r){for(var n=0;n=e[1]||i[1]<=e[0])&&a[0]t[0])return!0}return!1}function Gut(e){var t=e._fullLayout,r=t._size,n=r.p,i=pM.list(e,\"\",!0),a,o,s,l,u,c;if(t._paperdiv.style({width:e._context.responsive&&t.autosize&&!e._context._hasZeroWidth&&!e.layout.width?\"100%\":t.width+\"px\",height:e._context.responsive&&t.autosize&&!e._context._hasZeroHeight&&!e.layout.height?\"100%\":t.height+\"px\"}).selectAll(\".main-svg\").call(X3.setSize,t.width,t.height),e._context.setBackground(e,t.paper_bgcolor),ld.drawMainTitle(e),pce.manage(e),!t._has(\"cartesian\"))return Jp.previousPromises(e);function f(Ce,me,Re){var ce=Ce._lw/2;if(Ce._id.charAt(0)===\"x\"){if(me){if(Re===\"top\")return me._offset-n-ce}else return r.t+r.h*(1-(Ce.position||0))+ce%1;return me._offset+me._length+n+ce}if(me){if(Re===\"right\")return me._offset+me._length+n+ce}else return r.l+r.w*(Ce.position||0)+ce%1;return me._offset-n-ce}for(a=0;a0){Xut(e,a,u,l),s.attr({x:o,y:a,\"text-anchor\":n,dy:vce(t.yanchor)}).call(uN.positionText,o,a);var c=(t.text.match(uN.BR_TAG_ALL)||[]).length;if(c){var f=ky.LINE_SPACING*c+ky.MID_SHIFT;t.y===0&&(f=-f),s.selectAll(\".line\").each(function(){var b=+this.getAttribute(\"dy\").slice(0,-2)-f+\"em\";this.setAttribute(\"dy\",b)})}var h=sP.selectAll(\".gtitle-subtitle\");if(h.node()){var d=s.node().getBBox(),v=d.y+d.height,x=v+cce.SUBTITLE_PADDING_EM*t.subtitle.font.size;h.attr({x:o,y:x,\"text-anchor\":n,dy:vce(t.yanchor)}).call(uN.positionText,o,x)}}}};function jut(e,t,r,n,i){var a=t.yref===\"paper\"?e._fullLayout._size.h:e._fullLayout.height,o=M0.isTopAnchor(t)?n:n-i,s=r===\"b\"?a-o:o;return M0.isTopAnchor(t)&&r===\"t\"||M0.isBottomAnchor(t)&&r===\"b\"?!1:s.5?\"t\":\"b\",o=e._fullLayout.margin[a],s=0;return t.yref===\"paper\"?s=r+t.pad.t+t.pad.b:t.yref===\"container\"&&(s=Wut(a,n,i,e._fullLayout.height,r)+t.pad.t+t.pad.b),s>o?s:0}function Xut(e,t,r,n){var i=\"title.automargin\",a=e._fullLayout.title,o=a.y>.5?\"t\":\"b\",s={x:a.x,y:a.y,t:0,b:0},l={};a.yref===\"paper\"&&jut(e,a,o,t,n)?s[o]=r:a.yref===\"container\"&&(l[o]=r,e._fullLayout._reservedMargin[i]=l),Jp.allowAutoMargin(e,i),Jp.autoMargin(e,i,s)}function Yut(e,t){var r=e.title,n=e._size,i=0;switch(t===mce?i=r.pad.l:t===yce&&(i=-r.pad.r),r.xref){case\"paper\":return n.l+n.w*r.x+i;case\"container\":default:return e.width*r.x+i}}function Kut(e,t){var r=e.title,n=e._size,i=0;if(t===\"0em\"||!t?i=-r.pad.b:t===ky.CAP_SHIFT+\"em\"&&(i=r.pad.t),r.y===\"auto\")return n.t/2;switch(r.yref){case\"paper\":return n.t+n.h-n.h*r.y+i;case\"container\":default:return e.height-e.height*r.y+i}}function vce(e){return e===\"top\"?ky.CAP_SHIFT+.3+\"em\":e===\"bottom\"?\"-0.3em\":ky.MID_SHIFT+\"em\"}function Jut(e){var t=e.title,r=Uut;return M0.isRightAnchor(t)?r=yce:M0.isLeftAnchor(t)&&(r=mce),r}function $ut(e){var t=e.title,r=\"0em\";return M0.isTopAnchor(t)?r=ky.CAP_SHIFT+\"em\":M0.isMiddleAnchor(t)&&(r=ky.MID_SHIFT+\"em\"),r}ld.doTraceStyle=function(e){var t=e.calcdata,r=[],n;for(n=0;n{\"use strict\";var Qut=u_().readPaths,ect=JL(),_ce=Q1().clearOutlineControllers,fN=va(),xce=ao(),tct=Vs().arrayEditor,bce=f_(),rct=bce.getPathString;Tce.exports={draw:lP,drawOne:wce,activateLastSelection:act};function lP(e){var t=e._fullLayout;_ce(e),t._selectionLayer.selectAll(\"path\").remove();for(var r in t._plots){var n=t._plots[r].selectionLayer;n&&n.selectAll(\"path\").remove()}for(var i=0;i=0;b--){var g=o.append(\"path\").attr(l).style(\"opacity\",b?.1:u).call(fN.stroke,f).call(fN.fill,c).call(xce.dashLine,b?\"solid\":d,b?4+h:h);if(ict(g,e,n),v){var E=tct(e.layout,\"selections\",n);g.style({cursor:\"move\"});var k={element:g.node(),plotinfo:i,gd:e,editHelpers:E,isActiveSelection:!0},A=Qut(s,e);ect(A,g,k)}else g.style(\"pointer-events\",b?\"all\":\"none\");x[b]=g}var L=x[0],_=x[1];_.node().addEventListener(\"click\",function(){return nct(e,L)})}}function ict(e,t,r){var n=r.xref+r.yref;xce.setClipUrl(e,\"clip\"+t._fullLayout._uid+n,t)}function nct(e,t){if(uP(e)){var r=t.node(),n=+r.getAttribute(\"data-index\");if(n>=0){if(n===e._fullLayout._activeSelectionIndex){hN(e);return}e._fullLayout._activeSelectionIndex=n,e._fullLayout._deactivateSelection=hN,lP(e)}}}function act(e){if(uP(e)){var t=e._fullLayout.selections.length-1;e._fullLayout._activeSelectionIndex=t,e._fullLayout._deactivateSelection=hN,lP(e)}}function hN(e){if(uP(e)){var t=e._fullLayout._activeSelectionIndex;t>=0&&(_ce(e),delete e._fullLayout._activeSelectionIndex,lP(e))}}});var Sce=ye((mir,Ace)=>{function oct(){var e,t=0,r=!1;function n(i,a){return e.list.push({type:i,data:a?JSON.parse(JSON.stringify(a)):void 0}),e}return e={list:[],segmentId:function(){return t++},checkIntersection:function(i,a){return n(\"check\",{seg1:i,seg2:a})},segmentChop:function(i,a){return n(\"div_seg\",{seg:i,pt:a}),n(\"chop\",{seg:i,pt:a})},statusRemove:function(i){return n(\"pop_seg\",{seg:i})},segmentUpdate:function(i){return n(\"seg_update\",{seg:i})},segmentNew:function(i,a){return n(\"new_seg\",{seg:i,primary:a})},segmentRemove:function(i){return n(\"rem_seg\",{seg:i})},tempStatus:function(i,a,o){return n(\"temp_status\",{seg:i,above:a,below:o})},rewind:function(i){return n(\"rewind\",{seg:i})},status:function(i,a,o){return n(\"status\",{seg:i,above:a,below:o})},vert:function(i){return i===r?e:(r=i,n(\"vert\",{x:i}))},log:function(i){return typeof i!=\"string\"&&(i=JSON.stringify(i,!1,\" \")),n(\"log\",{txt:i})},reset:function(){return n(\"reset\")},selected:function(i){return n(\"selected\",{segs:i})},chainStart:function(i){return n(\"chain_start\",{seg:i})},chainRemoveHead:function(i,a){return n(\"chain_rem_head\",{index:i,pt:a})},chainRemoveTail:function(i,a){return n(\"chain_rem_tail\",{index:i,pt:a})},chainNew:function(i,a){return n(\"chain_new\",{pt1:i,pt2:a})},chainMatch:function(i){return n(\"chain_match\",{index:i})},chainClose:function(i){return n(\"chain_close\",{index:i})},chainAddHead:function(i,a){return n(\"chain_add_head\",{index:i,pt:a})},chainAddTail:function(i,a){return n(\"chain_add_tail\",{index:i,pt:a})},chainConnect:function(i,a){return n(\"chain_con\",{index1:i,index2:a})},chainReverse:function(i){return n(\"chain_rev\",{index:i})},chainJoin:function(i,a){return n(\"chain_join\",{index1:i,index2:a})},done:function(){return n(\"done\")}},e}Ace.exports=oct});var Ece=ye((yir,Mce)=>{function sct(e){typeof e!=\"number\"&&(e=1e-10);var t={epsilon:function(r){return typeof r==\"number\"&&(e=r),e},pointAboveOrOnLine:function(r,n,i){var a=n[0],o=n[1],s=i[0],l=i[1],u=r[0],c=r[1];return(s-a)*(c-o)-(l-o)*(u-a)>=-e},pointBetween:function(r,n,i){var a=r[1]-n[1],o=i[0]-n[0],s=r[0]-n[0],l=i[1]-n[1],u=s*o+a*l;if(u-e)},pointsSameX:function(r,n){return Math.abs(r[0]-n[0])e!=s-a>e&&(o-c)*(a-f)/(s-f)+c-i>e&&(l=!l),o=c,s=f}return l}};return t}Mce.exports=sct});var Cce=ye((_ir,kce)=>{var lct={create:function(){var e={root:{root:!0,next:null},exists:function(t){return!(t===null||t===e.root)},isEmpty:function(){return e.root.next===null},getHead:function(){return e.root.next},insertBefore:function(t,r){for(var n=e.root,i=e.root.next;i!==null;){if(r(i)){t.prev=i.prev,t.next=i,i.prev.next=t,i.prev=t;return}n=i,i=i.next}n.next=t,t.prev=n,t.next=null},findTransition:function(t){for(var r=e.root,n=e.root.next;n!==null&&!t(n);)r=n,n=n.next;return{before:r===e.root?null:r,after:n,insert:function(i){return i.prev=r,i.next=n,r.next=i,n!==null&&(n.prev=i),i}}}};return e},node:function(e){return e.prev=null,e.next=null,e.remove=function(){e.prev.next=e.next,e.next&&(e.next.prev=e.prev),e.prev=null,e.next=null},e}};kce.exports=lct});var Pce=ye((xir,Lce)=>{var mM=Cce();function uct(e,t,r){function n(v,x){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:null,below:null},otherFill:null}}function i(v,x,b){return{id:r?r.segmentId():-1,start:v,end:x,myFill:{above:b.myFill.above,below:b.myFill.below},otherFill:null}}var a=mM.create();function o(v,x,b,g,E,k){var A=t.pointsCompare(x,E);return A!==0?A:t.pointsSame(b,k)?0:v!==g?v?1:-1:t.pointAboveOrOnLine(b,g?E:k,g?k:E)?1:-1}function s(v,x){a.insertBefore(v,function(b){var g=o(v.isStart,v.pt,x,b.isStart,b.pt,b.other.pt);return g<0})}function l(v,x){var b=mM.node({isStart:!0,pt:v.start,seg:v,primary:x,other:null,status:null});return s(b,v.end),b}function u(v,x,b){var g=mM.node({isStart:!1,pt:x.end,seg:x,primary:b,other:v,status:null});v.other=g,s(g,v.pt)}function c(v,x){var b=l(v,x);return u(b,v,x),b}function f(v,x){r&&r.segmentChop(v.seg,x),v.other.remove(),v.seg.end=x,v.other.pt=x,s(v.other,v.pt)}function h(v,x){var b=i(x,v.seg.end,v.seg);return f(v,x),c(b,v.primary)}function d(v,x){var b=mM.create();function g(H,X){var G=H.seg.start,N=H.seg.end,W=X.seg.start,re=X.seg.end;return t.pointsCollinear(G,W,re)?t.pointsCollinear(N,W,re)||t.pointAboveOrOnLine(N,W,re)?1:-1:t.pointAboveOrOnLine(G,W,re)?1:-1}function E(H){return b.findTransition(function(X){var G=g(H,X.ev);return G>0})}function k(H,X){var G=H.seg,N=X.seg,W=G.start,re=G.end,ae=N.start,_e=N.end;r&&r.checkIntersection(G,N);var Me=t.linesIntersect(W,re,ae,_e);if(Me===!1){if(!t.pointsCollinear(W,re,ae)||t.pointsSame(W,_e)||t.pointsSame(re,ae))return!1;var ke=t.pointsSame(W,ae),ge=t.pointsSame(re,_e);if(ke&&ge)return X;var ie=!ke&&t.pointBetween(W,ae,_e),Te=!ge&&t.pointBetween(re,ae,_e);if(ke)return Te?h(X,re):h(H,_e),X;ie&&(ge||(Te?h(X,re):h(H,_e)),h(X,W))}else Me.alongA===0&&(Me.alongB===-1?h(H,ae):Me.alongB===0?h(H,Me.pt):Me.alongB===1&&h(H,_e)),Me.alongB===0&&(Me.alongA===-1?h(X,W):Me.alongA===0?h(X,Me.pt):Me.alongA===1&&h(X,re));return!1}for(var A=[];!a.isEmpty();){var L=a.getHead();if(r&&r.vert(L.pt[0]),L.isStart){let H=function(){if(C){var X=k(L,C);if(X)return X}return M?k(L,M):!1};var V=H;r&&r.segmentNew(L.seg,L.primary);var _=E(L),C=_.before?_.before.ev:null,M=_.after?_.after.ev:null;r&&r.tempStatus(L.seg,C?C.seg:!1,M?M.seg:!1);var p=H();if(p){if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,P&&(p.seg.myFill.above=!p.seg.myFill.above)}else p.seg.otherFill=L.seg.myFill;r&&r.segmentUpdate(p.seg),L.other.remove(),L.remove()}if(a.getHead()!==L){r&&r.rewind(L.seg);continue}if(e){var P;L.seg.myFill.below===null?P=!0:P=L.seg.myFill.above!==L.seg.myFill.below,M?L.seg.myFill.below=M.seg.myFill.above:L.seg.myFill.below=v,P?L.seg.myFill.above=!L.seg.myFill.below:L.seg.myFill.above=L.seg.myFill.below}else if(L.seg.otherFill===null){var T;M?L.primary===M.primary?T=M.seg.otherFill.above:T=M.seg.myFill.above:T=L.primary?x:v,L.seg.otherFill={above:T,below:T}}r&&r.status(L.seg,C?C.seg:!1,M?M.seg:!1),L.other.status=_.insert(mM.node({ev:L}))}else{var F=L.status;if(F===null)throw new Error(\"PolyBool: Zero-length segment detected; your epsilon is probably too small or too large\");if(b.exists(F.prev)&&b.exists(F.next)&&k(F.prev.ev,F.next.ev),r&&r.statusRemove(F.ev.seg),F.remove(),!L.primary){var q=L.seg.myFill;L.seg.myFill=L.seg.otherFill,L.seg.otherFill=q}A.push(L.seg)}a.getHead().remove()}return r&&r.done(),A}return e?{addRegion:function(v){for(var x,b=v[v.length-1],g=0;g{function cct(e,t,r){var n=[],i=[];return e.forEach(function(a){var o=a.start,s=a.end;if(t.pointsSame(o,s)){console.warn(\"PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large\");return}r&&r.chainStart(a);var l={index:0,matches_head:!1,matches_pt1:!1},u={index:0,matches_head:!1,matches_pt1:!1},c=l;function f(V,H,X){return c.index=V,c.matches_head=H,c.matches_pt1=X,c===l?(c=u,!1):(c=null,!0)}for(var h=0;h{function yM(e,t,r){var n=[];return e.forEach(function(i){var a=(i.myFill.above?8:0)+(i.myFill.below?4:0)+(i.otherFill&&i.otherFill.above?2:0)+(i.otherFill&&i.otherFill.below?1:0);t[a]!==0&&n.push({id:r?r.segmentId():-1,start:i.start,end:i.end,myFill:{above:t[a]===1,below:t[a]===2},otherFill:null})}),r&&r.selected(n),n}var fct={union:function(e,t){return yM(e,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],t)},intersect:function(e,t){return yM(e,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],t)},difference:function(e,t){return yM(e,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],t)},differenceRev:function(e,t){return yM(e,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],t)},xor:function(e,t){return yM(e,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],t)}};Dce.exports=fct});var qce=ye((Tir,Fce)=>{var hct={toPolygon:function(e,t){function r(a){if(a.length<=0)return e.segments({inverted:!1,regions:[]});function o(u){var c=u.slice(0,u.length-1);return e.segments({inverted:!1,regions:[c]})}for(var s=o(a[0]),l=1;l{var dct=Sce(),vct=Ece(),Oce=Pce(),pct=Rce(),_M=zce(),Bce=qce(),E0=!1,xM=vct(),Ep;Ep={buildLog:function(e){return e===!0?E0=dct():e===!1&&(E0=!1),E0===!1?!1:E0.list},epsilon:function(e){return xM.epsilon(e)},segments:function(e){var t=Oce(!0,xM,E0);return e.regions.forEach(t.addRegion),{segments:t.calculate(e.inverted),inverted:e.inverted}},combine:function(e,t){var r=Oce(!1,xM,E0);return{combined:r.calculate(e.segments,e.inverted,t.segments,t.inverted),inverted1:e.inverted,inverted2:t.inverted}},selectUnion:function(e){return{segments:_M.union(e.combined,E0),inverted:e.inverted1||e.inverted2}},selectIntersect:function(e){return{segments:_M.intersect(e.combined,E0),inverted:e.inverted1&&e.inverted2}},selectDifference:function(e){return{segments:_M.difference(e.combined,E0),inverted:e.inverted1&&!e.inverted2}},selectDifferenceRev:function(e){return{segments:_M.differenceRev(e.combined,E0),inverted:!e.inverted1&&e.inverted2}},selectXor:function(e){return{segments:_M.xor(e.combined,E0),inverted:e.inverted1!==e.inverted2}},polygon:function(e){return{regions:pct(e.segments,xM,E0),inverted:e.inverted}},polygonFromGeoJSON:function(e){return Bce.toPolygon(Ep,e)},polygonToGeoJSON:function(e){return Bce.fromPolygon(Ep,xM,e)},union:function(e,t){return bM(e,t,Ep.selectUnion)},intersect:function(e,t){return bM(e,t,Ep.selectIntersect)},difference:function(e,t){return bM(e,t,Ep.selectDifference)},differenceRev:function(e,t){return bM(e,t,Ep.selectDifferenceRev)},xor:function(e,t){return bM(e,t,Ep.selectXor)}};function bM(e,t,r){var n=Ep.segments(e),i=Ep.segments(t),a=Ep.combine(n,i),o=r(a);return Ep.polygon(o)}typeof window==\"object\"&&(window.PolyBool=Ep);Nce.exports=Ep});var Hce=ye((Sir,Vce)=>{Vce.exports=function(t,r,n,i){var a=t[0],o=t[1],s=!1;n===void 0&&(n=0),i===void 0&&(i=r.length);for(var l=i-n,u=0,c=l-1;uo!=v>o&&a<(d-f)*(o-h)/(v-h)+f;x&&(s=!s)}return s}});var wM=ye((Mir,Gce)=>{\"use strict\";var vN=g6().dot,cP=es().BADNUM,fP=Gce.exports={};fP.tester=function(t){var r=t.slice(),n=r[0][0],i=n,a=r[0][1],o=a,s;for((r[r.length-1][0]!==r[0][0]||r[r.length-1][1]!==r[0][1])&&r.push(r[0]),s=1;si||g===cP||go||x&&u(v))}function f(v,x){var b=v[0],g=v[1];if(b===cP||bi||g===cP||go)return!1;var E=r.length,k=r[0][0],A=r[0][1],L=0,_,C,M,p,P;for(_=1;_Math.max(C,k)||g>Math.max(M,A)))if(gs||Math.abs(vN(f,u))>i)return!0;return!1};fP.filter=function(t,r){var n=[t[0]],i=0,a=0;function o(l){t.push(l);var u=n.length,c=i;n.splice(a+1);for(var f=c+1;f1){var s=t.pop();o(s)}return{addPt:o,raw:t,filtered:n}}});var Wce=ye((Eir,jce)=>{\"use strict\";jce.exports={BENDPX:1.5,MINSELECT:12,SELECTDELAY:100,SELECTID:\"-select\"}});var vfe=ye((kir,dfe)=>{\"use strict\";var Zce=Uce(),gct=Hce(),SM=ba(),mct=ao().dashStyle,TM=va(),yct=Nc(),_ct=rp().makeEventData,LM=Sg(),xct=LM.freeMode,bct=LM.rectMode,MM=LM.drawMode,yN=LM.openMode,_N=LM.selectMode,Xce=f_(),Yce=cM(),efe=JL(),tfe=Q1().clearOutline,rfe=u_(),pN=rfe.handleEllipse,wct=rfe.readPaths,Tct=ZL().newShapes,Act=VB(),Sct=dN().activateLastSelection,dP=Mr(),Mct=dP.sorterAsc,ife=wM(),AM=L6(),k0=af().getFromId,Ect=lM(),kct=gM().redrawReglTraces,vP=Wce(),Am=vP.MINSELECT,Cct=ife.filter,xN=ife.tester,bN=HL(),Kce=bN.p2r,Lct=bN.axValue,Pct=bN.getTransform;function wN(e){return e.subplot!==void 0}function Ict(e,t,r,n,i){var a=!wN(n),o=xct(i),s=bct(i),l=yN(i),u=MM(i),c=_N(i),f=i===\"drawline\",h=i===\"drawcircle\",d=f||h,v=n.gd,x=v._fullLayout,b=c&&x.newselection.mode===\"immediate\"&&a,g=x._zoomlayer,E=n.element.getBoundingClientRect(),k=n.plotinfo,A=Pct(k),L=t-E.left,_=r-E.top;x._calcInverseTransform(v);var C=dP.apply3DTransform(x._invTransform)(L,_);L=C[0],_=C[1];var M=x._invScaleX,p=x._invScaleY,P=L,T=_,F=\"M\"+L+\",\"+_,q=n.xaxes[0],V=n.yaxes[0],H=q._length,X=V._length,G=e.altKey&&!(MM(i)&&l),N,W,re,ae,_e,Me,ke;afe(e,v,n),o&&(N=Cct([[L,_]],vP.BENDPX));var ge=g.selectAll(\"path.select-outline-\"+k.id).data([1]),ie=u?x.newshape:x.newselection;u&&(n.hasText=ie.label.text||ie.label.texttemplate);var Te=u&&!l?ie.fillcolor:\"rgba(0,0,0,0)\",Ee=ie.line.color||(a?TM.contrast(v._fullLayout.plot_bgcolor):\"#7f7f7f\");ge.enter().append(\"path\").attr(\"class\",\"select-outline select-outline-\"+k.id).style({opacity:u?ie.opacity/2:1,\"stroke-dasharray\":mct(ie.line.dash,ie.line.width),\"stroke-width\":ie.line.width+\"px\",\"shape-rendering\":\"crispEdges\"}).call(TM.stroke,Ee).call(TM.fill,Te).attr(\"fill-rule\",\"evenodd\").classed(\"cursor-move\",!!u).attr(\"transform\",A).attr(\"d\",F+\"Z\");var Ae=g.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:TM.background,stroke:TM.defaultLine,\"stroke-width\":1}).attr(\"transform\",A).attr(\"d\",\"M0,0Z\");if(u&&n.hasText){var ze=g.select(\".label-temp\");ze.empty()&&(ze=g.append(\"g\").classed(\"label-temp\",!0).classed(\"select-outline\",!0).style({opacity:.8}))}var Ce=x._uid+vP.SELECTID,me=[],Re=pP(v,n.xaxes,n.yaxes,n.subplot);b&&!e.shiftKey&&(n._clearSubplotSelections=function(){if(a){var Ge=q._id,nt=V._id;cfe(v,Ge,nt,Re);for(var ct=(v.layout||{}).selections||[],qt=[],rt=!1,ot=0;ot=0){v._fullLayout._deactivateShape(v);return}if(!u){var ct=x.clickmode;AM.done(Ce).then(function(){if(AM.clear(Ce),Ge===2){for(ge.remove(),_e=0;_e-1&&nfe(nt,v,n.xaxes,n.yaxes,n.subplot,n,ge),ct===\"event\"&&CM(v,void 0);yct.click(v,nt,k.id)}).catch(dP.error)}},n.doneFn=function(){Ae.remove(),AM.done(Ce).then(function(){AM.clear(Ce),!b&&ae&&n.selectionDefs&&(ae.subtract=G,n.selectionDefs.push(ae),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,re)),(b||u)&&EM(n,b),n.doneFnCompleted&&n.doneFnCompleted(me),c&&CM(v,ke)}).catch(dP.error)}}function nfe(e,t,r,n,i,a,o){var s=t._hoverdata,l=t._fullLayout,u=l.clickmode,c=u.indexOf(\"event\")>-1,f=[],h,d,v,x,b,g,E,k,A,L;if(qct(s)){afe(e,t,a),h=pP(t,r,n,i);var _=Oct(s,h),C=_.pointNumbers.length>0;if(C?Bct(h,_):Nct(h)&&(E=$ce(_))){for(o&&o.remove(),L=0;L=0}function Fct(e){return e._fullLayout._activeSelectionIndex>=0}function EM(e,t){var r=e.dragmode,n=e.plotinfo,i=e.gd;zct(i)&&i._fullLayout._deactivateShape(i),Fct(i)&&i._fullLayout._deactivateSelection(i);var a=i._fullLayout,o=a._zoomlayer,s=MM(r),l=_N(r);if(s||l){var u=o.selectAll(\".select-outline-\"+n.id);if(u&&i._fullLayout._outlining){var c;s&&(c=Tct(u,e)),c&&SM.call(\"_guiRelayout\",i,{shapes:c});var f;l&&!wN(e)&&(f=Act(u,e)),f&&(i._fullLayout._noEmitSelectedAtStart=!0,SM.call(\"_guiRelayout\",i,{selections:f}).then(function(){t&&Sct(i)})),i._fullLayout._outlining=!1}}n.selection={},n.selection.selectionDefs=e.selectionDefs=[],n.selection.mergedPolygons=e.mergedPolygons=[]}function Jce(e){return e._id}function pP(e,t,r,n){if(!e.calcdata)return[];var i=[],a=t.map(Jce),o=r.map(Jce),s,l,u;for(u=0;u0,a=i?n[0]:r;return t.selectedpoints?t.selectedpoints.indexOf(a)>-1:!1}function Bct(e,t){var r=[],n,i,a,o;for(o=0;o0&&r.push(n);if(r.length===1&&(a=r[0]===t.searchInfo,a&&(i=t.searchInfo.cd[0].trace,i.selectedpoints.length===t.pointNumbers.length))){for(o=0;o1||(t+=n.selectedpoints.length,t>1)))return!1;return t===1}function kM(e,t,r){var n;for(n=0;n-1&&t;if(!o&&t){var Ge=Qce(e,!0);if(Ge.length){var nt=Ge[0].xref,ct=Ge[0].yref;if(nt&&ct){var qt=ffe(Ge),rt=hfe([k0(e,nt,\"x\"),k0(e,ct,\"y\")]);rt(me,qt)}}e._fullLayout._noEmitSelectedAtStart?e._fullLayout._noEmitSelectedAtStart=!1:ce&&CM(e,me),h._reselect=!1}if(!o&&h._deselect){var ot=h._deselect;s=ot.xref,l=ot.yref,Hct(s,l,c)||cfe(e,s,l,n),ce&&(me.points.length?CM(e,me):SN(e)),h._deselect=!1}return{eventData:me,selectionTesters:r}}function Vct(e){var t=e.calcdata;if(t)for(var r=0;r{\"use strict\";pfe.exports=[{path:\"\",backoff:0},{path:\"M-2.4,-3V3L0.6,0Z\",backoff:.6},{path:\"M-3.7,-2.5V2.5L1.3,0Z\",backoff:1.3},{path:\"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z\",backoff:1.55},{path:\"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z\",backoff:1.6},{path:\"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z\",backoff:2},{path:\"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z\",backoff:0,noRotate:!0},{path:\"M2,2V-2H-2V2Z\",backoff:0,noRotate:!0}]});var PM=ye((Lir,gfe)=>{\"use strict\";gfe.exports={axisRefDescription:function(e,t,r){return[\"If set to a\",e,\"axis id (e.g. *\"+e+\"* or\",\"*\"+e+\"2*), the `\"+e+\"` position refers to a\",e,\"coordinate. If set to *paper*, the `\"+e+\"`\",\"position refers to the distance from the\",t,\"of the plotting\",\"area in normalized coordinates where *0* (*1*) corresponds to the\",t,\"(\"+r+\"). If set to a\",e,\"axis ID followed by\",\"*domain* (separated by a space), the position behaves like for\",\"*paper*, but refers to the distance in fractions of the domain\",\"length from the\",t,\"of the domain of that axis: e.g.,\",\"*\"+e+\"2 domain* refers to the domain of the second\",e,\" axis and a\",e,\"position of 0.5 refers to the\",\"point between the\",t,\"and the\",r,\"of the domain of the\",\"second\",e,\"axis.\"].join(\" \")}}});var Nb=ye((Iir,_fe)=>{\"use strict\";var mfe=MN(),yfe=Su(),gP=ad(),Xct=Vs().templatedArray,Pir=PM();_fe.exports=Xct(\"annotation\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},text:{valType:\"string\",editType:\"calc+arraydraw\"},textangle:{valType:\"angle\",dflt:0,editType:\"calc+arraydraw\"},font:yfe({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),width:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},height:{valType:\"number\",min:1,dflt:null,editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"center\",editType:\"arraydraw\"},valign:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"middle\",editType:\"arraydraw\"},bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},borderpad:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc+arraydraw\"},showarrow:{valType:\"boolean\",dflt:!0,editType:\"calc+arraydraw\"},arrowcolor:{valType:\"color\",editType:\"arraydraw\"},arrowhead:{valType:\"integer\",min:0,max:mfe.length,dflt:1,editType:\"arraydraw\"},startarrowhead:{valType:\"integer\",min:0,max:mfe.length,dflt:1,editType:\"arraydraw\"},arrowside:{valType:\"flaglist\",flags:[\"end\",\"start\"],extras:[\"none\"],dflt:\"end\",editType:\"arraydraw\"},arrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},startarrowsize:{valType:\"number\",min:.3,dflt:1,editType:\"calc+arraydraw\"},arrowwidth:{valType:\"number\",min:.1,editType:\"calc+arraydraw\"},standoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},startstandoff:{valType:\"number\",min:0,dflt:0,editType:\"calc+arraydraw\"},ax:{valType:\"any\",editType:\"calc+arraydraw\"},ay:{valType:\"any\",editType:\"calc+arraydraw\"},axref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",gP.idRegex.x.toString()],editType:\"calc\"},ayref:{valType:\"enumerated\",dflt:\"pixel\",values:[\"pixel\",gP.idRegex.y.toString()],editType:\"calc\"},xref:{valType:\"enumerated\",values:[\"paper\",gP.idRegex.x.toString()],editType:\"calc\"},x:{valType:\"any\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},xshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",gP.idRegex.y.toString()],editType:\"calc\"},y:{valType:\"any\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yshift:{valType:\"number\",dflt:0,editType:\"calc+arraydraw\"},clicktoshow:{valType:\"enumerated\",values:[!1,\"onoff\",\"onout\"],dflt:!1,editType:\"arraydraw\"},xclick:{valType:\"any\",editType:\"arraydraw\"},yclick:{valType:\"any\",editType:\"arraydraw\"},hovertext:{valType:\"string\",editType:\"arraydraw\"},hoverlabel:{bgcolor:{valType:\"color\",editType:\"arraydraw\"},bordercolor:{valType:\"color\",editType:\"arraydraw\"},font:yfe({editType:\"arraydraw\"}),editType:\"arraydraw\"},captureevents:{valType:\"boolean\",editType:\"arraydraw\"},editType:\"calc\"})});var Sm=ye((Rir,xfe)=>{\"use strict\";xfe.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}});var Eg=ye((Dir,bfe)=>{\"use strict\";bfe.exports=function(t){return{valType:\"color\",editType:\"style\",anim:!0}}});var Uc=ye((zir,Efe)=>{\"use strict\";var wfe=Oc().axisHoverFormat,Yct=Wo().texttemplateAttrs,Kct=Wo().hovertemplateAttrs,Tfe=Kl(),Jct=Su(),$ct=Ed().dash,Qct=Ed().pattern,eft=ao(),tft=Sm(),mP=no().extendFlat,rft=Eg();function Afe(e){return{valType:\"any\",dflt:0,editType:\"calc\"}}function Sfe(e){return{valType:\"any\",editType:\"calc\"}}function Mfe(e){return{valType:\"enumerated\",values:[\"start\",\"middle\",\"end\"],dflt:\"middle\",editType:\"calc\"}}Efe.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},x0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dx:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\",anim:!0},y0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\",anim:!0},dy:{valType:\"number\",dflt:1,editType:\"calc\",anim:!0},xperiod:Afe(\"x\"),yperiod:Afe(\"y\"),xperiod0:Sfe(\"x0\"),yperiod0:Sfe(\"y0\"),xperiodalignment:Mfe(\"x\"),yperiodalignment:Mfe(\"y\"),xhoverformat:wfe(\"x\"),yhoverformat:wfe(\"y\"),offsetgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},alignmentgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},stackgroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc\"},groupnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},stackgaps:{valType:\"enumerated\",values:[\"infer zero\",\"interpolate\"],dflt:\"infer zero\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},texttemplate:Yct({},{}),hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"],editType:\"calc\"},hoveron:{valType:\"flaglist\",flags:[\"points\",\"fills\"],editType:\"style\"},hovertemplate:Kct({},{keys:tft.eventDataKeys}),line:{color:{valType:\"color\",editType:\"style\",anim:!0},width:{valType:\"number\",min:0,dflt:2,editType:\"style\",anim:!0},shape:{valType:\"enumerated\",values:[\"linear\",\"spline\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},smoothing:{valType:\"number\",min:0,max:1.3,dflt:1,editType:\"plot\"},dash:mP({},$ct,{editType:\"style\"}),backoff:{valType:\"number\",min:0,dflt:\"auto\",arrayOk:!0,editType:\"plot\"},simplify:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cliponaxis:{valType:\"boolean\",dflt:!0,editType:\"plot\"},fill:{valType:\"enumerated\",values:[\"none\",\"tozeroy\",\"tozerox\",\"tonexty\",\"tonextx\",\"toself\",\"tonext\"],editType:\"calc\"},fillcolor:rft(!0),fillgradient:mP({type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],dflt:\"none\",editType:\"calc\"},start:{valType:\"number\",editType:\"calc\"},stop:{valType:\"number\",editType:\"calc\"},colorscale:{valType:\"colorscale\",editType:\"style\"},editType:\"calc\"}),fillpattern:Qct,marker:mP({symbol:{valType:\"enumerated\",values:eft.symbolList,dflt:\"circle\",arrayOk:!0,editType:\"style\"},opacity:{valType:\"number\",min:0,max:1,arrayOk:!0,editType:\"style\",anim:!0},angle:{valType:\"angle\",dflt:0,arrayOk:!0,editType:\"plot\",anim:!1},angleref:{valType:\"enumerated\",values:[\"previous\",\"up\"],dflt:\"up\",editType:\"plot\",anim:!1},standoff:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"plot\",anim:!0},size:{valType:\"number\",min:0,dflt:6,arrayOk:!0,editType:\"calc\",anim:!0},maxdisplayed:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},sizeref:{valType:\"number\",dflt:1,editType:\"calc\"},sizemin:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"diameter\",\"area\"],dflt:\"diameter\",editType:\"calc\"},line:mP({width:{valType:\"number\",min:0,arrayOk:!0,editType:\"style\",anim:!0},editType:\"calc\"},Tfe(\"marker.line\",{anim:!0})),gradient:{type:{valType:\"enumerated\",values:[\"radial\",\"horizontal\",\"vertical\",\"none\"],arrayOk:!0,dflt:\"none\",editType:\"calc\"},color:{valType:\"color\",arrayOk:!0,editType:\"calc\"},editType:\"calc\"},editType:\"calc\"},Tfe(\"marker\",{anim:!0})),selected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},unselected:{marker:{opacity:{valType:\"number\",min:0,max:1,editType:\"style\"},color:{valType:\"color\",editType:\"style\"},size:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},textfont:{color:{valType:\"color\",editType:\"style\"},editType:\"style\"},editType:\"style\"},textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"middle center\",arrayOk:!0,editType:\"calc\"},textfont:Jct({editType:\"calc\",colorEditType:\"style\",arrayOk:!0}),zorder:{valType:\"integer\",dflt:0,editType:\"plot\"}}});var EN=ye((qir,Lfe)=>{\"use strict\";var kfe=Nb(),Cfe=Uc().line,ift=Ed().dash,yP=no().extendFlat,nft=Bu().overrideAll,aft=Vs().templatedArray,Fir=PM();Lfe.exports=nft(aft(\"selection\",{type:{valType:\"enumerated\",values:[\"rect\",\"path\"]},xref:yP({},kfe.xref,{}),yref:yP({},kfe.yref,{}),x0:{valType:\"any\"},x1:{valType:\"any\"},y0:{valType:\"any\"},y1:{valType:\"any\"},path:{valType:\"string\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:.7,editType:\"arraydraw\"},line:{color:Cfe.color,width:yP({},Cfe.width,{min:1,dflt:1}),dash:yP({},ift,{dflt:\"dot\"})}}),\"arraydraw\",\"from-root\")});var Dfe=ye((Oir,Rfe)=>{\"use strict\";var Pfe=Mr(),_P=Qa(),oft=Zd(),sft=EN(),Ife=f_();Rfe.exports=function(t,r){oft(t,r,{name:\"selections\",handleItemDefaults:lft});for(var n=r.selections,i=0;i{\"use strict\";zfe.exports=function(t,r,n){n(\"newselection.mode\");var i=n(\"newselection.line.width\");i&&(n(\"newselection.line.color\"),n(\"newselection.line.dash\")),n(\"activeselection.fillcolor\"),n(\"activeselection.opacity\")}});var IM=ye((Nir,Bfe)=>{\"use strict\";var uft=ba(),qfe=Mr(),Ofe=af();Bfe.exports=function(t){return function(n,i){var a=n[t];if(Array.isArray(a))for(var o=uft.subplotsRegistry.cartesian,s=o.idRegex,l=i._subplots,u=l.xaxis,c=l.yaxis,f=l.cartesian,h=i._has(\"cartesian\"),d=0;d{\"use strict\";var Nfe=dN(),RM=vfe();Ufe.exports={moduleType:\"component\",name:\"selections\",layoutAttributes:EN(),supplyLayoutDefaults:Dfe(),supplyDrawNewSelectionDefaults:Ffe(),includeBasePlot:IM()(\"selections\"),draw:Nfe.draw,drawOne:Nfe.drawOne,reselect:RM.reselect,prepSelect:RM.prepSelect,clearOutline:RM.clearOutline,clearSelectionsCache:RM.clearSelectionsCache,selectOnClick:RM.selectOnClick}});var DN=ye((Vir,she)=>{\"use strict\";var IN=xa(),C0=Mr(),Vfe=C0.numberFormat,cft=id(),fft=EL(),xP=ba(),Jfe=C0.strTranslate,hft=Ll(),Hfe=va(),d_=ao(),dft=Nc(),Gfe=Qa(),vft=Tg(),pft=gv(),$fe=Sg(),bP=$fe.selectingOrDrawing,gft=$fe.freeMode,mft=Nh().FROM_TL,yft=lM(),_ft=gM().redrawReglTraces,xft=Xu(),CN=af().getFromId,bft=wf().prepSelect,wft=wf().clearOutline,Tft=wf().selectOnClick,kN=aN(),RN=ad(),jfe=RN.MINDRAG,np=RN.MINZOOM,Wfe=!0;function Aft(e,t,r,n,i,a,o,s){var l=e._fullLayout._zoomlayer,u=o+s===\"nsew\",c=(o+s).length===1,f,h,d,v,x,b,g,E,k,A,L,_,C,M,p,P,T,F,q,V,H,X,G;r+=t.yaxis._shift;function N(){if(f=t.xaxis,h=t.yaxis,k=f._length,A=h._length,g=f._offset,E=h._offset,d={},d[f._id]=f,v={},v[h._id]=h,o&&s)for(var Et=t.overlays,dt=0;dt=0){Ht._fullLayout._deactivateShape(Ht);return}var $t=Ht._fullLayout.clickmode;if(PN(Ht),Et===2&&!c&&er(),u)$t.indexOf(\"select\")>-1&&Tft(dt,Ht,x,b,t.id,ae),$t.indexOf(\"event\")>-1&&dft.click(Ht,dt,t.id);else if(Et===1&&c){var fr=o?h:f,_r=o===\"s\"||s===\"w\"?0:1,Br=fr._name+\".range[\"+_r+\"]\",Or=Sft(fr,_r),Nr=\"left\",ut=\"middle\";if(fr.fixedrange)return;o?(ut=o===\"n\"?\"top\":\"bottom\",fr.side===\"right\"&&(Nr=\"right\")):s===\"e\"&&(Nr=\"right\"),Ht._context.showAxisRangeEntryBoxes&&IN.select(re).call(hft.makeEditable,{gd:Ht,immediate:!0,background:Ht._fullLayout.paper_bgcolor,text:String(Or),fill:fr.tickfont?fr.tickfont.color:\"#444\",horizontalAlign:Nr,verticalAlign:ut}).on(\"edit\",function(Ne){var Ye=fr.d2r(Ne);Ye!==void 0&&xP.call(\"_guiRelayout\",Ht,Br,Ye)})}}pft.init(ae);var ke,ge,ie,Te,Ee,Ae,ze,Ce,me,Re;function ce(Et,dt,Ht){var $t=re.getBoundingClientRect();ke=dt-$t.left,ge=Ht-$t.top,e._fullLayout._calcInverseTransform(e);var fr=C0.apply3DTransform(e._fullLayout._invTransform)(ke,ge);ke=fr[0],ge=fr[1],ie={l:ke,r:ke,w:0,t:ge,b:ge,h:0},Te=e._hmpixcount?e._hmlumcount/e._hmpixcount:cft(e._fullLayout.plot_bgcolor).getLuminance(),Ee=\"M0,0H\"+k+\"V\"+A+\"H0V0\",Ae=!1,ze=\"xy\",Re=!1,Ce=the(l,Te,g,E,Ee),me=rhe(l,g,E)}function Ge(Et,dt){if(e._transitioningWithDuration)return!1;var Ht=Math.max(0,Math.min(k,X*Et+ke)),$t=Math.max(0,Math.min(A,G*dt+ge)),fr=Math.abs(Ht-ke),_r=Math.abs($t-ge);ie.l=Math.min(ke,Ht),ie.r=Math.max(ke,Ht),ie.t=Math.min(ge,$t),ie.b=Math.max(ge,$t);function Br(){ze=\"\",ie.r=ie.l,ie.t=ie.b,me.attr(\"d\",\"M0,0Z\")}if(L.isSubplotConstrained)fr>np||_r>np?(ze=\"xy\",fr/k>_r/A?(_r=fr*A/k,ge>$t?ie.t=ge-_r:ie.b=ge+_r):(fr=_r*k/A,ke>Ht?ie.l=ke-fr:ie.r=ke+fr),me.attr(\"d\",wP(ie))):Br();else if(_.isSubplotConstrained)if(fr>np||_r>np){ze=\"xy\";var Or=Math.min(ie.l/k,(A-ie.b)/A),Nr=Math.max(ie.r/k,(A-ie.t)/A);ie.l=Or*k,ie.r=Nr*k,ie.b=(1-Or)*A,ie.t=(1-Nr)*A,me.attr(\"d\",wP(ie))}else Br();else!M||_r0){var Ne;if(_.isSubplotConstrained||!C&&M.length===1){for(Ne=0;Ne1&&(Br.maxallowed!==void 0&&P===(Br.range[0]1&&(Or.maxallowed!==void 0&&T===(Or.range[0]=0?Math.min(e,.9):1/(1/Math.max(e,-.3)+3.222))}function Eft(e,t,r){return e?e===\"nsew\"?r?\"\":t===\"pan\"?\"move\":\"crosshair\":e.toLowerCase()+\"-resize\":\"pointer\"}function the(e,t,r,n,i){return e.append(\"path\").attr(\"class\",\"zoombox\").style({fill:t>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"transform\",Jfe(r,n)).attr(\"d\",i+\"Z\")}function rhe(e,t,r){return e.append(\"path\").attr(\"class\",\"zoombox-corners\").style({fill:Hfe.background,stroke:Hfe.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"transform\",Jfe(t,r)).attr(\"d\",\"M0,0Z\")}function ihe(e,t,r,n,i,a){e.attr(\"d\",n+\"M\"+r.l+\",\"+r.t+\"v\"+r.h+\"h\"+r.w+\"v-\"+r.h+\"h-\"+r.w+\"Z\"),nhe(e,t,i,a)}function nhe(e,t,r,n){r||(e.transition().style(\"fill\",n>.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),t.transition().style(\"opacity\",1).duration(200))}function PN(e){IN.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}function ahe(e){Wfe&&e.data&&e._context.showTips&&(C0.notifier(C0._(e,\"Double-click to zoom back out\"),\"long\"),Wfe=!1)}function kft(e,t){return\"M\"+(e.l-.5)+\",\"+(t-np-.5)+\"h-3v\"+(2*np+1)+\"h3ZM\"+(e.r+.5)+\",\"+(t-np-.5)+\"h3v\"+(2*np+1)+\"h-3Z\"}function Cft(e,t){return\"M\"+(t-np-.5)+\",\"+(e.t-.5)+\"v-3h\"+(2*np+1)+\"v3ZM\"+(t-np-.5)+\",\"+(e.b+.5)+\"v3h\"+(2*np+1)+\"v-3Z\"}function wP(e){var t=Math.floor(Math.min(e.b-e.t,e.r-e.l,np)/2);return\"M\"+(e.l-3.5)+\",\"+(e.t-.5+t)+\"h3v\"+-t+\"h\"+t+\"v-3h-\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.t-.5+t)+\"h-3v\"+-t+\"h\"+-t+\"v-3h\"+(t+3)+\"ZM\"+(e.r+3.5)+\",\"+(e.b+.5-t)+\"h-3v\"+t+\"h\"+-t+\"v3h\"+(t+3)+\"ZM\"+(e.l-3.5)+\",\"+(e.b+.5-t)+\"h3v\"+t+\"h\"+t+\"v3h-\"+(t+3)+\"Z\"}function Yfe(e,t,r,n,i){for(var a=!1,o={},s={},l,u,c,f,h=(i||{}).xaHash,d=(i||{}).yaHash,v=0;v{\"use strict\";var Lft=xa(),TP=Nc(),Pft=gv(),Ift=Tg(),kg=DN().makeDragBox,ud=ad().DRAGGERSIZE;AP.initInteractions=function(t){var r=t._fullLayout;if(t._context.staticPlot){Lft.select(t).selectAll(\".drag\").remove();return}if(!(!r._has(\"cartesian\")&&!r._has(\"splom\"))){var n=Object.keys(r._plots||{}).sort(function(a,o){if((r._plots[a].mainplot&&!0)===(r._plots[o].mainplot&&!0)){var s=a.split(\"y\"),l=o.split(\"y\");return s[0]===l[0]?Number(s[1]||1)-Number(l[1]||1):Number(s[0]||1)-Number(l[0]||1)}return r._plots[a].mainplot?1:-1});n.forEach(function(a){var o=r._plots[a],s=o.xaxis,l=o.yaxis;if(!o.mainplot){var u=kg(t,o,s._offset,l._offset,s._length,l._length,\"ns\",\"ew\");u.onmousemove=function(h){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===a&&t._fullLayout._plots[a]&&TP.hover(t,h,a)},TP.hover(t,h,a),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=a},u.onmouseout=function(h){t._dragging||(t._fullLayout._hoversubplot=null,Pft.unhover(t,h))},t._context.showAxisDragHandles&&(kg(t,o,s._offset-ud,l._offset-ud,ud,ud,\"n\",\"w\"),kg(t,o,s._offset+s._length,l._offset-ud,ud,ud,\"n\",\"e\"),kg(t,o,s._offset-ud,l._offset+l._length,ud,ud,\"s\",\"w\"),kg(t,o,s._offset+s._length,l._offset+l._length,ud,ud,\"s\",\"e\"))}if(t._context.showAxisDragHandles){if(a===s._mainSubplot){var c=s._mainLinePosition;s.side===\"top\"&&(c-=ud),kg(t,o,s._offset+s._length*.1,c,s._length*.8,ud,\"\",\"ew\"),kg(t,o,s._offset,c,s._length*.1,ud,\"\",\"w\"),kg(t,o,s._offset+s._length*.9,c,s._length*.1,ud,\"\",\"e\")}if(a===l._mainSubplot){var f=l._mainLinePosition;l.side!==\"right\"&&(f-=ud),kg(t,o,f,l._offset+l._length*.1,ud,l._length*.8,\"ns\",\"\"),kg(t,o,f,l._offset+l._length*.9,ud,l._length*.1,\"s\",\"\"),kg(t,o,f,l._offset,ud,l._length*.1,\"n\",\"\")}}});var i=r._hoverlayer.node();i.onmousemove=function(a){a.target=t._fullLayout._lasthover,TP.hover(t,a,r._hoversubplot)},i.onclick=function(a){a.target=t._fullLayout._lasthover,TP.click(t,a)},i.onmousedown=function(a){t._fullLayout._lasthover.onmousedown(a)},AP.updateFx(t)}};AP.updateFx=function(e){var t=e._fullLayout,r=t.dragmode===\"pan\"?\"move\":\"crosshair\";Ift(t._draggers,r)}});var che=ye((Gir,uhe)=>{\"use strict\";var lhe=ba();uhe.exports=function(t){for(var r=lhe.layoutArrayContainers,n=lhe.layoutArrayRegexes,i=t.split(\"[\")[0],a,o,s=0;s{\"use strict\";var Rft=gy(),FN=p6(),DM=H1(),Dft=E6().sorterAsc,qN=ba();zM.containerArrayMatch=che();var zft=zM.isAddVal=function(t){return t===\"add\"||Rft(t)},fhe=zM.isRemoveVal=function(t){return t===null||t===\"remove\"};zM.applyContainerArrayChanges=function(t,r,n,i,a){var o=r.astr,s=qN.getComponentMethod(o,\"supplyLayoutDefaults\"),l=qN.getComponentMethod(o,\"draw\"),u=qN.getComponentMethod(o,\"drawOne\"),c=i.replot||i.recalc||s===FN||l===FN,f=t.layout,h=t._fullLayout;if(n[\"\"]){Object.keys(n).length>1&&DM.warn(\"Full array edits are incompatible with other edits\",o);var d=n[\"\"][\"\"];if(fhe(d))r.set(null);else if(Array.isArray(d))r.set(d);else return DM.warn(\"Unrecognized full array edit value\",o,d),!0;return c?!1:(s(f,h),l(t),!0)}var v=Object.keys(n).map(Number).sort(Dft),x=r.get(),b=x||[],g=a(h,o).get(),E=[],k=-1,A=b.length,L,_,C,M,p,P,T,F;for(L=0;Lb.length-(T?0:1)){DM.warn(\"index out of range\",o,C);continue}if(P!==void 0)p.length>1&&DM.warn(\"Insertion & removal are incompatible with edits to the same index.\",o,C),fhe(P)?E.push(C):T?(P===\"add\"&&(P={}),b.splice(C,0,P),g&&g.splice(C,0,{})):DM.warn(\"Unrecognized full object edit value\",o,C,P),k===-1&&(k=C);else for(_=0;_=0;L--)b.splice(E[L],1),g&&g.splice(E[L],1);if(b.length?x||r.set(b):r.set(null),c)return!1;if(s(f,h),u!==FN){var q;if(k===-1)q=v;else{for(A=Math.max(b.length,A),q=[],L=0;L=k));L++)q.push(C);for(L=k;L{\"use strict\";var ghe=uo(),Wir=Cq(),mhe=ba(),kp=Mr(),FM=Xu(),yhe=af(),_he=va(),qM=yhe.cleanId,Fft=yhe.getFromTrace,ON=mhe.traceIs;Cg.clearPromiseQueue=function(e){Array.isArray(e._promises)&&e._promises.length>0&&kp.log(\"Clearing previous rejected promises from queue.\"),e._promises=[]};Cg.cleanLayout=function(e){var t,r;e||(e={}),e.xaxis1&&(e.xaxis||(e.xaxis=e.xaxis1),delete e.xaxis1),e.yaxis1&&(e.yaxis||(e.yaxis=e.yaxis1),delete e.yaxis1),e.scene1&&(e.scene||(e.scene=e.scene1),delete e.scene1);var n=(FM.subplotsRegistry.cartesian||{}).attrRegex,i=(FM.subplotsRegistry.polar||{}).attrRegex,a=(FM.subplotsRegistry.ternary||{}).attrRegex,o=(FM.subplotsRegistry.gl3d||{}).attrRegex,s=Object.keys(e);for(t=0;t3?(b.x=1.02,b.xanchor=\"left\"):b.x<-2&&(b.x=-.02,b.xanchor=\"right\"),b.y>3?(b.y=1.02,b.yanchor=\"bottom\"):b.y<-2&&(b.y=-.02,b.yanchor=\"top\")),e.dragmode===\"rotate\"&&(e.dragmode=\"orbit\"),_he.clean(e),e.template&&e.template.layout&&Cg.cleanLayout(e.template.layout),e};function Y3(e,t){var r=e[t],n=t.charAt(0);r&&r!==\"paper\"&&(e[t]=qM(r,n,!0))}Cg.cleanData=function(e){for(var t=0;t0)return e.substr(0,t)}Cg.hasParent=function(e,t){for(var r=phe(t);r;){if(r in e)return!0;r=phe(r)}return!1};var Bft=[\"x\",\"y\",\"z\"];Cg.clearAxisTypes=function(e,t,r){for(var n=0;n{\"use strict\";var kP=xa(),Nft=uo(),Uft=Jq(),sa=Mr(),Yu=sa.nestedProperty,UN=g3(),ap=nne(),L0=ba(),zP=_3(),Ho=Xu(),Nv=Qa(),Vft=hB(),Hft=Cd(),BN=ao(),Gft=va(),jft=zN().initInteractions,Wft=Zp(),Zft=wf().clearOutline,She=ub().dfltConfig,MP=hhe(),yh=xhe(),Jl=gM(),v_=Bu(),Xft=ad().AX_NAME_PATTERN,NN=0,bhe=5;function Yft(e,t,r,n){var i;if(e=sa.getGraphDiv(e),UN.init(e),sa.isPlainObject(t)){var a=t;t=a.data,r=a.layout,n=a.config,i=a.frames}var o=UN.triggerHandler(e,\"plotly_beforeplot\",[t,r,n]);if(o===!1)return Promise.reject();!t&&!r&&!sa.isPlotDiv(e)&&sa.warn(\"Calling _doPlot as if redrawing but this container doesn't yet have a plot.\",e);function s(){if(i)return pl.addFrames(e,i)}Ehe(e,n),r||(r={}),kP.select(e).classed(\"js-plotly-plot\",!0),BN.makeTester(),Array.isArray(e._promises)||(e._promises=[]);var l=(e.data||[]).length===0&&Array.isArray(t);Array.isArray(t)&&(yh.cleanData(t),l?e.data=t:e.data.push.apply(e.data,t),e.empty=!1),(!e.layout||l)&&(e.layout=yh.cleanLayout(r)),Ho.supplyDefaults(e);var u=e._fullLayout,c=u._has(\"cartesian\");u._replotting=!0,(l||u._shouldCreateBgLayer)&&(yht(e),u._shouldCreateBgLayer&&delete u._shouldCreateBgLayer),BN.initGradients(e),BN.initPatterns(e),l&&Nv.saveShowSpikeInitial(e);var f=!e.calcdata||e.calcdata.length!==(e._fullData||[]).length;f&&Ho.doCalcdata(e);for(var h=0;h=e.data.length||i<-e.data.length)throw new Error(r+\" must be valid indices for gd.data.\");if(t.indexOf(i,n+1)>-1||i>=0&&t.indexOf(-e.data.length+i)>-1||i<0&&t.indexOf(e.data.length+i)>-1)throw new Error(\"each index in \"+r+\" must be unique.\")}}function khe(e,t,r){if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"currentIndices is a required argument.\");if(Array.isArray(t)||(t=[t]),LP(e,t,\"currentIndices\"),typeof r!=\"undefined\"&&!Array.isArray(r)&&(r=[r]),typeof r!=\"undefined\"&&LP(e,r,\"newIndices\"),typeof r!=\"undefined\"&&t.length!==r.length)throw new Error(\"current and new indices must be of equal length.\")}function eht(e,t,r){var n,i;if(!Array.isArray(e.data))throw new Error(\"gd.data must be an array.\");if(typeof t==\"undefined\")throw new Error(\"traces must be defined.\");for(Array.isArray(t)||(t=[t]),n=0;n=0&&c=0&&c0&&typeof M.parts[T]!=\"string\";)T--;var F=M.parts[T],q=M.parts[T-1]+\".\"+F,V=M.parts.slice(0,T).join(\".\"),H=Yu(e.layout,V).get(),X=Yu(n,V).get(),G=M.get();if(p!==void 0){g[C]=p,E[C]=F===\"reverse\"?p:Cy(G);var N=zP.getLayoutValObject(n,M.parts);if(N&&N.impliedEdits&&p!==null)for(var W in N.impliedEdits)k(sa.relativeAttr(C,W),N.impliedEdits[W]);if([\"width\",\"height\"].indexOf(C)!==-1)if(p){k(\"autosize\",null);var re=C===\"height\"?\"width\":\"height\";k(re,n[re])}else n[C]=e._initialAutoSize[C];else if(C===\"autosize\")k(\"width\",p?null:n.width),k(\"height\",p?null:n.height);else if(q.match(qhe))_(q),Yu(n,V+\"._inputRange\").set(null);else if(q.match(Ohe)){_(q),Yu(n,V+\"._inputRange\").set(null);var ae=Yu(n,V).get();ae._inputDomain&&(ae._input.domain=ae._inputDomain.slice())}else q.match(nht)&&Yu(n,V+\"._inputDomain\").set(null);if(F===\"type\"){L=H;var _e=X.type===\"linear\"&&p===\"log\",Me=X.type===\"log\"&&p===\"linear\";if(_e||Me){if(!L||!L.range)k(V+\".autorange\",!0);else if(X.autorange)_e&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var ke=L.range[0],ge=L.range[1];_e?(ke<=0&&ge<=0&&k(V+\".autorange\",!0),ke<=0?ke=ge/1e6:ge<=0&&(ge=ke/1e6),k(V+\".range[0]\",Math.log(ke)/Math.LN10),k(V+\".range[1]\",Math.log(ge)/Math.LN10)):(k(V+\".range[0]\",Math.pow(10,ke)),k(V+\".range[1]\",Math.pow(10,ge)))}Array.isArray(n._subplots.polar)&&n._subplots.polar.length&&n[M.parts[0]]&&M.parts[1]===\"radialaxis\"&&delete n[M.parts[0]]._subplot.viewInitial[\"radialaxis.range\"],L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,X,p,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,X,p,k)}else k(V+\".autorange\",!0),k(V+\".range\",null);Yu(n,V+\"._inputRange\").set(null)}else if(F.match(Xft)){var ie=Yu(n,C).get(),Te=(p||{}).type;(!Te||Te===\"-\")&&(Te=\"linear\"),L0.getComponentMethod(\"annotations\",\"convertCoords\")(e,ie,Te,k),L0.getComponentMethod(\"images\",\"convertCoords\")(e,ie,Te,k)}var Ee=MP.containerArrayMatch(C);if(Ee){c=Ee.array,f=Ee.index;var Ae=Ee.property,ze=N||{editType:\"calc\"};f!==\"\"&&Ae===\"\"&&(MP.isAddVal(p)?E[C]=null:MP.isRemoveVal(p)?E[C]=(Yu(r,c).get()||[])[f]:sa.warn(\"unrecognized full object value\",t)),v_.update(b,ze),u[c]||(u[c]={});var Ce=u[c][f];Ce||(Ce=u[c][f]={}),Ce[Ae]=p,delete t[C]}else F===\"reverse\"?(H.range?H.range.reverse():(k(V+\".autorange\",!0),H.range=[1,0]),X.autorange?b.calc=!0:b.plot=!0):(C===\"dragmode\"&&(p===!1&&G!==!1||p!==!1&&G===!1)||n._has(\"scatter-like\")&&n._has(\"regl\")&&C===\"dragmode\"&&(p===\"lasso\"||p===\"select\")&&!(G===\"lasso\"||G===\"select\")?b.plot=!0:N?v_.update(b,N):b.calc=!0,M.set(p))}}for(c in u){var me=MP.applyContainerArrayChanges(e,a(r,c),u[c],b,a);me||(b.plot=!0)}for(var Re in A){L=Nv.getFromId(e,Re);var ce=L&&L._constraintGroup;if(ce){b.calc=!0;for(var Ge in ce)A[Ge]||(Nv.getFromId(e,Ge)._constraintShrinkable=!0)}}(Nhe(e)||t.height||t.width)&&(b.plot=!0);var nt=n.shapes;for(f=0;f1;)if(n.pop(),r=Yu(t,n.join(\".\")+\".uirevision\").get(),r!==void 0)return r;return t.uirevision}function sht(e,t){for(var r=0;r=i.length?i[0]:i[u]:i}function s(u){return Array.isArray(a)?u>=a.length?a[0]:a[u]:a}function l(u,c){var f=0;return function(){if(u&&++f===c)return u()}}return new Promise(function(u,c){function f(){if(n._frameQueue.length!==0){for(;n._frameQueue.length;){var F=n._frameQueue.pop();F.onInterrupt&&F.onInterrupt()}e.emit(\"plotly_animationinterrupted\",[])}}function h(F){if(F.length!==0){for(var q=0;qn._timeToNext&&v()};F()}var b=0;function g(F){return Array.isArray(i)?b>=i.length?F.transitionOpts=i[b]:F.transitionOpts=i[0]:F.transitionOpts=i,b++,F}var E,k,A=[],L=t==null,_=Array.isArray(t),C=!L&&!_&&sa.isPlainObject(t);if(C)A.push({type:\"object\",data:g(sa.extendFlat({},t))});else if(L||[\"string\",\"number\"].indexOf(typeof t)!==-1)for(E=0;E0&&PP)&&T.push(k);A=T}}A.length>0?h(A):(e.emit(\"plotly_animated\"),u())})}function vht(e,t,r){if(e=sa.getGraphDiv(e),t==null)return Promise.resolve();if(!sa.isPlotDiv(e))throw new Error(\"This element is not a Plotly plot: \"+e+\". It's likely that you've failed to create a plot before adding frames. For more details, see https://plotly.com/javascript/animations/\");var n,i,a,o,s=e._transitionData._frames,l=e._transitionData._frameHash;if(!Array.isArray(t))throw new Error(\"addFrames failure: frameList must be an Array of frame definitions\"+t);var u=s.length+t.length*2,c=[],f={};for(n=t.length-1;n>=0;n--)if(sa.isPlainObject(t[n])){var h=t[n].name,d=(l[h]||f[h]||{}).name,v=t[n].name,x=l[d]||f[d];d&&v&&typeof v==\"number\"&&x&&NNM.index?-1:C.index=0;n--){if(i=c[n].frame,typeof i.name==\"number\"&&sa.warn(\"Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings\"),!i.name)for(;l[i.name=\"frame \"+e._transitionData._counter++];);if(l[i.name]){for(a=0;a=0;r--)n=t[r],a.push({type:\"delete\",index:n}),o.unshift({type:\"insert\",index:n,value:i[n]});var s=Ho.modifyFrames,l=Ho.modifyFrames,u=[e,o],c=[e,a];return ap&&ap.add(e,s,u,l,c),Ho.modifyFrames(e,a)}function ght(e){e=sa.getGraphDiv(e);var t=e._fullLayout||{},r=e._fullData||[];return Ho.cleanPlot([],{},r,t),Ho.purge(e),UN.purge(e),t._container&&t._container.remove(),delete e._context,e}function mht(e){var t=e._fullLayout,r=e.getBoundingClientRect();if(!sa.equalDomRects(r,t._lastBBox)){var n=t._invTransform=sa.inverseTransformMatrix(sa.getFullTransformMatrix(e));t._invScaleX=Math.sqrt(n[0][0]*n[0][0]+n[0][1]*n[0][1]+n[0][2]*n[0][2]),t._invScaleY=Math.sqrt(n[1][0]*n[1][0]+n[1][1]*n[1][1]+n[1][2]*n[1][2]),t._lastBBox=r}}function yht(e){var t=kP.select(e),r=e._fullLayout;if(r._calcInverseTransform=mht,r._calcInverseTransform(e),r._container=t.selectAll(\".plot-container\").data([0]),r._container.enter().insert(\"div\",\":first-child\").classed(\"plot-container\",!0).classed(\"plotly\",!0).style({width:\"100%\",height:\"100%\"}),r._paperdiv=r._container.selectAll(\".svg-container\").data([0]),r._paperdiv.enter().append(\"div\").classed(\"user-select-none\",!0).classed(\"svg-container\",!0).style(\"position\",\"relative\"),r._glcontainer=r._paperdiv.selectAll(\".gl-container\").data([{}]),r._glcontainer.enter().append(\"div\").classed(\"gl-container\",!0),r._paperdiv.selectAll(\".main-svg\").remove(),r._paperdiv.select(\".modebar-container\").remove(),r._paper=r._paperdiv.insert(\"svg\",\":first-child\").classed(\"main-svg\",!0),r._toppaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),r._modebardiv=r._paperdiv.append(\"div\"),delete r._modeBar,r._hoverpaper=r._paperdiv.append(\"svg\").classed(\"main-svg\",!0),!r._uid){var n={};kP.selectAll(\"defs\").each(function(){this.id&&(n[this.id.split(\"-\")[1]]=1)}),r._uid=sa.randstr(n)}r._paperdiv.selectAll(\".main-svg\").attr(Wft.svgAttrs),r._defs=r._paper.append(\"defs\").attr(\"id\",\"defs-\"+r._uid),r._clips=r._defs.append(\"g\").classed(\"clips\",!0),r._topdefs=r._toppaper.append(\"defs\").attr(\"id\",\"topdefs-\"+r._uid),r._topclips=r._topdefs.append(\"g\").classed(\"clips\",!0),r._bgLayer=r._paper.append(\"g\").classed(\"bglayer\",!0),r._draggers=r._paper.append(\"g\").classed(\"draglayer\",!0);var i=r._paper.append(\"g\").classed(\"layer-below\",!0);r._imageLowerLayer=i.append(\"g\").classed(\"imagelayer\",!0),r._shapeLowerLayer=i.append(\"g\").classed(\"shapelayer\",!0),r._cartesianlayer=r._paper.append(\"g\").classed(\"cartesianlayer\",!0),r._polarlayer=r._paper.append(\"g\").classed(\"polarlayer\",!0),r._smithlayer=r._paper.append(\"g\").classed(\"smithlayer\",!0),r._ternarylayer=r._paper.append(\"g\").classed(\"ternarylayer\",!0),r._geolayer=r._paper.append(\"g\").classed(\"geolayer\",!0),r._funnelarealayer=r._paper.append(\"g\").classed(\"funnelarealayer\",!0),r._pielayer=r._paper.append(\"g\").classed(\"pielayer\",!0),r._iciclelayer=r._paper.append(\"g\").classed(\"iciclelayer\",!0),r._treemaplayer=r._paper.append(\"g\").classed(\"treemaplayer\",!0),r._sunburstlayer=r._paper.append(\"g\").classed(\"sunburstlayer\",!0),r._indicatorlayer=r._toppaper.append(\"g\").classed(\"indicatorlayer\",!0),r._glimages=r._paper.append(\"g\").classed(\"glimages\",!0);var a=r._toppaper.append(\"g\").classed(\"layer-above\",!0);r._imageUpperLayer=a.append(\"g\").classed(\"imagelayer\",!0),r._shapeUpperLayer=a.append(\"g\").classed(\"shapelayer\",!0),r._selectionLayer=r._toppaper.append(\"g\").classed(\"selectionlayer\",!0),r._infolayer=r._toppaper.append(\"g\").classed(\"infolayer\",!0),r._menulayer=r._toppaper.append(\"g\").classed(\"menulayer\",!0),r._zoomlayer=r._toppaper.append(\"g\").classed(\"zoomlayer\",!0),r._hoverlayer=r._hoverpaper.append(\"g\").classed(\"hoverlayer\",!0),r._modebardiv.classed(\"modebar-container\",!0).style(\"position\",\"absolute\").style(\"top\",\"0px\").style(\"right\",\"0px\"),e.emit(\"plotly_framework\")}pl.animate=dht;pl.addFrames=vht;pl.deleteFrames=pht;pl.addTraces=Rhe;pl.deleteTraces=Dhe;pl.extendTraces=Phe;pl.moveTraces=VN;pl.prependTraces=Ihe;pl.newPlot=Qft;pl._doPlot=Yft;pl.purge=ght;pl.react=cht;pl.redraw=$ft;pl.relayout=OM;pl.restyle=PP;pl.setPlotConfig=Kft;pl.update=RP;pl._guiRelayout=GN(OM);pl._guiRestyle=GN(PP);pl._guiUpdate=GN(RP);pl._storeDirectGUIEdit=iht});var Ly=ye(Mm=>{\"use strict\";var _ht=ba();Mm.getDelay=function(e){return e._has&&(e._has(\"gl3d\")||e._has(\"mapbox\")||e._has(\"map\"))?500:0};Mm.getRedrawFunc=function(e){return function(){_ht.getComponentMethod(\"colorbar\",\"draw\")(e)}};Mm.encodeSVG=function(e){return\"data:image/svg+xml,\"+encodeURIComponent(e)};Mm.encodeJSON=function(e){return\"data:application/json,\"+encodeURIComponent(e)};var Uhe=window.URL||window.webkitURL;Mm.createObjectURL=function(e){return Uhe.createObjectURL(e)};Mm.revokeObjectURL=function(e){return Uhe.revokeObjectURL(e)};Mm.createBlob=function(e,t){if(t===\"svg\")return new window.Blob([e],{type:\"image/svg+xml;charset=utf-8\"});if(t===\"full-json\")return new window.Blob([e],{type:\"application/json;charset=utf-8\"});var r=xht(window.atob(e));return new window.Blob([r],{type:\"image/\"+t})};Mm.octetStream=function(e){document.location.href=\"data:application/octet-stream\"+e};function xht(e){for(var t=e.length,r=new ArrayBuffer(t),n=new Uint8Array(r),i=0;i{\"use strict\";var WN=xa(),Kir=Mr(),bht=ao(),wht=va(),Jir=Zp(),jN=/\"/g,NM=\"TOBESTRIPPED\",Tht=new RegExp('(\"'+NM+\")|(\"+NM+'\")',\"g\");function Aht(e){var t=WN.select(\"body\").append(\"div\").style({display:\"none\"}).html(\"\"),r=e.replace(/(&[^;]*;)/gi,function(n){return n===\"<\"?\"<\":n===\"&rt;\"?\">\":n.indexOf(\"<\")!==-1||n.indexOf(\">\")!==-1?\"\":t.html(n).text()});return t.remove(),r}function Sht(e){return e.replace(/&(?!\\w+;|\\#[0-9]+;| \\#x[0-9A-F]+;)/g,\"&\")}Vhe.exports=function(t,r,n){var i=t._fullLayout,a=i._paper,o=i._toppaper,s=i.width,l=i.height,u;a.insert(\"rect\",\":first-child\").call(bht.setRect,0,0,s,l).call(wht.fill,i.paper_bgcolor);var c=i._basePlotModules||[];for(u=0;u{\"use strict\";var Mht=Mr(),Eht=vb().EventEmitter,UM=Ly();function kht(e){var t=e.emitter||new Eht,r=new Promise(function(n,i){var a=window.Image,o=e.svg,s=e.format||\"png\",l=e.canvas,u=e.scale||1,c=e.width||300,f=e.height||150,h=u*c,d=u*f,v=l.getContext(\"2d\",{willReadFrequently:!0}),x=new a,b,g;s===\"svg\"||Mht.isSafari()?g=UM.encodeSVG(o):(b=UM.createBlob(o,\"svg\"),g=UM.createObjectURL(b)),l.width=h,l.height=d,x.onload=function(){var E;switch(b=null,UM.revokeObjectURL(g),s!==\"svg\"&&v.drawImage(x,0,0,h,d),s){case\"jpeg\":E=l.toDataURL(\"image/jpeg\");break;case\"png\":E=l.toDataURL(\"image/png\");break;case\"webp\":E=l.toDataURL(\"image/webp\");break;case\"svg\":E=g;break;default:var k=\"Image format is not jpeg, png, svg or webp.\";if(i(new Error(k)),!e.promise)return t.emit(\"error\",k)}n(E),e.promise||t.emit(\"success\",E)},x.onerror=function(E){if(b=null,UM.revokeObjectURL(g),i(E),!e.promise)return t.emit(\"error\",E)},x.src=g});return e.promise?r:t}Hhe.exports=kht});var XN=ye((enr,Whe)=>{\"use strict\";var Ghe=uo(),jhe=qP(),Cht=Xu(),Em=Mr(),VM=Ly(),Lht=OP(),Pht=BP(),Iht=QC().version,ZN={format:{valType:\"enumerated\",values:[\"png\",\"jpeg\",\"webp\",\"svg\",\"full-json\"],dflt:\"png\"},width:{valType:\"number\",min:1},height:{valType:\"number\",min:1},scale:{valType:\"number\",min:0,dflt:1},setBackground:{valType:\"any\",dflt:!1},imageDataOnly:{valType:\"boolean\",dflt:!1}};function Rht(e,t){t=t||{};var r,n,i,a;Em.isPlainObject(e)?(r=e.data||[],n=e.layout||{},i=e.config||{},a={}):(e=Em.getGraphDiv(e),r=Em.extendDeep([],e.data),n=Em.extendDeep({},e.layout),i=e._context,a=e._fullLayout||{});function o(_){return!(_ in t)||Em.validate(t[_],ZN[_])}if(!o(\"width\")&&t.width!==null||!o(\"height\")&&t.height!==null)throw new Error(\"Height and width should be pixel values.\");if(!o(\"format\"))throw new Error(\"Export format is not \"+Em.join2(ZN.format.values,\", \",\" or \")+\".\");var s={};function l(_,C){return Em.coerce(t,s,ZN,_,C)}var u=l(\"format\"),c=l(\"width\"),f=l(\"height\"),h=l(\"scale\"),d=l(\"setBackground\"),v=l(\"imageDataOnly\"),x=document.createElement(\"div\");x.style.position=\"absolute\",x.style.left=\"-5000px\",document.body.appendChild(x);var b=Em.extendFlat({},n);c?b.width=c:t.width===null&&Ghe(a.width)&&(b.width=a.width),f?b.height=f:t.height===null&&Ghe(a.height)&&(b.height=a.height);var g=Em.extendFlat({},i,{_exportedPlot:!0,staticPlot:!0,setBackground:d}),E=VM.getRedrawFunc(x);function k(){return new Promise(function(_){setTimeout(_,VM.getDelay(x._fullLayout))})}function A(){return new Promise(function(_,C){var M=Lht(x,u,h),p=x._fullLayout.width,P=x._fullLayout.height;function T(){jhe.purge(x),document.body.removeChild(x)}if(u===\"full-json\"){var F=Cht.graphJson(x,!1,\"keepdata\",\"object\",!0,!0);return F.version=Iht,F=JSON.stringify(F),T(),_(v?F:VM.encodeJSON(F))}if(T(),u===\"svg\")return _(v?M:VM.encodeSVG(M));var q=document.createElement(\"canvas\");q.id=Em.randstr(),Pht({format:u,width:p,height:P,scale:h,canvas:q,svg:M,promise:!0}).then(_).catch(C)})}function L(_){return v?_.replace(VM.IMAGE_URL_PREFIX,\"\"):_}return new Promise(function(_,C){jhe.newPlot(x,r,b,g).then(E).then(k).then(A).then(function(M){_(L(M))}).catch(function(M){C(M)})})}Whe.exports=Rht});var Khe=ye((tnr,Yhe)=>{\"use strict\";var P0=Mr(),Dht=Xu(),zht=_3(),Fht=ub().dfltConfig,Lg=P0.isPlainObject,Vb=Array.isArray,Zhe=P0.isArrayOrTypedArray;Yhe.exports=function(t,r){t===void 0&&(t=[]),r===void 0&&(r={});var n=zht.get(),i=[],a={_context:P0.extendFlat({},Fht)},o,s;Vb(t)?(a.data=P0.extendDeep([],t),o=t):(a.data=[],o=[],i.push(cd(\"array\",\"data\"))),Lg(r)?(a.layout=P0.extendDeep({},r),s=r):(a.layout={},s={},arguments.length>1&&i.push(cd(\"object\",\"layout\"))),Dht.supplyDefaults(a);for(var l=a._fullData,u=o.length,c=0;cf.length&&n.push(cd(\"unused\",i,u.concat(f.length)));var g=f.length,E=Array.isArray(b);E&&(g=Math.min(g,b.length));var k,A,L,_,C;if(h.dimensions===2)for(A=0;Af[A].length&&n.push(cd(\"unused\",i,u.concat(A,f[A].length)));var M=f[A].length;for(k=0;k<(E?Math.min(M,b[A].length):M);k++)L=E?b[A][k]:b,_=c[A][k],C=f[A][k],P0.validate(_,L)?C!==_&&C!==+_&&n.push(cd(\"dynamic\",i,u.concat(A,k),_,C)):n.push(cd(\"value\",i,u.concat(A,k),_))}else n.push(cd(\"array\",i,u.concat(A),c[A]));else for(A=0;A{\"use strict\";var Hht=Mr(),UP=Ly();function Ght(e,t,r){var n=document.createElement(\"a\"),i=\"download\"in n,a=new Promise(function(o,s){var l,u;if(i)return l=UP.createBlob(e,r),u=UP.createObjectURL(l),n.href=u,n.download=t,document.body.appendChild(n),n.click(),document.body.removeChild(n),UP.revokeObjectURL(u),l=null,o(t);if(Hht.isSafari()){var c=r===\"svg\"?\",\":\";base64,\";return UP.octetStream(c+encodeURIComponent(e)),o(t)}s(new Error(\"download error\"))});return a}Jhe.exports=Ght});var YN=ye((nnr,ede)=>{\"use strict\";var Qhe=Mr(),jht=XN(),Wht=$he(),inr=Ly();function Zht(e,t){var r;return Qhe.isPlainObject(e)||(r=Qhe.getGraphDiv(e)),t=t||{},t.format=t.format||\"png\",t.width=t.width||null,t.height=t.height||null,t.imageDataOnly=!0,new Promise(function(n,i){r&&r._snapshotInProgress&&i(new Error(\"Snapshotting already in progress.\")),r&&(r._snapshotInProgress=!0);var a=jht(e,t),o=t.filename||e.fn||\"newplot\";o+=\".\"+t.format.replace(\"-\",\".\"),a.then(function(s){return r&&(r._snapshotInProgress=!1),Wht(s,o,t.format)}).then(function(s){n(s)}).catch(function(s){r&&(r._snapshotInProgress=!1),i(s)})})}ede.exports=Zht});var ade=ye(KN=>{\"use strict\";var Cp=Mr(),Lp=Cp.isPlainObject,tde=_3(),rde=Xu(),Xht=vl(),ide=Vs(),nde=ub().dfltConfig;KN.makeTemplate=function(e){e=Cp.isPlainObject(e)?e:Cp.getGraphDiv(e),e=Cp.extendDeep({_context:nde},{data:e.data,layout:e.layout}),rde.supplyDefaults(e);var t=e.data||[],r=e.layout||{};r._basePlotModules=e._fullLayout._basePlotModules,r._modules=e._fullLayout._modules;var n={data:{},layout:{}};t.forEach(function(d){var v={};HM(d,v,Kht.bind(null,d));var x=Cp.coerce(d,{},Xht,\"type\"),b=n.data[x];b||(b=n.data[x]=[]),b.push(v)}),HM(r,n.layout,Yht.bind(null,r)),delete n.layout.template;var i=r.template;if(Lp(i)){var a=i.layout,o,s,l,u,c,f;Lp(a)&&VP(a,n.layout);var h=i.data;if(Lp(h)){for(s in n.data)if(l=h[s],Array.isArray(l)){for(c=n.data[s],f=c.length,u=l.length,o=0;og?o.push({code:\"unused\",traceType:d,templateCount:b,dataCount:g}):g>b&&o.push({code:\"reused\",traceType:d,templateCount:b,dataCount:g})}}function E(k,A){for(var L in k)if(L.charAt(0)!==\"_\"){var _=k[L],C=I0(k,L,A);Lp(_)?(Array.isArray(k)&&_._template===!1&&_.templateitemname&&o.push({code:\"missing\",path:C,templateitemname:_.templateitemname}),E(_,C)):Array.isArray(_)&&Jht(_)&&E(_,C)}}if(E({data:l,layout:s},\"\"),o.length)return o.map($ht)};function Jht(e){for(var t=0;t{\"use strict\";var Hh=qP();Sc._doPlot=Hh._doPlot;Sc.newPlot=Hh.newPlot;Sc.restyle=Hh.restyle;Sc.relayout=Hh.relayout;Sc.redraw=Hh.redraw;Sc.update=Hh.update;Sc._guiRestyle=Hh._guiRestyle;Sc._guiRelayout=Hh._guiRelayout;Sc._guiUpdate=Hh._guiUpdate;Sc._storeDirectGUIEdit=Hh._storeDirectGUIEdit;Sc.react=Hh.react;Sc.extendTraces=Hh.extendTraces;Sc.prependTraces=Hh.prependTraces;Sc.addTraces=Hh.addTraces;Sc.deleteTraces=Hh.deleteTraces;Sc.moveTraces=Hh.moveTraces;Sc.purge=Hh.purge;Sc.addFrames=Hh.addFrames;Sc.deleteFrames=Hh.deleteFrames;Sc.animate=Hh.animate;Sc.setPlotConfig=Hh.setPlotConfig;var Qht=DS().getGraphDiv,edt=tP().eraseActiveShape;Sc.deleteActiveShape=function(e){return edt(Qht(e))};Sc.toImage=XN();Sc.validate=Khe();Sc.downloadImage=YN();var ode=ade();Sc.makeTemplate=ode.makeTemplate;Sc.validateTemplate=ode.validateTemplate});var K3=ye((snr,lde)=>{\"use strict\";var JN=Mr(),tdt=ba();lde.exports=function(t,r,n,i){var a=i(\"x\"),o=i(\"y\"),s,l=tdt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(l(t,r,[\"x\",\"y\"],n),a){var u=JN.minRowLength(a);o?s=Math.min(u,JN.minRowLength(o)):(s=u,i(\"y0\"),i(\"dy\"))}else{if(!o)return 0;s=JN.minRowLength(o),i(\"x0\"),i(\"dx\")}return r._length=s,s}});var Pg=ye((lnr,fde)=>{\"use strict\";var ude=Mr().dateTick0,rdt=es(),idt=rdt.ONEWEEK;function cde(e,t){return e%idt===0?ude(t,1):ude(t,0)}fde.exports=function(t,r,n,i,a){if(a||(a={x:!0,y:!0}),a.x){var o=i(\"xperiod\");o&&(i(\"xperiod0\",cde(o,r.xcalendar)),i(\"xperiodalignment\"))}if(a.y){var s=i(\"yperiod\");s&&(i(\"yperiod0\",cde(s,r.ycalendar)),i(\"yperiodalignment\"))}}});var vde=ye((unr,dde)=>{\"use strict\";var hde=[\"orientation\",\"groupnorm\",\"stackgaps\"];dde.exports=function(t,r,n,i){var a=n._scatterStackOpts,o=i(\"stackgroup\");if(o){var s=r.xaxis+r.yaxis,l=a[s];l||(l=a[s]={});var u=l[o],c=!1;u?u.traces.push(r):(u=l[o]={traceIndices:[],traces:[r]},c=!0);for(var f={orientation:r.x&&!r.y?\"h\":\"v\"},h=0;h{\"use strict\";var pde=va(),gde=Dv().hasColorscale,mde=Uh(),ndt=lu();yde.exports=function(t,r,n,i,a,o){var s=ndt.isBubble(t),l=(t.line||{}).color,u;if(o=o||{},l&&(n=l),a(\"marker.symbol\"),a(\"marker.opacity\",s?.7:1),a(\"marker.size\"),o.noAngle||(a(\"marker.angle\"),o.noAngleRef||a(\"marker.angleref\"),o.noStandOff||a(\"marker.standoff\")),a(\"marker.color\",n),gde(t,\"marker\")&&mde(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),o.noSelect||(a(\"selected.marker.color\"),a(\"unselected.marker.color\"),a(\"selected.marker.size\"),a(\"unselected.marker.size\")),o.noLine||(l&&!Array.isArray(l)&&r.marker.color!==l?u=l:s?u=pde.background:u=pde.defaultLine,a(\"marker.line.color\",u),gde(t,\"marker.line\")&&mde(t,r,i,a,{prefix:\"marker.line.\",cLetter:\"c\"}),a(\"marker.line.width\",s?1:0)),s&&(a(\"marker.sizeref\"),a(\"marker.sizemin\"),a(\"marker.sizemode\")),o.gradient){var c=a(\"marker.gradient.type\");c!==\"none\"&&a(\"marker.gradient.color\")}}});var R0=ye((fnr,_de)=>{\"use strict\";var adt=Mr().isArrayOrTypedArray,odt=Dv().hasColorscale,sdt=Uh();_de.exports=function(t,r,n,i,a,o){o||(o={});var s=(t.marker||{}).color;if(s&&s._inputArray&&(s=s._inputArray),a(\"line.color\",n),odt(t,\"line\"))sdt(t,r,i,a,{prefix:\"line.\",cLetter:\"c\"});else{var l=(adt(s)?!1:s)||n;a(\"line.color\",l)}a(\"line.width\"),o.noDash||a(\"line.dash\"),o.backoff&&a(\"line.backoff\")}});var J3=ye((hnr,xde)=>{\"use strict\";xde.exports=function(t,r,n){var i=n(\"line.shape\");i===\"spline\"&&n(\"line.smoothing\")}});var D0=ye((dnr,bde)=>{\"use strict\";var ldt=Mr();bde.exports=function(e,t,r,n,i){i=i||{},n(\"textposition\"),ldt.coerceFont(n,\"textfont\",i.font||r.font,i),i.noSelect||(n(\"selected.textfont.color\"),n(\"unselected.textfont.color\"))}});var Ig=ye((vnr,Tde)=>{\"use strict\";var GP=va(),wde=Mr().isArrayOrTypedArray;function udt(e){for(var t=GP.interpolate(e[0][1],e[1][1],.5),r=2;r{\"use strict\";var Ade=Mr(),cdt=ba(),fdt=Uc(),hdt=Sm(),$3=lu(),ddt=K3(),vdt=Pg(),pdt=vde(),gdt=$p(),mdt=R0(),Sde=J3(),ydt=D0(),_dt=Ig(),xdt=Mr().coercePattern;Mde.exports=function(t,r,n,i){function a(d,v){return Ade.coerce(t,r,fdt,d,v)}var o=ddt(t,r,i,a);if(o||(r.visible=!1),!!r.visible){vdt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zorder\");var s=pdt(t,r,i,a);i.scattermode===\"group\"&&r.orientation===void 0&&a(\"orientation\",\"v\");var l=!s&&o{\"use strict\";var bdt=Bb().getAxisGroup;kde.exports=function(t,r,n,i,a){var o=r.orientation,s=r[{v:\"x\",h:\"y\"}[o]+\"axis\"],l=bdt(n,s)+o,u=n._alignmentOpts||{},c=i(\"alignmentgroup\"),f=u[l];f||(f=u[l]={});var h=f[c];h?h.traces.push(r):h=f[c]={traces:[r],alignmentIndex:Object.keys(f).length,offsetGroups:{}};var d=i(\"offsetgroup\")||\"\",v=h.offsetGroups,x=v[d];r._offsetIndex=0,(a!==\"group\"||d)&&(x||(x=v[d]={offsetIndex:Object.keys(v).length}),r._offsetIndex=x.offsetIndex)}});var $N=ye((mnr,Cde)=>{\"use strict\";var wdt=Mr(),Tdt=Hb(),Adt=Uc();Cde.exports=function(t,r){var n,i,a,o=r.scattermode;function s(h){return wdt.coerce(i._input,i,Adt,h)}if(r.scattermode===\"group\")for(a=0;a=0;c--){var f=t[c];if(f.type===\"scatter\"&&f.xaxis===l.xaxis&&f.yaxis===l.yaxis){f.opacity=void 0;break}}}}}});var Pde=ye((ynr,Lde)=>{\"use strict\";var Sdt=Mr(),Mdt=U6();Lde.exports=function(e,t){function r(i,a){return Sdt.coerce(e,t,Mdt,i,a)}var n=t.barmode===\"group\";t.scattermode===\"group\"&&r(\"scattergap\",n?t.bargap:.2)}});var Rg=ye((_nr,Rde)=>{\"use strict\";var Edt=uo(),Ide=Mr(),kdt=Ide.dateTime2ms,jP=Ide.incrementMonth,Cdt=es(),Ldt=Cdt.ONEAVGMONTH;Rde.exports=function(t,r,n,i){if(r.type!==\"date\")return{vals:i};var a=t[n+\"periodalignment\"];if(!a)return{vals:i};var o=t[n+\"period\"],s;if(Edt(o)){if(o=+o,o<=0)return{vals:i}}else if(typeof o==\"string\"&&o.charAt(0)===\"M\"){var l=+o.substring(1);if(l>0&&Math.round(l)===l)s=l;else return{vals:i}}for(var u=r.calendar,c=a===\"start\",f=a===\"end\",h=t[n+\"period0\"],d=kdt(h,u)||0,v=[],x=[],b=[],g=i.length,E=0;Ek;)_=jP(_,-s,u);for(;_<=k;)_=jP(_,s,u);L=jP(_,-s,u)}else{for(A=Math.round((k-d)/o),_=d+A*o;_>k;)_-=o;for(;_<=k;)_+=o;L=_-o}v[E]=c?L:f?_:(L+_)/2,x[E]=L,b[E]=_}return{vals:v,starts:x,ends:b}}});var z0=ye((xnr,zde)=>{\"use strict\";var QN=Dv().hasColorscale,eU=zv(),Dde=lu();zde.exports=function(t,r){Dde.hasLines(r)&&QN(r,\"line\")&&eU(t,r,{vals:r.line.color,containerStr:\"line\",cLetter:\"c\"}),Dde.hasMarkers(r)&&(QN(r,\"marker\")&&eU(t,r,{vals:r.marker.color,containerStr:\"marker\",cLetter:\"c\"}),QN(r,\"marker.line\")&&eU(t,r,{vals:r.marker.line.color,containerStr:\"marker.line\",cLetter:\"c\"}))}});var km=ye((bnr,Fde)=>{\"use strict\";var Df=Mr();Fde.exports=function(t,r){for(var n=0;n{\"use strict\";var qde=Mr();Ode.exports=function(t,r){qde.isArrayOrTypedArray(r.selectedpoints)&&qde.tagSelected(t,r)}});var q0=ye((Tnr,jde)=>{\"use strict\";var Bde=uo(),rU=Mr(),GM=Qa(),Nde=Rg(),tU=es().BADNUM,iU=lu(),Pdt=z0(),Idt=km(),Rdt=F0();function Ddt(e,t){var r=e._fullLayout,n=t._xA=GM.getFromId(e,t.xaxis||\"x\",\"x\"),i=t._yA=GM.getFromId(e,t.yaxis||\"y\",\"y\"),a=n.makeCalcdata(t,\"x\"),o=i.makeCalcdata(t,\"y\"),s=Nde(t,n,\"x\",a),l=Nde(t,i,\"y\",o),u=s.vals,c=l.vals,f=t._length,h=new Array(f),d=t.ids,v=nU(t,r,n,i),x=!1,b,g,E,k,A,L;Hde(r,t);var _=\"x\",C=\"y\",M;if(v)rU.pushUnique(v.traceIndices,t.index),b=v.orientation===\"v\",b?(C=\"s\",M=\"x\"):(_=\"s\",M=\"y\"),A=v.stackgaps===\"interpolate\";else{var p=Vde(t,f);Ude(e,t,n,i,u,c,p)}var P=!!t.xperiodalignment,T=!!t.yperiodalignment;for(g=0;gg&&h[k].gap;)k--;for(L=h[k].s,E=h.length-1;E>k;E--)h[E].s=L;for(;g{\"use strict\";Wde.exports=WP;var zdt=Mr().distinctVals;function WP(e,t){this.traces=e,this.sepNegVal=t.sepNegVal,this.overlapNoMerge=t.overlapNoMerge;for(var r=1/0,n=t.posAxis._id.charAt(0),i=[],a=0;a{\"use strict\";var O0=uo(),p_=Mr().isArrayOrTypedArray,Q3=es().BADNUM,Fdt=ba(),jM=Qa(),qdt=Bb().getAxisGroup,ZP=Zde();function Odt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;ul+o||!O0(s))}for(var c=0;c{\"use strict\";var $de=q0(),Qde=Gb().setGroupPositions;function Kdt(e,t){for(var r=t.xaxis,n=t.yaxis,i=e._fullLayout,a=e._fullData,o=e.calcdata,s=[],l=[],u=0;up[c]&&c{\"use strict\";var $dt=ao(),ave=es(),WM=ave.BADNUM,ove=ave.LOG_CLIP,rve=ove+.5,ive=ove-.5,XP=Mr(),Qdt=XP.segmentsIntersect,nve=XP.constrain,cU=Sm();sve.exports=function(t,r){var n=r.trace||{},i=r.xaxis,a=r.yaxis,o=i.type===\"log\",s=a.type===\"log\",l=i._length,u=a._length,c=r.backoff,f=n.marker,h=r.connectGaps,d=r.baseTolerance,v=r.shape,x=v===\"linear\",b=n.fill&&n.fill!==\"none\",g=[],E=cU.minTolerance,k=t.length,A=new Array(k),L=0,_,C,M,p,P,T,F,q,V,H,X,G,N,W,re,ae;function _e(ut){var Ne=t[ut];if(!Ne)return!1;var Ye=r.linearized?i.l2p(Ne.x):i.c2p(Ne.x),Ve=r.linearized?a.l2p(Ne.y):a.c2p(Ne.y);if(Ye===WM){if(o&&(Ye=i.c2p(Ne.x,!0)),Ye===WM)return!1;s&&Ve===WM&&(Ye*=Math.abs(i._m*u*(i._m>0?rve:ive)/(a._m*l*(a._m>0?rve:ive)))),Ye*=1e3}if(Ve===WM){if(s&&(Ve=a.c2p(Ne.y,!0)),Ve===WM)return!1;Ve*=1e3}return[Ye,Ve]}function Me(ut,Ne,Ye,Ve){var Xe=Ye-ut,ht=Ve-Ne,Le=.5-ut,xe=.5-Ne,Se=Xe*Xe+ht*ht,lt=Xe*Le+ht*xe;if(lt>0&<1||Math.abs(Le.y-Ye[0][1])>1)&&(Le=[Le.x,Le.y],Ve&&Te(Le,ut)ze||ut[1]me)return[nve(ut[0],Ae,ze),nve(ut[1],Ce,me)]}function kt(ut,Ne){if(ut[0]===Ne[0]&&(ut[0]===Ae||ut[0]===ze)||ut[1]===Ne[1]&&(ut[1]===Ce||ut[1]===me))return!0}function Ct(ut,Ne){var Ye=[],Ve=Rt(ut),Xe=Rt(Ne);return Ve&&Xe&&kt(Ve,Xe)||(Ve&&Ye.push(Ve),Xe&&Ye.push(Xe)),Ye}function Yt(ut,Ne,Ye){return function(Ve,Xe){var ht=Rt(Ve),Le=Rt(Xe),xe=[];if(ht&&Le&&kt(ht,Le))return xe;ht&&xe.push(ht),Le&&xe.push(Le);var Se=2*XP.constrain((Ve[ut]+Xe[ut])/2,Ne,Ye)-((ht||Ve)[ut]+(Le||Xe)[ut]);if(Se){var lt;ht&&Le?lt=Se>0==ht[ut]>Le[ut]?ht:Le:lt=ht||Le,lt[ut]+=Se}return xe}}var xr;v===\"linear\"||v===\"spline\"?xr=ot:v===\"hv\"||v===\"vh\"?xr=Ct:v===\"hvh\"?xr=Yt(0,Ae,ze):v===\"vhv\"&&(xr=Yt(1,Ce,me));function er(ut,Ne){var Ye=Ne[0]-ut[0],Ve=(Ne[1]-ut[1])/Ye,Xe=(ut[1]*Ne[0]-Ne[1]*ut[0])/Ye;return Xe>0?[Ve>0?Ae:ze,me]:[Ve>0?ze:Ae,Ce]}function Ke(ut){var Ne=ut[0],Ye=ut[1],Ve=Ne===A[L-1][0],Xe=Ye===A[L-1][1];if(!(Ve&&Xe))if(L>1){var ht=Ne===A[L-2][0],Le=Ye===A[L-2][1];Ve&&(Ne===Ae||Ne===ze)&&ht?Le?L--:A[L-1]=ut:Xe&&(Ye===Ce||Ye===me)&&Le?ht?L--:A[L-1]=ut:A[L++]=ut}else A[L++]=ut}function xt(ut){A[L-1][0]!==ut[0]&&A[L-1][1]!==ut[1]&&Ke([nt,ct]),Ke(ut),qt=null,nt=ct=0}var bt=XP.isArrayOrTypedArray(f);function Lt(ut){if(ut&&c&&(ut.i=_,ut.d=t,ut.trace=n,ut.marker=bt?f[ut.i]:f,ut.backoff=c),ke=ut[0]/l,ge=ut[1]/u,ce=ut[0]ze?ze:0,Ge=ut[1]me?me:0,ce||Ge){if(!L)A[L++]=[ce||ut[0],Ge||ut[1]];else if(qt){var Ne=xr(qt,ut);Ne.length>1&&(xt(Ne[0]),A[L++]=Ne[1])}else rt=xr(A[L-1],ut)[0],A[L++]=rt;var Ye=A[L-1];ce&&Ge&&(Ye[0]!==ce||Ye[1]!==Ge)?(qt&&(nt!==ce&&ct!==Ge?Ke(nt&&ct?er(qt,ut):[nt||ce,ct||Ge]):nt&&ct&&Ke([nt,ct])),Ke([ce,Ge])):nt-ce&&ct-Ge&&Ke([ce||nt,Ge||ct]),qt=ut,nt=ce,ct=Ge}else qt&&xt(xr(qt,ut)[0]),A[L++]=ut}for(_=0;_ie(T,St))break;M=T,N=V[0]*q[0]+V[1]*q[1],N>X?(X=N,p=T,F=!1):N=t.length||!T)break;Lt(T),C=T}}qt&&Ke([nt||qt[0],ct||qt[1]]),g.push(A.slice(0,L))}var Et=v.slice(v.length-1);if(c&&Et!==\"h\"&&Et!==\"v\"){for(var dt=!1,Ht=-1,$t=[],fr=0;fr{\"use strict\";var lve={tonextx:1,tonexty:1,tonext:1};uve.exports=function(t,r,n){var i,a,o,s,l,u={},c=!1,f=-1,h=0,d=-1;for(a=0;a=0?l=d:(l=d=h,h++),l{\"use strict\";var Dg=xa(),evt=ba(),ZM=Mr(),tT=ZM.ensureSingle,fve=ZM.identity,zf=ao(),rT=lu(),tvt=fU(),rvt=hU(),YP=wM().tester;hve.exports=function(t,r,n,i,a,o){var s,l,u=!a,c=!!a&&a.duration>0,f=rvt(t,r,n);if(s=i.selectAll(\"g.trace\").data(f,function(d){return d[0].trace.uid}),s.enter().append(\"g\").attr(\"class\",function(d){return\"trace scatter trace\"+d[0].trace.uid}).style(\"stroke-miterlimit\",2),s.order(),ivt(t,s,r),c){o&&(l=o());var h=Dg.transition().duration(a.duration).ease(a.easing).each(\"end\",function(){l&&l()}).each(\"interrupt\",function(){l&&l()});h.each(function(){i.selectAll(\"g.trace\").each(function(d,v){cve(t,v,r,d,f,this,a)})})}else s.each(function(d,v){cve(t,v,r,d,f,this,a)});u&&s.exit().remove(),i.selectAll(\"path:not([d])\").remove()};function ivt(e,t,r){t.each(function(n){var i=tT(Dg.select(this),\"g\",\"fills\");zf.setClipUrl(i,r.layerClipId,e);var a=n[0].trace,o=[];a._ownfill&&o.push(\"_ownFill\"),a._nexttrace&&o.push(\"_nextFill\");var s=i.selectAll(\"g\").data(o,fve);s.enter().append(\"g\"),s.exit().each(function(l){a[l]=null}).remove(),s.order().each(function(l){a[l]=tT(Dg.select(this),\"path\",\"js-fill\")})})}function cve(e,t,r,n,i,a,o){var s=e._context.staticPlot,l;nvt(e,t,r,n,i);var u=!!o&&o.duration>0;function c(Yt){return u?Yt.transition():Yt}var f=r.xaxis,h=r.yaxis,d=n[0].trace,v=d.line,x=Dg.select(a),b=tT(x,\"g\",\"errorbars\"),g=tT(x,\"g\",\"lines\"),E=tT(x,\"g\",\"points\"),k=tT(x,\"g\",\"text\");if(evt.getComponentMethod(\"errorbars\",\"plot\")(e,b,r,o),d.visible!==!0)return;c(x).style(\"opacity\",d.opacity);var A,L,_=d.fill.charAt(d.fill.length-1);_!==\"x\"&&_!==\"y\"&&(_=\"\");var C,M;_===\"y\"?(C=1,M=h.c2p(0,!0)):_===\"x\"&&(C=0,M=f.c2p(0,!0)),n[0][r.isRangePlot?\"nodeRangePlot3\":\"node3\"]=x;var p=\"\",P=[],T=d._prevtrace,F=null,q=null;T&&(p=T._prevRevpath||\"\",L=T._nextFill,P=T._ownPolygons,F=T._fillsegments,q=T._fillElement);var V,H,X=\"\",G=\"\",N,W,re,ae,_e,Me,ke=[];d._polygons=[];var ge=[],ie=[],Te=ZM.noop;if(A=d._ownFill,rT.hasLines(d)||d.fill!==\"none\"){L&&L.datum(n),[\"hv\",\"vh\",\"hvh\",\"vhv\"].indexOf(v.shape)!==-1?(N=zf.steps(v.shape),W=zf.steps(v.shape.split(\"\").reverse().join(\"\"))):v.shape===\"spline\"?N=W=function(Yt){var xr=Yt[Yt.length-1];return Yt.length>1&&Yt[0][0]===xr[0]&&Yt[0][1]===xr[1]?zf.smoothclosed(Yt.slice(1),v.smoothing):zf.smoothopen(Yt,v.smoothing)}:N=W=function(Yt){return\"M\"+Yt.join(\"L\")},re=function(Yt){return W(Yt.reverse())},ie=tvt(n,{xaxis:f,yaxis:h,trace:d,connectGaps:d.connectgaps,baseTolerance:Math.max(v.width||1,3)/4,shape:v.shape,backoff:v.backoff,simplify:v.simplify,fill:d.fill}),ge=new Array(ie.length);var Ee=0;for(l=0;l=s[0]&&x.x<=s[1]&&x.y>=l[0]&&x.y<=l[1]}),h=Math.ceil(f.length/c),d=0;i.forEach(function(x,b){var g=x[0].trace;rT.hasMarkers(g)&&g.marker.maxdisplayed>0&&b{\"use strict\";dve.exports={container:\"marker\",min:\"cmin\",max:\"cmax\"}});var JP=ye((Pnr,vve)=>{\"use strict\";var KP=Qa();vve.exports=function(t,r,n){var i={},a={_fullLayout:n},o=KP.getFromTrace(a,r,\"x\"),s=KP.getFromTrace(a,r,\"y\"),l=t.orig_x;l===void 0&&(l=t.x);var u=t.orig_y;return u===void 0&&(u=t.y),i.xLabel=KP.tickText(o,o.c2l(l),!0).text,i.yLabel=KP.tickText(s,s.c2l(u),!0).text,i}});var op=ye((Inr,pve)=>{\"use strict\";var dU=xa(),nT=ao(),avt=ba();function ovt(e){var t=dU.select(e).selectAll(\"g.trace.scatter\");t.style(\"opacity\",function(r){return r[0].trace.opacity}),t.selectAll(\"g.points\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;vU(n,i,e)}),t.selectAll(\"g.text\").each(function(r){var n=dU.select(this),i=r.trace||r[0].trace;pU(n,i,e)}),t.selectAll(\"g.trace path.js-line\").call(nT.lineGroupStyle),t.selectAll(\"g.trace path.js-fill\").call(nT.fillGroupStyle,e,!1),avt.getComponentMethod(\"errorbars\",\"style\")(t)}function vU(e,t,r){nT.pointStyle(e.selectAll(\"path.point\"),t,r)}function pU(e,t,r){nT.textPointStyle(e.selectAll(\"text\"),t,r)}function svt(e,t,r){var n=t[0].trace;n.selectedpoints?(nT.selectedPointStyle(r.selectAll(\"path.point\"),n),nT.selectedTextStyle(r.selectAll(\"text\"),n)):(vU(r,n,e),pU(r,n,e))}pve.exports={style:ovt,stylePoints:vU,styleText:pU,styleOnSelect:svt}});var oT=ye((Rnr,gve)=>{\"use strict\";var aT=va(),lvt=lu();gve.exports=function(t,r){var n,i;if(t.mode===\"lines\")return n=t.line.color,n&&aT.opacity(n)?n:t.fillcolor;if(t.mode===\"none\")return t.fill?t.fillcolor:\"\";var a=r.mcc||(t.marker||{}).color,o=r.mlcc||((t.marker||{}).line||{}).color;return i=a&&aT.opacity(a)?a:o&&aT.opacity(o)&&(r.mlw||((t.marker||{}).line||{}).width)?o:\"\",i?aT.opacity(i)<.3?aT.addOpacity(i,.3):i:(n=(t.line||{}).color,n&&aT.opacity(n)&&lvt.hasLines(t)&&t.line.width?n:t.fillcolor)}});var sT=ye((Dnr,yve)=>{\"use strict\";var $P=Mr(),mve=Nc(),uvt=ba(),cvt=oT(),gU=va(),fvt=$P.fillText;yve.exports=function(t,r,n,i){var a=t.cd,o=a[0].trace,s=t.xa,l=t.ya,u=s.c2p(r),c=l.c2p(n),f=[u,c],h=o.hoveron||\"\",d=o.mode.indexOf(\"markers\")!==-1?3:.5,v=!!o.xperiodalignment,x=!!o.yperiodalignment;if(h.indexOf(\"points\")!==-1){var b=function(G){if(v){var N=s.c2p(G.xStart),W=s.c2p(G.xEnd);return u>=Math.min(N,W)&&u<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(s.c2p(G.x)-u);return _e=Math.min(N,W)&&c<=Math.max(N,W)?0:1/0}var re=Math.max(3,G.mrc||0),ae=1-1/re,_e=Math.abs(l.c2p(G.y)-c);return _eke!=me>=ke&&(Ae=Te[ie-1][0],ze=Te[ie][0],me-Ce&&(Ee=Ae+(ze-Ae)*(ke-Ce)/(me-Ce),re=Math.min(re,Ee),ae=Math.max(ae,Ee)));return re=Math.max(re,0),ae=Math.min(ae,s._length),{x0:re,x1:ae,y0:ke,y1:ke}}if(h.indexOf(\"fills\")!==-1&&o._fillElement){var V=F(o._fillElement)&&!F(o._fillExclusionElement);if(V){var H=q(o._polygons);H===null&&(H={x0:f[0],x1:f[0],y0:f[1],y1:f[1]});var X=gU.defaultLine;return gU.opacity(o.fillcolor)?X=o.fillcolor:gU.opacity((o.line||{}).color)&&(X=o.line.color),$P.extendFlat(t,{distance:t.maxHoverDistance,x0:H.x0,x1:H.x1,y0:H.y0,y1:H.y1,color:X,hovertemplate:!1}),delete t.index,o.text&&!$P.isArrayOrTypedArray(o.text)?t.text=String(o.text):t.text=o.name,[t]}}}});var lT=ye((znr,xve)=>{\"use strict\";var _ve=lu();xve.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h=!_ve.hasMarkers(s)&&!_ve.hasText(s);if(h)return[];if(r===!1)for(l=0;l{\"use strict\";bve.exports={xaxis:{valType:\"subplotid\",dflt:\"x\",editType:\"calc+clearAxisTypes\"},yaxis:{valType:\"subplotid\",dflt:\"y\",editType:\"calc+clearAxisTypes\"}}});var yU=ye((qnr,Sve)=>{\"use strict\";var XM=ba().traceIs,mU=L3();Sve.exports=function(t,r,n,i){n(\"autotypenumbers\",i.autotypenumbersDflt);var a=n(\"type\",(i.splomStash||{}).type);a===\"-\"&&(hvt(r,i.data),r.type===\"-\"?r.type=\"linear\":t.type=r.type)};function hvt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i;r.indexOf(\"scene\")!==-1&&(r=n);var a=dvt(t,r,n);if(a){if(a.type===\"histogram\"&&n==={v:\"y\",h:\"x\"}[a.orientation||\"v\"]){e.type=\"linear\";return}var o=n+\"calendar\",s=a[o],l={noMultiCategory:!XM(a,\"cartesian\")||XM(a,\"noMultiCategory\")};if(a.type===\"box\"&&a._hasPreCompStats&&n==={h:\"x\",v:\"y\"}[a.orientation||\"v\"]&&(l.noMultiCategory=!0),l.autotypenumbers=e.autotypenumbers,Ave(a,n)){var u=Tve(a),c=[];for(i=0;i0&&(i[\"_\"+r+\"axes\"]||{})[t])return i;if((i[r+\"axis\"]||r)===t){if(Ave(i,r))return i;if((i[r]||[]).length||i[r+\"0\"])return i}}}function Tve(e){return{v:\"x\",h:\"y\"}[e.orientation||\"v\"]}function Ave(e,t){var r=Tve(e),n=XM(e,\"box-violin\"),i=XM(e._fullInput||{},\"candlestick\");return n&&!i&&t===r&&e[r]===void 0&&e[r+\"0\"]===void 0}});var QP=ye((Onr,Mve)=>{\"use strict\";var vvt=vv().isTypedArraySpec;function pvt(e,t){var r=t.dataAttr||e._id.charAt(0),n={},i,a,o;if(t.axData)i=t.axData;else for(i=[],a=0;a0||vvt(a),s;o&&(s=\"array\");var l=n(\"categoryorder\",s),u;l===\"array\"&&(u=n(\"categoryarray\")),!o&&l===\"array\"&&(l=r.categoryorder=\"trace\"),l===\"trace\"?r._initialCategories=[]:l===\"array\"?r._initialCategories=u.slice():(u=pvt(r,i).sort(),l===\"category ascending\"?r._initialCategories=u:l===\"category descending\"&&(r._initialCategories=u.reverse()))}}});var YM=ye((Bnr,kve)=>{\"use strict\";var Eve=id().mix,gvt=dh(),mvt=Mr();kve.exports=function(t,r,n,i){i=i||{};var a=i.dfltColor;function o(C,M){return mvt.coerce2(t,r,i.attributes,C,M)}var s=o(\"linecolor\",a),l=o(\"linewidth\"),u=n(\"showline\",i.showLine||!!s||!!l);u||(delete r.linecolor,delete r.linewidth);var c=Eve(a,i.bgColor,i.blend||gvt.lightFraction).toRgbString(),f=o(\"gridcolor\",c),h=o(\"gridwidth\"),d=o(\"griddash\"),v=n(\"showgrid\",i.showGrid||!!f||!!h||!!d);if(v||(delete r.gridcolor,delete r.gridwidth,delete r.griddash),i.hasMinor){var x=Eve(r.gridcolor,i.bgColor,67).toRgbString(),b=o(\"minor.gridcolor\",x),g=o(\"minor.gridwidth\",r.gridwidth||1),E=o(\"minor.griddash\",r.griddash||\"solid\"),k=n(\"minor.showgrid\",!!b||!!g||!!E);k||(delete r.minor.gridcolor,delete r.minor.gridwidth,delete r.minor.griddash)}if(!i.noZeroLine){var A=o(\"zerolinecolor\",a),L=o(\"zerolinewidth\"),_=n(\"zeroline\",i.showGrid||!!A||!!L);_||(delete r.zerolinecolor,delete r.zerolinewidth)}}});var JM=ye((Nnr,Dve)=>{\"use strict\";var Cve=uo(),yvt=ba(),KM=Mr(),_vt=Vs(),xvt=Zd(),_U=Cd(),Lve=xb(),Pve=T3(),bvt=e_(),wvt=t_(),Tvt=QP(),Avt=YM(),Svt=hB(),Ive=ym(),eI=ad().WEEKDAY_PATTERN,Mvt=ad().HOUR_PATTERN;Dve.exports=function(t,r,n,i,a){var o=i.letter,s=i.font||{},l=i.splomStash||{},u=n(\"visible\",!i.visibleDflt),c=r._template||{},f=r.type||c.type||\"-\",h;if(f===\"date\"){var d=yvt.getComponentMethod(\"calendars\",\"handleDefaults\");d(t,r,\"calendar\",i.calendar),i.noTicklabelmode||(h=n(\"ticklabelmode\"))}!i.noTicklabelindex&&(f===\"date\"||f===\"linear\")&&n(\"ticklabelindex\");var v=\"\";(!i.noTicklabelposition||f===\"multicategory\")&&(v=KM.coerce(t,r,{ticklabelposition:{valType:\"enumerated\",dflt:\"outside\",values:h===\"period\"?[\"outside\",\"inside\"]:o===\"x\"?[\"outside\",\"inside\",\"outside left\",\"inside left\",\"outside right\",\"inside right\"]:[\"outside\",\"inside\",\"outside top\",\"inside top\",\"outside bottom\",\"inside bottom\"]}},\"ticklabelposition\")),i.noTicklabeloverflow||n(\"ticklabeloverflow\",v.indexOf(\"inside\")!==-1?\"hide past domain\":f===\"category\"||f===\"multicategory\"?\"allow\":\"hide past div\"),Ive(r,a),Svt(t,r,n,i),Tvt(t,r,n,i),f!==\"category\"&&!i.noHover&&n(\"hoverformat\");var x=n(\"color\"),b=x!==_U.color.dflt?x:s.color,g=l.label||a._dfltTitle[o];if(wvt(t,r,n,f,i),!u)return r;n(\"title.text\",g),KM.coerceFont(n,\"title.font\",s,{overrideDflt:{size:KM.bigFont(s.size),color:b}}),Lve(t,r,n,f);var E=i.hasMinor;if(E&&(_vt.newContainer(r,\"minor\"),Lve(t,r,n,f,{isMinor:!0})),bvt(t,r,n,f,i),Pve(t,r,n,i),E){var k=i.isMinor;i.isMinor=!0,Pve(t,r,n,i),i.isMinor=k}Avt(t,r,n,{dfltColor:x,bgColor:i.bgColor,showGrid:i.showGrid,hasMinor:E,attributes:_U}),E&&!r.minor.ticks&&!r.minor.showgrid&&delete r.minor,(r.showline||r.ticks)&&n(\"mirror\");var A=f===\"multicategory\";if(!i.noTickson&&(f===\"category\"||A)&&(r.ticks||r.showgrid)){var L;A&&(L=\"boundaries\");var _=n(\"tickson\",L);_===\"boundaries\"&&delete r.ticklabelposition}if(A){var C=n(\"showdividers\");C&&(n(\"dividercolor\"),n(\"dividerwidth\"))}if(f===\"date\")if(xvt(t,r,{name:\"rangebreaks\",inclusionAttr:\"enabled\",handleItemDefaults:Evt}),!r.rangebreaks.length)delete r.rangebreaks;else{for(var M=0;M=2){var o=\"\",s,l;if(a.length===2){for(s=0;s<2;s++)if(l=Rve(a[s]),l){o=eI;break}}var u=n(\"pattern\",o);if(u===eI)for(s=0;s<2;s++)l=Rve(a[s]),l&&(t.bounds[s]=a[s]=l-1);if(u)for(s=0;s<2;s++)switch(l=a[s],u){case eI:if(!Cve(l)){t.enabled=!1;return}if(l=+l,l!==Math.floor(l)||l<0||l>=7){t.enabled=!1;return}t.bounds[s]=a[s]=l;break;case Mvt:if(!Cve(l)){t.enabled=!1;return}if(l=+l,l<0||l>24){t.enabled=!1;return}t.bounds[s]=a[s]=l;break}if(r.autorange===!1){var c=r.range;if(c[0]c[1]){t.enabled=!1;return}}else if(a[0]>c[0]&&a[1]{\"use strict\";var Cvt=uo(),tI=Mr();zve.exports=function(t,r,n,i){var a=i.counterAxes||[],o=i.overlayableAxes||[],s=i.letter,l=i.grid,u=i.overlayingDomain,c,f,h,d,v,x;l&&(f=l._domains[s][l._axisMap[r._id]],c=l._anchors[r._id],f&&(h=l[s+\"side\"].split(\" \")[0],d=l.domain[s][h===\"right\"||h===\"top\"?1:0])),f=f||[0,1],c=c||(Cvt(t.position)?\"free\":a[0]||\"free\"),h=h||(s===\"x\"?\"bottom\":\"left\"),d=d||0,v=0,x=!1;var b=tI.coerce(t,r,{anchor:{valType:\"enumerated\",values:[\"free\"].concat(a),dflt:c}},\"anchor\"),g=tI.coerce(t,r,{side:{valType:\"enumerated\",values:s===\"x\"?[\"bottom\",\"top\"]:[\"left\",\"right\"],dflt:h}},\"side\");if(b===\"free\"){if(s===\"y\"){var E=n(\"autoshift\");E&&(d=g===\"left\"?u[0]:u[1],x=r.automargin?r.automargin:!0,v=g===\"left\"?-3:3),n(\"shift\",v)}n(\"position\",d)}n(\"automargin\",x);var k=!1;if(o.length&&(k=tI.coerce(t,r,{overlaying:{valType:\"enumerated\",values:[!1].concat(o),dflt:!1}},\"overlaying\")),!k){var A=n(\"domain\",f);A[0]>A[1]-1/4096&&(r.domain=f),tI.noneOrAll(t.domain,r.domain,f),r.tickmode===\"sync\"&&(r.tickmode=\"auto\")}return n(\"layer\"),r}});var Gve=ye((Vnr,Hve)=>{\"use strict\";var jb=Mr(),Fve=va(),Lvt=rp().isUnifiedHover,Pvt=OB(),qve=Vs(),Ivt=s3(),Ove=Cd(),Rvt=yU(),Bve=JM(),Dvt=Bb(),Nve=rI(),bU=af(),Cm=bU.id2name,Uve=bU.name2id,zvt=ad().AX_ID_PATTERN,Vve=ba(),iI=Vve.traceIs,xU=Vve.getComponentMethod;function nI(e,t,r){Array.isArray(e[t])?e[t].push(r):e[t]=[r]}Hve.exports=function(t,r,n){var i=r.autotypenumbers,a={},o={},s={},l={},u={},c={},f={},h={},d={},v={},x,b;for(x=0;x{\"use strict\";var Fvt=xa(),jve=ba(),aI=Mr(),Qp=ao(),oI=Qa();Wve.exports=function(t,r,n,i){var a=t._fullLayout;if(r.length===0){oI.redrawComponents(t);return}function o(b){var g=b.xaxis,E=b.yaxis;a._defs.select(\"#\"+b.clipId+\"> rect\").call(Qp.setTranslate,0,0).call(Qp.setScale,1,1),b.plot.call(Qp.setTranslate,g._offset,E._offset).call(Qp.setScale,1,1);var k=b.plot.selectAll(\".scatterlayer .trace\");k.selectAll(\".point\").call(Qp.setPointGroupScale,1,1),k.selectAll(\".textpoint\").call(Qp.setTextPointsScale,1,1),k.call(Qp.hideOutsideRangePoints,b)}function s(b,g){var E=b.plotinfo,k=E.xaxis,A=E.yaxis,L=k._length,_=A._length,C=!!b.xr1,M=!!b.yr1,p=[];if(C){var P=aI.simpleMap(b.xr0,k.r2l),T=aI.simpleMap(b.xr1,k.r2l),F=P[1]-P[0],q=T[1]-T[0];p[0]=(P[0]*(1-g)+g*T[0]-P[0])/(P[1]-P[0])*L,p[2]=L*(1-g+g*q/F),k.range[0]=k.l2r(P[0]*(1-g)+g*T[0]),k.range[1]=k.l2r(P[1]*(1-g)+g*T[1])}else p[0]=0,p[2]=L;if(M){var V=aI.simpleMap(b.yr0,A.r2l),H=aI.simpleMap(b.yr1,A.r2l),X=V[1]-V[0],G=H[1]-H[0];p[1]=(V[1]*(1-g)+g*H[1]-V[1])/(V[0]-V[1])*_,p[3]=_*(1-g+g*G/X),A.range[0]=k.l2r(V[0]*(1-g)+g*H[0]),A.range[1]=A.l2r(V[1]*(1-g)+g*H[1])}else p[1]=0,p[3]=_;oI.drawOne(t,k,{skipTitle:!0}),oI.drawOne(t,A,{skipTitle:!0}),oI.redrawComponents(t,[k._id,A._id]);var N=C?L/p[2]:1,W=M?_/p[3]:1,re=C?p[0]:0,ae=M?p[1]:0,_e=C?p[0]/p[2]*L:0,Me=M?p[1]/p[3]*_:0,ke=k._offset-_e,ge=A._offset-Me;E.clipRect.call(Qp.setTranslate,re,ae).call(Qp.setScale,1/N,1/W),E.plot.call(Qp.setTranslate,ke,ge).call(Qp.setScale,N,W),Qp.setPointGroupScale(E.zoomScalePts,1/N,1/W),Qp.setTextPointsScale(E.zoomScaleTxt,1/N,1/W)}var l;i&&(l=i());function u(){for(var b={},g=0;gn.duration?(u(),d=window.cancelAnimationFrame(x)):d=window.requestAnimationFrame(x)}return f=Date.now(),d=window.requestAnimationFrame(x),Promise.resolve()}});var Jf=ye(yv=>{\"use strict\";var lI=xa(),Xve=ba(),Wb=Mr(),qvt=Xu(),Ovt=ao(),Yve=kd().getModuleCalcData,g_=af(),zg=ad(),Bvt=Zp(),Fl=Wb.ensureSingle;function sI(e,t,r){return Wb.ensureSingle(e,t,r,function(n){n.datum(r)})}var Zb=zg.zindexSeparator;yv.name=\"cartesian\";yv.attr=[\"xaxis\",\"yaxis\"];yv.idRoot=[\"x\",\"y\"];yv.idRegex=zg.idRegex;yv.attrRegex=zg.attrRegex;yv.attributes=wve();yv.layoutAttributes=Cd();yv.supplyLayoutDefaults=Gve();yv.transitionAxes=Zve();yv.finalizeSubplots=function(e,t){var r=t._subplots,n=r.xaxis,i=r.yaxis,a=r.cartesian,o=a,s={},l={},u,c,f;for(u=0;u0){var d=h.id;if(d.indexOf(Zb)!==-1)continue;d+=Zb+(u+1),h=Wb.extendFlat({},h,{id:d,plot:i._cartesianlayer.selectAll(\".subplot\").select(\".\"+d)})}for(var v=[],x,b=0;b1&&(L+=Zb+A),k.push(s+L),o=0;o1,f=t.mainplotinfo;if(!t.mainplot||c)if(u)t.xlines=Fl(n,\"path\",\"xlines-above\"),t.ylines=Fl(n,\"path\",\"ylines-above\"),t.xaxislayer=Fl(n,\"g\",\"xaxislayer-above\"),t.yaxislayer=Fl(n,\"g\",\"yaxislayer-above\");else{if(!o){var h=Fl(n,\"g\",\"layer-subplot\");t.shapelayer=Fl(h,\"g\",\"shapelayer\"),t.imagelayer=Fl(h,\"g\",\"imagelayer\"),f&&c?(t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer):(t.minorGridlayer=Fl(n,\"g\",\"minor-gridlayer\"),t.gridlayer=Fl(n,\"g\",\"gridlayer\"),t.zerolinelayer=Fl(n,\"g\",\"zerolinelayer\"));var d=Fl(n,\"g\",\"layer-between\");t.shapelayerBetween=Fl(d,\"g\",\"shapelayer\"),t.imagelayerBetween=Fl(d,\"g\",\"imagelayer\"),Fl(n,\"path\",\"xlines-below\"),Fl(n,\"path\",\"ylines-below\"),t.overlinesBelow=Fl(n,\"g\",\"overlines-below\"),Fl(n,\"g\",\"xaxislayer-below\"),Fl(n,\"g\",\"yaxislayer-below\"),t.overaxesBelow=Fl(n,\"g\",\"overaxes-below\")}t.overplot=Fl(n,\"g\",\"overplot\"),t.plot=Fl(t.overplot,\"g\",i),o||(t.xlines=Fl(n,\"path\",\"xlines-above\"),t.ylines=Fl(n,\"path\",\"ylines-above\"),t.overlinesAbove=Fl(n,\"g\",\"overlines-above\"),Fl(n,\"g\",\"xaxislayer-above\"),Fl(n,\"g\",\"yaxislayer-above\"),t.overaxesAbove=Fl(n,\"g\",\"overaxes-above\"),t.xlines=n.select(\".xlines-\"+s),t.ylines=n.select(\".ylines-\"+l),t.xaxislayer=n.select(\".xaxislayer-\"+s),t.yaxislayer=n.select(\".yaxislayer-\"+l))}else{var v=f.plotgroup,x=i+\"-x\",b=i+\"-y\";t.minorGridlayer=f.minorGridlayer,t.gridlayer=f.gridlayer,t.zerolinelayer=f.zerolinelayer,Fl(f.overlinesBelow,\"path\",x),Fl(f.overlinesBelow,\"path\",b),Fl(f.overaxesBelow,\"g\",x),Fl(f.overaxesBelow,\"g\",b),t.plot=Fl(f.overplot,\"g\",i),Fl(f.overlinesAbove,\"path\",x),Fl(f.overlinesAbove,\"path\",b),Fl(f.overaxesAbove,\"g\",x),Fl(f.overaxesAbove,\"g\",b),t.xlines=v.select(\".overlines-\"+s).select(\".\"+x),t.ylines=v.select(\".overlines-\"+l).select(\".\"+b),t.xaxislayer=v.select(\".overaxes-\"+s).select(\".\"+x),t.yaxislayer=v.select(\".overaxes-\"+l).select(\".\"+b)}o||(u||(sI(t.minorGridlayer,\"g\",t.xaxis._id),sI(t.minorGridlayer,\"g\",t.yaxis._id),t.minorGridlayer.selectAll(\"g\").map(function(g){return g[0]}).sort(g_.idSort),sI(t.gridlayer,\"g\",t.xaxis._id),sI(t.gridlayer,\"g\",t.yaxis._id),t.gridlayer.selectAll(\"g\").map(function(g){return g[0]}).sort(g_.idSort)),t.xlines.style(\"fill\",\"none\").classed(\"crisp\",!0),t.ylines.style(\"fill\",\"none\").classed(\"crisp\",!0))}function $ve(e,t){if(e){var r={};e.each(function(l){var u=l[0],c=lI.select(this);c.remove(),Qve(u,t),r[u]=!0});for(var n in t._plots)for(var i=t._plots[n],a=i.overlays||[],o=0;o{\"use strict\";var uI=lu();epe.exports={hasLines:uI.hasLines,hasMarkers:uI.hasMarkers,hasText:uI.hasText,isBubble:uI.isBubble,attributes:Uc(),layoutAttributes:U6(),supplyDefaults:Ede(),crossTraceDefaults:$N(),supplyLayoutDefaults:Pde(),calc:q0().calc,crossTraceCalc:tve(),arraysToCalcdata:km(),plot:iT(),colorbar:Kd(),formatLabels:JP(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:sT(),selectPoints:lT(),animatable:!0,moduleType:\"trace\",name:\"scatter\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\",\"zoomScale\"],meta:{}}});var npe=ye((Wnr,ipe)=>{\"use strict\";var Uvt=xa(),Vvt=va(),rpe=MN(),wU=Mr(),Hvt=wU.strScale,Gvt=wU.strRotate,jvt=wU.strTranslate;ipe.exports=function(t,r,n){var i=t.node(),a=rpe[n.arrowhead||0],o=rpe[n.startarrowhead||0],s=(n.arrowwidth||1)*(n.arrowsize||1),l=(n.arrowwidth||1)*(n.startarrowsize||1),u=r.indexOf(\"start\")>=0,c=r.indexOf(\"end\")>=0,f=a.backoff*s+n.standoff,h=o.backoff*l+n.startstandoff,d,v,x,b;if(i.nodeName===\"line\"){d={x:+t.attr(\"x1\"),y:+t.attr(\"y1\")},v={x:+t.attr(\"x2\"),y:+t.attr(\"y2\")};var g=d.x-v.x,E=d.y-v.y;if(x=Math.atan2(E,g),b=x+Math.PI,f&&h&&f+h>Math.sqrt(g*g+E*E)){V();return}if(f){if(f*f>g*g+E*E){V();return}var k=f*Math.cos(x),A=f*Math.sin(x);v.x+=k,v.y+=A,t.attr({x2:v.x,y2:v.y})}if(h){if(h*h>g*g+E*E){V();return}var L=h*Math.cos(x),_=h*Math.sin(x);d.x-=L,d.y-=_,t.attr({x1:d.x,y1:d.y})}}else if(i.nodeName===\"path\"){var C=i.getTotalLength(),M=\"\";if(C{\"use strict\";var ape=xa(),TU=ba(),Wvt=Xu(),y_=Mr(),AU=y_.strTranslate,QM=Qa(),Xb=va(),Py=ao(),ope=Nc(),SU=Ll(),MU=Tg(),$M=gv(),Zvt=Vs().arrayEditor,Xvt=npe();upe.exports={draw:Yvt,drawOne:spe,drawRaw:lpe};function Yvt(e){var t=e._fullLayout;t._infolayer.selectAll(\".annotation\").remove();for(var r=0;r2/3?Xe=\"right\":Xe=\"center\"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[Xe]}for(var Ce=!1,me=[\"x\",\"y\"],Re=0;Re1)&&(nt===Ge?(St=ct.r2fraction(t[\"a\"+ce]),(St<0||St>1)&&(Ce=!0)):Ce=!0),xr=ct._offset+ct.r2p(t[ce]),xt=.5}else{var Et=Lt===\"domain\";ce===\"x\"?(Ke=t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.l+s.w*Ke):(Ke=1-t[ce],xr=Et?ct._offset+ct._length*Ke:xr=s.t+s.h*Ke),xt=t.showarrow?.5:Ke}if(t.showarrow){Yt.head=xr;var dt=t[\"a\"+ce];if(bt=rt*ze(.5,t.xanchor)-ot*ze(.5,t.yanchor),nt===Ge){var Ht=QM.getRefType(nt);Ht===\"domain\"?(ce===\"y\"&&(dt=1-dt),Yt.tail=ct._offset+ct._length*dt):Ht===\"paper\"?ce===\"y\"?(dt=1-dt,Yt.tail=s.t+s.h*dt):Yt.tail=s.l+s.w*dt:Yt.tail=ct._offset+ct.r2p(dt),er=bt}else Yt.tail=xr+dt,er=bt+dt;Yt.text=Yt.tail+bt;var $t=o[ce===\"x\"?\"width\":\"height\"];if(Ge===\"paper\"&&(Yt.head=y_.constrain(Yt.head,1,$t-1)),nt===\"pixel\"){var fr=-Math.max(Yt.tail-3,Yt.text),_r=Math.min(Yt.tail+3,Yt.text)-$t;fr>0?(Yt.tail+=fr,Yt.text+=fr):_r>0&&(Yt.tail-=_r,Yt.text-=_r)}Yt.tail+=Ct,Yt.head+=Ct}else bt=Rt*ze(xt,kt),er=bt,Yt.text=xr+bt;Yt.text+=Ct,bt+=Ct,er+=Ct,t[\"_\"+ce+\"padplus\"]=Rt/2+er,t[\"_\"+ce+\"padminus\"]=Rt/2-er,t[\"_\"+ce+\"size\"]=Rt,t[\"_\"+ce+\"shift\"]=bt}if(Ce){C.remove();return}var Br=0,Or=0;if(t.align!==\"left\"&&(Br=(ie-ke)*(t.align===\"center\"?.5:1)),t.valign!==\"top\"&&(Or=(Te-ge)*(t.valign===\"middle\"?.5:1)),_e)ae.select(\"svg\").attr({x:P+Br-1,y:P+Or}).call(Py.setClipUrl,F?x:null,e);else{var Nr=P+Or-Me.top,ut=P+Br-Me.left;X.call(SU.positionText,ut,Nr).call(Py.setClipUrl,F?x:null,e)}q.select(\"rect\").call(Py.setRect,P,P,ie,Te),T.call(Py.setRect,M/2,M/2,Ee-M,Ae-M),C.call(Py.setTranslate,Math.round(b.x.text-Ee/2),Math.round(b.y.text-Ae/2)),k.attr({transform:\"rotate(\"+g+\",\"+b.x.text+\",\"+b.y.text+\")\"});var Ne=function(Ve,Xe){E.selectAll(\".annotation-arrow-g\").remove();var ht=b.x.head,Le=b.y.head,xe=b.x.tail+Ve,Se=b.y.tail+Xe,lt=b.x.text+Ve,Gt=b.y.text+Xe,Vt=y_.rotationXYMatrix(g,lt,Gt),ar=y_.apply2DTransform(Vt),Qr=y_.apply2DTransform2(Vt),ai=+T.attr(\"width\"),jr=+T.attr(\"height\"),ri=lt-.5*ai,bi=ri+ai,nn=Gt-.5*jr,Wi=nn+jr,Ni=[[ri,nn,ri,Wi],[ri,Wi,bi,Wi],[bi,Wi,bi,nn],[bi,nn,ri,nn]].map(Qr);if(!Ni.reduce(function(Vr,gi){return Vr^!!y_.segmentsIntersect(ht,Le,ht+1e6,Le+1e6,gi[0],gi[1],gi[2],gi[3])},!1)){Ni.forEach(function(Vr){var gi=y_.segmentsIntersect(xe,Se,ht,Le,Vr[0],Vr[1],Vr[2],Vr[3]);gi&&(xe=gi.x,Se=gi.y)});var _n=t.arrowwidth,$i=t.arrowcolor,zn=t.arrowside,Wn=E.append(\"g\").style({opacity:Xb.opacity($i)}).classed(\"annotation-arrow-g\",!0),It=Wn.append(\"path\").attr(\"d\",\"M\"+xe+\",\"+Se+\"L\"+ht+\",\"+Le).style(\"stroke-width\",_n+\"px\").call(Xb.stroke,Xb.rgb($i));if(Xvt(It,zn,t),l.annotationPosition&&It.node().parentNode&&!n){var ft=ht,jt=Le;if(t.standoff){var Zt=Math.sqrt(Math.pow(ht-xe,2)+Math.pow(Le-Se,2));ft+=t.standoff*(xe-ht)/Zt,jt+=t.standoff*(Se-Le)/Zt}var yr=Wn.append(\"path\").classed(\"annotation-arrow\",!0).classed(\"anndrag\",!0).classed(\"cursor-move\",!0).attr({d:\"M3,3H-3V-3H3ZM0,0L\"+(xe-ft)+\",\"+(Se-jt),transform:AU(ft,jt)}).style(\"stroke-width\",_n+6+\"px\").call(Xb.stroke,\"rgba(0,0,0,0)\").call(Xb.fill,\"rgba(0,0,0,0)\"),Fr,Zr;$M.init({element:yr.node(),gd:e,prepFn:function(){var Vr=Py.getTranslate(C);Fr=Vr.x,Zr=Vr.y,i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0)},moveFn:function(Vr,gi){var Si=ar(Fr,Zr),Mi=Si[0]+Vr,Pi=Si[1]+gi;C.call(Py.setTranslate,Mi,Pi),d(\"x\",m_(i,Vr,\"x\",s,t)),d(\"y\",m_(a,gi,\"y\",s,t)),t.axref===t.xref&&d(\"ax\",m_(i,Vr,\"ax\",s,t)),t.ayref===t.yref&&d(\"ay\",m_(a,gi,\"ay\",s,t)),Wn.attr(\"transform\",AU(Vr,gi)),k.attr({transform:\"rotate(\"+g+\",\"+Mi+\",\"+Pi+\")\"})},doneFn:function(){TU.call(\"_guiRelayout\",e,v());var Vr=document.querySelector(\".js-notes-box-panel\");Vr&&Vr.redraw(Vr.selectedObj)}})}}};if(t.showarrow&&Ne(0,0),A){var Ye;$M.init({element:C.node(),gd:e,prepFn:function(){Ye=k.attr(\"transform\")},moveFn:function(Ve,Xe){var ht=\"pointer\";if(t.showarrow)t.axref===t.xref?d(\"ax\",m_(i,Ve,\"ax\",s,t)):d(\"ax\",t.ax+Ve),t.ayref===t.yref?d(\"ay\",m_(a,Xe,\"ay\",s.w,t)):d(\"ay\",t.ay+Xe),Ne(Ve,Xe);else{if(n)return;var Le,xe;if(i)Le=m_(i,Ve,\"x\",s,t);else{var Se=t._xsize/s.w,lt=t.x+(t._xshift-t.xshift)/s.w-Se/2;Le=$M.align(lt+Ve/s.w,Se,0,1,t.xanchor)}if(a)xe=m_(a,Xe,\"y\",s,t);else{var Gt=t._ysize/s.h,Vt=t.y-(t._yshift+t.yshift)/s.h-Gt/2;xe=$M.align(Vt-Xe/s.h,Gt,0,1,t.yanchor)}d(\"x\",Le),d(\"y\",xe),(!i||!a)&&(ht=$M.getCursor(i?.5:Le,a?.5:xe,t.xanchor,t.yanchor))}k.attr({transform:AU(Ve,Xe)+Ye}),MU(C,ht)},clickFn:function(Ve,Xe){t.captureevents&&e.emit(\"plotly_clickannotation\",_(Xe))},doneFn:function(){MU(C),TU.call(\"_guiRelayout\",e,v());var Ve=document.querySelector(\".js-notes-box-panel\");Ve&&Ve.redraw(Ve.selectedObj)}})}}l.annotationText?X.call(SU.makeEditable,{delegate:C,gd:e}).call(G).on(\"edit\",function(W){t.text=W,this.call(G),d(\"text\",W),i&&i.autorange&&h(i._name+\".autorange\",!0),a&&a.autorange&&h(a._name+\".autorange\",!0),TU.call(\"_guiRelayout\",e,v())}):X.call(G)}});var ppe=ye((Xnr,vpe)=>{\"use strict\";var cpe=Mr(),Kvt=ba(),fpe=Vs().arrayEditor;vpe.exports={hasClickToShow:Jvt,onClick:$vt};function Jvt(e,t){var r=dpe(e,t);return r.on.length>0||r.explicitOff.length>0}function $vt(e,t){var r=dpe(e,t),n=r.on,i=r.off.concat(r.explicitOff),a={},o=e._fullLayout.annotations,s,l;if(n.length||i.length){for(s=0;s{\"use strict\";var EU=Mr(),uT=va();gpe.exports=function(t,r,n,i){i(\"opacity\");var a=i(\"bgcolor\"),o=i(\"bordercolor\"),s=uT.opacity(o);i(\"borderpad\");var l=i(\"borderwidth\"),u=i(\"showarrow\");i(\"text\",u?\" \":n._dfltTitle.annotation),i(\"textangle\"),EU.coerceFont(i,\"font\",n.font),i(\"width\"),i(\"align\");var c=i(\"height\");if(c&&i(\"valign\"),u){var f=i(\"arrowside\"),h,d;f.indexOf(\"end\")!==-1&&(h=i(\"arrowhead\"),d=i(\"arrowsize\")),f.indexOf(\"start\")!==-1&&(i(\"startarrowhead\",h),i(\"startarrowsize\",d)),i(\"arrowcolor\",s?r.bordercolor:uT.defaultLine),i(\"arrowwidth\",(s&&l||1)*2),i(\"standoff\"),i(\"startstandoff\")}var v=i(\"hovertext\"),x=n.hoverlabel||{};if(v){var b=i(\"hoverlabel.bgcolor\",x.bgcolor||(uT.opacity(a)?uT.rgb(a):uT.defaultLine)),g=i(\"hoverlabel.bordercolor\",x.bordercolor||uT.contrast(b)),E=EU.extendFlat({},x.font);E.color||(E.color=g),EU.coerceFont(i,\"hoverlabel.font\",E)}i(\"captureevents\",!!v)}});var ype=ye((Knr,mpe)=>{\"use strict\";var CU=Mr(),Yb=Qa(),Qvt=Zd(),ept=kU(),tpt=Nb();mpe.exports=function(t,r){Qvt(t,r,{name:\"annotations\",handleItemDefaults:rpt})};function rpt(e,t,r){function n(k,A){return CU.coerce(e,t,tpt,k,A)}var i=n(\"visible\"),a=n(\"clicktoshow\");if(i||a){ept(e,t,r,n);for(var o=t.showarrow,s=[\"x\",\"y\"],l=[-10,-30],u={_fullLayout:r},c=0;c<2;c++){var f=s[c],h=Yb.coerceRef(e,t,u,f,\"\",\"paper\");if(h!==\"paper\"){var d=Yb.getFromId(u,h);d._annIndices.push(t._index)}if(Yb.coercePosition(t,u,n,h,f,.5),o){var v=\"a\"+f,x=Yb.coerceRef(e,t,u,v,\"pixel\",[\"pixel\",\"paper\"]);x!==\"pixel\"&&x!==h&&(x=t[v]=\"pixel\");var b=x===\"pixel\"?l[c]:.4;Yb.coercePosition(t,u,n,x,v,b)}n(f+\"anchor\"),n(f+\"shift\")}if(CU.noneOrAll(e,t,[\"x\",\"y\"]),o&&CU.noneOrAll(e,t,[\"ax\",\"ay\"]),a){var g=n(\"xclick\"),E=n(\"yclick\");t._xclick=g===void 0?t.x:Yb.cleanPosition(g,u,t.xref),t._yclick=E===void 0?t.y:Yb.cleanPosition(E,u,t.yref)}}}});var bpe=ye((Jnr,xpe)=>{\"use strict\";var LU=Mr(),Kb=Qa(),ipt=cI().draw;xpe.exports=function(t){var r=t._fullLayout,n=LU.filterVisible(r.annotations);if(n.length&&t._fullData.length)return LU.syncOrAsync([ipt,npt],t)};function npt(e){var t=e._fullLayout;LU.filterVisible(t.annotations).forEach(function(r){var n=Kb.getFromId(e,r.xref),i=Kb.getFromId(e,r.yref),a=Kb.getRefType(r.xref),o=Kb.getRefType(r.yref);r._extremes={},a===\"range\"&&_pe(r,n),o===\"range\"&&_pe(r,i)})}function _pe(e,t){var r=t._id,n=r.charAt(0),i=e[n],a=e[\"a\"+n],o=e[n+\"ref\"],s=e[\"a\"+n+\"ref\"],l=e[\"_\"+n+\"padplus\"],u=e[\"_\"+n+\"padminus\"],c={x:1,y:-1}[n]*e[n+\"shift\"],f=3*e.arrowsize*e.arrowwidth||0,h=f+c,d=f-c,v=3*e.startarrowsize*e.arrowwidth||0,x=v+c,b=v-c,g;if(s===o){var E=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:h,ppadminus:d}),k=Kb.findExtremes(t,[t.r2c(a)],{ppadplus:Math.max(l,x),ppadminus:Math.max(u,b)});g={min:[E.min[0],k.min[0]],max:[E.max[0],k.max[0]]}}else x=a?x+a:x,b=a?b-a:b,g=Kb.findExtremes(t,[t.r2c(i)],{ppadplus:Math.max(l,h,x),ppadminus:Math.max(u,d,b)});e._extremes[r]=g}});var Tpe=ye(($nr,wpe)=>{\"use strict\";var apt=uo(),opt=l6();wpe.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(!(a||o))return;var s=t._fullLayout.annotations,l=r._id.charAt(0),u,c;function f(d){var v=u[d],x=null;a?x=opt(v,r.range):x=Math.pow(10,v),apt(x)||(x=null),i(c+d,x)}for(var h=0;h{\"use strict\";var PU=cI(),Ape=ppe();Spe.exports={moduleType:\"component\",name:\"annotations\",layoutAttributes:Nb(),supplyLayoutDefaults:ype(),includeBasePlot:IM()(\"annotations\"),calcAutorange:bpe(),draw:PU.draw,drawOne:PU.drawOne,drawRaw:PU.drawRaw,hasClickToShow:Ape.hasClickToShow,onClick:Ape.onClick,convertCoords:Tpe()}});var fI=ye((ear,Epe)=>{\"use strict\";var Ku=Nb(),spt=Bu().overrideAll,lpt=Vs().templatedArray;Epe.exports=spt(lpt(\"annotation\",{visible:Ku.visible,x:{valType:\"any\"},y:{valType:\"any\"},z:{valType:\"any\"},ax:{valType:\"number\"},ay:{valType:\"number\"},xanchor:Ku.xanchor,xshift:Ku.xshift,yanchor:Ku.yanchor,yshift:Ku.yshift,text:Ku.text,textangle:Ku.textangle,font:Ku.font,width:Ku.width,height:Ku.height,opacity:Ku.opacity,align:Ku.align,valign:Ku.valign,bgcolor:Ku.bgcolor,bordercolor:Ku.bordercolor,borderpad:Ku.borderpad,borderwidth:Ku.borderwidth,showarrow:Ku.showarrow,arrowcolor:Ku.arrowcolor,arrowhead:Ku.arrowhead,startarrowhead:Ku.startarrowhead,arrowside:Ku.arrowside,arrowsize:Ku.arrowsize,startarrowsize:Ku.startarrowsize,arrowwidth:Ku.arrowwidth,standoff:Ku.standoff,startstandoff:Ku.startstandoff,hovertext:Ku.hovertext,hoverlabel:Ku.hoverlabel,captureevents:Ku.captureevents}),\"calc\",\"from-root\")});var Cpe=ye((tar,kpe)=>{\"use strict\";var IU=Mr(),upt=Qa(),cpt=Zd(),fpt=kU(),hpt=fI();kpe.exports=function(t,r,n){cpt(t,r,{name:\"annotations\",handleItemDefaults:dpt,fullLayout:n.fullLayout})};function dpt(e,t,r,n){function i(s,l){return IU.coerce(e,t,hpt,s,l)}function a(s){var l=s+\"axis\",u={_fullLayout:{}};return u._fullLayout[l]=r[l],upt.coercePosition(t,u,i,s,s,.5)}var o=i(\"visible\");o&&(fpt(e,t,n.fullLayout,i),a(\"x\"),a(\"y\"),a(\"z\"),IU.noneOrAll(e,t,[\"x\",\"y\",\"z\"]),t.xref=\"x\",t.yref=\"y\",t.zref=\"z\",i(\"xanchor\"),i(\"yanchor\"),i(\"xshift\"),i(\"yshift\"),t.showarrow&&(t.axref=\"pixel\",t.ayref=\"pixel\",i(\"ax\",-10),i(\"ay\",-30),IU.noneOrAll(e,t,[\"ax\",\"ay\"])))}});var Rpe=ye((rar,Ipe)=>{\"use strict\";var Lpe=Mr(),Ppe=Qa();Ipe.exports=function(t){for(var r=t.fullSceneLayout,n=r.annotations,i=0;i{\"use strict\";function RU(e,t){var r=[0,0,0,0],n,i;for(n=0;n<4;++n)for(i=0;i<4;++i)r[i]+=e[4*n+i]*t[n];return r}function ppt(e,t){var r=RU(e.projection,RU(e.view,RU(e.model,[t[0],t[1],t[2],1])));return r}Dpe.exports=ppt});var Fpe=ye((nar,zpe)=>{\"use strict\";var gpt=cI().drawRaw,mpt=DU(),ypt=[\"x\",\"y\",\"z\"];zpe.exports=function(t){for(var r=t.fullSceneLayout,n=t.dataScale,i=r.annotations,a=0;a1){s=!0;break}}s?t.fullLayout._infolayer.select(\".annotation-\"+t.id+'[data-index=\"'+a+'\"]').remove():(o._pdata=mpt(t.glplot.cameraParams,[r.xaxis.r2l(o.x)*n[0],r.yaxis.r2l(o.y)*n[1],r.zaxis.r2l(o.z)*n[2]]),gpt(t.graphDiv,o,a,t.id,o._xa,o._ya))}}});var Bpe=ye((aar,Ope)=>{\"use strict\";var _pt=ba(),qpe=Mr();Ope.exports={moduleType:\"component\",name:\"annotations3d\",schema:{subplots:{scene:{annotations:fI()}}},layoutAttributes:fI(),handleDefaults:Cpe(),includeBasePlot:xpt,convert:Rpe(),draw:Fpe()};function xpt(e,t){var r=_pt.subplotsRegistry.gl3d;if(r)for(var n=r.attrRegex,i=Object.keys(e),a=0;a{\"use strict\";var Npe=Nb(),Upe=Su(),Vpe=Uc().line,bpt=Ed().dash,Fg=no().extendFlat,wpt=Vs().templatedArray,oar=PM(),cT=vl(),Tpt=Wo().shapeTexttemplateAttrs,Apt=x6();Hpe.exports=wpt(\"shape\",{visible:Fg({},cT.visible,{editType:\"calc+arraydraw\"}),showlegend:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},legend:Fg({},cT.legend,{editType:\"calc+arraydraw\"}),legendgroup:Fg({},cT.legendgroup,{editType:\"calc+arraydraw\"}),legendgrouptitle:{text:Fg({},cT.legendgrouptitle.text,{editType:\"calc+arraydraw\"}),font:Upe({editType:\"calc+arraydraw\"}),editType:\"calc+arraydraw\"},legendrank:Fg({},cT.legendrank,{editType:\"calc+arraydraw\"}),legendwidth:Fg({},cT.legendwidth,{editType:\"calc+arraydraw\"}),type:{valType:\"enumerated\",values:[\"circle\",\"rect\",\"path\",\"line\"],editType:\"calc+arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\",\"between\"],dflt:\"above\",editType:\"arraydraw\"},xref:Fg({},Npe.xref,{}),xsizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},xanchor:{valType:\"any\",editType:\"calc+arraydraw\"},x0:{valType:\"any\",editType:\"calc+arraydraw\"},x1:{valType:\"any\",editType:\"calc+arraydraw\"},x0shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},x1shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},yref:Fg({},Npe.yref,{}),ysizemode:{valType:\"enumerated\",values:[\"scaled\",\"pixel\"],dflt:\"scaled\",editType:\"calc+arraydraw\"},yanchor:{valType:\"any\",editType:\"calc+arraydraw\"},y0:{valType:\"any\",editType:\"calc+arraydraw\"},y1:{valType:\"any\",editType:\"calc+arraydraw\"},y0shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},y1shift:{valType:\"number\",dflt:0,min:-1,max:1,editType:\"calc\"},path:{valType:\"string\",editType:\"calc+arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},line:{color:Fg({},Vpe.color,{editType:\"arraydraw\"}),width:Fg({},Vpe.width,{editType:\"calc+arraydraw\"}),dash:Fg({},bpt,{editType:\"arraydraw\"}),editType:\"calc+arraydraw\"},fillcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"arraydraw\"},fillrule:{valType:\"enumerated\",values:[\"evenodd\",\"nonzero\"],dflt:\"evenodd\",editType:\"arraydraw\"},editable:{valType:\"boolean\",dflt:!1,editType:\"calc+arraydraw\"},label:{text:{valType:\"string\",dflt:\"\",editType:\"arraydraw\"},texttemplate:Tpt({},{keys:Object.keys(Apt)}),font:Upe({editType:\"calc+arraydraw\",colorEditType:\"arraydraw\"}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\",\"start\",\"middle\",\"end\"],editType:\"arraydraw\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc+arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"auto\",editType:\"calc+arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],editType:\"calc+arraydraw\"},padding:{valType:\"number\",dflt:3,min:0,editType:\"arraydraw\"},editType:\"arraydraw\"},editType:\"arraydraw\"})});var Wpe=ye((lar,jpe)=>{\"use strict\";var e4=Mr(),fT=Qa(),Spt=Zd(),Mpt=zU(),Gpe=f_();jpe.exports=function(t,r){Spt(t,r,{name:\"shapes\",handleItemDefaults:kpt})};function Ept(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}function kpt(e,t,r){function n(W,re){return e4.coerce(e,t,Mpt,W,re)}t._isShape=!0;var i=n(\"visible\");if(i){var a=n(\"showlegend\");a&&(n(\"legend\"),n(\"legendwidth\"),n(\"legendgroup\"),n(\"legendgrouptitle.text\"),e4.coerceFont(n,\"legendgrouptitle.font\"),n(\"legendrank\"));var o=n(\"path\"),s=o?\"path\":\"rect\",l=n(\"type\",s),u=l!==\"path\";u&&delete t.path,n(\"editable\"),n(\"layer\"),n(\"opacity\"),n(\"fillcolor\"),n(\"fillrule\");var c=n(\"line.width\");c&&(n(\"line.color\"),n(\"line.dash\"));for(var f=n(\"xsizemode\"),h=n(\"ysizemode\"),d=[\"x\",\"y\"],v=0;v<2;v++){var x=d[v],b=x+\"anchor\",g=x===\"x\"?f:h,E={_fullLayout:r},k,A,L,_=fT.coerceRef(e,t,E,x,void 0,\"paper\"),C=fT.getRefType(_);if(C===\"range\"?(k=fT.getFromId(E,_),k._shapeIndices.push(t._index),L=Gpe.rangeToShapePosition(k),A=Gpe.shapePositionToRange(k),(k.type===\"category\"||k.type===\"multicategory\")&&(n(x+\"0shift\"),n(x+\"1shift\"))):A=L=e4.identity,u){var M=.25,p=.75,P=x+\"0\",T=x+\"1\",F=e[P],q=e[T];e[P]=A(e[P],!0),e[T]=A(e[T],!0),g===\"pixel\"?(n(P,0),n(T,10)):(fT.coercePosition(t,E,n,_,P,M),fT.coercePosition(t,E,n,_,T,p)),t[P]=L(t[P]),t[T]=L(t[T]),e[P]=F,e[T]=q}if(g===\"pixel\"){var V=e[b];e[b]=A(e[b],!0),fT.coercePosition(t,E,n,_,b,.25),t[b]=L(t[b]),e[b]=V}}u&&e4.noneOrAll(e,t,[\"x0\",\"x1\",\"y0\",\"y1\"]);var H=l===\"line\",X,G;if(u&&(X=n(\"label.texttemplate\")),X||(G=n(\"label.text\")),G||X){n(\"label.textangle\");var N=n(\"label.textposition\",H?\"middle\":\"middle center\");n(\"label.xanchor\"),n(\"label.yanchor\",Ept(H,N)),n(\"label.padding\"),e4.coerceFont(n,\"label.font\",r.font)}}}});var Ype=ye((uar,Xpe)=>{\"use strict\";var Cpt=va(),Zpe=Mr();function Lpt(e,t){return e?\"bottom\":t.indexOf(\"top\")!==-1?\"top\":t.indexOf(\"bottom\")!==-1?\"bottom\":\"middle\"}Xpe.exports=function(t,r,n){n(\"newshape.visible\"),n(\"newshape.name\"),n(\"newshape.showlegend\"),n(\"newshape.legend\"),n(\"newshape.legendwidth\"),n(\"newshape.legendgroup\"),n(\"newshape.legendgrouptitle.text\"),Zpe.coerceFont(n,\"newshape.legendgrouptitle.font\"),n(\"newshape.legendrank\"),n(\"newshape.drawdirection\"),n(\"newshape.layer\"),n(\"newshape.fillcolor\"),n(\"newshape.fillrule\"),n(\"newshape.opacity\");var i=n(\"newshape.line.width\");if(i){var a=(t||{}).plot_bgcolor||\"#FFF\";n(\"newshape.line.color\",Cpt.contrast(a)),n(\"newshape.line.dash\")}var o=t.dragmode===\"drawline\",s=n(\"newshape.label.text\"),l=n(\"newshape.label.texttemplate\");if(s||l){n(\"newshape.label.textangle\");var u=n(\"newshape.label.textposition\",o?\"middle\":\"middle center\");n(\"newshape.label.xanchor\"),n(\"newshape.label.yanchor\",Lpt(o,u)),n(\"newshape.label.padding\"),Zpe.coerceFont(n,\"newshape.label.font\",r.font)}n(\"activeshape.fillcolor\"),n(\"activeshape.opacity\")}});var e0e=ye((car,Qpe)=>{\"use strict\";var FU=Mr(),hT=Qa(),dT=cM(),Jpe=f_();Qpe.exports=function(t){var r=t._fullLayout,n=FU.filterVisible(r.shapes);if(!(!n.length||!t._fullData.length))for(var i=0;i0?u+o:o;return{ppad:o,ppadplus:s?f:h,ppadminus:s?h:f}}else return{ppad:o}}function Kpe(e,t,r){var n=e._id.charAt(0)===\"x\"?\"x\":\"y\",i=e.type===\"category\"||e.type===\"multicategory\",a,o,s=0,l=0,u=i?e.r2c:e.d2c,c=t[n+\"sizemode\"]===\"scaled\";if(c?(a=t[n+\"0\"],o=t[n+\"1\"],i&&(s=t[n+\"0shift\"],l=t[n+\"1shift\"])):(a=t[n+\"anchor\"],o=t[n+\"anchor\"]),a!==void 0)return[u(a)+s,u(o)+l];if(t.path){var f=1/0,h=-1/0,d=t.path.match(dT.segmentRE),v,x,b,g,E;for(e.type===\"date\"&&(u=Jpe.decodeDate(u)),v=0;vh&&(h=E)));if(h>=f)return[f,h]}}});var i0e=ye((far,r0e)=>{\"use strict\";var t0e=tP();r0e.exports={moduleType:\"component\",name:\"shapes\",layoutAttributes:zU(),supplyLayoutDefaults:Wpe(),supplyDrawNewShapeDefaults:Ype(),includeBasePlot:IM()(\"shapes\"),calcAutorange:e0e(),draw:t0e.draw,drawOne:t0e.drawOne}});var qU=ye((dar,a0e)=>{\"use strict\";var n0e=ad(),Rpt=Vs().templatedArray,har=PM();a0e.exports=Rpt(\"image\",{visible:{valType:\"boolean\",dflt:!0,editType:\"arraydraw\"},source:{valType:\"string\",editType:\"arraydraw\"},layer:{valType:\"enumerated\",values:[\"below\",\"above\"],dflt:\"above\",editType:\"arraydraw\"},sizex:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizey:{valType:\"number\",dflt:0,editType:\"arraydraw\"},sizing:{valType:\"enumerated\",values:[\"fill\",\"contain\",\"stretch\"],dflt:\"contain\",editType:\"arraydraw\"},opacity:{valType:\"number\",min:0,max:1,dflt:1,editType:\"arraydraw\"},x:{valType:\"any\",dflt:0,editType:\"arraydraw\"},y:{valType:\"any\",dflt:0,editType:\"arraydraw\"},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"arraydraw\"},yanchor:{valType:\"enumerated\",values:[\"top\",\"middle\",\"bottom\"],dflt:\"top\",editType:\"arraydraw\"},xref:{valType:\"enumerated\",values:[\"paper\",n0e.idRegex.x.toString()],dflt:\"paper\",editType:\"arraydraw\"},yref:{valType:\"enumerated\",values:[\"paper\",n0e.idRegex.y.toString()],dflt:\"paper\",editType:\"arraydraw\"},editType:\"arraydraw\"})});var s0e=ye((par,o0e)=>{\"use strict\";var Dpt=Mr(),OU=Qa(),zpt=Zd(),Fpt=qU(),qpt=\"images\";o0e.exports=function(t,r){var n={name:qpt,handleItemDefaults:Opt};zpt(t,r,n)};function Opt(e,t,r){function n(h,d){return Dpt.coerce(e,t,Fpt,h,d)}var i=n(\"source\"),a=n(\"visible\",!!i);if(!a)return t;n(\"layer\"),n(\"xanchor\"),n(\"yanchor\"),n(\"sizex\"),n(\"sizey\"),n(\"sizing\"),n(\"opacity\");for(var o={_fullLayout:r},s=[\"x\",\"y\"],l=0;l<2;l++){var u=s[l],c=OU.coerceRef(e,t,o,u,\"paper\",void 0);if(c!==\"paper\"){var f=OU.getFromId(o,c);f._imgIndices.push(t._index)}OU.coercePosition(t,o,n,c,u,0)}return t}});var f0e=ye((gar,c0e)=>{\"use strict\";var l0e=xa(),Bpt=ao(),vT=Qa(),u0e=af(),Npt=Zp();c0e.exports=function(t){var r=t._fullLayout,n=[],i={},a=[],o,s;for(s=0;s{\"use strict\";var h0e=uo(),Upt=l6();d0e.exports=function(t,r,n,i){r=r||{};var a=n===\"log\"&&r.type===\"linear\",o=n===\"linear\"&&r.type===\"log\";if(a||o){for(var s=t._fullLayout.images,l=r._id.charAt(0),u,c,f=0;f{\"use strict\";p0e.exports={moduleType:\"component\",name:\"images\",layoutAttributes:qU(),supplyLayoutDefaults:s0e(),includeBasePlot:IM()(\"images\"),draw:f0e(),convertCoords:v0e()}});var hI=ye((_ar,m0e)=>{\"use strict\";m0e.exports={name:\"updatemenus\",containerClassName:\"updatemenu-container\",headerGroupClassName:\"updatemenu-header-group\",headerClassName:\"updatemenu-header\",headerArrowClassName:\"updatemenu-header-arrow\",dropdownButtonGroupClassName:\"updatemenu-dropdown-button-group\",dropdownButtonClassName:\"updatemenu-dropdown-button\",buttonClassName:\"updatemenu-button\",itemRectClassName:\"updatemenu-item-rect\",itemTextClassName:\"updatemenu-item-text\",menuIndexAttrName:\"updatemenu-active-index\",autoMarginIdRoot:\"updatemenu-\",blankHeaderOpts:{label:\" \"},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:\"#F4FAFF\",hoverColor:\"#F4FAFF\",arrowSymbol:{left:\"\\u25C4\",right:\"\\u25BA\",up:\"\\u25B2\",down:\"\\u25BC\"}}});var BU=ye((xar,_0e)=>{\"use strict\";var Vpt=Su(),Hpt=dh(),Gpt=no().extendFlat,jpt=Bu().overrideAll,Wpt=b6(),y0e=Vs().templatedArray,Zpt=y0e(\"button\",{visible:{valType:\"boolean\"},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},args2:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\",dflt:\"\"},execute:{valType:\"boolean\",dflt:!0}});_0e.exports=jpt(y0e(\"updatemenu\",{_arrayAttrRegexps:[/^updatemenus\\[(0|[1-9][0-9]+)\\]\\.buttons/],visible:{valType:\"boolean\"},type:{valType:\"enumerated\",values:[\"dropdown\",\"buttons\"],dflt:\"dropdown\"},direction:{valType:\"enumerated\",values:[\"left\",\"right\",\"up\",\"down\"],dflt:\"down\"},active:{valType:\"integer\",min:-1,dflt:0},showactive:{valType:\"boolean\",dflt:!0},buttons:Zpt,x:{valType:\"number\",min:-2,max:3,dflt:-.05},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"right\"},y:{valType:\"number\",min:-2,max:3,dflt:1},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},pad:Gpt(Wpt({editType:\"arraydraw\"}),{}),font:Vpt({}),bgcolor:{valType:\"color\"},bordercolor:{valType:\"color\",dflt:Hpt.borderLine},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"arraydraw\"}}),\"arraydraw\",\"from-root\")});var T0e=ye((bar,w0e)=>{\"use strict\";var dI=Mr(),x0e=Zd(),b0e=BU(),Xpt=hI(),Ypt=Xpt.name,Kpt=b0e.buttons;w0e.exports=function(t,r){var n={name:Ypt,handleItemDefaults:Jpt};x0e(t,r,n)};function Jpt(e,t,r){function n(o,s){return dI.coerce(e,t,b0e,o,s)}var i=x0e(e,t,{name:\"buttons\",handleItemDefaults:$pt}),a=n(\"visible\",i.length>0);a&&(n(\"active\"),n(\"direction\"),n(\"type\"),n(\"showactive\"),n(\"x\"),n(\"y\"),dI.noneOrAll(e,t,[\"x\",\"y\"]),n(\"xanchor\"),n(\"yanchor\"),n(\"pad.t\"),n(\"pad.r\"),n(\"pad.b\"),n(\"pad.l\"),dI.coerceFont(n,\"font\",r.font),n(\"bgcolor\",r.paper_bgcolor),n(\"bordercolor\"),n(\"borderwidth\"))}function $pt(e,t){function r(i,a){return dI.coerce(e,t,Kpt,i,a)}var n=r(\"visible\",e.method===\"skip\"||Array.isArray(e.args));n&&(r(\"method\"),r(\"args\"),r(\"args2\"),r(\"label\"),r(\"execute\"))}});var M0e=ye((war,S0e)=>{\"use strict\";S0e.exports=of;var qg=xa(),A0e=va(),pT=ao(),vI=Mr();function of(e,t,r){this.gd=e,this.container=t,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll(\"rect.scrollbox-bg\").data([0]),this.bg.exit().on(\".drag\",null).on(\"wheel\",null).remove(),this.bg.enter().append(\"rect\").classed(\"scrollbox-bg\",!0).style(\"pointer-events\",\"all\").attr({opacity:0,x:0,y:0,width:0,height:0})}of.barWidth=2;of.barLength=20;of.barRadius=2;of.barPad=1;of.barColor=\"#808BA4\";of.prototype.enable=function(t,r,n){var i=this.gd._fullLayout,a=i.width,o=i.height;this.position=t;var s=this.position.l,l=this.position.w,u=this.position.t,c=this.position.h,f=this.position.direction,h=f===\"down\",d=f===\"left\",v=f===\"right\",x=f===\"up\",b=l,g=c,E,k,A,L;!h&&!d&&!v&&!x&&(this.position.direction=\"down\",h=!0);var _=h||x;_?(E=s,k=E+b,h?(A=u,L=Math.min(A+g,o),g=L-A):(L=u+g,A=Math.max(L-g,0),g=L-A)):(A=u,L=A+g,d?(k=s+b,E=Math.max(k-b,0),b=k-E):(E=s,k=Math.min(E+b,a),b=k-E)),this._box={l:E,t:A,w:b,h:g};var C=l>b,M=of.barLength+2*of.barPad,p=of.barWidth+2*of.barPad,P=s,T=u+c;T+p>o&&(T=o-p);var F=this.container.selectAll(\"rect.scrollbar-horizontal\").data(C?[0]:[]);F.exit().on(\".drag\",null).remove(),F.enter().append(\"rect\").classed(\"scrollbar-horizontal\",!0).call(A0e.fill,of.barColor),C?(this.hbar=F.attr({rx:of.barRadius,ry:of.barRadius,x:P,y:T,width:M,height:p}),this._hbarXMin=P+M/2,this._hbarTranslateMax=b-M):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var q=c>g,V=of.barWidth+2*of.barPad,H=of.barLength+2*of.barPad,X=s+l,G=u;X+V>a&&(X=a-V);var N=this.container.selectAll(\"rect.scrollbar-vertical\").data(q?[0]:[]);N.exit().on(\".drag\",null).remove(),N.enter().append(\"rect\").classed(\"scrollbar-vertical\",!0).call(A0e.fill,of.barColor),q?(this.vbar=N.attr({rx:of.barRadius,ry:of.barRadius,x:X,y:G,width:V,height:H}),this._vbarYMin=G+H/2,this._vbarTranslateMax=g-H):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var W=this.id,re=E-.5,ae=q?k+V+.5:k+.5,_e=A-.5,Me=C?L+p+.5:L+.5,ke=i._topdefs.selectAll(\"#\"+W).data(C||q?[0]:[]);if(ke.exit().remove(),ke.enter().append(\"clipPath\").attr(\"id\",W).append(\"rect\"),C||q?(this._clipRect=ke.select(\"rect\").attr({x:Math.floor(re),y:Math.floor(_e),width:Math.ceil(ae)-Math.floor(re),height:Math.ceil(Me)-Math.floor(_e)}),this.container.call(pT.setClipUrl,W,this.gd),this.bg.attr({x:s,y:u,width:l,height:c})):(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),C||q){var ge=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault()}).on(\"drag\",this._onBoxDrag.bind(this));this.container.on(\"wheel\",null).on(\"wheel\",this._onBoxWheel.bind(this)).on(\".drag\",null).call(ge);var ie=qg.behavior.drag().on(\"dragstart\",function(){qg.event.sourceEvent.preventDefault(),qg.event.sourceEvent.stopPropagation()}).on(\"drag\",this._onBarDrag.bind(this));C&&this.hbar.on(\".drag\",null).call(ie),q&&this.vbar.on(\".drag\",null).call(ie)}this.setTranslate(r,n)};of.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on(\"wheel\",null).on(\".drag\",null).call(pT.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(\".drag\",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(\".drag\",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)};of.prototype._onBoxDrag=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t-=qg.event.dx),this.vbar&&(r-=qg.event.dy),this.setTranslate(t,r)};of.prototype._onBoxWheel=function(){var t=this.translateX,r=this.translateY;this.hbar&&(t+=qg.event.deltaY),this.vbar&&(r+=qg.event.deltaY),this.setTranslate(t,r)};of.prototype._onBarDrag=function(){var t=this.translateX,r=this.translateY;if(this.hbar){var n=t+this._hbarXMin,i=n+this._hbarTranslateMax,a=vI.constrain(qg.event.x,n,i),o=(a-n)/(i-n),s=this.position.w-this._box.w;t=o*s}if(this.vbar){var l=r+this._vbarYMin,u=l+this._vbarTranslateMax,c=vI.constrain(qg.event.y,l,u),f=(c-l)/(u-l),h=this.position.h-this._box.h;r=f*h}this.setTranslate(t,r)};of.prototype.setTranslate=function(t,r){var n=this.position.w-this._box.w,i=this.position.h-this._box.h;if(t=vI.constrain(t||0,0,n),r=vI.constrain(r||0,0,i),this.translateX=t,this.translateY=r,this.container.call(pT.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-r),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+r-.5)}),this.hbar){var a=t/n;this.hbar.call(pT.setTranslate,t+a*this._hbarTranslateMax,r)}if(this.vbar){var o=r/i;this.vbar.call(pT.setTranslate,t,r+o*this._vbarTranslateMax)}}});var F0e=ye((Tar,z0e)=>{\"use strict\";var gT=xa(),t4=Xu(),r4=va(),mT=ao(),e0=Mr(),pI=Ll(),Qpt=Vs().arrayEditor,k0e=Nh().LINE_SPACING,Go=hI(),e0t=M0e();z0e.exports=function(t){var r=t._fullLayout,n=e0.filterVisible(r[Go.name]);function i(h){t4.autoMargin(t,R0e(h))}var a=r._menulayer.selectAll(\"g.\"+Go.containerClassName).data(n.length>0?[0]:[]);if(a.enter().append(\"g\").classed(Go.containerClassName,!0).style(\"cursor\",\"pointer\"),a.exit().each(function(){gT.select(this).selectAll(\"g.\"+Go.headerGroupClassName).each(i)}).remove(),n.length!==0){var o=a.selectAll(\"g.\"+Go.headerGroupClassName).data(n,t0t);o.enter().append(\"g\").classed(Go.headerGroupClassName,!0);for(var s=e0.ensureSingle(a,\"g\",Go.dropdownButtonGroupClassName,function(h){h.style(\"pointer-events\",\"all\")}),l=0;l{\"use strict\";var l0t=hI();q0e.exports={moduleType:\"component\",name:l0t.name,layoutAttributes:BU(),supplyLayoutDefaults:T0e(),draw:F0e()}});var n4=ye((Sar,B0e)=>{\"use strict\";B0e.exports={name:\"sliders\",containerClassName:\"slider-container\",groupClassName:\"slider-group\",inputAreaClass:\"slider-input-area\",railRectClass:\"slider-rail-rect\",railTouchRectClass:\"slider-rail-touch-rect\",gripRectClass:\"slider-grip-rect\",tickRectClass:\"slider-tick-rect\",inputProxyClass:\"slider-input-proxy\",labelsClass:\"slider-labels\",labelGroupClass:\"slider-label-group\",labelClass:\"slider-label\",currentValueClass:\"slider-current-value\",railHeight:5,menuIndexAttrName:\"slider-active-index\",autoMarginIdRoot:\"slider-\",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:\"#bec8d9\",railBgColor:\"#f8fafc\",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:\"#bec8d9\",gripBgColor:\"#f6f8fa\",gripBgActiveColor:\"#dbdde0\",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:\"#333\",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:\"#333\",minorTickLength:4,currentValuePadding:8,currentValueInset:0}});var HU=ye((Mar,V0e)=>{\"use strict\";var N0e=Su(),u0t=b6(),c0t=no().extendDeepAll,f0t=Bu().overrideAll,h0t=zS(),U0e=Vs().templatedArray,Jb=n4(),d0t=U0e(\"step\",{visible:{valType:\"boolean\",dflt:!0},method:{valType:\"enumerated\",values:[\"restyle\",\"relayout\",\"animate\",\"update\",\"skip\"],dflt:\"restyle\"},args:{valType:\"info_array\",freeLength:!0,items:[{valType:\"any\"},{valType:\"any\"},{valType:\"any\"}]},label:{valType:\"string\"},value:{valType:\"string\"},execute:{valType:\"boolean\",dflt:!0}});V0e.exports=f0t(U0e(\"slider\",{visible:{valType:\"boolean\",dflt:!0},active:{valType:\"number\",min:0,dflt:0},steps:d0t,lenmode:{valType:\"enumerated\",values:[\"fraction\",\"pixels\"],dflt:\"fraction\"},len:{valType:\"number\",min:0,dflt:1},x:{valType:\"number\",min:-2,max:3,dflt:0},pad:c0t(u0t({editType:\"arraydraw\"}),{},{t:{dflt:20}}),xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\"},y:{valType:\"number\",min:-2,max:3,dflt:0},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"top\"},transition:{duration:{valType:\"number\",min:0,dflt:150},easing:{valType:\"enumerated\",values:h0t.transition.easing.values,dflt:\"cubic-in-out\"}},currentvalue:{visible:{valType:\"boolean\",dflt:!0},xanchor:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],dflt:\"left\"},offset:{valType:\"number\",dflt:10},prefix:{valType:\"string\"},suffix:{valType:\"string\"},font:N0e({})},font:N0e({}),activebgcolor:{valType:\"color\",dflt:Jb.gripBgActiveColor},bgcolor:{valType:\"color\",dflt:Jb.railBgColor},bordercolor:{valType:\"color\",dflt:Jb.railBorderColor},borderwidth:{valType:\"number\",min:0,dflt:Jb.railBorderWidth},ticklen:{valType:\"number\",min:0,dflt:Jb.tickLength},tickcolor:{valType:\"color\",dflt:Jb.tickColor},tickwidth:{valType:\"number\",min:0,dflt:1},minorticklen:{valType:\"number\",min:0,dflt:Jb.minorTickLength}}),\"arraydraw\",\"from-root\")});var W0e=ye((Ear,j0e)=>{\"use strict\";var yT=Mr(),H0e=Zd(),G0e=HU(),v0t=n4(),p0t=v0t.name,g0t=G0e.steps;j0e.exports=function(t,r){H0e(t,r,{name:p0t,handleItemDefaults:m0t})};function m0t(e,t,r){function n(f,h){return yT.coerce(e,t,G0e,f,h)}for(var i=H0e(e,t,{name:\"steps\",handleItemDefaults:y0t}),a=0,o=0;o{\"use strict\";var Og=xa(),gI=Xu(),__=va(),Bg=ao(),t0=Mr(),_0t=t0.strTranslate,a4=Ll(),x0t=Vs().arrayEditor,gs=n4(),WU=Nh(),Y0e=WU.LINE_SPACING,GU=WU.FROM_TL,jU=WU.FROM_BR;tge.exports=function(t){var r=t._context.staticPlot,n=t._fullLayout,i=b0t(n,t),a=n._infolayer.selectAll(\"g.\"+gs.containerClassName).data(i.length>0?[0]:[]);a.enter().append(\"g\").classed(gs.containerClassName,!0).style(\"cursor\",r?null:\"ew-resize\");function o(c){c._commandObserver&&(c._commandObserver.remove(),delete c._commandObserver),gI.autoMargin(t,K0e(c))}if(a.exit().each(function(){Og.select(this).selectAll(\"g.\"+gs.groupClassName).each(o)}).remove(),i.length!==0){var s=a.selectAll(\"g.\"+gs.groupClassName).data(i,w0t);s.enter().append(\"g\").classed(gs.groupClassName,!0),s.exit().each(o).remove();for(var l=0;l0&&(s=s.transition().duration(t.transition.duration).ease(t.transition.easing)),s.attr(\"transform\",_0t(o-gs.gripWidth*.5,t._dims.currentValueTotalHeight))}}function ZU(e,t){var r=e._dims;return r.inputAreaStart+gs.stepInset+(r.inputAreaLength-2*gs.stepInset)*Math.min(1,Math.max(0,t))}function X0e(e,t){var r=e._dims;return Math.min(1,Math.max(0,(t-gs.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*gs.stepInset-2*r.inputAreaStart)))}function C0t(e,t,r){var n=r._dims,i=t0.ensureSingle(e,\"rect\",gs.railTouchRectClass,function(a){a.call(Q0e,t,e,r).style(\"pointer-events\",\"all\")});i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,gs.tickOffset+r.ticklen+n.labelHeight)}).call(__.fill,r.bgcolor).attr(\"opacity\",0),Bg.setTranslate(i,0,n.currentValueTotalHeight)}function L0t(e,t){var r=t._dims,n=r.inputAreaLength-gs.railInset*2,i=t0.ensureSingle(e,\"rect\",gs.railRectClass);i.attr({width:n,height:gs.railWidth,rx:gs.railRadius,ry:gs.railRadius,\"shape-rendering\":\"crispEdges\"}).call(__.stroke,t.bordercolor).call(__.fill,t.bgcolor).style(\"stroke-width\",t.borderwidth+\"px\"),Bg.setTranslate(i,gs.railInset,(r.inputAreaWidth-gs.railWidth)*.5+r.currentValueTotalHeight)}});var nge=ye((Car,ige)=>{\"use strict\";var P0t=n4();ige.exports={moduleType:\"component\",name:P0t.name,layoutAttributes:HU(),supplyLayoutDefaults:W0e(),draw:rge()}});var yI=ye((Lar,oge)=>{\"use strict\";var age=dh();oge.exports={bgcolor:{valType:\"color\",dflt:age.background,editType:\"plot\"},bordercolor:{valType:\"color\",dflt:age.defaultLine,editType:\"plot\"},borderwidth:{valType:\"integer\",dflt:0,min:0,editType:\"plot\"},autorange:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"range[0]\":void 0,\"range[1]\":void 0}},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"calc\",impliedEdits:{\"^autorange\":!1}}],editType:\"calc\",impliedEdits:{autorange:!1}},thickness:{valType:\"number\",dflt:.15,min:0,max:1,editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"}});var XU=ye((Par,sge)=>{\"use strict\";sge.exports={_isSubplotObj:!0,rangemode:{valType:\"enumerated\",values:[\"auto\",\"fixed\",\"match\"],dflt:\"match\",editType:\"calc\"},range:{valType:\"info_array\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},editType:\"calc\"}});var _I=ye((Iar,lge)=>{\"use strict\";lge.exports={name:\"rangeslider\",containerClassName:\"rangeslider-container\",bgClassName:\"rangeslider-bg\",rangePlotClassName:\"rangeslider-rangeplot\",maskMinClassName:\"rangeslider-mask-min\",maskMaxClassName:\"rangeslider-mask-max\",slideBoxClassName:\"rangeslider-slidebox\",grabberMinClassName:\"rangeslider-grabber-min\",grabAreaMinClassName:\"rangeslider-grabarea-min\",handleMinClassName:\"rangeslider-handle-min\",grabberMaxClassName:\"rangeslider-grabber-max\",grabAreaMaxClassName:\"rangeslider-grabarea-max\",handleMaxClassName:\"rangeslider-handle-max\",maskMinOppAxisClassName:\"rangeslider-mask-min-opp-axis\",maskMaxOppAxisClassName:\"rangeslider-mask-max-opp-axis\",maskColor:\"rgba(0,0,0,0.4)\",maskOppAxisColor:\"rgba(0,0,0,0.2)\",slideBoxFill:\"transparent\",slideBoxCursor:\"ew-resize\",grabAreaFill:\"transparent\",grabAreaCursor:\"col-resize\",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}});var fge=ye(bI=>{\"use strict\";var I0t=af(),R0t=Ll(),uge=_I(),D0t=Nh().LINE_SPACING,xI=uge.name;function cge(e){var t=e&&e[xI];return t&&t.visible}bI.isVisible=cge;bI.makeData=function(e){for(var t=I0t.list({_fullLayout:e},\"x\",!0),r=e.margin,n=[],i=0;i{\"use strict\";var wI=Mr(),hge=Vs(),dge=af(),z0t=yI(),F0t=XU();vge.exports=function(t,r,n){var i=t[n],a=r[n];if(!(i.rangeslider||r._requestRangeslider[a._id]))return;wI.isPlainObject(i.rangeslider)||(i.rangeslider={});var o=i.rangeslider,s=hge.newContainer(a,\"rangeslider\");function l(L,_){return wI.coerce(o,s,z0t,L,_)}var u,c;function f(L,_){return wI.coerce(u,c,F0t,L,_)}var h=l(\"visible\");if(h){l(\"bgcolor\",r.plot_bgcolor),l(\"bordercolor\"),l(\"borderwidth\"),l(\"thickness\"),l(\"autorange\",!a.isValidRange(o.range)),l(\"range\");var d=r._subplots;if(d)for(var v=d.cartesian.filter(function(L){return L.substr(0,L.indexOf(\"y\"))===dge.name2id(n)}).map(function(L){return L.substr(L.indexOf(\"y\"),L.length)}),x=wI.simpleMap(v,dge.id2name),b=0;b{\"use strict\";var q0t=af().list,O0t=wg().getAutoRange,B0t=_I();gge.exports=function(t){for(var r=q0t(t,\"x\",!0),n=0;n{\"use strict\";var TI=xa(),N0t=ba(),U0t=Xu(),Ff=Mr(),AI=Ff.strTranslate,_ge=ao(),x_=va(),V0t=Mb(),H0t=Jf(),YU=af(),G0t=gv(),j0t=Tg(),Bs=_I();xge.exports=function(e){for(var t=e._fullLayout,r=t._rangeSliderData,n=0;n=N.max)X=T[G+1];else if(H=N.pmax)X=T[G+1];else if(H0?e.touches[0].clientX:0}function W0t(e,t,r,n){if(t._context.staticPlot)return;var i=e.select(\"rect.\"+Bs.slideBoxClassName).node(),a=e.select(\"rect.\"+Bs.grabAreaMinClassName).node(),o=e.select(\"rect.\"+Bs.grabAreaMaxClassName).node();function s(){var l=TI.event,u=l.target,c=yge(l),f=c-e.node().getBoundingClientRect().left,h=n.d2p(r._rl[0]),d=n.d2p(r._rl[1]),v=G0t.coverSlip();this.addEventListener(\"touchmove\",x),this.addEventListener(\"touchend\",b),v.addEventListener(\"mousemove\",x),v.addEventListener(\"mouseup\",b);function x(g){var E=yge(g),k=+E-c,A,L,_;switch(u){case i:if(_=\"ew-resize\",h+k>r._length||d+k<0)return;A=h+k,L=d+k;break;case a:if(_=\"col-resize\",h+k>r._length)return;A=h+k,L=d;break;case o:if(_=\"col-resize\",d+k<0)return;A=h,L=d+k;break;default:_=\"ew-resize\",A=f,L=f+k;break}if(L{\"use strict\";var rgt=Mr(),igt=yI(),ngt=XU(),KU=fge();wge.exports={moduleType:\"component\",name:\"rangeslider\",schema:{subplots:{xaxis:{rangeslider:rgt.extendFlat({},igt,{yaxis:ngt})}}},layoutAttributes:yI(),handleDefaults:pge(),calcAutorange:mge(),draw:bge(),isVisible:KU.isVisible,makeData:KU.makeData,autoMarginOpts:KU.autoMarginOpts}});var SI=ye((Oar,Sge)=>{\"use strict\";var agt=Su(),Age=dh(),ogt=Vs().templatedArray,sgt=ogt(\"button\",{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},step:{valType:\"enumerated\",values:[\"month\",\"year\",\"day\",\"hour\",\"minute\",\"second\",\"all\"],dflt:\"month\",editType:\"plot\"},stepmode:{valType:\"enumerated\",values:[\"backward\",\"todate\"],dflt:\"backward\",editType:\"plot\"},count:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},label:{valType:\"string\",editType:\"plot\"},editType:\"plot\"});Sge.exports={visible:{valType:\"boolean\",editType:\"plot\"},buttons:sgt,x:{valType:\"number\",min:-2,max:3,editType:\"plot\"},xanchor:{valType:\"enumerated\",values:[\"auto\",\"left\",\"center\",\"right\"],dflt:\"left\",editType:\"plot\"},y:{valType:\"number\",min:-2,max:3,editType:\"plot\"},yanchor:{valType:\"enumerated\",values:[\"auto\",\"top\",\"middle\",\"bottom\"],dflt:\"bottom\",editType:\"plot\"},font:agt({editType:\"plot\"}),bgcolor:{valType:\"color\",dflt:Age.lightLine,editType:\"plot\"},activecolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:Age.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"plot\"}});var JU=ye((Bar,Mge)=>{\"use strict\";Mge.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}});var Cge=ye((Nar,kge)=>{\"use strict\";var MI=Mr(),lgt=va(),ugt=Vs(),cgt=Zd(),Ege=SI(),$U=JU();kge.exports=function(t,r,n,i,a){var o=t.rangeselector||{},s=ugt.newContainer(r,\"rangeselector\");function l(d,v){return MI.coerce(o,s,Ege,d,v)}var u=cgt(o,s,{name:\"buttons\",handleItemDefaults:fgt,calendar:a}),c=l(\"visible\",u.length>0);if(c){var f=hgt(r,n,i);l(\"x\",f[0]),l(\"y\",f[1]),MI.noneOrAll(t,r,[\"x\",\"y\"]),l(\"xanchor\"),l(\"yanchor\"),MI.coerceFont(l,\"font\",n.font);var h=l(\"bgcolor\");l(\"activecolor\",lgt.contrast(h,$U.lightAmount,$U.darkAmount)),l(\"bordercolor\"),l(\"borderwidth\")}};function fgt(e,t,r,n){var i=n.calendar;function a(l,u){return MI.coerce(e,t,Ege.buttons,l,u)}var o=a(\"visible\");if(o){var s=a(\"step\");s!==\"all\"&&(i&&i!==\"gregorian\"&&(s===\"month\"||s===\"year\")?t.stepmode=\"backward\":a(\"stepmode\"),a(\"count\")),a(\"label\")}}function hgt(e,t,r){for(var n=r.filter(function(s){return t[s].anchor===e._id}),i=0,a=0;a{\"use strict\";var dgt=hq(),vgt=Mr().titleCase;Lge.exports=function(t,r){var n=t._name,i={};if(r.step===\"all\")i[n+\".autorange\"]=!0;else{var a=pgt(t,r);i[n+\".range[0]\"]=a[0],i[n+\".range[1]\"]=a[1]}return i};function pgt(e,t){var r=e.range,n=new Date(e.r2l(r[1])),i=t.step,a=dgt[\"utc\"+vgt(i)],o=t.count,s;switch(t.stepmode){case\"backward\":s=e.l2r(+a.offset(n,-o));break;case\"todate\":var l=a.offset(n,-o);s=e.l2r(+a.ceil(l));break}var u=r[1];return[s,u]}});var Bge=ye((Var,Oge)=>{\"use strict\";var kI=xa(),ggt=ba(),mgt=Xu(),Ige=va(),qge=ao(),Iy=Mr(),Rge=Iy.strTranslate,EI=Ll(),ygt=af(),tV=Nh(),Dge=tV.LINE_SPACING,zge=tV.FROM_TL,Fge=tV.FROM_BR,eV=JU(),_gt=Pge();Oge.exports=function(t){var r=t._fullLayout,n=r._infolayer.selectAll(\".rangeselector\").data(xgt(t),bgt);n.enter().append(\"g\").classed(\"rangeselector\",!0),n.exit().remove(),n.style({cursor:\"pointer\",\"pointer-events\":\"all\"}),n.each(function(i){var a=kI.select(this),o=i,s=o.rangeselector,l=a.selectAll(\"g.button\").data(Iy.filterVisible(s.buttons));l.enter().append(\"g\").classed(\"button\",!0),l.exit().remove(),l.each(function(u){var c=kI.select(this),f=_gt(o,u);u._isActive=wgt(o,u,f),c.call(QU,s,u),c.call(Agt,s,u,t),c.on(\"click\",function(){t._dragged||ggt.call(\"_guiRelayout\",t,f)}),c.on(\"mouseover\",function(){u._isHovered=!0,c.call(QU,s,u)}),c.on(\"mouseout\",function(){u._isHovered=!1,c.call(QU,s,u)})}),Mgt(t,l,s,o._name,a)})};function xgt(e){for(var t=ygt.list(e,\"x\",!0),r=[],n=0;n{\"use strict\";Nge.exports={moduleType:\"component\",name:\"rangeselector\",schema:{subplots:{xaxis:{rangeselector:SI()}}},layoutAttributes:SI(),handleDefaults:Cge(),draw:Bge()}});var Ju=ye(rV=>{\"use strict\";var Vge=no().extendFlat;rV.attributes=function(e,t){e=e||{},t=t||{};var r={valType:\"info_array\",editType:e.editType,items:[{valType:\"number\",min:0,max:1,editType:e.editType},{valType:\"number\",min:0,max:1,editType:e.editType}],dflt:[0,1]},n=e.name?e.name+\" \":\"\",i=e.trace?\"trace \":\"subplot \",a=t.description?\" \"+t.description:\"\",o={x:Vge({},r,{}),y:Vge({},r,{}),editType:e.editType};return e.noGridCell||(o.row={valType:\"integer\",min:0,dflt:0,editType:e.editType},o.column={valType:\"integer\",min:0,dflt:0,editType:e.editType}),o};rV.defaults=function(e,t,r,n){var i=n&&n.x||[0,1],a=n&&n.y||[0,1],o=t.grid;if(o){var s=r(\"domain.column\");s!==void 0&&(s{\"use strict\";var Egt=Mr(),kgt=n3().counter,Cgt=Ju().attributes,Hge=ad().idRegex,Lgt=Vs(),iV={rows:{valType:\"integer\",min:1,editType:\"plot\"},roworder:{valType:\"enumerated\",values:[\"top to bottom\",\"bottom to top\"],dflt:\"top to bottom\",editType:\"plot\"},columns:{valType:\"integer\",min:1,editType:\"plot\"},subplots:{valType:\"info_array\",freeLength:!0,dimensions:2,items:{valType:\"enumerated\",values:[kgt(\"xy\").toString(),\"\"],editType:\"plot\"},editType:\"plot\"},xaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Hge.x.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},yaxes:{valType:\"info_array\",freeLength:!0,items:{valType:\"enumerated\",values:[Hge.y.toString(),\"\"],editType:\"plot\"},editType:\"plot\"},pattern:{valType:\"enumerated\",values:[\"independent\",\"coupled\"],dflt:\"coupled\",editType:\"plot\"},xgap:{valType:\"number\",min:0,max:1,editType:\"plot\"},ygap:{valType:\"number\",min:0,max:1,editType:\"plot\"},domain:Cgt({name:\"grid\",editType:\"plot\",noGridCell:!0},{}),xside:{valType:\"enumerated\",values:[\"bottom\",\"bottom plot\",\"top plot\",\"top\"],dflt:\"bottom plot\",editType:\"plot\"},yside:{valType:\"enumerated\",values:[\"left\",\"left plot\",\"right plot\",\"right\"],dflt:\"left plot\",editType:\"plot\"},editType:\"plot\"};function CI(e,t,r){var n=t[r+\"axes\"],i=Object.keys((e._splomAxes||{})[r]||{});if(Array.isArray(n))return n;if(i.length)return i}function Pgt(e,t){var r=e.grid||{},n=CI(t,r,\"x\"),i=CI(t,r,\"y\");if(!e.grid&&!n&&!i)return;var a=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),o=Array.isArray(n),s=Array.isArray(i),l=o&&n!==r.xaxes&&s&&i!==r.yaxes,u,c;a?(u=r.subplots.length,c=r.subplots[0].length):(s&&(u=i.length),o&&(c=n.length));var f=Lgt.newContainer(t,\"grid\");function h(_,C){return Egt.coerce(r,f,iV,_,C)}var d=h(\"rows\",u),v=h(\"columns\",c);if(!(d*v>1)){delete t.grid;return}if(!a&&!o&&!s){var x=h(\"pattern\")===\"independent\";x&&(a=!0)}f._hasSubplotGrid=a;var b=h(\"roworder\"),g=b===\"top to bottom\",E=a?.2:.1,k=a?.3:.1,A,L;l&&t._splomGridDflt&&(A=t._splomGridDflt.xside,L=t._splomGridDflt.yside),f._domains={x:Gge(\"x\",h,E,A,v),y:Gge(\"y\",h,k,L,d,g)}}function Gge(e,t,r,n,i,a){var o=t(e+\"gap\",r),s=t(\"domain.\"+e);t(e+\"side\",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h{\"use strict\";Zge.exports={visible:{valType:\"boolean\",editType:\"calc\"},type:{valType:\"enumerated\",values:[\"percent\",\"constant\",\"sqrt\",\"data\"],editType:\"calc\"},symmetric:{valType:\"boolean\",editType:\"calc\"},array:{valType:\"data_array\",editType:\"calc\"},arrayminus:{valType:\"data_array\",editType:\"calc\"},value:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},valueminus:{valType:\"number\",min:0,dflt:10,editType:\"calc\"},traceref:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},tracerefminus:{valType:\"integer\",min:0,dflt:0,editType:\"style\"},copy_ystyle:{valType:\"boolean\",editType:\"plot\"},copy_zstyle:{valType:\"boolean\",editType:\"style\"},color:{valType:\"color\",editType:\"style\"},thickness:{valType:\"number\",min:0,dflt:2,editType:\"style\"},width:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"}});var Kge=ye((Zar,Yge)=>{\"use strict\";var Xge=uo(),Rgt=ba(),Dgt=Mr(),zgt=Vs(),Fgt=aV();Yge.exports=function(e,t,r,n){var i=\"error_\"+n.axis,a=zgt.newContainer(t,i),o=e[i]||{};function s(v,x){return Dgt.coerce(o,a,Fgt,v,x)}var l=o.array!==void 0||o.value!==void 0||o.type===\"sqrt\",u=s(\"visible\",l);if(u!==!1){var c=s(\"type\",\"array\"in o?\"data\":\"percent\"),f=!0;c!==\"sqrt\"&&(f=s(\"symmetric\",!((c===\"data\"?\"arrayminus\":\"valueminus\")in o))),c===\"data\"?(s(\"array\"),s(\"traceref\"),f||(s(\"arrayminus\"),s(\"tracerefminus\"))):(c===\"percent\"||c===\"constant\")&&(s(\"value\"),f||s(\"valueminus\"));var h=\"copy_\"+n.inherit+\"style\";if(n.inherit){var d=t[\"error_\"+n.inherit];(d||{}).visible&&s(h,!(o.color||Xge(o.thickness)||Xge(o.width)))}(!n.inherit||!a[h])&&(s(\"color\",r),s(\"thickness\"),s(\"width\",Rgt.traceIs(t,\"gl3d\")?0:4))}}});var oV=ye((Xar,$ge)=>{\"use strict\";$ge.exports=function(t){var r=t.type,n=t.symmetric;if(r===\"data\"){var i=t.array||[];if(n)return function(u,c){var f=+i[c];return[f,f]};var a=t.arrayminus||[];return function(u,c){var f=+i[c],h=+a[c];return!isNaN(f)||!isNaN(h)?[h||0,f||0]:[NaN,NaN]}}else{var o=Jge(r,t.value),s=Jge(r,t.valueminus);return n||t.valueminus===void 0?function(u){var c=o(u);return[c,c]}:function(u){return[s(u),o(u)]}}};function Jge(e,t){if(e===\"percent\")return function(r){return Math.abs(r*t/100)};if(e===\"constant\")return function(){return Math.abs(t)};if(e===\"sqrt\")return function(r){return Math.sqrt(Math.abs(r))}}});var tme=ye((Yar,eme)=>{\"use strict\";var sV=uo(),qgt=ba(),lV=Qa(),Ogt=Mr(),Bgt=oV();eme.exports=function(t){for(var r=t.calcdata,n=0;n{\"use strict\";var rme=xa(),b_=uo(),Ngt=ao(),Ugt=lu();ime.exports=function(t,r,n,i){var a,o=n.xaxis,s=n.yaxis,l=i&&i.duration>0,u=t._context.staticPlot;r.each(function(c){var f=c[0].trace,h=f.error_x||{},d=f.error_y||{},v;f.ids&&(v=function(E){return E.id});var x=Ugt.hasMarkers(f)&&f.marker.maxdisplayed>0;!d.visible&&!h.visible&&(c=[]);var b=rme.select(this).selectAll(\"g.errorbar\").data(c,v);if(b.exit().remove(),!!c.length){h.visible||b.selectAll(\"path.xerror\").remove(),d.visible||b.selectAll(\"path.yerror\").remove(),b.style(\"opacity\",1);var g=b.enter().append(\"g\").classed(\"errorbar\",!0);l&&g.style(\"opacity\",0).transition().duration(i.duration).style(\"opacity\",1),Ngt.setClipUrl(b,n.layerClipId,t),b.each(function(E){var k=rme.select(this),A=Vgt(E,o,s);if(!(x&&!E.vis)){var L,_=k.select(\"path.yerror\");if(d.visible&&b_(A.x)&&b_(A.yh)&&b_(A.ys)){var C=d.width;L=\"M\"+(A.x-C)+\",\"+A.yh+\"h\"+2*C+\"m-\"+C+\",0V\"+A.ys,A.noYS||(L+=\"m-\"+C+\",0h\"+2*C),a=!_.size(),a?_=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"yerror\",!0):l&&(_=_.transition().duration(i.duration).ease(i.easing)),_.attr(\"d\",L)}else _.remove();var M=k.select(\"path.xerror\");if(h.visible&&b_(A.y)&&b_(A.xh)&&b_(A.xs)){var p=(h.copy_ystyle?d:h).width;L=\"M\"+A.xh+\",\"+(A.y-p)+\"v\"+2*p+\"m0,-\"+p+\"H\"+A.xs,A.noXS||(L+=\"m0,-\"+p+\"v\"+2*p),a=!M.size(),a?M=k.append(\"path\").style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").classed(\"xerror\",!0):l&&(M=M.transition().duration(i.duration).ease(i.easing)),M.attr(\"d\",L)}else M.remove()}})}})};function Vgt(e,t,r){var n={x:t.c2p(e.x),y:r.c2p(e.y)};return e.yh!==void 0&&(n.yh=r.c2p(e.yh),n.ys=r.c2p(e.ys),b_(n.ys)||(n.noYS=!0,n.ys=r.c2p(e.ys,!0))),e.xh!==void 0&&(n.xh=t.c2p(e.xh),n.xs=t.c2p(e.xs),b_(n.xs)||(n.noXS=!0,n.xs=t.c2p(e.xs,!0))),n}});var sme=ye((Jar,ome)=>{\"use strict\";var Hgt=xa(),ame=va();ome.exports=function(t){t.each(function(r){var n=r[0].trace,i=n.error_y||{},a=n.error_x||{},o=Hgt.select(this);o.selectAll(\"path.yerror\").style(\"stroke-width\",i.thickness+\"px\").call(ame.stroke,i.color),a.copy_ystyle&&(a=i),o.selectAll(\"path.xerror\").style(\"stroke-width\",a.thickness+\"px\").call(ame.stroke,a.color)})}});var cme=ye(($ar,ume)=>{\"use strict\";var o4=Mr(),lme=Bu().overrideAll,s4=aV(),$b={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4)};delete $b.error_x.copy_zstyle;delete $b.error_y.copy_zstyle;delete $b.error_y.copy_ystyle;var l4={error_x:o4.extendFlat({},s4),error_y:o4.extendFlat({},s4),error_z:o4.extendFlat({},s4)};delete l4.error_x.copy_ystyle;delete l4.error_y.copy_ystyle;delete l4.error_z.copy_ystyle;delete l4.error_z.copy_zstyle;ume.exports={moduleType:\"component\",name:\"errorbars\",schema:{traces:{scatter:$b,bar:$b,histogram:$b,scatter3d:lme(l4,\"calc\",\"nested\"),scattergl:lme($b,\"calc\",\"nested\")}},supplyDefaults:Kge(),calc:tme(),makeComputeError:oV(),plot:nme(),style:sme(),hoverInfo:Ggt};function Ggt(e,t,r){(t.error_y||{}).visible&&(r.yerr=e.yh-e.y,t.error_y.symmetric||(r.yerrneg=e.y-e.ys)),(t.error_x||{}).visible&&(r.xerr=e.xh-e.x,t.error_x.symmetric||(r.xerrneg=e.x-e.xs))}});var hme=ye((Qar,fme)=>{\"use strict\";fme.exports={cn:{colorbar:\"colorbar\",cbbg:\"cbbg\",cbfill:\"cbfill\",cbfills:\"cbfills\",cbline:\"cbline\",cblines:\"cblines\",cbaxis:\"cbaxis\",cbtitleunshift:\"cbtitleunshift\",cbtitle:\"cbtitle\",cboutline:\"cboutline\",crisp:\"crisp\",jsPlaceholder:\"js-placeholder\"}}});var _me=ye((eor,yme)=>{\"use strict\";var w_=xa(),uV=id(),PI=Xu(),dme=ba(),Ry=Qa(),LI=gv(),B0=Mr(),Ug=B0.strTranslate,mme=no().extendFlat,cV=Tg(),Ng=ao(),fV=va(),jgt=Mb(),Wgt=Ll(),Zgt=Dv().flipScale,Xgt=JM(),Ygt=rI(),Kgt=Cd(),hV=Nh(),vme=hV.LINE_SPACING,pme=hV.FROM_TL,gme=hV.FROM_BR,Vc=hme().cn;function Jgt(e){var t=e._fullLayout,r=t._infolayer.selectAll(\"g.\"+Vc.colorbar).data($gt(e),function(n){return n._id});r.enter().append(\"g\").attr(\"class\",function(n){return n._id}).classed(Vc.colorbar,!0),r.each(function(n){var i=w_.select(this);B0.ensureSingle(i,\"rect\",Vc.cbbg),B0.ensureSingle(i,\"g\",Vc.cbfills),B0.ensureSingle(i,\"g\",Vc.cblines),B0.ensureSingle(i,\"g\",Vc.cbaxis,function(o){o.classed(Vc.crisp,!0)}),B0.ensureSingle(i,\"g\",Vc.cbtitleunshift,function(o){o.append(\"g\").classed(Vc.cbtitle,!0)}),B0.ensureSingle(i,\"rect\",Vc.cboutline);var a=Qgt(i,n,e);a&&a.then&&(e._promises||[]).push(a),e._context.edits.colorbarPosition&&emt(i,n,e)}),r.exit().each(function(n){PI.autoMargin(e,n._id)}).remove(),r.order()}function $gt(e){var t=e._fullLayout,r=e.calcdata,n=[],i,a,o,s;function l(k){return mme(k,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function u(){typeof s.calc==\"function\"?s.calc(e,o,i):(i._fillgradient=a.reversescale?Zgt(a.colorscale):a.colorscale,i._zrange=[a[s.min],a[s.max]])}for(var c=0;c1){var Re=Math.pow(10,Math.floor(Math.log(me)/Math.LN10));ze*=Re*B0.roundUp(me/Re,[2,5,10]),(Math.abs(F.start)/F.size+1e-6)%1<2e-6&&(Ee.tick0=0)}Ee.dtick=ze}Ee.domain=n?[ie+v/A.h,ie+W-v/A.h]:[ie+d/A.w,ie+W-d/A.w],Ee.setScale(),e.attr(\"transform\",Ug(Math.round(A.l),Math.round(A.t)));var ce=e.select(\".\"+Vc.cbtitleunshift).attr(\"transform\",Ug(-Math.round(A.l),-Math.round(A.t))),Ge=Ee.ticklabelposition,nt=Ee.title.font.size,ct=e.select(\".\"+Vc.cbaxis),qt,rt=0,ot=0;function Rt(er,Ke){var xt={propContainer:Ee,propName:t._propPrefix+\"title\",traceIndex:t._traceIndex,_meta:t._meta,placeholder:k._dfltTitle.colorbar,containerGroup:e.select(\".\"+Vc.cbtitle)},bt=er.charAt(0)===\"h\"?er.substr(1):\"h\"+er;e.selectAll(\".\"+bt+\",.\"+bt+\"-math-group\").remove(),jgt.draw(r,er,mme(xt,Ke||{}))}function kt(){if(n&&Ae||!n&&!Ae){var er,Ke;M===\"top\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie-W)+3+nt*.75),M===\"bottom\"&&(er=d+A.l+re*x,Ke=v+A.t+ae*(1-ie)-3-nt*.25),M===\"right\"&&(Ke=v+A.t+ae*b+3+nt*.75,er=d+A.l+re*ie),Rt(Ee._id+\"title\",{attributes:{x:er,y:Ke,\"text-anchor\":n?\"start\":\"middle\"}})}}function Ct(){if(n&&!Ae||!n&&Ae){var er=Ee.position||0,Ke=Ee._offset+Ee._length/2,xt,bt;if(M===\"right\")bt=Ke,xt=A.l+re*er+10+nt*(Ee.showticklabels?1:.5);else if(xt=Ke,M===\"bottom\"&&(bt=A.t+ae*er+10+(Ge.indexOf(\"inside\")===-1?Ee.tickfont.size:0)+(Ee.ticks!==\"intside\"&&t.ticklen||0)),M===\"top\"){var Lt=C.text.split(\"
\").length;bt=A.t+ae*er+10-X-vme*nt*Lt}Rt((n?\"h\":\"v\")+Ee._id+\"title\",{avoid:{selection:w_.select(r).selectAll(\"g.\"+Ee._id+\"tick\"),side:M,offsetTop:n?0:A.t,offsetLeft:n?A.l:0,maxShift:n?k.width:k.height},attributes:{x:xt,y:bt,\"text-anchor\":\"middle\"},transform:{rotate:n?-90:0,offset:0}})}}function Yt(){if(!n&&!Ae||n&&Ae){var er=e.select(\".\"+Vc.cbtitle),Ke=er.select(\"text\"),xt=[-l/2,l/2],bt=er.select(\".h\"+Ee._id+\"title-math-group\").node(),Lt=15.6;Ke.node()&&(Lt=parseInt(Ke.node().style.fontSize,10)*vme);var St;if(bt?(St=Ng.bBox(bt),ot=St.width,rt=St.height,rt>Lt&&(xt[1]-=(rt-Lt)/2)):Ke.node()&&!Ke.classed(Vc.jsPlaceholder)&&(St=Ng.bBox(Ke.node()),ot=St.width,rt=St.height),n){if(rt){if(rt+=5,M===\"top\")Ee.domain[1]-=rt/A.h,xt[1]*=-1;else{Ee.domain[0]+=rt/A.h;var Et=Wgt.lineCount(Ke);xt[1]+=(1-Et)*Lt}er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale()}}else ot&&(M===\"right\"&&(Ee.domain[0]+=(ot+nt/2)/A.w),er.attr(\"transform\",Ug(xt[0],xt[1])),Ee.setScale())}e.selectAll(\".\"+Vc.cbfills+\",.\"+Vc.cblines).attr(\"transform\",n?Ug(0,Math.round(A.h*(1-Ee.domain[1]))):Ug(Math.round(A.w*Ee.domain[0]),0)),ct.attr(\"transform\",n?Ug(0,Math.round(-A.t)):Ug(Math.round(-A.l),0));var dt=e.select(\".\"+Vc.cbfills).selectAll(\"rect.\"+Vc.cbfill).attr(\"style\",\"\").data(V);dt.enter().append(\"rect\").classed(Vc.cbfill,!0).attr(\"style\",\"\"),dt.exit().remove();var Ht=p.map(Ee.c2p).map(Math.round).sort(function(Or,Nr){return Or-Nr});dt.each(function(Or,Nr){var ut=[Nr===0?p[0]:(V[Nr]+V[Nr-1])/2,Nr===V.length-1?p[1]:(V[Nr]+V[Nr+1])/2].map(Ee.c2p).map(Math.round);n&&(ut[1]=B0.constrain(ut[1]+(ut[1]>ut[0])?1:-1,Ht[0],Ht[1]));var Ne=w_.select(this).attr(n?\"x\":\"y\",_e).attr(n?\"y\":\"x\",w_.min(ut)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(w_.max(ut)-w_.min(ut),2));if(t._fillgradient)Ng.gradient(Ne,r,t._id,n?\"vertical\":\"horizontalreversed\",t._fillgradient,\"fill\");else{var Ye=T(Or).replace(\"e-\",\"\");Ne.attr(\"fill\",uV(Ye).toHexString())}});var $t=e.select(\".\"+Vc.cblines).selectAll(\"path.\"+Vc.cbline).data(_.color&&_.width?H:[]);$t.enter().append(\"path\").classed(Vc.cbline,!0),$t.exit().remove(),$t.each(function(Or){var Nr=_e,ut=Math.round(Ee.c2p(Or))+_.width/2%1;w_.select(this).attr(\"d\",\"M\"+(n?Nr+\",\"+ut:ut+\",\"+Nr)+(n?\"h\":\"v\")+X).call(Ng.lineGroupStyle,_.width,P(Or),_.dash)}),ct.selectAll(\"g.\"+Ee._id+\"tick,path\").remove();var fr=_e+X+(l||0)/2-(t.ticks===\"outside\"?1:0),_r=Ry.calcTicks(Ee),Br=Ry.getTickSigns(Ee)[2];return Ry.drawTicks(r,Ee,{vals:Ee.ticks===\"inside\"?Ry.clipEnds(Ee,_r):_r,layer:ct,path:Ry.makeTickPath(Ee,fr,Br),transFn:Ry.makeTransTickFn(Ee)}),Ry.drawLabels(r,Ee,{vals:_r,layer:ct,transFn:Ry.makeTransTickLabelFn(Ee),labelFns:Ry.makeLabelFns(Ee,fr)})}function xr(){var er,Ke=X+l/2;Ge.indexOf(\"inside\")===-1&&(er=Ng.bBox(ct.node()),Ke+=n?er.width:er.height),qt=ce.select(\"text\");var xt=0,bt=n&&M===\"top\",Lt=!n&&M===\"right\",St=0;if(qt.node()&&!qt.classed(Vc.jsPlaceholder)){var Et,dt=ce.select(\".h\"+Ee._id+\"title-math-group\").node();dt&&(n&&Ae||!n&&!Ae)?(er=Ng.bBox(dt),xt=er.width,Et=er.height):(er=Ng.bBox(ce.node()),xt=er.right-A.l-(n?_e:Te),Et=er.bottom-A.t-(n?Te:_e),!n&&M===\"top\"&&(Ke+=er.height,St=er.height)),Lt&&(qt.attr(\"transform\",Ug(xt/2+nt/2,0)),xt*=2),Ke=Math.max(Ke,n?xt:Et)}var Ht=(n?d:v)*2+Ke+u+l/2,$t=0;!n&&C.text&&h===\"bottom\"&&b<=0&&($t=Ht/2,Ht+=$t,St+=$t),k._hColorbarMoveTitle=$t,k._hColorbarMoveCBTitle=St;var fr=u+l,_r=(n?_e:Te)-fr/2-(n?d:0),Br=(n?Te:_e)-(n?N:v+St-$t);e.select(\".\"+Vc.cbbg).attr(\"x\",_r).attr(\"y\",Br).attr(n?\"width\":\"height\",Math.max(Ht-$t,2)).attr(n?\"height\":\"width\",Math.max(N+fr,2)).call(fV.fill,c).call(fV.stroke,t.bordercolor).style(\"stroke-width\",u);var Or=Lt?Math.max(xt-10,0):0;e.selectAll(\".\"+Vc.cboutline).attr(\"x\",(n?_e:Te+d)+Or).attr(\"y\",(n?Te+v-N:_e)+(bt?rt:0)).attr(n?\"width\":\"height\",Math.max(X,2)).attr(n?\"height\":\"width\",Math.max(N-(n?2*v+rt:2*d+Or),2)).call(fV.stroke,t.outlinecolor).style({fill:\"none\",\"stroke-width\":l});var Nr=n?Me*Ht:0,ut=n?0:(1-ke)*Ht-St;if(Nr=E?A.l-Nr:-Nr,ut=g?A.t-ut:-ut,e.attr(\"transform\",Ug(Nr,ut)),!n&&(u||uV(c).getAlpha()&&!uV.equals(k.paper_bgcolor,c))){var Ne=ct.selectAll(\"text\"),Ye=Ne[0].length,Ve=e.select(\".\"+Vc.cbbg).node(),Xe=Ng.bBox(Ve),ht=Ng.getTranslate(e),Le=2;Ne.each(function(ri,bi){var nn=0,Wi=Ye-1;if(bi===nn||bi===Wi){var Ni=Ng.bBox(this),_n=Ng.getTranslate(this),$i;if(bi===Wi){var zn=Ni.right+_n.x,Wn=Xe.right+ht.x+Te-u-Le+x;$i=Wn-zn,$i>0&&($i=0)}else if(bi===nn){var It=Ni.left+_n.x,ft=Xe.left+ht.x+Te+u+Le;$i=ft-It,$i<0&&($i=0)}$i&&(Ye<3?this.setAttribute(\"transform\",\"translate(\"+$i+\",0) \"+this.getAttribute(\"transform\")):this.setAttribute(\"visibility\",\"hidden\"))}})}var xe={},Se=pme[f],lt=gme[f],Gt=pme[h],Vt=gme[h],ar=Ht-X;n?(a===\"pixels\"?(xe.y=b,xe.t=N*Gt,xe.b=N*Vt):(xe.t=xe.b=0,xe.yt=b+i*Gt,xe.yb=b-i*Vt),s===\"pixels\"?(xe.x=x,xe.l=Ht*Se,xe.r=Ht*lt):(xe.l=ar*Se,xe.r=ar*lt,xe.xl=x-o*Se,xe.xr=x+o*lt)):(a===\"pixels\"?(xe.x=x,xe.l=N*Se,xe.r=N*lt):(xe.l=xe.r=0,xe.xl=x+i*Se,xe.xr=x-i*lt),s===\"pixels\"?(xe.y=1-b,xe.t=Ht*Gt,xe.b=Ht*Vt):(xe.t=ar*Gt,xe.b=ar*Vt,xe.yt=b-o*Gt,xe.yb=b+o*Vt));var Qr=t.y<.5?\"b\":\"t\",ai=t.x<.5?\"l\":\"r\";r._fullLayout._reservedMargin[t._id]={};var jr={r:k.width-_r-Nr,l:_r+xe.r,b:k.height-Br-ut,t:Br+xe.b};E&&g?PI.autoMargin(r,t._id,xe):E?r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]:g||n?r._fullLayout._reservedMargin[t._id][ai]=jr[ai]:r._fullLayout._reservedMargin[t._id][Qr]=jr[Qr]}return B0.syncOrAsync([PI.previousPromises,kt,Yt,Ct,PI.previousPromises,xr],r)}function emt(e,t,r){var n=t.orientation===\"v\",i=r._fullLayout,a=i._size,o,s,l;LI.init({element:e.node(),gd:r,prepFn:function(){o=e.attr(\"transform\"),cV(e)},moveFn:function(u,c){e.attr(\"transform\",o+Ug(u,c)),s=LI.align((n?t._uFrac:t._vFrac)+u/a.w,n?t._thickFrac:t._lenFrac,0,1,t.xanchor),l=LI.align((n?t._vFrac:1-t._uFrac)-c/a.h,n?t._lenFrac:t._thickFrac,0,1,t.yanchor);var f=LI.getCursor(s,l,t.xanchor,t.yanchor);cV(e,f)},doneFn:function(){if(cV(e),s!==void 0&&l!==void 0){var u={};u[t._propPrefix+\"x\"]=s,u[t._propPrefix+\"y\"]=l,t._traceIndex!==void 0?dme.call(\"_guiRestyle\",r,u,t._traceIndex):dme.call(\"_guiRelayout\",r,u)}}})}function tmt(e,t,r){var n=t._levels,i=[],a=[],o,s,l=n.end+n.size/100,u=n.size,c=1.001*r[0]-.001*r[1],f=1.001*r[1]-.001*r[0];for(s=0;s<1e5&&(o=n.start+s*u,!(u>0?o>=l:o<=l));s++)o>c&&o0?o>=l:o<=l));s++)o>r[0]&&o{\"use strict\";xme.exports={moduleType:\"component\",name:\"colorbar\",attributes:Y6(),supplyDefaults:AO(),draw:_me().draw,hasColorbar:mO()}});var Tme=ye((ror,wme)=>{\"use strict\";wme.exports={moduleType:\"component\",name:\"legend\",layoutAttributes:yB(),supplyLayoutDefaults:bB(),draw:RB(),style:CB()}});var Sme=ye((ior,Ame)=>{\"use strict\";Ame.exports={moduleType:\"locale\",name:\"en\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colourscale title\"},format:{days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],periods:[\"AM\",\"PM\"],dateTime:\"%a %b %e %X %Y\",date:\"%d/%m/%Y\",time:\"%H:%M:%S\",decimal:\".\",thousands:\",\",grouping:[3],currency:[\"$\",\"\"],year:\"%Y\",month:\"%b %Y\",dayMonth:\"%b %-d\",dayMonthYear:\"%b %-d, %Y\"}}});var Eme=ye((nor,Mme)=>{\"use strict\";Mme.exports={moduleType:\"locale\",name:\"en-US\",dictionary:{\"Click to enter Colorscale title\":\"Click to enter Colorscale title\"},format:{date:\"%m/%d/%Y\"}}});var vV=ye((aor,Pme)=>{\"use strict\";var imt=ba(),Lme=Mr(),dV=Lme.extendFlat,kme=Lme.extendDeep;function Cme(e){var t;switch(e){case\"themes__thumb\":t={autosize:!0,width:150,height:150,title:{text:\"\"},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case\"thumbnail\":t={title:{text:\"\"},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:\"\",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:t={}}return t}function nmt(e){var t=[\"xaxis\",\"yaxis\",\"zaxis\"];return t.indexOf(e.slice(0,5))>-1}Pme.exports=function(t,r){var n,i=t.data,a=t.layout,o=kme([],i),s=kme({},a,Cme(r.tileClass)),l=t._context||{};if(r.width&&(s.width=r.width),r.height&&(s.height=r.height),r.tileClass===\"thumbnail\"||r.tileClass===\"themes__thumb\"){s.annotations=[];var u=Object.keys(s);for(n=0;n{\"use strict\";var amt=vb().EventEmitter,omt=ba(),smt=Mr(),Ime=Ly(),lmt=vV(),umt=OP(),cmt=BP();function fmt(e,t){var r=new amt,n=lmt(e,{format:\"png\"}),i=n.gd;i.style.position=\"absolute\",i.style.left=\"-5000px\",document.body.appendChild(i);function a(){var s=Ime.getDelay(i._fullLayout);setTimeout(function(){var l=umt(i),u=document.createElement(\"canvas\");u.id=smt.randstr(),r=cmt({format:t.format,width:i._fullLayout.width,height:i._fullLayout.height,canvas:u,emitter:r,svg:l}),r.clean=function(){i&&document.body.removeChild(i)}},s)}var o=Ime.getRedrawFunc(i);return omt.call(\"_doPlot\",i,n.data,n.layout,n.config).then(o).then(a).catch(function(s){r.emit(\"error\",s)}),r}Rme.exports=fmt});var qme=ye((sor,Fme)=>{\"use strict\";var zme=Ly(),hmt={getDelay:zme.getDelay,getRedrawFunc:zme.getRedrawFunc,clone:vV(),toSVG:OP(),svgToImg:BP(),toImage:Dme(),downloadImage:YN()};Fme.exports=hmt});var Bme=ye(Dy=>{\"use strict\";Dy.version=QC().version;QQ();Vie();var dmt=ba(),u4=Dy.register=dmt.register,gV=sde(),Ome=Object.keys(gV);for(II=0;II{\"use strict\";Nme.exports=Bme()});var Qb=ye((cor,Vme)=>{\"use strict\";Vme.exports={TEXTPAD:3,eventDataKeys:[\"value\",\"label\"]}});var Lm=ye((hor,Wme)=>{\"use strict\";var Tf=Uc(),Hme=Oc().axisHoverFormat,vmt=Wo().hovertemplateAttrs,pmt=Wo().texttemplateAttrs,jme=Kl(),gmt=Su(),Gme=Qb(),mmt=Ed().pattern,e2=no().extendFlat,mV=gmt({editType:\"calc\",arrayOk:!0,colorEditType:\"style\"}),ymt=Tf.marker,_mt=ymt.line,xmt=e2({},_mt.width,{dflt:0}),bmt=e2({width:xmt,editType:\"calc\"},jme(\"marker.line\")),wmt=e2({line:bmt,editType:\"calc\"},jme(\"marker\"),{opacity:{valType:\"number\",arrayOk:!0,dflt:1,min:0,max:1,editType:\"style\"},pattern:mmt,cornerradius:{valType:\"any\",editType:\"calc\"}});Wme.exports={x:Tf.x,x0:Tf.x0,dx:Tf.dx,y:Tf.y,y0:Tf.y0,dy:Tf.dy,xperiod:Tf.xperiod,yperiod:Tf.yperiod,xperiod0:Tf.xperiod0,yperiod0:Tf.yperiod0,xperiodalignment:Tf.xperiodalignment,yperiodalignment:Tf.yperiodalignment,xhoverformat:Hme(\"x\"),yhoverformat:Hme(\"y\"),text:Tf.text,texttemplate:pmt({editType:\"plot\"},{keys:Gme.eventDataKeys}),hovertext:Tf.hovertext,hovertemplate:vmt({},{keys:Gme.eventDataKeys}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"calc\"},insidetextanchor:{valType:\"enumerated\",values:[\"end\",\"middle\",\"start\"],dflt:\"end\",editType:\"plot\"},textangle:{valType:\"angle\",dflt:\"auto\",editType:\"plot\"},textfont:e2({},mV,{}),insidetextfont:e2({},mV,{}),outsidetextfont:e2({},mV,{}),constraintext:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"both\",\"none\"],dflt:\"both\",editType:\"calc\"},cliponaxis:e2({},Tf.cliponaxis,{}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},base:{valType:\"any\",dflt:null,arrayOk:!0,editType:\"calc\"},offset:{valType:\"number\",dflt:null,arrayOk:!0,editType:\"calc\"},width:{valType:\"number\",dflt:null,min:0,arrayOk:!0,editType:\"calc\"},marker:wmt,offsetgroup:Tf.offsetgroup,alignmentgroup:Tf.alignmentgroup,selected:{marker:{opacity:Tf.selected.marker.opacity,color:Tf.selected.marker.color,editType:\"style\"},textfont:Tf.selected.textfont,editType:\"style\"},unselected:{marker:{opacity:Tf.unselected.marker.opacity,color:Tf.unselected.marker.color,editType:\"style\"},textfont:Tf.unselected.textfont,editType:\"style\"},zorder:Tf.zorder}});var DI=ye((dor,Zme)=>{\"use strict\";Zme.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\",\"relative\"],dflt:\"group\",editType:\"calc\"},barnorm:{valType:\"enumerated\",values:[\"\",\"fraction\",\"percent\"],dflt:\"\",editType:\"calc\"},bargap:{valType:\"number\",min:0,max:1,editType:\"calc\"},bargroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},barcornerradius:{valType:\"any\",editType:\"calc\"}}});var zI=ye((vor,Kme)=>{\"use strict\";var Tmt=va(),Xme=Dv().hasColorscale,Yme=Uh(),Amt=Mr().coercePattern;Kme.exports=function(t,r,n,i,a){var o=n(\"marker.color\",i),s=Xme(t,\"marker\");s&&Yme(t,r,a,n,{prefix:\"marker.\",cLetter:\"c\"}),n(\"marker.line.color\",Tmt.defaultLine),Xme(t,\"marker.line\")&&Yme(t,r,a,n,{prefix:\"marker.line.\",cLetter:\"c\"}),n(\"marker.line.width\"),n(\"marker.opacity\"),Amt(n,\"marker.pattern\",o,s),n(\"selected.marker.color\"),n(\"unselected.marker.color\")}});var r0=ye((por,rye)=>{\"use strict\";var Jme=uo(),xT=Mr(),$me=va(),Smt=ba(),Mmt=K3(),Emt=Pg(),kmt=zI(),Cmt=Hb(),Qme=Lm(),FI=xT.coerceFont;function Lmt(e,t,r,n){function i(u,c){return xT.coerce(e,t,Qme,u,c)}var a=Mmt(e,t,n,i);if(!a){t.visible=!1;return}Emt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"zorder\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");tye(e,t,n,i,o,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),kmt(e,t,i,r,n);var s=(t.marker.line||{}).color,l=Smt.getComponentMethod(\"errorbars\",\"supplyDefaults\");l(e,t,s||$me.defaultLine,{axis:\"y\"}),l(e,t,s||$me.defaultLine,{axis:\"x\",inherit:\"y\"}),xT.coerceSelectionMarkerOpacity(t,i)}function Pmt(e,t){var r,n;function i(s,l){return xT.coerce(n._input,n,Qme,s,l)}for(var a=0;a=0)return e}else if(typeof e==\"string\"&&(e=e.trim(),e.slice(-1)===\"%\"&&Jme(e.slice(0,-1))&&(e=+e.slice(0,-1),e>=0)))return e+\"%\"}function tye(e,t,r,n,i,a){a=a||{};var o=a.moduleHasSelected!==!1,s=a.moduleHasUnselected!==!1,l=a.moduleHasConstrain!==!1,u=a.moduleHasCliponaxis!==!1,c=a.moduleHasTextangle!==!1,f=a.moduleHasInsideanchor!==!1,h=!!a.hasPathbar,d=Array.isArray(i)||i===\"auto\",v=d||i===\"inside\",x=d||i===\"outside\";if(v||x){var b=FI(n,\"textfont\",r.font),g=xT.extendFlat({},b),E=e.textfont&&e.textfont.color,k=!E;if(k&&delete g.color,FI(n,\"insidetextfont\",g),h){var A=xT.extendFlat({},b);k&&delete A.color,FI(n,\"pathbar.textfont\",A)}x&&FI(n,\"outsidetextfont\",b),o&&n(\"selected.textfont.color\"),s&&n(\"unselected.textfont.color\"),l&&n(\"constraintext\"),u&&n(\"cliponaxis\"),c&&n(\"textangle\"),n(\"texttemplate\")}v&&f&&n(\"insidetextanchor\")}rye.exports={supplyDefaults:Lmt,crossTraceDefaults:Pmt,handleText:tye,validateCornerradius:eye}});var yV=ye((gor,iye)=>{\"use strict\";var Imt=ba(),Rmt=Qa(),Dmt=Mr(),zmt=DI(),Fmt=r0().validateCornerradius;iye.exports=function(e,t,r){function n(x,b){return Dmt.coerce(e,t,zmt,x,b)}for(var i=!1,a=!1,o=!1,s={},l=n(\"barmode\"),u=l===\"group\",c=0;c0&&!s[h]&&(o=!0),s[h]=!0),f.visible&&f.type===\"histogram\"){var d=Rmt.getFromId({_fullLayout:t},f[f.orientation===\"v\"?\"xaxis\":\"yaxis\"]);d.type!==\"category\"&&(a=!0)}}if(!i){delete t.barmode;return}l!==\"overlay\"&&n(\"barnorm\"),n(\"bargap\",a&&!o?0:.2),n(\"bargroupgap\");var v=n(\"barcornerradius\");t.barcornerradius=Fmt(v)}});var c4=ye((mor,nye)=>{\"use strict\";var bT=Mr();nye.exports=function(t,r){for(var n=0;n{\"use strict\";var aye=Qa(),oye=Rg(),sye=Dv().hasColorscale,lye=zv(),qmt=c4(),Omt=F0();uye.exports=function(t,r){var n=aye.getFromId(t,r.xaxis||\"x\"),i=aye.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f={msUTC:!!(r.base||r.base===0)};r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\",f),s=i.makeCalcdata(r,\"y\"),l=oye(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\",f),s=n.makeCalcdata(r,\"x\"),l=oye(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var h=Math.min(o.length,a.length),d=new Array(h),v=0;v{\"use strict\";var Bmt=xa(),Nmt=Mr();function Umt(e,t,r){var n=e._fullLayout,i=n[\"_\"+r+\"Text_minsize\"];if(i){var a=n.uniformtext.mode===\"hide\",o;switch(r){case\"funnelarea\":case\"pie\":case\"sunburst\":o=\"g.slice\";break;case\"treemap\":case\"icicle\":o=\"g.slice, g.pathbar\";break;default:o=\"g.points > g.point\"}t.selectAll(o).each(function(s){var l=s.transform;if(l){l.scale=a&&l.hide?0:i/l.fontSize;var u=Bmt.select(this).select(\"text\");Nmt.setTransormAndDisplay(u,l)}})}}function Vmt(e,t,r){if(r.uniformtext.mode){var n=fye(e),i=r.uniformtext.minsize,a=t.scale*t.fontSize;t.hide=a{\"use strict\";var Gmt=uo(),jmt=id(),dye=Mr().isArrayOrTypedArray;t2.coerceString=function(e,t,r){if(typeof t==\"string\"){if(t||!e.noBlank)return t}else if((typeof t==\"number\"||t===!0)&&!e.strict)return String(t);return r!==void 0?r:e.dflt};t2.coerceNumber=function(e,t,r){if(Gmt(t)){t=+t;var n=e.min,i=e.max,a=n!==void 0&&ti;if(!a)return t}return r!==void 0?r:e.dflt};t2.coerceColor=function(e,t,r){return jmt(t).isValid()?t:r!==void 0?r:e.dflt};t2.coerceEnumerated=function(e,t,r){return e.coerceNumber&&(t=+t),e.values.indexOf(t)!==-1?t:r!==void 0?r:e.dflt};t2.getValue=function(e,t){var r;return dye(e)?t{\"use strict\";var f4=xa(),Wmt=va(),h4=ao(),vye=Mr(),pye=ba(),gye=_v().resizeText,_V=Lm(),Zmt=_V.textfont,Xmt=_V.insidetextfont,Ymt=_V.outsidetextfont,Jd=qI();function Kmt(e){var t=f4.select(e).selectAll('g[class^=\"barlayer\"]').selectAll(\"g.trace\");gye(e,t,\"bar\");var r=t.size(),n=e._fullLayout;t.style(\"opacity\",function(i){return i[0].trace.opacity}).each(function(i){(n.barmode===\"stack\"&&r>1||n.bargap===0&&n.bargroupgap===0&&!i[0].trace.marker.line.width)&&f4.select(this).attr(\"shape-rendering\",\"crispEdges\")}),t.selectAll(\"g.points\").each(function(i){var a=f4.select(this),o=i[0].trace;mye(a,o,e)}),pye.getComponentMethod(\"errorbars\",\"style\")(t)}function mye(e,t,r){h4.pointStyle(e.selectAll(\"path\"),t,r),yye(e,t,r)}function yye(e,t,r){e.selectAll(\"text\").each(function(n){var i=f4.select(this),a=vye.ensureUniformFontSize(r,_ye(i,n,t,r));h4.font(i,a)})}function Jmt(e,t,r){var n=t[0].trace;n.selectedpoints?$mt(r,n,e):(mye(r,n,e),pye.getComponentMethod(\"errorbars\",\"style\")(r))}function $mt(e,t,r){h4.selectedPointStyle(e.selectAll(\"path\"),t),Qmt(e.selectAll(\"text\"),t,r)}function Qmt(e,t,r){e.each(function(n){var i=f4.select(this),a;if(n.selected){a=vye.ensureUniformFontSize(r,_ye(i,n,t,r));var o=t.selected.textfont&&t.selected.textfont.color;o&&(a.color=o),h4.font(i,a)}else h4.selectedTextStyle(i,t)})}function _ye(e,t,r,n){var i=n._fullLayout.font,a=r.textfont;if(e.classed(\"bartext-inside\")){var o=Tye(t,r);a=bye(r,t.i,i,o)}else e.classed(\"bartext-outside\")&&(a=wye(r,t.i,i));return a}function xye(e,t,r){return xV(Zmt,e.textfont,t,r)}function bye(e,t,r,n){var i=xye(e,t,r),a=e._input.textfont===void 0||e._input.textfont.color===void 0||Array.isArray(e.textfont.color)&&e.textfont.color[t]===void 0;return a&&(i={color:Wmt.contrast(n),family:i.family,size:i.size,weight:i.weight,style:i.style,variant:i.variant,textcase:i.textcase,lineposition:i.lineposition,shadow:i.shadow}),xV(Xmt,e.insidetextfont,t,i)}function wye(e,t,r){var n=xye(e,t,r);return xV(Ymt,e.outsidetextfont,t,n)}function xV(e,t,r,n){t=t||{};var i=Jd.getValue(t.family,r),a=Jd.getValue(t.size,r),o=Jd.getValue(t.color,r),s=Jd.getValue(t.weight,r),l=Jd.getValue(t.style,r),u=Jd.getValue(t.variant,r),c=Jd.getValue(t.textcase,r),f=Jd.getValue(t.lineposition,r),h=Jd.getValue(t.shadow,r);return{family:Jd.coerceString(e.family,i,n.family),size:Jd.coerceNumber(e.size,a,n.size),color:Jd.coerceColor(e.color,o,n.color),weight:Jd.coerceString(e.weight,s,n.weight),style:Jd.coerceString(e.style,l,n.style),variant:Jd.coerceString(e.variant,u,n.variant),textcase:Jd.coerceString(e.variant,c,n.textcase),lineposition:Jd.coerceString(e.variant,f,n.lineposition),shadow:Jd.coerceString(e.variant,h,n.shadow)}}function Tye(e,t){return t.type===\"waterfall\"?t[e.dir].marker.color:e.mcc||e.mc||t.marker.color}Aye.exports={style:Kmt,styleTextPoints:yye,styleOnSelect:Jmt,getInsideTextFont:bye,getOutsideTextFont:wye,getBarColor:Tye,resizeText:gye}});var i2=ye((wor,Iye)=>{\"use strict\";var OI=xa(),BI=uo(),Pd=Mr(),eyt=Ll(),tyt=va(),T_=ao(),ryt=ba(),NI=Qa().tickText,Sye=_v(),iyt=Sye.recordMinTextSize,nyt=Sye.clearMinTextSize,bV=N0(),wT=qI(),ayt=Qb(),Mye=Lm(),oyt=Mye.text,syt=Mye.textposition,lyt=rp().appendArrayPointValue,Uv=ayt.TEXTPAD;function uyt(e){return e.id}function cyt(e){if(e.ids)return uyt}function wV(e){return(e>0)-(e<0)}function Pm(e,t){return e0}function hyt(e,t,r,n,i,a){var o=t.xaxis,s=t.yaxis,l=e._fullLayout,u=e._context.staticPlot;i||(i={mode:l.barmode,norm:l.barmode,gap:l.bargap,groupgap:l.bargroupgap},nyt(\"bar\",l));var c=Pd.makeTraceGroups(n,r,\"trace bars\").each(function(f){var h=OI.select(this),d=f[0].trace,v=f[0].t,x=d.type===\"waterfall\",b=d.type===\"funnel\",g=d.type===\"histogram\",E=d.type===\"bar\",k=E||b,A=0;x&&d.connector.visible&&d.connector.mode===\"between\"&&(A=d.connector.line.width/2);var L=d.orientation===\"h\",_=kye(i),C=Pd.ensureSingle(h,\"g\",\"points\"),M=cyt(d),p=C.selectAll(\"g.point\").data(Pd.identity,M);p.enter().append(\"g\").classed(\"point\",!0),p.exit().remove(),p.each(function(T,F){var q=OI.select(this),V=fyt(T,o,s,L),H=V[0][0],X=V[0][1],G=V[1][0],N=V[1][1],W=(L?X-H:N-G)===0;W&&k&&wT.getLineWidth(d,T)&&(W=!1),W||(W=!BI(H)||!BI(X)||!BI(G)||!BI(N)),T.isBlank=W,W&&(L?X=H:N=G),A&&!W&&(L?(H-=Pm(H,X)*A,X+=Pm(H,X)*A):(G-=Pm(G,N)*A,N+=Pm(G,N)*A));var re,ae;if(d.type===\"waterfall\"){if(!W){var _e=d[T.dir].marker;re=_e.line.width,ae=_e.color}}else re=wT.getLineWidth(d,T),ae=T.mc||d.marker.color;function Me(Ke){var xt=OI.round(re/2%1,2);return i.gap===0&&i.groupgap===0?OI.round(Math.round(Ke)-xt,2):Ke}function ke(Ke,xt,bt){return bt&&Ke===xt?Ke:Math.abs(Ke-xt)>=2?Me(Ke):Ke>xt?Math.ceil(Ke):Math.floor(Ke)}var ge=tyt.opacity(ae),ie=ge<1||re>.01?Me:ke;e._context.staticPlot||(H=ie(H,X,L),X=ie(X,H,L),G=ie(G,N,!L),N=ie(N,G,!L));var Te=L?o.c2p:s.c2p,Ee;T.s0>0?Ee=T._sMax:T.s0<0?Ee=T._sMin:Ee=T.s1>0?T._sMax:T._sMin;function Ae(Ke,xt){if(!Ke)return 0;var bt=Math.abs(L?N-G:X-H),Lt=Math.abs(L?X-H:N-G),St=ie(Math.abs(Te(Ee,!0)-Te(0,!0))),Et=T.hasB?Math.min(bt/2,Lt/2):Math.min(bt/2,St),dt;if(xt===\"%\"){var Ht=Math.min(50,Ke);dt=bt*(Ht/100)}else dt=Ke;return ie(Math.max(Math.min(dt,Et),0))}var ze=E||g?Ae(v.cornerradiusvalue,v.cornerradiusform):0,Ce,me,Re=\"M\"+H+\",\"+G+\"V\"+N+\"H\"+X+\"V\"+G+\"Z\",ce=0;if(ze&&T.s){var Ge=wV(T.s0)===0||wV(T.s)===wV(T.s0)?T.s1:T.s0;if(ce=ie(T.hasB?0:Math.abs(Te(Ee,!0)-Te(Ge,!0))),ce0?Math.sqrt(ce*(2*ze-ce)):0,Rt=nt>0?Math.max:Math.min;Ce=\"M\"+H+\",\"+G+\"V\"+(N-rt*ct)+\"H\"+Rt(X-(ze-ce)*nt,H)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct-ot)+\"V\"+(G+ze*ct+ot)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+Rt(X-(ze-ce)*nt,H)+\",\"+(G+rt*ct)+\"Z\"}else if(T.hasB)Ce=\"M\"+(H+ze*nt)+\",\"+G+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+H+\",\"+(G+ze*ct)+\"V\"+(N-ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt)+\",\"+N+\"H\"+(X-ze*nt)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+X+\",\"+(N-ze*ct)+\"V\"+(G+ze*ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-ze*nt)+\",\"+G+\"Z\";else{me=Math.abs(N-G)+ce;var kt=me0?Math.sqrt(ce*(2*ze-ce)):0,Yt=ct>0?Math.max:Math.min;Ce=\"M\"+(H+kt*nt)+\",\"+G+\"V\"+Yt(N-(ze-ce)*ct,G)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(H+ze*nt-Ct)+\",\"+N+\"H\"+(X-ze*nt+Ct)+\"A \"+ze+\",\"+ze+\" 0 0 \"+qt+\" \"+(X-kt*nt)+\",\"+Yt(N-(ze-ce)*ct,G)+\"V\"+G+\"Z\"}}else Ce=Re}else Ce=Re;var xr=Eye(Pd.ensureSingle(q,\"path\"),l,i,a);if(xr.style(\"vector-effect\",u?\"none\":\"non-scaling-stroke\").attr(\"d\",isNaN((X-H)*(N-G))||W&&e._context.staticPlot?\"M0,0Z\":Ce).call(T_.setClipUrl,t.layerClipId,e),!l.uniformtext.mode&&_){var er=T_.makePointStyleFns(d);T_.singlePointStyle(T,xr,d,er,e)}dyt(e,t,q,f,F,H,X,G,N,ze,ce,i,a),t.layerClipId&&T_.hideOutsideRangePoint(T,q.select(\"text\"),o,s,d.xcalendar,d.ycalendar)});var P=d.cliponaxis===!1;T_.setClipUrl(h,P?null:t.layerClipId,e)});ryt.getComponentMethod(\"errorbars\",\"plot\")(e,c,t,i)}function dyt(e,t,r,n,i,a,o,s,l,u,c,f,h){var d=t.xaxis,v=t.yaxis,x=e._fullLayout,b;function g(me,Re,ce){var Ge=Pd.ensureSingle(me,\"text\").text(Re).attr({class:\"bartext bartext-\"+b,\"text-anchor\":\"middle\",\"data-notex\":1}).call(T_.font,ce).call(eyt.convertToTspans,e);return Ge}var E=n[0].trace,k=E.orientation===\"h\",A=gyt(x,n,i,d,v);b=myt(E,i);var L=f.mode===\"stack\"||f.mode===\"relative\",_=n[i],C=!L||_._outmost,M=_.hasB,p=u&&u-c>Uv;if(!A||b===\"none\"||(_.isBlank||a===o||s===l)&&(b===\"auto\"||b===\"inside\")){r.select(\"text\").remove();return}var P=x.font,T=bV.getBarColor(n[i],E),F=bV.getInsideTextFont(E,i,P,T),q=bV.getOutsideTextFont(E,i,P),V=E.insidetextanchor||\"end\",H=r.datum();k?d.type===\"log\"&&H.s0<=0&&(d.range[0]0&&Me>0,ie;p?M?ie=r2(N-2*u,W,_e,Me,k)||r2(N,W-2*u,_e,Me,k):k?ie=r2(N-(u-c),W,_e,Me,k)||r2(N,W-2*(u-c),_e,Me,k):ie=r2(N,W-(u-c),_e,Me,k)||r2(N-2*(u-c),W,_e,Me,k):ie=r2(N,W,_e,Me,k),ge&&ie?b=\"inside\":(b=\"outside\",re.remove(),re=null)}else b=\"inside\";if(!re){ke=Pd.ensureUniformFontSize(e,b===\"outside\"?q:F),re=g(r,A,ke);var Te=re.attr(\"transform\");if(re.attr(\"transform\",\"\"),ae=T_.bBox(re.node()),_e=ae.width,Me=ae.height,re.attr(\"transform\",Te),_e<=0||Me<=0){re.remove();return}}var Ee=E.textangle,Ae,ze;b===\"outside\"?(ze=E.constraintext===\"both\"||E.constraintext===\"outside\",Ae=pyt(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee})):(ze=E.constraintext===\"both\"||E.constraintext===\"inside\",Ae=Pye(a,o,s,l,ae,{isHorizontal:k,constrained:ze,angle:Ee,anchor:V,hasB:M,r:u,overhead:c})),Ae.fontSize=ke.size,iyt(E.type===\"histogram\"?\"bar\":E.type,Ae,x),_.transform=Ae;var Ce=Eye(re,x,f,h);Pd.setTransormAndDisplay(Ce,Ae)}function r2(e,t,r,n,i){if(e<0||t<0)return!1;var a=r<=e&&n<=t,o=r<=t&&n<=e,s=i?e>=r*(t/n):t>=n*(e/r);return a||o||s}function Cye(e){return e===\"auto\"?0:e}function Lye(e,t){var r=Math.PI/180*t,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:e.width*i+e.height*n,y:e.width*n+e.height*i}}function Pye(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c=u===\"end\",f=u===\"start\",h=a.leftToRight||0,d=(h+1)/2,v=1-d,x=a.hasB,b=a.r,g=a.overhead,E=i.width,k=i.height,A=Math.abs(t-e),L=Math.abs(n-r),_=A>2*Uv&&L>2*Uv?Uv:0;A-=2*_,L-=2*_;var C=Cye(l);l===\"auto\"&&!(E<=A&&k<=L)&&(E>A||k>L)&&(!(E>L||k>A)||EUv){var T=vyt(e,t,r,n,M,b,g,o,x);p=T.scale,P=T.pad}else p=1,s&&(p=Math.min(1,A/M.x,L/M.y)),P=0;var F=i.left*v+i.right*d,q=(i.top+i.bottom)/2,V=(e+Uv)*v+(t-Uv)*d,H=(r+n)/2,X=0,G=0;if(f||c){var N=(o?M.x:M.y)/2;b&&(c||x)&&(_+=P);var W=o?Pm(e,t):Pm(r,n);o?f?(V=e+W*_,X=-W*N):(V=t-W*_,X=W*N):f?(H=r+W*_,G=-W*N):(H=n-W*_,G=W*N)}return{textX:F,textY:q,targetX:V,targetY:H,anchorX:X,anchorY:G,scale:p,rotate:C}}function vyt(e,t,r,n,i,a,o,s,l){var u=Math.max(0,Math.abs(t-e)-2*Uv),c=Math.max(0,Math.abs(n-r)-2*Uv),f=a-Uv,h=o?f-Math.sqrt(f*f-(f-o)*(f-o)):f,d=l?f*2:s?f-o:2*h,v=l?f*2:s?2*h:f-o,x,b,g,E,k;return i.y/i.x>=c/(u-d)?E=c/i.y:i.y/i.x<=(c-v)/u?E=u/i.x:!l&&s?(x=i.x*i.x+i.y*i.y/4,b=-2*i.x*(u-f)-i.y*(c/2-f),g=(u-f)*(u-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)):l?(x=(i.x*i.x+i.y*i.y)/4,b=-i.x*(u/2-f)-i.y*(c/2-f),g=(u/2-f)*(u/2-f)+(c/2-f)*(c/2-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)):(x=i.x*i.x/4+i.y*i.y,b=-i.x*(u/2-f)-2*i.y*(c-f),g=(u/2-f)*(u/2-f)+(c-f)*(c-f)-f*f,E=(-b+Math.sqrt(b*b-4*x*g))/(2*x)),E=Math.min(1,E),s?k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(c-i.y*E)/2)*(f-(c-i.y*E)/2)))-o):k=Math.max(0,f-Math.sqrt(Math.max(0,f*f-(f-(u-i.x*E)/2)*(f-(u-i.x*E)/2)))-o),{scale:E,pad:k}}function pyt(e,t,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=i.width,c=i.height,f=Math.abs(t-e),h=Math.abs(n-r),d;o?d=h>2*Uv?Uv:0:d=f>2*Uv?Uv:0;var v=1;s&&(v=o?Math.min(1,h/c):Math.min(1,f/u));var x=Cye(l),b=Lye(i,x),g=(o?b.x:b.y)/2,E=(i.left+i.right)/2,k=(i.top+i.bottom)/2,A=(e+t)/2,L=(r+n)/2,_=0,C=0,M=o?Pm(t,e):Pm(r,n);return o?(A=t-M*d,_=M*g):(L=n+M*d,C=-M*g),{textX:E,textY:k,targetX:A,targetY:L,anchorX:_,anchorY:C,scale:v,rotate:x}}function gyt(e,t,r,n,i){var a=t[0].trace,o=a.texttemplate,s;return o?s=yyt(e,t,r,n,i):a.textinfo?s=_yt(t,r,n,i):s=wT.getValue(a.text,r),wT.coerceString(oyt,s)}function myt(e,t){var r=wT.getValue(e.textposition,t);return wT.coerceEnumerated(syt,r)}function yyt(e,t,r,n,i){var a=t[0].trace,o=Pd.castOption(a,r,\"texttemplate\");if(!o)return\"\";var s=a.type===\"histogram\",l=a.type===\"waterfall\",u=a.type===\"funnel\",c=a.orientation===\"h\",f,h,d,v;c?(f=\"y\",h=i,d=\"x\",v=n):(f=\"x\",h=n,d=\"y\",v=i);function x(_){return NI(h,h.c2l(_),!0).text}function b(_){return NI(v,v.c2l(_),!0).text}var g=t[r],E={};E.label=g.p,E.labelLabel=E[f+\"Label\"]=x(g.p);var k=Pd.castOption(a,g.i,\"text\");(k===0||k)&&(E.text=k),E.value=g.s,E.valueLabel=E[d+\"Label\"]=b(g.s);var A={};lyt(A,a,g.i),(s||A.x===void 0)&&(A.x=c?E.value:E.label),(s||A.y===void 0)&&(A.y=c?E.label:E.value),(s||A.xLabel===void 0)&&(A.xLabel=c?E.valueLabel:E.labelLabel),(s||A.yLabel===void 0)&&(A.yLabel=c?E.labelLabel:E.valueLabel),l&&(E.delta=+g.rawS||g.s,E.deltaLabel=b(E.delta),E.final=g.v,E.finalLabel=b(E.final),E.initial=E.final-E.delta,E.initialLabel=b(E.initial)),u&&(E.value=g.s,E.valueLabel=b(E.value),E.percentInitial=g.begR,E.percentInitialLabel=Pd.formatPercent(g.begR),E.percentPrevious=g.difR,E.percentPreviousLabel=Pd.formatPercent(g.difR),E.percentTotal=g.sumR,E.percenTotalLabel=Pd.formatPercent(g.sumR));var L=Pd.castOption(a,g.i,\"customdata\");return L&&(E.customdata=L),Pd.texttemplateString(o,E,e._d3locale,A,E,a._meta||{})}function _yt(e,t,r,n){var i=e[0].trace,a=i.orientation===\"h\",o=i.type===\"waterfall\",s=i.type===\"funnel\";function l(L){var _=a?n:r;return NI(_,L,!0).text}function u(L){var _=a?r:n;return NI(_,+L,!0).text}var c=i.textinfo,f=e[t],h=c.split(\"+\"),d=[],v,x=function(L){return h.indexOf(L)!==-1};if(x(\"label\")&&d.push(l(e[t].p)),x(\"text\")&&(v=Pd.castOption(i,f.i,\"text\"),(v===0||v)&&d.push(v)),o){var b=+f.rawS||f.s,g=f.v,E=g-b;x(\"initial\")&&d.push(u(E)),x(\"delta\")&&d.push(u(b)),x(\"final\")&&d.push(u(g))}if(s){x(\"value\")&&d.push(u(f.s));var k=0;x(\"percent initial\")&&k++,x(\"percent previous\")&&k++,x(\"percent total\")&&k++;var A=k>1;x(\"percent initial\")&&(v=Pd.formatPercent(f.begR),A&&(v+=\" of initial\"),d.push(v)),x(\"percent previous\")&&(v=Pd.formatPercent(f.difR),A&&(v+=\" of previous\"),d.push(v)),x(\"percent total\")&&(v=Pd.formatPercent(f.sumR),A&&(v+=\" of total\"),d.push(v))}return d.join(\"
\")}Iye.exports={plot:hyt,toMoveInsideBar:Pye}});var TT=ye((Tor,Fye)=>{\"use strict\";var d4=Nc(),xyt=ba(),Rye=va(),byt=Mr().fillText,wyt=qI().getLineWidth,TV=Qa().hoverLabelText,Tyt=es().BADNUM;function Ayt(e,t,r,n,i){var a=Dye(e,t,r,n,i);if(a){var o=a.cd,s=o[0].trace,l=o[a.index];return a.color=zye(s,l),xyt.getComponentMethod(\"errorbars\",\"hoverInfo\")(l,s,a),[a]}}function Dye(e,t,r,n,i){var a=e.cd,o=a[0].trace,s=a[0].t,l=n===\"closest\",u=o.type===\"waterfall\",c=e.maxHoverDistance,f=e.maxSpikeDistance,h,d,v,x,b,g,E;o.orientation===\"h\"?(h=r,d=t,v=\"y\",x=\"x\",b=H,g=F):(h=t,d=r,v=\"x\",x=\"y\",g=H,b=F);var k=o[v+\"period\"],A=l||k;function L(ie){return C(ie,-1)}function _(ie){return C(ie,1)}function C(ie,Te){var Ee=ie.w;return ie[v]+Te*Ee/2}function M(ie){return ie[v+\"End\"]-ie[v+\"Start\"]}var p=l?L:k?function(ie){return ie.p-M(ie)/2}:function(ie){return Math.min(L(ie),ie.p-s.bardelta/2)},P=l?_:k?function(ie){return ie.p+M(ie)/2}:function(ie){return Math.max(_(ie),ie.p+s.bardelta/2)};function T(ie,Te,Ee){return i.finiteRange&&(Ee=0),d4.inbox(ie-h,Te-h,Ee+Math.min(1,Math.abs(Te-ie)/E)-1)}function F(ie){return T(p(ie),P(ie),c)}function q(ie){return T(L(ie),_(ie),f)}function V(ie){var Te=ie[x];if(u){var Ee=Math.abs(ie.rawS)||0;d>0?Te+=Ee:d<0&&(Te-=Ee)}return Te}function H(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,c+(Ae-Te)/(Ae-Ee)-1)}function X(ie){var Te=d,Ee=ie.b,Ae=V(ie);return d4.inbox(Ee-Te,Ae-Te,f+(Ae-Te)/(Ae-Ee)-1)}var G=e[v+\"a\"],N=e[x+\"a\"];E=Math.abs(G.r2c(G.range[1])-G.r2c(G.range[0]));function W(ie){return(b(ie)+g(ie))/2}var re=d4.getDistanceFunction(n,b,g,W);if(d4.getClosest(a,re,e),e.index!==!1&&a[e.index].p!==Tyt){A||(p=function(ie){return Math.min(L(ie),ie.p-s.bargroupwidth/2)},P=function(ie){return Math.max(_(ie),ie.p+s.bargroupwidth/2)});var ae=e.index,_e=a[ae],Me=o.base?_e.b+_e.s:_e.s;e[x+\"0\"]=e[x+\"1\"]=N.c2p(_e[x],!0),e[x+\"LabelVal\"]=Me;var ke=s.extents[s.extents.round(_e.p)];e[v+\"0\"]=G.c2p(l?p(_e):ke[0],!0),e[v+\"1\"]=G.c2p(l?P(_e):ke[1],!0);var ge=_e.orig_p!==void 0;return e[v+\"LabelVal\"]=ge?_e.orig_p:_e.p,e.labelLabel=TV(G,e[v+\"LabelVal\"],o[v+\"hoverformat\"]),e.valueLabel=TV(N,e[x+\"LabelVal\"],o[x+\"hoverformat\"]),e.baseLabel=TV(N,_e.b,o[x+\"hoverformat\"]),e.spikeDistance=(X(_e)+q(_e))/2,e[v+\"Spike\"]=G.c2p(_e.p,!0),byt(_e,o,e),e.hovertemplate=o.hovertemplate,e}}function zye(e,t){var r=t.mcc||e.marker.color,n=t.mlcc||e.marker.line.color,i=wyt(e,t);if(Rye.opacity(r))return r;if(Rye.opacity(n)&&i)return n}Fye.exports={hoverPoints:Ayt,hoverOnBars:Dye,getTraceColor:zye}});var Oye=ye((Aor,qye)=>{\"use strict\";qye.exports=function(t,r,n){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),n.orientation===\"h\"?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}});var AT=ye((Sor,Bye)=>{\"use strict\";Bye.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=n[0].trace,s=o.type===\"funnel\",l=o.orientation===\"h\",u=[],c;if(r===!1)for(c=0;c{\"use strict\";Nye.exports={attributes:Lm(),layoutAttributes:DI(),supplyDefaults:r0().supplyDefaults,crossTraceDefaults:r0().crossTraceDefaults,supplyLayoutDefaults:yV(),calc:cye(),crossTraceCalc:Gb().crossTraceCalc,colorbar:Kd(),arraysToCalcdata:c4(),plot:i2().plot,style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:TT().hoverPoints,eventData:Oye(),selectPoints:AT(),moduleType:\"trace\",name:\"bar\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"oriented\",\"errorBarsOK\",\"showLegend\",\"zoomScale\"],animatable:!0,meta:{}}});var Hye=ye((Eor,Vye)=>{\"use strict\";Vye.exports=Uye()});var v4=ye((kor,Zye)=>{\"use strict\";var Myt=Eg(),U0=Uc(),Gye=Lm(),Eyt=dh(),jye=Oc().axisHoverFormat,kyt=Wo().hovertemplateAttrs,zy=no().extendFlat,ST=U0.marker,Wye=ST.line;Zye.exports={y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},x0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},y0:{valType:\"any\",editType:\"calc+clearAxisTypes\"},dx:{valType:\"number\",editType:\"calc\"},dy:{valType:\"number\",editType:\"calc\"},xperiod:U0.xperiod,yperiod:U0.yperiod,xperiod0:U0.xperiod0,yperiod0:U0.yperiod0,xperiodalignment:U0.xperiodalignment,yperiodalignment:U0.yperiodalignment,xhoverformat:jye(\"x\"),yhoverformat:jye(\"y\"),name:{valType:\"string\",editType:\"calc+clearAxisTypes\"},q1:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},median:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},q3:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},lowerfence:{valType:\"data_array\",editType:\"calc\"},upperfence:{valType:\"data_array\",editType:\"calc\"},notched:{valType:\"boolean\",editType:\"calc\"},notchwidth:{valType:\"number\",min:0,max:.5,dflt:.25,editType:\"calc\"},notchspan:{valType:\"data_array\",editType:\"calc\"},boxpoints:{valType:\"enumerated\",values:[\"all\",\"outliers\",\"suspectedoutliers\",!1],editType:\"calc\"},jitter:{valType:\"number\",min:0,max:1,editType:\"calc\"},pointpos:{valType:\"number\",min:-2,max:2,editType:\"calc\"},sdmultiple:{valType:\"number\",min:0,editType:\"calc\",dflt:1},sizemode:{valType:\"enumerated\",values:[\"quartiles\",\"sd\"],editType:\"calc\",dflt:\"quartiles\"},boxmean:{valType:\"enumerated\",values:[!0,\"sd\",!1],editType:\"calc\"},mean:{valType:\"data_array\",editType:\"calc\"},sd:{valType:\"data_array\",editType:\"calc\"},orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],editType:\"calc+clearAxisTypes\"},quartilemethod:{valType:\"enumerated\",values:[\"linear\",\"exclusive\",\"inclusive\"],dflt:\"linear\",editType:\"calc\"},width:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},marker:{outliercolor:{valType:\"color\",dflt:\"rgba(0, 0, 0, 0)\",editType:\"style\"},symbol:zy({},ST.symbol,{arrayOk:!1,editType:\"plot\"}),opacity:zy({},ST.opacity,{arrayOk:!1,dflt:1,editType:\"style\"}),angle:zy({},ST.angle,{arrayOk:!1,editType:\"calc\"}),size:zy({},ST.size,{arrayOk:!1,editType:\"calc\"}),color:zy({},ST.color,{arrayOk:!1,editType:\"style\"}),line:{color:zy({},Wye.color,{arrayOk:!1,dflt:Eyt.defaultLine,editType:\"style\"}),width:zy({},Wye.width,{arrayOk:!1,dflt:0,editType:\"style\"}),outliercolor:{valType:\"color\",editType:\"style\"},outlierwidth:{valType:\"number\",min:0,dflt:1,editType:\"style\"},editType:\"style\"},editType:\"plot\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:Myt(),whiskerwidth:{valType:\"number\",min:0,max:1,dflt:.5,editType:\"calc\"},showwhiskers:{valType:\"boolean\",editType:\"calc\"},offsetgroup:Gye.offsetgroup,alignmentgroup:Gye.alignmentgroup,selected:{marker:U0.selected.marker,editType:\"style\"},unselected:{marker:U0.unselected.marker,editType:\"style\"},text:zy({},U0.text,{}),hovertext:zy({},U0.hovertext,{}),hovertemplate:kyt({}),hoveron:{valType:\"flaglist\",flags:[\"boxes\",\"points\"],dflt:\"boxes+points\",editType:\"style\"},zorder:U0.zorder}});var p4=ye((Cor,Xye)=>{\"use strict\";Xye.exports={boxmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"overlay\",editType:\"calc\"},boxgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"},boxgroupgap:{valType:\"number\",min:0,max:1,dflt:.3,editType:\"calc\"}}});var m4=ye((Lor,$ye)=>{\"use strict\";var V0=Mr(),Cyt=ba(),Lyt=va(),Pyt=Pg(),Iyt=Hb(),Yye=L3(),g4=v4();function Ryt(e,t,r,n){function i(v,x){return V0.coerce(e,t,g4,v,x)}if(Kye(e,t,i,n),t.visible!==!1){Pyt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\");var a=t._hasPreCompStats;a&&(i(\"lowerfence\"),i(\"upperfence\")),i(\"line.color\",(e.marker||{}).color||r),i(\"line.width\"),i(\"fillcolor\",Lyt.addOpacity(t.line.color,.5));var o=!1;if(a){var s=i(\"mean\"),l=i(\"sd\");s&&s.length&&(o=!0,l&&l.length&&(o=\"sd\"))}i(\"whiskerwidth\");var u=i(\"sizemode\"),c;u===\"quartiles\"&&(c=i(\"boxmean\",o)),i(\"showwhiskers\",u===\"quartiles\"),(u===\"sd\"||c===\"sd\")&&i(\"sdmultiple\"),i(\"width\"),i(\"quartilemethod\");var f=!1;if(a){var h=i(\"notchspan\");h&&h.length&&(f=!0)}else V0.validate(e.notchwidth,g4.notchwidth)&&(f=!0);var d=i(\"notched\",f);d&&i(\"notchwidth\"),Jye(e,t,i,{prefix:\"box\"}),i(\"zorder\")}}function Kye(e,t,r,n){function i(P){var T=0;return P&&P.length&&(T+=1,V0.isArrayOrTypedArray(P[0])&&P[0].length&&(T+=1)),T}function a(P){return V0.validate(e[P],g4[P])}var o=r(\"y\"),s=r(\"x\"),l;if(t.type===\"box\"){var u=r(\"q1\"),c=r(\"median\"),f=r(\"q3\");t._hasPreCompStats=u&&u.length&&c&&c.length&&f&&f.length,l=Math.min(V0.minRowLength(u),V0.minRowLength(c),V0.minRowLength(f))}var h=i(o),d=i(s),v=h&&V0.minRowLength(o),x=d&&V0.minRowLength(s),b=n.calendar,g={autotypenumbers:n.autotypenumbers},E,k;if(t._hasPreCompStats)switch(String(d)+String(h)){case\"00\":var A=a(\"x0\")||a(\"dx\"),L=a(\"y0\")||a(\"dy\");L&&!A?E=\"h\":E=\"v\",k=l;break;case\"10\":E=\"v\",k=Math.min(l,x);break;case\"20\":E=\"h\",k=Math.min(l,s.length);break;case\"01\":E=\"h\",k=Math.min(l,v);break;case\"02\":E=\"v\",k=Math.min(l,o.length);break;case\"12\":E=\"v\",k=Math.min(l,x,o.length);break;case\"21\":E=\"h\",k=Math.min(l,s.length,v);break;case\"11\":k=0;break;case\"22\":var _=!1,C;for(C=0;C0?(E=\"v\",d>0?k=Math.min(x,v):k=Math.min(v)):d>0?(E=\"h\",k=Math.min(x)):k=0;if(!k){t.visible=!1;return}t._length=k;var M=r(\"orientation\",E);t._hasPreCompStats?M===\"v\"&&d===0?(r(\"x0\",0),r(\"dx\",1)):M===\"h\"&&h===0&&(r(\"y0\",0),r(\"dy\",1)):M===\"v\"&&d===0?r(\"x0\"):M===\"h\"&&h===0&&r(\"y0\");var p=Cyt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");p(e,t,[\"x\",\"y\"],n)}function Jye(e,t,r,n){var i=n.prefix,a=V0.coerce2(e,t,g4,\"marker.outliercolor\"),o=r(\"marker.line.outliercolor\"),s=\"outliers\";t._hasPreCompStats?s=\"all\":(a||o)&&(s=\"suspectedoutliers\");var l=r(i+\"points\",s);l?(r(\"jitter\",l===\"all\"?.3:0),r(\"pointpos\",l===\"all\"?-1.5:0),r(\"marker.symbol\"),r(\"marker.opacity\"),r(\"marker.size\"),r(\"marker.angle\"),r(\"marker.color\",t.line.color),r(\"marker.line.color\"),r(\"marker.line.width\"),l===\"suspectedoutliers\"&&(r(\"marker.line.outliercolor\",t.marker.color),r(\"marker.line.outlierwidth\")),r(\"selected.marker.color\"),r(\"unselected.marker.color\"),r(\"selected.marker.size\"),r(\"unselected.marker.size\"),r(\"text\"),r(\"hovertext\")):delete t.marker;var u=r(\"hoveron\");(u===\"all\"||u.indexOf(\"points\")!==-1)&&r(\"hovertemplate\"),V0.coerceSelectionMarkerOpacity(t,r)}function Dyt(e,t){var r,n;function i(l){return V0.coerce(n._input,n,g4,l)}for(var a=0;a{\"use strict\";var zyt=ba(),Fyt=Mr(),qyt=p4();function Qye(e,t,r,n,i){for(var a=i+\"Layout\",o=!1,s=0;s{\"use strict\";var SV=uo(),VI=Qa(),Byt=Rg(),$f=Mr(),i0=es().BADNUM,Fy=$f._;u1e.exports=function(t,r){var n=t._fullLayout,i=VI.getFromId(t,r.xaxis||\"x\"),a=VI.getFromId(t,r.yaxis||\"y\"),o=[],s=r.type===\"violin\"?\"_numViolins\":\"_numBoxes\",l,u,c,f,h,d,v;r.orientation===\"h\"?(c=i,f=\"x\",h=a,d=\"y\",v=!!r.yperiodalignment):(c=a,f=\"y\",h=i,d=\"x\",v=!!r.xperiodalignment);var x=Nyt(r,d,h,n[s]),b=x[0],g=x[1],E=$f.distinctVals(b,h),k=E.vals,A=E.minDiff/2,L,_,C,M,p,P,T=(r.boxpoints||r.points)===\"all\"?$f.identity:function(qt){return qt.vL.uf};if(r._hasPreCompStats){var F=r[f],q=function(qt){return c.d2c((r[qt]||[])[l])},V=1/0,H=-1/0;for(l=0;l=L.q1&&L.q3>=L.med){var G=q(\"lowerfence\");L.lf=G!==i0&&G<=L.q1?G:n1e(L,C,M);var N=q(\"upperfence\");L.uf=N!==i0&&N>=L.q3?N:a1e(L,C,M);var W=q(\"mean\");L.mean=W!==i0?W:M?$f.mean(C,M):(L.q1+L.q3)/2;var re=q(\"sd\");L.sd=W!==i0&&re>=0?re:M?$f.stdev(C,M,L.mean):L.q3-L.q1,L.lo=o1e(L),L.uo=s1e(L);var ae=q(\"notchspan\");ae=ae!==i0&&ae>0?ae:l1e(L,M),L.ln=L.med-ae,L.un=L.med+ae;var _e=L.lf,Me=L.uf;r.boxpoints&&C.length&&(_e=Math.min(_e,C[0]),Me=Math.max(Me,C[M-1])),r.notched&&(_e=Math.min(_e,L.ln),Me=Math.max(Me,L.un)),L.min=_e,L.max=Me}else{$f.warn([\"Invalid input - make sure that q1 <= median <= q3\",\"q1 = \"+L.q1,\"median = \"+L.med,\"q3 = \"+L.q3].join(`\n", + "`));var ke;L.med!==i0?ke=L.med:L.q1!==i0?L.q3!==i0?ke=(L.q1+L.q3)/2:ke=L.q1:L.q3!==i0?ke=L.q3:ke=0,L.med=ke,L.q1=L.q3=ke,L.lf=L.uf=ke,L.mean=L.sd=ke,L.ln=L.un=ke,L.min=L.max=ke}V=Math.min(V,L.min),H=Math.max(H,L.max),L.pts2=_.filter(T),o.push(L)}}r._extremes[c._id]=VI.findExtremes(c,[V,H],{padded:!0})}else{var ge=c.makeCalcdata(r,f),ie=Uyt(k,A),Te=k.length,Ee=Vyt(Te);for(l=0;l=0&&Ae0){if(L={},L.pos=L[d]=k[l],_=L.pts=Ee[l].sort(r1e),C=L[f]=_.map(i1e),M=C.length,L.min=C[0],L.max=C[M-1],L.mean=$f.mean(C,M),L.sd=$f.stdev(C,M,L.mean)*r.sdmultiple,L.med=$f.interp(C,.5),M%2&&(Re||ce)){var Ge,nt;Re?(Ge=C.slice(0,M/2),nt=C.slice(M/2+1)):ce&&(Ge=C.slice(0,M/2+1),nt=C.slice(M/2)),L.q1=$f.interp(Ge,.5),L.q3=$f.interp(nt,.5)}else L.q1=$f.interp(C,.25),L.q3=$f.interp(C,.75);L.lf=n1e(L,C,M),L.uf=a1e(L,C,M),L.lo=o1e(L),L.uo=s1e(L);var ct=l1e(L,M);L.ln=L.med-ct,L.un=L.med+ct,ze=Math.min(ze,L.ln),Ce=Math.max(Ce,L.un),L.pts2=_.filter(T),o.push(L)}r.notched&&$f.isTypedArray(ge)&&(ge=Array.from(ge)),r._extremes[c._id]=VI.findExtremes(c,r.notched?ge.concat([ze,Ce]):ge,{padded:!0})}return Hyt(o,r),o.length>0?(o[0].t={num:n[s],dPos:A,posLetter:d,valLetter:f,labels:{med:Fy(t,\"median:\"),min:Fy(t,\"min:\"),q1:Fy(t,\"q1:\"),q3:Fy(t,\"q3:\"),max:Fy(t,\"max:\"),mean:r.boxmean===\"sd\"||r.sizemode===\"sd\"?Fy(t,\"mean \\xB1 \\u03C3:\").replace(\"\\u03C3\",r.sdmultiple===1?\"\\u03C3\":r.sdmultiple+\"\\u03C3\"):Fy(t,\"mean:\"),lf:Fy(t,\"lower fence:\"),uf:Fy(t,\"upper fence:\")}},n[s]++,o):[{t:{empty:!0}}]};function Nyt(e,t,r,n){var i=t in e,a=t+\"0\"in e,o=\"d\"+t in e;if(i||a&&o){var s=r.makeCalcdata(e,t),l=Byt(e,r,t,s).vals;return[l,s]}var u;a?u=e[t+\"0\"]:\"name\"in e&&(r.type===\"category\"||SV(e.name)&&[\"linear\",\"log\"].indexOf(r.type)!==-1||$f.isDateTime(e.name)&&r.type===\"date\")?u=e.name:u=n;for(var c=r.type===\"multicategory\"?r.r2c_just_indices(u):r.d2c(u,0,e[t+\"calendar\"]),f=e._length,h=new Array(f),d=0;d{\"use strict\";var c1e=Qa(),Gyt=Mr(),jyt=Bb().getAxisGroup,f1e=[\"v\",\"h\"];function Wyt(e,t){for(var r=e.calcdata,n=t.xaxis,i=t.yaxis,a=0;a1,E=1-a[e+\"gap\"],k=1-a[e+\"groupgap\"];for(l=0;l0;if(C===\"positive\"?(N=M*(_?1:.5),ae=re,W=ae=P):C===\"negative\"?(N=ae=P,W=M*(_?1:.5),_e=re):(N=W=M,ae=_e=re),Ee){var Ae=A.pointpos,ze=A.jitter,Ce=A.marker.size/2,me=0;Ae+ze>=0&&(me=re*(Ae+ze),me>N?(Te=!0,ge=Ce,Me=me):me>ae&&(ge=Ce,Me=N)),me<=N&&(Me=N);var Re=0;Ae-ze<=0&&(Re=-re*(Ae-ze),Re>W?(Te=!0,ie=Ce,ke=Re):Re>_e&&(ie=Ce,ke=W)),Re<=W&&(ke=W)}else Me=N,ke=W;var ce=new Array(c.length);for(u=0;u{\"use strict\";var MT=xa(),n2=Mr(),Zyt=ao(),v1e=5,Xyt=.01;function Yyt(e,t,r,n){var i=e._context.staticPlot,a=t.xaxis,o=t.yaxis;n2.makeTraceGroups(n,r,\"trace boxes\").each(function(s){var l=MT.select(this),u=s[0],c=u.t,f=u.trace;if(c.wdPos=c.bdPos*f.whiskerwidth,f.visible!==!0||c.empty){l.remove();return}var h,d;f.orientation===\"h\"?(h=o,d=a):(h=a,d=o),p1e(l,{pos:h,val:d},f,c,i),g1e(l,{x:a,y:o},f,c),m1e(l,{pos:h,val:d},f,c)})}function p1e(e,t,r,n,i){var a=r.orientation===\"h\",o=t.val,s=t.pos,l=!!s.rangebreaks,u=n.bPos,c=n.wdPos||0,f=n.bPosPxOffset||0,h=r.whiskerwidth||0,d=r.showwhiskers!==!1,v=r.notched||!1,x=v?1-2*r.notchwidth:1,b,g;Array.isArray(n.bdPos)?(b=n.bdPos[0],g=n.bdPos[1]):(b=n.bdPos,g=n.bdPos);var E=e.selectAll(\"path.box\").data(r.type!==\"violin\"||r.box.visible?n2.identity:[]);E.enter().append(\"path\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").attr(\"class\",\"box\"),E.exit().remove(),E.each(function(k){if(k.empty)return MT.select(this).attr(\"d\",\"M0,0Z\");var A=s.c2l(k.pos+u,!0),L=s.l2p(A-b)+f,_=s.l2p(A+g)+f,C=l?(L+_)/2:s.l2p(A)+f,M=r.whiskerwidth,p=l?L*M+(1-M)*C:s.l2p(A-c)+f,P=l?_*M+(1-M)*C:s.l2p(A+c)+f,T=s.l2p(A-b*x)+f,F=s.l2p(A+g*x)+f,q=r.sizemode===\"sd\",V=o.c2p(q?k.mean-k.sd:k.q1,!0),H=q?o.c2p(k.mean+k.sd,!0):o.c2p(k.q3,!0),X=n2.constrain(q?o.c2p(k.mean,!0):o.c2p(k.med,!0),Math.min(V,H)+1,Math.max(V,H)-1),G=k.lf===void 0||r.boxpoints===!1||q,N=o.c2p(G?k.min:k.lf,!0),W=o.c2p(G?k.max:k.uf,!0),re=o.c2p(k.ln,!0),ae=o.c2p(k.un,!0);a?MT.select(this).attr(\"d\",\"M\"+X+\",\"+T+\"V\"+F+\"M\"+V+\",\"+L+\"V\"+_+(v?\"H\"+re+\"L\"+X+\",\"+F+\"L\"+ae+\",\"+_:\"\")+\"H\"+H+\"V\"+L+(v?\"H\"+ae+\"L\"+X+\",\"+T+\"L\"+re+\",\"+L:\"\")+\"Z\"+(d?\"M\"+V+\",\"+C+\"H\"+N+\"M\"+H+\",\"+C+\"H\"+W+(h===0?\"\":\"M\"+N+\",\"+p+\"V\"+P+\"M\"+W+\",\"+p+\"V\"+P):\"\")):MT.select(this).attr(\"d\",\"M\"+T+\",\"+X+\"H\"+F+\"M\"+L+\",\"+V+\"H\"+_+(v?\"V\"+re+\"L\"+F+\",\"+X+\"L\"+_+\",\"+ae:\"\")+\"V\"+H+\"H\"+L+(v?\"V\"+ae+\"L\"+T+\",\"+X+\"L\"+L+\",\"+re:\"\")+\"Z\"+(d?\"M\"+C+\",\"+V+\"V\"+N+\"M\"+C+\",\"+H+\"V\"+W+(h===0?\"\":\"M\"+p+\",\"+N+\"H\"+P+\"M\"+p+\",\"+W+\"H\"+P):\"\"))})}function g1e(e,t,r,n){var i=t.x,a=t.y,o=n.bdPos,s=n.bPos,l=r.boxpoints||r.points;n2.seedPseudoRandom();var u=function(h){return h.forEach(function(d){d.t=n,d.trace=r}),h},c=e.selectAll(\"g.points\").data(l?u:[]);c.enter().append(\"g\").attr(\"class\",\"points\"),c.exit().remove();var f=c.selectAll(\"path\").data(function(h){var d,v=h.pts2,x=Math.max((h.max-h.min)/10,h.q3-h.q1),b=x*1e-9,g=x*Xyt,E=[],k=0,A;if(r.jitter){if(x===0)for(k=1,E=new Array(v.length),d=0;dh.lo&&(P.so=!0)}return v});f.enter().append(\"path\").classed(\"point\",!0),f.exit().remove(),f.call(Zyt.translatePoints,i,a)}function m1e(e,t,r,n){var i=t.val,a=t.pos,o=!!a.rangebreaks,s=n.bPos,l=n.bPosPxOffset||0,u=r.boxmean||(r.meanline||{}).visible,c,f;Array.isArray(n.bdPos)?(c=n.bdPos[0],f=n.bdPos[1]):(c=n.bdPos,f=n.bdPos);var h=e.selectAll(\"path.mean\").data(r.type===\"box\"&&r.boxmean||r.type===\"violin\"&&r.box.visible&&r.meanline.visible?n2.identity:[]);h.enter().append(\"path\").attr(\"class\",\"mean\").style({fill:\"none\",\"vector-effect\":\"non-scaling-stroke\"}),h.exit().remove(),h.each(function(d){var v=a.c2l(d.pos+s,!0),x=a.l2p(v-c)+l,b=a.l2p(v+f)+l,g=o?(x+b)/2:a.l2p(v)+l,E=i.c2p(d.mean,!0),k=i.c2p(d.mean-d.sd,!0),A=i.c2p(d.mean+d.sd,!0);r.orientation===\"h\"?MT.select(this).attr(\"d\",\"M\"+E+\",\"+x+\"V\"+b+(u===\"sd\"?\"m0,0L\"+k+\",\"+g+\"L\"+E+\",\"+x+\"L\"+A+\",\"+g+\"Z\":\"\")):MT.select(this).attr(\"d\",\"M\"+x+\",\"+E+\"H\"+b+(u===\"sd\"?\"m0,0L\"+g+\",\"+k+\"L\"+x+\",\"+E+\"L\"+g+\",\"+A+\"Z\":\"\"))})}y1e.exports={plot:Yyt,plotBoxAndWhiskers:p1e,plotPoints:g1e,plotBoxMean:m1e}});var jI=ye((zor,_1e)=>{\"use strict\";var EV=xa(),kV=va(),CV=ao();function Kyt(e,t,r){var n=r||EV.select(e).selectAll(\"g.trace.boxes\");n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=EV.select(this),o=i[0].trace,s=o.line.width;function l(f,h,d,v){f.style(\"stroke-width\",h+\"px\").call(kV.stroke,d).call(kV.fill,v)}var u=a.selectAll(\"path.box\");if(o.type===\"candlestick\")u.each(function(f){if(!f.empty){var h=EV.select(this),d=o[f.dir];l(h,d.line.width,d.line.color,d.fillcolor),h.style(\"opacity\",o.selectedpoints&&!f.selected?.3:1)}});else{l(u,s,o.line.color,o.fillcolor),a.selectAll(\"path.mean\").style({\"stroke-width\":s,\"stroke-dasharray\":2*s+\"px,\"+s+\"px\"}).call(kV.stroke,o.line.color);var c=a.selectAll(\"path.point\");CV.pointStyle(c,o,e)}})}function Jyt(e,t,r){var n=t[0].trace,i=r.selectAll(\"path.point\");n.selectedpoints?CV.selectedPointStyle(i,n):CV.pointStyle(i,n,e)}_1e.exports={style:Kyt,styleOnSelect:Jyt}});var PV=ye((For,T1e)=>{\"use strict\";var $yt=Qa(),LV=Mr(),A_=Nc(),x1e=va(),Qyt=LV.fillText;function e1t(e,t,r,n){var i=e.cd,a=i[0].trace,o=a.hoveron,s=[],l;return o.indexOf(\"boxes\")!==-1&&(s=s.concat(b1e(e,t,r,n))),o.indexOf(\"points\")!==-1&&(l=w1e(e,t,r)),n===\"closest\"?l?[l]:s:(l&&s.push(l),s)}function b1e(e,t,r,n){var i=e.cd,a=e.xa,o=e.ya,s=i[0].trace,l=i[0].t,u=s.type===\"violin\",c,f,h,d,v,x,b,g,E,k,A,L=l.bdPos,_,C,M=l.wHover,p=function(Ce){return h.c2l(Ce.pos)+l.bPos-h.c2l(x)};u&&s.side!==\"both\"?(s.side===\"positive\"&&(E=function(Ce){var me=p(Ce);return A_.inbox(me,me+M,k)},_=L,C=0),s.side===\"negative\"&&(E=function(Ce){var me=p(Ce);return A_.inbox(me-M,me,k)},_=0,C=L)):(E=function(Ce){var me=p(Ce);return A_.inbox(me-M,me+M,k)},_=C=L);var P;u?P=function(Ce){return A_.inbox(Ce.span[0]-v,Ce.span[1]-v,k)}:P=function(Ce){return A_.inbox(Ce.min-v,Ce.max-v,k)},s.orientation===\"h\"?(v=t,x=r,b=P,g=E,c=\"y\",h=o,f=\"x\",d=a):(v=r,x=t,b=E,g=P,c=\"x\",h=a,f=\"y\",d=o);var T=Math.min(1,L/Math.abs(h.r2c(h.range[1])-h.r2c(h.range[0])));k=e.maxHoverDistance-T,A=e.maxSpikeDistance-T;function F(Ce){return(b(Ce)+g(Ce))/2}var q=A_.getDistanceFunction(n,b,g,F);if(A_.getClosest(i,q,e),e.index===!1)return[];var V=i[e.index],H=s.line.color,X=(s.marker||{}).color;x1e.opacity(H)&&s.line.width?e.color=H:x1e.opacity(X)&&s.boxpoints?e.color=X:e.color=s.fillcolor,e[c+\"0\"]=h.c2p(V.pos+l.bPos-C,!0),e[c+\"1\"]=h.c2p(V.pos+l.bPos+_,!0),e[c+\"LabelVal\"]=V.orig_p!==void 0?V.orig_p:V.pos;var G=c+\"Spike\";e.spikeDistance=F(V)*A/k,e[G]=h.c2p(V.pos,!0);var N=s.boxmean||s.sizemode===\"sd\"||(s.meanline||{}).visible,W=s.boxpoints||s.points,re=W&&N?[\"max\",\"uf\",\"q3\",\"med\",\"mean\",\"q1\",\"lf\",\"min\"]:W&&!N?[\"max\",\"uf\",\"q3\",\"med\",\"q1\",\"lf\",\"min\"]:!W&&N?[\"max\",\"q3\",\"med\",\"mean\",\"q1\",\"min\"]:[\"max\",\"q3\",\"med\",\"q1\",\"min\"],ae=d.range[1]{\"use strict\";A1e.exports=function(t,r){return r.hoverOnBox&&(t.hoverOnBox=r.hoverOnBox),\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var IV=ye((Oor,M1e)=>{\"use strict\";M1e.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l;if(r===!1)for(s=0;s{\"use strict\";E1e.exports={attributes:v4(),layoutAttributes:p4(),supplyDefaults:m4().supplyDefaults,crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:UI().supplyLayoutDefaults,calc:MV(),crossTraceCalc:HI().crossTraceCalc,plot:GI().plot,style:jI().style,styleOnSelect:jI().styleOnSelect,hoverPoints:PV().hoverPoints,eventData:S1e(),selectPoints:IV(),moduleType:\"trace\",name:\"box\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"boxLayout\",\"zoomScale\"],meta:{}}});var L1e=ye((Nor,C1e)=>{\"use strict\";C1e.exports=k1e()});var ET=ye((Uor,P1e)=>{\"use strict\";var n0=Uc(),t1t=vl(),r1t=Su(),RV=Oc().axisHoverFormat,i1t=Wo().hovertemplateAttrs,n1t=Wo().texttemplateAttrs,a1t=Kl(),Pp=no().extendFlat;P1e.exports=Pp({z:{valType:\"data_array\",editType:\"calc\"},x:Pp({},n0.x,{impliedEdits:{xtype:\"array\"}}),x0:Pp({},n0.x0,{impliedEdits:{xtype:\"scaled\"}}),dx:Pp({},n0.dx,{impliedEdits:{xtype:\"scaled\"}}),y:Pp({},n0.y,{impliedEdits:{ytype:\"array\"}}),y0:Pp({},n0.y0,{impliedEdits:{ytype:\"scaled\"}}),dy:Pp({},n0.dy,{impliedEdits:{ytype:\"scaled\"}}),xperiod:Pp({},n0.xperiod,{impliedEdits:{xtype:\"scaled\"}}),yperiod:Pp({},n0.yperiod,{impliedEdits:{ytype:\"scaled\"}}),xperiod0:Pp({},n0.xperiod0,{impliedEdits:{xtype:\"scaled\"}}),yperiod0:Pp({},n0.yperiod0,{impliedEdits:{ytype:\"scaled\"}}),xperiodalignment:Pp({},n0.xperiodalignment,{impliedEdits:{xtype:\"scaled\"}}),yperiodalignment:Pp({},n0.yperiodalignment,{impliedEdits:{ytype:\"scaled\"}}),text:{valType:\"data_array\",editType:\"calc\"},hovertext:{valType:\"data_array\",editType:\"calc\"},transpose:{valType:\"boolean\",dflt:!1,editType:\"calc\"},xtype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},ytype:{valType:\"enumerated\",values:[\"array\",\"scaled\"],editType:\"calc+clearAxisTypes\"},zsmooth:{valType:\"enumerated\",values:[\"fast\",\"best\",!1],dflt:!1,editType:\"calc\"},hoverongaps:{valType:\"boolean\",dflt:!0,editType:\"none\"},connectgaps:{valType:\"boolean\",editType:\"calc\"},xgap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},ygap:{valType:\"number\",dflt:0,min:0,editType:\"plot\"},xhoverformat:RV(\"x\"),yhoverformat:RV(\"y\"),zhoverformat:RV(\"z\",1),hovertemplate:i1t(),texttemplate:n1t({arrayOk:!1,editType:\"plot\"},{keys:[\"x\",\"y\",\"z\",\"text\"]}),textfont:r1t({editType:\"plot\",autoSize:!0,autoColor:!0,colorEditType:\"style\"}),showlegend:Pp({},t1t.showlegend,{dflt:!1}),zorder:n0.zorder},a1t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var ZI=ye((Vor,R1e)=>{\"use strict\";var o1t=uo(),WI=Mr(),s1t=ba();R1e.exports=function(t,r,n,i,a,o){var s=n(\"z\");a=a||\"x\",o=o||\"y\";var l,u;if(s===void 0||!s.length)return 0;if(WI.isArray1D(s)){l=n(a),u=n(o);var c=WI.minRowLength(l),f=WI.minRowLength(u);if(c===0||f===0)return 0;r._length=Math.min(c,f,s.length)}else{if(l=I1e(a,n),u=I1e(o,n),!l1t(s))return 0;n(\"transpose\"),r._length=null}var h=s1t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return h(t,r,[a,o],i),!0};function I1e(e,t){var r=t(e),n=r?t(e+\"type\",\"array\"):\"scaled\";return n===\"scaled\"&&(t(e+\"0\"),t(\"d\"+e)),r}function l1t(e){for(var t=!0,r=!1,n=!1,i,a=0;a0&&(r=!0);for(var o=0;o{\"use strict\";var D1e=Mr();z1e.exports=function(t,r){t(\"texttemplate\");var n=D1e.extendFlat({},r.font,{color:\"auto\",size:\"auto\"});D1e.coerceFont(t,\"textfont\",n)}});var DV=ye((Gor,F1e)=>{\"use strict\";F1e.exports=function(t,r,n){var i=n(\"zsmooth\");i===!1&&(n(\"xgap\"),n(\"ygap\")),n(\"zhoverformat\")}});var B1e=ye((jor,O1e)=>{\"use strict\";var q1e=Mr(),u1t=ZI(),c1t=y4(),f1t=Pg(),h1t=DV(),d1t=Uh(),v1t=ET();O1e.exports=function(t,r,n,i){function a(s,l){return q1e.coerce(t,r,v1t,s,l)}var o=u1t(t,r,a,i);if(!o){r.visible=!1;return}f1t(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),c1t(a,i),h1t(t,r,a,i),a(\"hoverongaps\"),a(\"connectgaps\",q1e.isArray1D(r.z)&&r.zsmooth!==!1),d1t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"zorder\")}});var zV=ye((Wor,N1e)=>{\"use strict\";var kT=uo();N1e.exports={count:function(e,t,r){return r[e]++,1},sum:function(e,t,r,n){var i=n[t];return kT(i)?(i=Number(i),r[e]+=i,i):0},avg:function(e,t,r,n,i){var a=n[t];return kT(a)&&(a=Number(a),r[e]+=a,i[e]++),0},min:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]>i){var a=i-r[e];return r[e]=i,a}}else return r[e]=i,i;return 0},max:function(e,t,r,n){var i=n[t];if(kT(i))if(i=Number(i),kT(r[e])){if(r[e]{\"use strict\";U1e.exports={percent:function(e,t){for(var r=e.length,n=100/t,i=0;i{\"use strict\";V1e.exports=function(t,r){for(var n=t.length,i=0,a=0;a{\"use strict\";var CT=es(),a2=CT.ONEAVGYEAR,H1e=CT.ONEAVGMONTH,YI=CT.ONEDAY,G1e=CT.ONEHOUR,j1e=CT.ONEMIN,W1e=CT.ONESEC,Z1e=Qa().tickIncrement;K1e.exports=function(t,r,n,i,a){var o=-1.1*r,s=-.1*r,l=t-s,u=n[0],c=n[1],f=Math.min(XI(u+s,u+l,i,a),XI(c+s,c+l,i,a)),h=Math.min(XI(u+o,u+s,i,a),XI(c+o,c+s,i,a)),d,v;if(f>h&&hYI){var x=d===a2?1:6,b=d===a2?\"M12\":\"M1\";return function(g,E){var k=i.c2d(g,a2,a),A=k.indexOf(\"-\",x);A>0&&(k=k.substr(0,A));var L=i.d2c(k,0,a);if(LW1e?e>YI?e>a2*1.1?a2:e>H1e*1.1?H1e:YI:e>G1e?G1e:e>j1e?j1e:W1e:Math.pow(10,Math.floor(Math.log(e)/Math.LN10))}function p1t(e,t,r,n,i,a){if(n&&e>YI){var o=Y1e(t,i,a),s=Y1e(r,i,a),l=e===a2?0:1;return o[l]!==s[l]}return Math.floor(r/e)-Math.floor(t/e)>.1}function Y1e(e,t,r){var n=t.c2d(e,a2,r).split(\"-\");return n[0]===\"\"&&(n.unshift(),n[0]=\"-\"+n[0]),n}});var UV=ye((Kor,Q1e)=>{\"use strict\";var BV=uo(),Vv=Mr(),J1e=ba(),H0=Qa(),g1t=c4(),$1e=zV(),m1t=FV(),y1t=qV(),_1t=OV();function x1t(e,t){var r=[],n=[],i=t.orientation===\"h\",a=H0.getFromId(e,i?t.yaxis:t.xaxis),o=i?\"y\":\"x\",s={x:\"y\",y:\"x\"}[o],l=t[o+\"calendar\"],u=t.cumulative,c,f=NV(e,t,a,o),h=f[0],d=f[1],v=typeof h.size==\"string\",x=[],b=v?x:h,g=[],E=[],k=[],A=0,L=t.histnorm,_=t.histfunc,C=L.indexOf(\"density\")!==-1,M,p,P;u.enabled&&C&&(L=L.replace(/ ?density$/,\"\"),C=!1);var T=_===\"max\"||_===\"min\",F=T?null:0,q=$1e.count,V=m1t[L],H=!1,X=function(me){return a.r2c(me,0,l)},G;for(Vv.isArrayOrTypedArray(t[s])&&_!==\"count\"&&(G=t[s],H=_===\"avg\",q=$1e[_]),c=X(h.start),p=X(h.end)+(c-H0.tickIncrement(c,h.size,!1,l))/1e6;c=0&&P=Ae;c--)if(n[c]){ze=c;break}for(c=Ae;c<=ze;c++)if(BV(r[c])&&BV(n[c])){var Ce={p:r[c],s:n[c],b:0};u.enabled||(Ce.pts=k[c],ae?Ce.ph0=Ce.ph1=k[c].length?d[k[c][0]]:r[c]:(t._computePh=!0,Ce.ph0=ie(x[c]),Ce.ph1=ie(x[c+1],!0))),Ee.push(Ce)}return Ee.length===1&&(Ee[0].width1=H0.tickIncrement(Ee[0].p,h.size,!1,l)-Ee[0].p),g1t(Ee,t),Vv.isArrayOrTypedArray(t.selectedpoints)&&Vv.tagSelected(Ee,t,ke),Ee}function NV(e,t,r,n,i){var a=n+\"bins\",o=e._fullLayout,s=t[\"_\"+n+\"bingroup\"],l=o._histogramBinOpts[s],u=o.barmode===\"overlay\",c,f,h,d,v,x,b,g=function(ge){return r.r2c(ge,0,d)},E=function(ge){return r.c2r(ge,0,d)},k=r.type===\"date\"?function(ge){return ge||ge===0?Vv.cleanDate(ge,null,d):null}:function(ge){return BV(ge)?Number(ge):null};function A(ge,ie,Te){ie[ge+\"Found\"]?(ie[ge]=k(ie[ge]),ie[ge]===null&&(ie[ge]=Te[ge])):(x[ge]=ie[ge]=Te[ge],Vv.nestedProperty(f[0],a+\".\"+ge).set(Te[ge]))}if(t[\"_\"+n+\"autoBinFinished\"])delete t[\"_\"+n+\"autoBinFinished\"];else{f=l.traces;var L=[],_=!0,C=!1,M=!1;for(c=0;cr.r2l(G)&&(W=H0.tickIncrement(W,l.size,!0,d)),q.start=r.l2r(W),X||Vv.nestedProperty(t,a+\".start\").set(q.start)}var re=l.end,ae=r.r2l(F.end),_e=ae!==void 0;if((l.endFound||_e)&&ae!==r.r2l(re)){var Me=_e?ae:Vv.aggNums(Math.max,null,v);q.end=r.l2r(Me),_e||Vv.nestedProperty(t,a+\".start\").set(q.end)}var ke=\"autobin\"+n;return t._input[ke]===!1&&(t._input[a]=Vv.extendFlat({},t[a]||{}),delete t._input[ke],delete t[ke]),[q,v]}function b1t(e,t,r,n,i){var a=e._fullLayout,o=w1t(e,t),s=!1,l=1/0,u=[t],c,f,h;for(c=0;c=0;n--)s(n);else if(t===\"increasing\"){for(n=1;n=0;n--)e[n]+=e[n+1];r===\"exclude\"&&(e.push(0),e.shift())}}Q1e.exports={calc:x1t,calcAllAutoBins:NV}});var s_e=ye((Jor,o_e)=>{\"use strict\";var e_e=Mr(),LT=Qa(),t_e=zV(),A1t=FV(),S1t=qV(),M1t=OV(),r_e=UV().calcAllAutoBins;o_e.exports=function(t,r){var n=LT.getFromId(t,r.xaxis),i=LT.getFromId(t,r.yaxis),a=r.xcalendar,o=r.ycalendar,s=function(Et){return n.r2c(Et,0,a)},l=function(Et){return i.r2c(Et,0,o)},u=function(Et){return n.c2r(Et,0,a)},c=function(Et){return i.c2r(Et,0,o)},f,h,d,v,x=r_e(t,r,n,\"x\"),b=x[0],g=x[1],E=r_e(t,r,i,\"y\"),k=E[0],A=E[1],L=r._length;g.length>L&&g.splice(L,g.length-L),A.length>L&&A.splice(L,A.length-L);var _=[],C=[],M=[],p=typeof b.size==\"string\",P=typeof k.size==\"string\",T=[],F=[],q=p?T:b,V=P?F:k,H=0,X=[],G=[],N=r.histnorm,W=r.histfunc,re=N.indexOf(\"density\")!==-1,ae=W===\"max\"||W===\"min\",_e=ae?null:0,Me=t_e.count,ke=A1t[N],ge=!1,ie=[],Te=[],Ee=\"z\"in r?r.z:\"marker\"in r&&Array.isArray(r.marker.color)?r.marker.color:\"\";Ee&&W!==\"count\"&&(ge=W===\"avg\",Me=t_e[W]);var Ae=b.size,ze=s(b.start),Ce=s(b.end)+(ze-LT.tickIncrement(ze,Ae,!1,a))/1e6;for(f=ze;f=0&&d=0&&v{\"use strict\";var Im=Mr(),l_e=es().BADNUM,u_e=Rg();c_e.exports=function(t,r,n,i,a,o){var s=t._length,l=r.makeCalcdata(t,i),u=n.makeCalcdata(t,a);l=u_e(t,r,i,l).vals,u=u_e(t,n,a,u).vals;var c=t.text,f=c!==void 0&&Im.isArray1D(c),h=t.hovertext,d=h!==void 0&&Im.isArray1D(h),v,x,b=Im.distinctVals(l),g=b.vals,E=Im.distinctVals(u),k=E.vals,A=[],L,_,C=k.length,M=g.length;for(v=0;v{\"use strict\";var E1t=uo(),k1t=Mr(),JI=es().BADNUM;f_e.exports=function(t,r,n,i){var a,o,s,l,u,c;function f(g){if(E1t(g))return+g}if(r&&r.transpose){for(a=0,u=0;u{\"use strict\";var C1t=Mr(),h_e=.01,L1t=[[-1,0],[1,0],[0,-1],[0,1]];function P1t(e){return .5-.25*Math.min(1,e*.5)}v_e.exports=function(t,r){var n=1,i;for(d_e(t,r),i=0;ih_e;i++)n=d_e(t,r,P1t(n));return n>h_e&&C1t.log(\"interp2d didn't converge quickly\",n),t};function d_e(e,t,r){var n=0,i,a,o,s,l,u,c,f,h,d,v,x,b;for(s=0;sx&&(n=Math.max(n,Math.abs(e[a][o]-v)/(b-x))))}return n}});var e8=ye((tsr,p_e)=>{\"use strict\";var I1t=Mr().maxRowLength;p_e.exports=function(t){var r=[],n={},i=[],a=t[0],o=[],s=[0,0,0],l=I1t(t),u,c,f,h,d,v,x,b;for(c=0;c=0;d--)h=i[d],c=h[0],f=h[1],v=((n[[c-1,f]]||s)[2]+(n[[c+1,f]]||s)[2]+(n[[c,f-1]]||s)[2]+(n[[c,f+1]]||s)[2])/20,v&&(x[h]=[c,f,v],i.splice(d,1),b=!0);if(!b)throw\"findEmpties iterated with no new neighbors\";for(h in x)n[h]=x[h],r.push(x[h])}return r.sort(function(g,E){return E[2]-g[2]})}});var VV=ye((rsr,y_e)=>{\"use strict\";var g_e=ba(),m_e=Mr().isArrayOrTypedArray;y_e.exports=function(t,r,n,i,a,o){var s=[],l=g_e.traceIs(t,\"contour\"),u=g_e.traceIs(t,\"histogram\"),c,f,h,d=m_e(r)&&r.length>1;if(d&&!u&&o.type!==\"category\"){var v=r.length;if(v<=a){if(l)s=Array.from(r).slice(0,a);else if(a===1)o.type===\"log\"?s=[.5*r[0],2*r[0]]:s=[r[0]-.5,r[0]+.5];else if(o.type===\"log\"){for(s=[Math.pow(r[0],1.5)/Math.pow(r[1],.5)],h=1;h{\"use strict\";var __e=ba(),HV=Mr(),t8=Qa(),x_e=Rg(),R1t=s_e(),D1t=zv(),z1t=KI(),F1t=$I(),q1t=QI(),O1t=e8(),r8=VV(),GV=es().BADNUM;w_e.exports=function(t,r){var n=t8.getFromId(t,r.xaxis||\"x\"),i=t8.getFromId(t,r.yaxis||\"y\"),a=__e.traceIs(r,\"contour\"),o=__e.traceIs(r,\"histogram\"),s=a?\"best\":r.zsmooth,l,u,c,f,h,d,v,x,b,g,E;if(n._minDtick=0,i._minDtick=0,o)E=R1t(t,r),f=E.orig_x,l=E.x,u=E.x0,c=E.dx,x=E.orig_y,h=E.y,d=E.y0,v=E.dy,b=E.z;else{var k=r.z;HV.isArray1D(k)?(z1t(r,n,i,\"x\",\"y\",[\"z\"]),l=r._x,h=r._y,k=r._z):(f=r.x?n.makeCalcdata(r,\"x\"):[],x=r.y?i.makeCalcdata(r,\"y\"):[],l=x_e(r,n,\"x\",f).vals,h=x_e(r,i,\"y\",x).vals,r._x=l,r._y=h),u=r.x0,c=r.dx,d=r.y0,v=r.dy,b=F1t(k,r,n,i)}(n.rangebreaks||i.rangebreaks)&&(b=B1t(l,h,b),o||(l=b_e(l),h=b_e(h),r._x=l,r._y=h)),!o&&(a||r.connectgaps)&&(r._emptypoints=O1t(b),q1t(b,r._emptypoints));function A(q){s=r._input.zsmooth=r.zsmooth=!1,HV.warn('cannot use zsmooth: \"fast\": '+q)}function L(q){if(q.length>1){var V=(q[q.length-1]-q[0])/(q.length-1),H=Math.abs(V/100);for(g=0;gH)return!1}return!0}r._islinear=!1,n.type===\"log\"||i.type===\"log\"?s===\"fast\"&&A(\"log axis found\"):L(l)?L(h)?r._islinear=!0:s===\"fast\"&&A(\"y scale is not linear\"):s===\"fast\"&&A(\"x scale is not linear\");var _=HV.maxRowLength(b),C=r.xtype===\"scaled\"?\"\":l,M=r8(r,C,u,c,_,n),p=r.ytype===\"scaled\"?\"\":h,P=r8(r,p,d,v,b.length,i);r._extremes[n._id]=t8.findExtremes(n,M),r._extremes[i._id]=t8.findExtremes(i,P);var T={x:M,y:P,z:b,text:r._text||r.text,hovertext:r._hovertext||r.hovertext};if(r.xperiodalignment&&f&&(T.orig_x=f),r.yperiodalignment&&x&&(T.orig_y=x),C&&C.length===M.length-1&&(T.xCenter=C),p&&p.length===P.length-1&&(T.yCenter=p),o&&(T.xRanges=E.xRanges,T.yRanges=E.yRanges,T.pts=E.pts),a||D1t(t,r,{vals:b,cLetter:\"z\"}),a&&r.contours&&r.contours.coloring===\"heatmap\"){var F={type:r.type===\"contour\"?\"heatmap\":\"histogram2d\",xcalendar:r.xcalendar,ycalendar:r.ycalendar};T.xfill=r8(F,C,u,c,_,n),T.yfill=r8(F,p,d,v,b.length,i)}return[T]};function b_e(e){for(var t=[],r=e.length,n=0;n{\"use strict\";n8.CSS_DECLARATIONS=[[\"image-rendering\",\"optimizeSpeed\"],[\"image-rendering\",\"-moz-crisp-edges\"],[\"image-rendering\",\"-o-crisp-edges\"],[\"image-rendering\",\"-webkit-optimize-contrast\"],[\"image-rendering\",\"optimize-contrast\"],[\"image-rendering\",\"crisp-edges\"],[\"image-rendering\",\"pixelated\"]];n8.STYLE=n8.CSS_DECLARATIONS.map(function(e){return e.join(\": \")+\"; \"}).join(\"\")});var jV=ye((asr,S_e)=>{\"use strict\";var T_e=a8(),N1t=ao(),A_e=Mr(),PT=null;function U1t(){if(PT!==null)return PT;PT=!1;var e=A_e.isSafari()||A_e.isIOS();if(window.navigator.userAgent&&!e){var t=Array.from(T_e.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if(typeof r==\"function\")PT=t.some(function(o){return r.apply(null,o)});else{var n=N1t.tester.append(\"image\").attr(\"style\",T_e.STYLE),i=window.getComputedStyle(n.node()),a=i.imageRendering;PT=t.some(function(o){var s=o[1];return a===s||a===s.toLowerCase()}),n.remove()}}return PT}S_e.exports=U1t});var o8=ye((osr,D_e)=>{\"use strict\";var M_e=xa(),V1t=id(),H1t=ba(),G1t=ao(),j1t=Qa(),G0=Mr(),E_e=Ll(),W1t=JP(),Z1t=va(),X1t=Mu().extractOpts,Y1t=Mu().makeColorScaleFuncFromTrace,K1t=Zp(),J1t=Nh(),WV=J1t.LINE_SPACING,$1t=jV(),Q1t=a8().STYLE,I_e=\"heatmap-label\";function R_e(e){return e.selectAll(\"g.\"+I_e)}function k_e(e){R_e(e).remove()}D_e.exports=function(e,t,r,n){var i=t.xaxis,a=t.yaxis;G0.makeTraceGroups(n,r,\"hm\").each(function(o){var s=M_e.select(this),l=o[0],u=l.trace,c=u.xgap||0,f=u.ygap||0,h=l.z,d=l.x,v=l.y,x=l.xCenter,b=l.yCenter,g=H1t.traceIs(u,\"contour\"),E=g?\"best\":u.zsmooth,k=h.length,A=G0.maxRowLength(h),L=!1,_=!1,C,M,p,P,T,F,q,V;for(F=0;C===void 0&&F0;)M=i.c2p(d[F]),F--;for(M0;)T=a.c2p(v[F]),F--;T=i._length||M<=0||P>=a._length||T<=0;if(W){var re=s.selectAll(\"image\").data([]);re.exit().remove(),k_e(s);return}var ae,_e;H===\"fast\"?(ae=A,_e=k):(ae=G,_e=N);var Me=document.createElement(\"canvas\");Me.width=ae,Me.height=_e;var ke=Me.getContext(\"2d\",{willReadFrequently:!0}),ge=Y1t(u,{noNumericCheck:!0,returnArray:!0}),ie,Te;H===\"fast\"?(ie=L?function(Pi){return A-1-Pi}:G0.identity,Te=_?function(Pi){return k-1-Pi}:G0.identity):(ie=function(Pi){return G0.constrain(Math.round(i.c2p(d[Pi])-C),0,G)},Te=function(Pi){return G0.constrain(Math.round(a.c2p(v[Pi])-P),0,N)});var Ee=Te(0),Ae=[Ee,Ee],ze=L?0:1,Ce=_?0:1,me=0,Re=0,ce=0,Ge=0,nt,ct,qt,rt,ot;function Rt(Pi,Gi){if(Pi!==void 0){var Ki=ge(Pi);return Ki[0]=Math.round(Ki[0]),Ki[1]=Math.round(Ki[1]),Ki[2]=Math.round(Ki[2]),me+=Gi,Re+=Ki[0]*Gi,ce+=Ki[1]*Gi,Ge+=Ki[2]*Gi,Ki}return[0,0,0,0]}function kt(Pi,Gi,Ki,ka){var jn=Pi[Ki.bin0];if(jn===void 0)return Rt(void 0,1);var la=Pi[Ki.bin1],Fa=Gi[Ki.bin0],Ra=Gi[Ki.bin1],jo=la-jn||0,oa=Fa-jn||0,Sn;return la===void 0?Ra===void 0?Sn=0:Fa===void 0?Sn=2*(Ra-jn):Sn=(2*Ra-Fa-jn)*2/3:Ra===void 0?Fa===void 0?Sn=0:Sn=(2*jn-la-Fa)*2/3:Fa===void 0?Sn=(2*Ra-la-jn)*2/3:Sn=Ra+jn-la-Fa,Rt(jn+Ki.frac*jo+ka.frac*(oa+Ki.frac*Sn))}if(H!==\"default\"){var Ct=0,Yt;try{Yt=new Uint8Array(ae*_e*4)}catch(Pi){Yt=new Array(ae*_e*4)}if(H===\"smooth\"){var xr=x||d,er=b||v,Ke=new Array(xr.length),xt=new Array(er.length),bt=new Array(G),Lt=x?L_e:C_e,St=b?L_e:C_e,Et,dt,Ht;for(F=0;Far||ar>a._length))for(q=Se;qai||ai>i._length)){var jr=W1t({x:Qr,y:Vt},u,e._fullLayout);jr.x=Qr,jr.y=Vt;var ri=l.z[F][q];ri===void 0?(jr.z=\"\",jr.zLabel=\"\"):(jr.z=ri,jr.zLabel=j1t.tickText(Ve,ri,\"hover\").text);var bi=l.text&&l.text[F]&&l.text[F][q];(bi===void 0||bi===!1)&&(bi=\"\"),jr.text=bi;var nn=G0.texttemplateString(Ne,jr,e._fullLayout._d3locale,jr,u._meta||{});if(nn){var Wi=nn.split(\"
\"),Ni=Wi.length,_n=0;for(V=0;V{\"use strict\";z_e.exports={min:\"zmin\",max:\"zmax\"}});var s8=ye((lsr,F_e)=>{\"use strict\";var e_t=xa();F_e.exports=function(t){e_t.select(t).selectAll(\".hm image\").style(\"opacity\",function(r){return r.trace.opacity})}});var u8=ye((usr,O_e)=>{\"use strict\";var q_e=Nc(),_4=Mr(),l8=_4.isArrayOrTypedArray,t_t=Qa(),r_t=Mu().extractOpts;O_e.exports=function(t,r,n,i,a){a||(a={});var o=a.isContour,s=t.cd[0],l=s.trace,u=t.xa,c=t.ya,f=s.x,h=s.y,d=s.z,v=s.xCenter,x=s.yCenter,b=s.zmask,g=l.zhoverformat,E=f,k=h,A,L,_,C;if(t.index!==!1){try{_=Math.round(t.index[1]),C=Math.round(t.index[0])}catch(re){_4.error(\"Error hovering on heatmap, pointNumber must be [row,col], found:\",t.index);return}if(_<0||_>=d[0].length||C<0||C>d.length)return}else{if(q_e.inbox(r-f[0],r-f[f.length-1],0)>0||q_e.inbox(n-h[0],n-h[h.length-1],0)>0)return;if(o){var M;for(E=[2*f[0]-f[1]],M=1;M{\"use strict\";B_e.exports={attributes:ET(),supplyDefaults:B1e(),calc:i8(),plot:o8(),colorbar:S_(),style:s8(),hoverPoints:u8(),moduleType:\"trace\",name:\"heatmap\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"showLegend\"],meta:{}}});var V_e=ye((fsr,U_e)=>{\"use strict\";U_e.exports=N_e()});var ZV=ye((hsr,H_e)=>{\"use strict\";H_e.exports=function(t,r){return{start:{valType:\"any\",editType:\"calc\"},end:{valType:\"any\",editType:\"calc\"},size:{valType:\"any\",editType:\"calc\"},editType:\"calc\"}}});var j_e=ye((dsr,G_e)=>{\"use strict\";G_e.exports={eventDataKeys:[\"binNumber\"]}});var c8=ye((vsr,X_e)=>{\"use strict\";var Ip=Lm(),W_e=Oc().axisHoverFormat,i_t=Wo().hovertemplateAttrs,n_t=Wo().texttemplateAttrs,XV=Su(),Z_e=ZV(),a_t=j_e(),YV=no().extendFlat;X_e.exports={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},xhoverformat:W_e(\"x\"),yhoverformat:W_e(\"y\"),text:YV({},Ip.text,{}),hovertext:YV({},Ip.hovertext,{}),orientation:Ip.orientation,histfunc:{valType:\"enumerated\",values:[\"count\",\"sum\",\"avg\",\"min\",\"max\"],dflt:\"count\",editType:\"calc\"},histnorm:{valType:\"enumerated\",values:[\"\",\"percent\",\"probability\",\"density\",\"probability density\"],dflt:\"\",editType:\"calc\"},cumulative:{enabled:{valType:\"boolean\",dflt:!1,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"increasing\",\"decreasing\"],dflt:\"increasing\",editType:\"calc\"},currentbin:{valType:\"enumerated\",values:[\"include\",\"exclude\",\"half\"],dflt:\"include\",editType:\"calc\"},editType:\"calc\"},nbinsx:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},xbins:Z_e(\"x\",!0),nbinsy:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},ybins:Z_e(\"y\",!0),autobinx:{valType:\"boolean\",dflt:null,editType:\"calc\"},autobiny:{valType:\"boolean\",dflt:null,editType:\"calc\"},bingroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:i_t({},{keys:a_t.eventDataKeys}),texttemplate:n_t({arrayOk:!1,editType:\"plot\"},{keys:[\"label\",\"value\"]}),textposition:YV({},Ip.textposition,{arrayOk:!1}),textfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),outsidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextfont:XV({arrayOk:!1,editType:\"plot\",colorEditType:\"style\"}),insidetextanchor:Ip.insidetextanchor,textangle:Ip.textangle,cliponaxis:Ip.cliponaxis,constraintext:Ip.constraintext,marker:Ip.marker,offsetgroup:Ip.offsetgroup,alignmentgroup:Ip.alignmentgroup,selected:Ip.selected,unselected:Ip.unselected,zorder:Ip.zorder}});var $_e=ye((psr,J_e)=>{\"use strict\";var Y_e=ba(),x4=Mr(),K_e=va(),o_t=r0().handleText,s_t=zI(),l_t=c8();J_e.exports=function(t,r,n,i){function a(E,k){return x4.coerce(t,r,l_t,E,k)}var o=a(\"x\"),s=a(\"y\"),l=a(\"cumulative.enabled\");l&&(a(\"cumulative.direction\"),a(\"cumulative.currentbin\")),a(\"text\");var u=a(\"textposition\");o_t(t,r,i,a,u,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\");var c=a(\"orientation\",s&&!o?\"h\":\"v\"),f=c===\"v\"?\"x\":\"y\",h=c===\"v\"?\"y\":\"x\",d=o&&s?Math.min(x4.minRowLength(o)&&x4.minRowLength(s)):x4.minRowLength(r[f]||[]);if(!d){r.visible=!1;return}r._length=d;var v=Y_e.getComponentMethod(\"calendars\",\"handleTraceDefaults\");v(t,r,[\"x\",\"y\"],i);var x=r[h];x&&a(\"histfunc\"),a(\"histnorm\"),a(\"autobin\"+f),s_t(t,r,a,n,i),x4.coerceSelectionMarkerOpacity(r,a);var b=(r.marker.line||{}).color,g=Y_e.getComponentMethod(\"errorbars\",\"supplyDefaults\");g(t,r,b||K_e.defaultLine,{axis:\"y\"}),g(t,r,b||K_e.defaultLine,{axis:\"x\",inherit:\"y\"}),a(\"zorder\")}});var h8=ye((gsr,txe)=>{\"use strict\";var b4=Mr(),u_t=af(),f8=ba().traceIs,c_t=Hb(),f_t=r0().validateCornerradius,Q_e=b4.nestedProperty,KV=Bb().getAxisGroup,exe=[{aStr:{x:\"xbins.start\",y:\"ybins.start\"},name:\"start\"},{aStr:{x:\"xbins.end\",y:\"ybins.end\"},name:\"end\"},{aStr:{x:\"xbins.size\",y:\"ybins.size\"},name:\"size\"},{aStr:{x:\"nbinsx\",y:\"nbinsy\"},name:\"nbins\"}],h_t=[\"x\",\"y\"];txe.exports=function(t,r){var n=r._histogramBinOpts={},i=[],a={},o=[],s,l,u,c,f,h,d;function v(H,X){return b4.coerce(s._input,s,s._module.attributes,H,X)}function x(H){return H.orientation===\"v\"?\"x\":\"y\"}function b(H,X){var G=u_t.getFromTrace({_fullLayout:r},H,X);return G.type}function g(H,X,G){var N=H.uid+\"__\"+G;X||(X=N);var W=b(H,G),re=H[G+\"calendar\"]||\"\",ae=n[X],_e=!0;ae&&(W===ae.axType&&re===ae.calendar?(_e=!1,ae.traces.push(H),ae.dirs.push(G)):(X=N,W!==ae.axType&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set on a\",\"type:\"+W,\"axis\",\"with bins on\",\"type:\"+ae.axType,\"axis.\"].join(\" \")),re!==ae.calendar&&b4.warn([\"Attempted to group the bins of trace\",H.index,\"set with a\",re,\"calendar\",\"with bins\",ae.calendar?\"on a \"+ae.calendar+\" calendar\":\"w/o a set calendar\"].join(\" \")))),_e&&(n[X]={traces:[H],dirs:[G],axType:W,calendar:H[G+\"calendar\"]||\"\"}),H[\"_\"+G+\"bingroup\"]=X}for(f=0;f{\"use strict\";var d_t=TT().hoverPoints,v_t=Qa().hoverLabelText;rxe.exports=function(t,r,n,i,a){var o=d_t(t,r,n,i,a);if(o){t=o[0];var s=t.cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var u=l.orientation===\"h\"?\"y\":\"x\";t[u+\"Label\"]=v_t(t[u+\"a\"],[s.ph0,s.ph1],l[u+\"hoverformat\"])}return o}}});var JV=ye((ysr,nxe)=>{\"use strict\";nxe.exports=function(t,r,n,i,a){if(t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"zLabelVal\"in r&&(t.z=r.zLabelVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),!(n.cumulative||{}).enabled){var o=Array.isArray(a)?i[0].pts[a[0]][a[1]]:i[a].pts;t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex;var s;if(n._indexToPoints){s=[];for(var l=0;l{\"use strict\";axe.exports={attributes:c8(),layoutAttributes:DI(),supplyDefaults:$_e(),crossTraceDefaults:h8(),supplyLayoutDefaults:yV(),calc:UV().calc,crossTraceCalc:Gb().crossTraceCalc,plot:i2().plot,layerName:\"barlayer\",style:N0().style,styleOnSelect:N0().styleOnSelect,colorbar:Kd(),hoverPoints:ixe(),selectPoints:AT(),eventData:JV(),moduleType:\"trace\",name:\"histogram\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"bar\",\"histogram\",\"oriented\",\"errorBarsOK\",\"showLegend\"],meta:{}}});var lxe=ye((xsr,sxe)=>{\"use strict\";sxe.exports=oxe()});var v8=ye((bsr,cxe)=>{\"use strict\";var Vg=c8(),uxe=ZV(),d8=ET(),p_t=vl(),$V=Oc().axisHoverFormat,g_t=Wo().hovertemplateAttrs,m_t=Wo().texttemplateAttrs,y_t=Kl(),w4=no().extendFlat;cxe.exports=w4({x:Vg.x,y:Vg.y,z:{valType:\"data_array\",editType:\"calc\"},marker:{color:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},histnorm:Vg.histnorm,histfunc:Vg.histfunc,nbinsx:Vg.nbinsx,xbins:uxe(\"x\"),nbinsy:Vg.nbinsy,ybins:uxe(\"y\"),autobinx:Vg.autobinx,autobiny:Vg.autobiny,bingroup:w4({},Vg.bingroup,{}),xbingroup:w4({},Vg.bingroup,{}),ybingroup:w4({},Vg.bingroup,{}),xgap:d8.xgap,ygap:d8.ygap,zsmooth:d8.zsmooth,xhoverformat:$V(\"x\"),yhoverformat:$V(\"y\"),zhoverformat:$V(\"z\",1),hovertemplate:g_t({},{keys:\"z\"}),texttemplate:m_t({arrayOk:!1,editType:\"plot\"},{keys:\"z\"}),textfont:d8.textfont,showlegend:w4({},p_t.showlegend,{dflt:!1})},y_t(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var QV=ye((wsr,hxe)=>{\"use strict\";var __t=ba(),fxe=Mr();hxe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"y\"),s=fxe.minRowLength(a),l=fxe.minRowLength(o);if(!s||!l){r.visible=!1;return}r._length=Math.min(s,l);var u=__t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");u(t,r,[\"x\",\"y\"],i);var c=n(\"z\")||n(\"marker.color\");c&&n(\"histfunc\"),n(\"histnorm\"),n(\"autobinx\"),n(\"autobiny\")}});var vxe=ye((Tsr,dxe)=>{\"use strict\";var x_t=Mr(),b_t=QV(),w_t=DV(),T_t=Uh(),A_t=y4(),S_t=v8();dxe.exports=function(t,r,n,i){function a(o,s){return x_t.coerce(t,r,S_t,o,s)}b_t(t,r,a,i),r.visible!==!1&&(w_t(t,r,a,i),T_t(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),a(\"hovertemplate\"),A_t(a,i),a(\"xhoverformat\"),a(\"yhoverformat\"))}});var mxe=ye((Asr,gxe)=>{\"use strict\";var M_t=u8(),pxe=Qa().hoverLabelText;gxe.exports=function(t,r,n,i,a){var o=M_t(t,r,n,i,a);if(o){t=o[0];var s=t.index,l=s[0],u=s[1],c=t.cd[0],f=c.trace,h=c.xRanges[u],d=c.yRanges[l];return t.xLabel=pxe(t.xa,[h[0],h[1]],f.xhoverformat),t.yLabel=pxe(t.ya,[d[0],d[1]],f.yhoverformat),o}}});var _xe=ye((Ssr,yxe)=>{\"use strict\";yxe.exports={attributes:v8(),supplyDefaults:vxe(),crossTraceDefaults:h8(),calc:i8(),plot:o8(),layerName:\"heatmaplayer\",colorbar:S_(),style:s8(),hoverPoints:mxe(),eventData:JV(),moduleType:\"trace\",name:\"histogram2d\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"histogram\",\"showLegend\"],meta:{}}});var bxe=ye((Msr,xxe)=>{\"use strict\";xxe.exports=_xe()});var p8=ye((Esr,wxe)=>{\"use strict\";wxe.exports={COMPARISON_OPS:[\"=\",\"!=\",\"<\",\">=\",\">\",\"<=\"],COMPARISON_OPS2:[\"=\",\"<\",\">=\",\">\",\"<=\"],INTERVAL_OPS:[\"[]\",\"()\",\"[)\",\"(]\",\"][\",\")(\",\"](\",\")[\"],SET_OPS:[\"{}\",\"}{\"],CONSTRAINT_REDUCTION:{\"=\":\"=\",\"<\":\"<\",\"<=\":\"<\",\">\":\">\",\">=\":\">\",\"[]\":\"[]\",\"()\":\"[]\",\"[)\":\"[]\",\"(]\":\"[]\",\"][\":\"][\",\")(\":\"][\",\"](\":\"][\",\")[\":\"][\"}}});var T4=ye((ksr,Mxe)=>{\"use strict\";var Gh=ET(),g8=Uc(),Axe=Oc(),eH=Axe.axisHoverFormat,E_t=Axe.descriptionOnlyNumbers,k_t=Kl(),C_t=Ed().dash,L_t=Su(),IT=no().extendFlat,Sxe=p8(),P_t=Sxe.COMPARISON_OPS2,I_t=Sxe.INTERVAL_OPS,Txe=g8.line;Mxe.exports=IT({z:Gh.z,x:Gh.x,x0:Gh.x0,dx:Gh.dx,y:Gh.y,y0:Gh.y0,dy:Gh.dy,xperiod:Gh.xperiod,yperiod:Gh.yperiod,xperiod0:g8.xperiod0,yperiod0:g8.yperiod0,xperiodalignment:Gh.xperiodalignment,yperiodalignment:Gh.yperiodalignment,text:Gh.text,hovertext:Gh.hovertext,transpose:Gh.transpose,xtype:Gh.xtype,ytype:Gh.ytype,xhoverformat:eH(\"x\"),yhoverformat:eH(\"y\"),zhoverformat:eH(\"z\",1),hovertemplate:Gh.hovertemplate,texttemplate:IT({},Gh.texttemplate,{}),textfont:IT({},Gh.textfont,{}),hoverongaps:Gh.hoverongaps,connectgaps:IT({},Gh.connectgaps,{}),fillcolor:{valType:\"color\",editType:\"calc\"},autocontour:{valType:\"boolean\",dflt:!0,editType:\"calc\",impliedEdits:{\"contours.start\":void 0,\"contours.end\":void 0,\"contours.size\":void 0}},ncontours:{valType:\"integer\",dflt:15,min:1,editType:\"calc\"},contours:{type:{valType:\"enumerated\",values:[\"levels\",\"constraint\"],dflt:\"levels\",editType:\"calc\"},start:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},end:{valType:\"number\",dflt:null,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\",impliedEdits:{\"^autocontour\":!1}},coloring:{valType:\"enumerated\",values:[\"fill\",\"heatmap\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:{valType:\"boolean\",dflt:!0,editType:\"plot\"},showlabels:{valType:\"boolean\",dflt:!1,editType:\"plot\"},labelfont:L_t({editType:\"plot\",colorEditType:\"style\"}),labelformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:E_t(\"contour label\")},operation:{valType:\"enumerated\",values:[].concat(P_t).concat(I_t),dflt:\"=\",editType:\"calc\"},value:{valType:\"any\",dflt:0,editType:\"calc\"},editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:IT({},Txe.color,{editType:\"style+colorbars\"}),width:{valType:\"number\",min:0,editType:\"style+colorbars\"},dash:C_t,smoothing:IT({},Txe.smoothing,{}),editType:\"plot\"},zorder:g8.zorder},k_t(\"\",{cLetter:\"z\",autoColorDflt:!1,editTypeOverride:\"calc\"}))});var rH=ye((Csr,kxe)=>{\"use strict\";var Hv=v8(),qy=T4(),R_t=Kl(),tH=Oc().axisHoverFormat,Exe=no().extendFlat;kxe.exports=Exe({x:Hv.x,y:Hv.y,z:Hv.z,marker:Hv.marker,histnorm:Hv.histnorm,histfunc:Hv.histfunc,nbinsx:Hv.nbinsx,xbins:Hv.xbins,nbinsy:Hv.nbinsy,ybins:Hv.ybins,autobinx:Hv.autobinx,autobiny:Hv.autobiny,bingroup:Hv.bingroup,xbingroup:Hv.xbingroup,ybingroup:Hv.ybingroup,autocontour:qy.autocontour,ncontours:qy.ncontours,contours:qy.contours,line:{color:qy.line.color,width:Exe({},qy.line.width,{dflt:.5}),dash:qy.line.dash,smoothing:qy.line.smoothing,editType:\"plot\"},xhoverformat:tH(\"x\"),yhoverformat:tH(\"y\"),zhoverformat:tH(\"z\",1),hovertemplate:Hv.hovertemplate,texttemplate:qy.texttemplate,textfont:qy.textfont},R_t(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var m8=ye((Lsr,Cxe)=>{\"use strict\";Cxe.exports=function(t,r,n,i){var a=i(\"contours.start\"),o=i(\"contours.end\"),s=a===!1||o===!1,l=n(\"contours.size\"),u;s?u=r.autocontour=!0:u=n(\"autocontour\",!1),(u||!l)&&n(\"ncontours\")}});var iH=ye((Psr,Lxe)=>{\"use strict\";var D_t=Mr();Lxe.exports=function(t,r,n,i){i||(i={});var a=t(\"contours.showlabels\");if(a){var o=r.font;D_t.coerceFont(t,\"contours.labelfont\",o,{overrideDflt:{color:n}}),t(\"contours.labelformat\")}i.hasHover!==!1&&t(\"zhoverformat\")}});var y8=ye((Isr,Pxe)=>{\"use strict\";var z_t=Uh(),F_t=iH();Pxe.exports=function(t,r,n,i,a){var o=n(\"contours.coloring\"),s,l=\"\";o===\"fill\"&&(s=n(\"contours.showlines\")),s!==!1&&(o!==\"lines\"&&(l=n(\"line.color\",\"#000\")),n(\"line.width\",.5),n(\"line.dash\")),o!==\"none\"&&(t.showlegend!==!0&&(r.showlegend=!1),r._dfltShowLegend=!1,z_t(t,r,i,n,{prefix:\"\",cLetter:\"z\"})),n(\"line.smoothing\"),F_t(n,i,l,a)}});var zxe=ye((Rsr,Dxe)=>{\"use strict\";var Ixe=Mr(),q_t=QV(),O_t=m8(),B_t=y8(),N_t=y4(),Rxe=rH();Dxe.exports=function(t,r,n,i){function a(s,l){return Ixe.coerce(t,r,Rxe,s,l)}function o(s){return Ixe.coerce2(t,r,Rxe,s)}q_t(t,r,a,i),r.visible!==!1&&(O_t(t,r,a,o),B_t(t,r,a,i),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"hovertemplate\"),r.contours&&r.contours.coloring===\"heatmap\"&&N_t(a,i))}});var oH=ye((Dsr,qxe)=>{\"use strict\";var aH=Qa(),nH=Mr();qxe.exports=function(t,r){var n=t.contours;if(t.autocontour){var i=t.zmin,a=t.zmax;(t.zauto||i===void 0)&&(i=nH.aggNums(Math.min,null,r)),(t.zauto||a===void 0)&&(a=nH.aggNums(Math.max,null,r));var o=Fxe(i,a,t.ncontours);n.size=o.dtick,n.start=aH.tickFirst(o),o.range.reverse(),n.end=aH.tickFirst(o),n.start===i&&(n.start+=n.size),n.end===a&&(n.end-=n.size),n.start>n.end&&(n.start=n.end=(n.start+n.end)/2),t._input.contours||(t._input.contours={}),nH.extendFlat(t._input.contours,{start:n.start,end:n.end,size:n.size}),t._input.autocontour=!0}else if(n.type!==\"constraint\"){var s=n.start,l=n.end,u=t._input.contours;if(s>l&&(n.start=u.start=l,l=n.end=u.end=s,s=n.start),!(n.size>0)){var c;s===l?c=1:c=Fxe(s,l,t.ncontours).dtick,u.size=n.size=c}}};function Fxe(e,t,r){var n={type:\"linear\",range:[e,t]};return aH.autoTicks(n,(t-e)/(r||15)),n}});var A4=ye((zsr,Oxe)=>{\"use strict\";Oxe.exports=function(t){return t.end+t.size/1e6}});var sH=ye((Fsr,Nxe)=>{\"use strict\";var Bxe=Mu(),U_t=i8(),V_t=oH(),H_t=A4();Nxe.exports=function(t,r){var n=U_t(t,r),i=n[0].z;V_t(r,i);var a=r.contours,o=Bxe.extractOpts(r),s;if(a.coloring===\"heatmap\"&&o.auto&&r.autocontour===!1){var l=a.start,u=H_t(a),c=a.size||1,f=Math.floor((u-l)/c)+1;isFinite(c)||(c=1,f=1);var h=l-c/2,d=h+f*c;s=[h,d]}else s=i;return Bxe.calc(t,r,{vals:s,cLetter:\"z\"}),n}});var S4=ye((qsr,Uxe)=>{\"use strict\";Uxe.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}});var lH=ye((Osr,Vxe)=>{\"use strict\";var _8=S4();Vxe.exports=function(t){var r=t[0].z,n=r.length,i=r[0].length,a=n===2||i===2,o,s,l,u,c,f,h,d,v;for(s=0;se?0:1)+(t[0][1]>e?0:2)+(t[1][1]>e?0:4)+(t[1][0]>e?0:8);if(r===5||r===10){var n=(t[0][0]+t[0][1]+t[1][0]+t[1][1])/4;return e>n?r===5?713:1114:r===5?104:208}return r===15?0:r}});var uH=ye((Bsr,jxe)=>{\"use strict\";var x8=Mr(),RT=S4();jxe.exports=function(t,r,n){var i,a,o,s,l;for(r=r||.01,n=n||.01,o=0;o20?(o=RT.CHOOSESADDLE[o][(s[0]||s[1])<0?0:1],e.crossings[a]=RT.SADDLEREMAINDER[o]):delete e.crossings[a],s=RT.NEWDELTA[o],!s){x8.log(\"Found bad marching index:\",o,t,e.level);break}l.push(Gxe(e,t,s)),t[0]+=s[0],t[1]+=s[1],a=t.join(\",\"),M4(l[l.length-1],l[l.length-2],n,i)&&l.pop();var v=s[0]&&(t[0]<0||t[0]>c-2)||s[1]&&(t[1]<0||t[1]>u-2),x=t[0]===f[0]&&t[1]===f[1]&&s[0]===h[0]&&s[1]===h[1];if(x||r&&v)break;o=e.crossings[a]}d===1e4&&x8.log(\"Infinite loop in contour?\");var b=M4(l[0],l[l.length-1],n,i),g=0,E=.2*e.smoothing,k=[],A=0,L,_,C,M,p,P,T,F,q,V,H;for(d=1;d=A;d--)if(L=k[d],L=A&&L+k[_]F&&q--,e.edgepaths[q]=H.concat(l,V));break}W||(e.edgepaths[F]=l.concat(V))}for(F=0;F20&&t?e===208||e===1114?n=r[0]===0?1:-1:i=r[1]===0?1:-1:RT.BOTTOMSTART.indexOf(e)!==-1?i=1:RT.LEFTSTART.indexOf(e)!==-1?n=1:RT.TOPSTART.indexOf(e)!==-1?i=-1:n=-1,[n,i]}function Gxe(e,t,r){var n=t[0]+Math.max(r[0],0),i=t[1]+Math.max(r[1],0),a=e.z[i][n],o=e.xaxis,s=e.yaxis;if(r[1]){var l=(e.level-a)/(e.z[i][n+1]-a),u=(l!==1?(1-l)*o.c2l(e.x[n]):0)+(l!==0?l*o.c2l(e.x[n+1]):0);return[o.c2p(o.l2c(u),!0),s.c2p(e.y[i],!0),n+l,i]}else{var c=(e.level-a)/(e.z[i+1][n]-a),f=(c!==1?(1-c)*s.c2l(e.y[i]):0)+(c!==0?c*s.c2l(e.y[i+1]):0);return[o.c2p(e.x[n],!0),s.c2p(s.l2c(f),!0),n,i+c]}}});var Yxe=ye((Nsr,Xxe)=>{\"use strict\";var cH=p8(),Z_t=uo();Xxe.exports={\"[]\":Wxe(\"[]\"),\"][\":Wxe(\"][\"),\">\":fH(\">\"),\"<\":fH(\"<\"),\"=\":fH(\"=\")};function Zxe(e,t){var r=Array.isArray(t),n;function i(a){return Z_t(a)?+a:null}return cH.COMPARISON_OPS2.indexOf(e)!==-1?n=i(r?t[0]:t):cH.INTERVAL_OPS.indexOf(e)!==-1?n=r?[i(t[0]),i(t[1])]:[i(t),i(t)]:cH.SET_OPS.indexOf(e)!==-1&&(n=r?t.map(i):[i(t)]),n}function Wxe(e){return function(t){t=Zxe(e,t);var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]);return{start:r,end:n,size:n-r}}}function fH(e){return function(t){return t=Zxe(e,t),{start:t,end:1/0,size:1/0}}}});var hH=ye((Usr,Jxe)=>{\"use strict\";var Kxe=Mr(),X_t=Yxe(),Y_t=A4();Jxe.exports=function(t,r,n){for(var i=t.type===\"constraint\"?X_t[t._operation](t.value):t,a=i.size,o=[],s=Y_t(i),l=n.trace._carpetTrace,u=l?{xaxis:l.aaxis,yaxis:l.baxis,x:n.a,y:n.b}:{xaxis:r.xaxis,yaxis:r.yaxis,x:n.x,y:n.y},c=i.start;c1e3){Kxe.warn(\"Too many contours, clipping at 1000\",t);break}return o}});var dH=ye((Vsr,Qxe)=>{\"use strict\";var DT=Mr();Qxe.exports=function(e,t){var r,n,i,a=function(l){return l.reverse()},o=function(l){return l};switch(t){case\"=\":case\"<\":return e;case\">\":for(e.length!==1&&DT.warn(\"Contour data invalid for the specified inequality operation.\"),n=e[0],r=0;r{\"use strict\";ebe.exports=function(e,t){var r=e[0],n=r.z,i;switch(t.type){case\"levels\":var a=Math.min(n[0][0],n[0][1]);for(i=0;io.level||o.starts.length&&a===o.level)}break;case\"constraint\":if(r.prefixBoundary=!1,r.edgepaths.length)return;var s=r.x.length,l=r.y.length,u=-1/0,c=1/0;for(i=0;i\":f>u&&(r.prefixBoundary=!0);break;case\"<\":(fu||r.starts.length&&d===c)&&(r.prefixBoundary=!0);break;case\"][\":h=Math.min(f[0],f[1]),d=Math.max(f[0],f[1]),hu&&(r.prefixBoundary=!0);break}break}}});var b8=ye(Gv=>{\"use strict\";var k4=xa(),Id=Mr(),Oy=ao(),K_t=Mu(),ibe=Ll(),tbe=Qa(),rbe=ym(),J_t=o8(),nbe=lH(),abe=uH(),$_t=hH(),Q_t=dH(),obe=vH(),E4=S4(),Rm=E4.LABELOPTIMIZER;Gv.plot=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;Id.makeTraceGroups(i,n,\"contour\").each(function(s){var l=k4.select(this),u=s[0],c=u.trace,f=u.x,h=u.y,d=c.contours,v=$_t(d,r,u),x=Id.ensureSingle(l,\"g\",\"heatmapcoloring\"),b=[];d.coloring===\"heatmap\"&&(b=[s]),J_t(t,r,b,x),nbe(v),abe(v);var g=a.c2p(f[0],!0),E=a.c2p(f[f.length-1],!0),k=o.c2p(h[0],!0),A=o.c2p(h[h.length-1],!0),L=[[g,A],[E,A],[E,k],[g,k]],_=v;d.type===\"constraint\"&&(_=Q_t(v,d._operation)),ext(l,L,d),txt(l,_,L,d),rxt(l,v,t,u,d),nxt(l,r,t,u,L)})};function ext(e,t,r){var n=Id.ensureSingle(e,\"g\",\"contourbg\"),i=n.selectAll(\"path\").data(r.coloring===\"fill\"?[0]:[]);i.enter().append(\"path\"),i.exit().remove(),i.attr(\"d\",\"M\"+t.join(\"L\")+\"Z\").style(\"stroke\",\"none\")}function txt(e,t,r,n){var i=n.coloring===\"fill\"||n.type===\"constraint\"&&n._operation!==\"=\",a=\"M\"+r.join(\"L\")+\"Z\";i&&obe(t,n);var o=Id.ensureSingle(e,\"g\",\"contourfill\"),s=o.selectAll(\"path\").data(i?t:[]);s.enter().append(\"path\"),s.exit().remove(),s.each(function(l){var u=(l.prefixBoundary?a:\"\")+sbe(l,r);u?k4.select(this).attr(\"d\",u).style(\"stroke\",\"none\"):k4.select(this).remove()})}function sbe(e,t){var r=\"\",n=0,i=e.edgepaths.map(function(g,E){return E}),a=!0,o,s,l,u,c,f;function h(g){return Math.abs(g[1]-t[0][1])<.01}function d(g){return Math.abs(g[1]-t[2][1])<.01}function v(g){return Math.abs(g[0]-t[0][0])<.01}function x(g){return Math.abs(g[0]-t[2][0])<.01}for(;i.length;){for(f=Oy.smoothopen(e.edgepaths[n],e.smoothing),r+=a?f:f.replace(/^M/,\"L\"),i.splice(i.indexOf(n),1),o=e.edgepaths[n][e.edgepaths[n].length-1],u=-1,l=0;l<4;l++){if(!o){Id.log(\"Missing end?\",n,e);break}for(h(o)&&!x(o)?s=t[1]:v(o)?s=t[0]:d(o)?s=t[3]:x(o)&&(s=t[2]),c=0;c=0&&(s=b,u=c):Math.abs(o[1]-s[1])<.01?Math.abs(o[1]-b[1])<.01&&(b[0]-o[0])*(s[0]-b[0])>=0&&(s=b,u=c):Id.log(\"endpt to newendpt is not vert. or horz.\",o,s,b)}if(o=s,u>=0)break;r+=\"L\"+s}if(u===e.edgepaths.length){Id.log(\"unclosed perimeter path\");break}n=u,a=i.indexOf(n)===-1,a&&(n=i[0],r+=\"Z\")}for(n=0;nRm.MAXCOST*2)break;h&&(s/=2),o=u-s/2,l=o+s*1.5}if(f<=Rm.MAXCOST)return c};function ixt(e,t,r,n){var i=t.width/2,a=t.height/2,o=e.x,s=e.y,l=e.theta,u=Math.cos(l)*i,c=Math.sin(l)*i,f=(o>n.center?n.right-o:o-n.left)/(u+Math.abs(Math.sin(l)*a)),h=(s>n.middle?n.bottom-s:s-n.top)/(Math.abs(c)+Math.cos(l)*a);if(f<1||h<1)return 1/0;var d=Rm.EDGECOST*(1/(f-1)+1/(h-1));d+=Rm.ANGLECOST*l*l;for(var v=o-u,x=s-c,b=o+u,g=s+c,E=0;E{\"use strict\";var oxt=xa(),pH=Mu(),sxt=A4();lbe.exports=function(t){var r=t.contours,n=r.start,i=sxt(r),a=r.size||1,o=Math.floor((i-n)/a)+1,s=r.coloring===\"lines\"?0:1,l=pH.extractOpts(t);isFinite(a)||(a=1,o=1);var u=l.reversescale?pH.flipScale(l.colorscale):l.colorscale,c=u.length,f=new Array(c),h=new Array(c),d,v,x=l.min,b=l.max;if(r.coloring===\"heatmap\"){for(v=0;v=b)&&(n<=x&&(n=x),i>=b&&(i=b),o=Math.floor((i-n)/a)+1,s=0),v=0;vx&&(f.unshift(x),h.unshift(h[0])),f[f.length-1]{\"use strict\";var w8=xa(),ube=ao(),lxt=s8(),uxt=gH();cbe.exports=function(t){var r=w8.select(t).selectAll(\"g.contour\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=w8.select(this),a=n[0].trace,o=a.contours,s=a.line,l=o.size||1,u=o.start,c=o.type===\"constraint\",f=!c&&o.coloring===\"lines\",h=!c&&o.coloring===\"fill\",d=f||h?uxt(a):null;i.selectAll(\"g.contourlevel\").each(function(b){w8.select(this).selectAll(\"path\").call(ube.lineGroupStyle,s.width,f?d(b.level):s.color,s.dash)});var v=o.labelfont;if(i.selectAll(\"g.contourlabels text\").each(function(b){ube.font(w8.select(this),{weight:v.weight,style:v.style,variant:v.variant,textcase:v.textcase,lineposition:v.lineposition,shadow:v.shadow,family:v.family,size:v.size,color:v.color||(f?d(b.level):s.color)})}),c)i.selectAll(\"g.contourfill path\").style(\"fill\",a.fillcolor);else if(h){var x;i.selectAll(\"g.contourfill path\").style(\"fill\",function(b){return x===void 0&&(x=b.level),d(b.level+.5*l)}),x===void 0&&(x=u),i.selectAll(\"g.contourbg path\").style(\"fill\",d(x-.5*l))}}),lxt(t)}});var A8=ye((Zsr,hbe)=>{\"use strict\";var fbe=Mu(),cxt=gH(),fxt=A4();function hxt(e,t,r){var n=t.contours,i=t.line,a=n.size||1,o=n.coloring,s=cxt(t,{isColorbar:!0});if(o===\"heatmap\"){var l=fbe.extractOpts(t);r._fillgradient=l.reversescale?fbe.flipScale(l.colorscale):l.colorscale,r._zrange=[l.min,l.max]}else o===\"fill\"&&(r._fillcolor=s);r._line={color:o===\"lines\"?s:i.color,width:n.showlines!==!1?i.width:0,dash:i.dash},r._levels={start:n.start,end:fxt(n),size:a}}hbe.exports={min:\"zmin\",max:\"zmax\",calc:hxt}});var mH=ye((Xsr,dbe)=>{\"use strict\";var S8=va(),dxt=u8();dbe.exports=function(t,r,n,i,a){a||(a={}),a.isContour=!0;var o=dxt(t,r,n,i,a);return o&&o.forEach(function(s){var l=s.trace;l.contours.type===\"constraint\"&&(l.fillcolor&&S8.opacity(l.fillcolor)?s.color=S8.addOpacity(l.fillcolor,1):l.contours.showlines&&S8.opacity(l.line.color)&&(s.color=S8.addOpacity(l.line.color,1)))}),o}});var pbe=ye((Ysr,vbe)=>{\"use strict\";vbe.exports={attributes:rH(),supplyDefaults:zxe(),crossTraceDefaults:h8(),calc:sH(),plot:b8().plot,layerName:\"contourlayer\",style:T8(),colorbar:A8(),hoverPoints:mH(),moduleType:\"trace\",name:\"histogram2dcontour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"histogram\",\"showLegend\"],meta:{}}});var mbe=ye((Ksr,gbe)=>{\"use strict\";gbe.exports=pbe()});var yH=ye((Jsr,Tbe)=>{\"use strict\";var ybe=uo(),vxt=iH(),bbe=va(),_be=bbe.addOpacity,pxt=bbe.opacity,wbe=p8(),xbe=Mr().isArrayOrTypedArray,gxt=wbe.CONSTRAINT_REDUCTION,mxt=wbe.COMPARISON_OPS2;Tbe.exports=function(t,r,n,i,a,o){var s=r.contours,l,u,c,f=n(\"contours.operation\");if(s._operation=gxt[f],yxt(n,s),f===\"=\"?l=s.showlines=!0:(l=n(\"contours.showlines\"),c=n(\"fillcolor\",_be((t.line||{}).color||a,.5))),l){var h=c&&pxt(c)?_be(r.fillcolor,1):a;u=n(\"line.color\",h),n(\"line.width\",2),n(\"line.dash\")}n(\"line.smoothing\"),vxt(n,i,u,o)};function yxt(e,t){var r;mxt.indexOf(t.operation)===-1?(e(\"contours.value\",[0,1]),xbe(t.value)?t.value.length>2?t.value=t.value.slice(2):t.length===0?t.value=[0,1]:t.length<2?(r=parseFloat(t.value[0]),t.value=[r,r+1]):t.value=[parseFloat(t.value[0]),parseFloat(t.value[1])]:ybe(t.value)&&(r=parseFloat(t.value),t.value=[r,r+1])):(e(\"contours.value\",0),ybe(t.value)||(xbe(t.value)?t.value=parseFloat(t.value[0]):t.value=0))}});var Mbe=ye(($sr,Sbe)=>{\"use strict\";var _H=Mr(),_xt=ZI(),xxt=Pg(),bxt=yH(),wxt=m8(),Txt=y8(),Axt=y4(),Abe=T4();Sbe.exports=function(t,r,n,i){function a(u,c){return _H.coerce(t,r,Abe,u,c)}function o(u){return _H.coerce2(t,r,Abe,u)}var s=_xt(t,r,a,i);if(!s){r.visible=!1;return}xxt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"text\"),a(\"hovertext\"),a(\"hoverongaps\"),a(\"hovertemplate\");var l=a(\"contours.type\")===\"constraint\";a(\"connectgaps\",_H.isArray1D(r.z)),l?bxt(t,r,a,i,n):(wxt(t,r,a,o),Txt(t,r,a,i)),r.contours&&r.contours.coloring===\"heatmap\"&&Axt(a,i),a(\"zorder\")}});var kbe=ye((Qsr,Ebe)=>{\"use strict\";Ebe.exports={attributes:T4(),supplyDefaults:Mbe(),calc:sH(),plot:b8().plot,style:T8(),colorbar:A8(),hoverPoints:mH(),moduleType:\"trace\",name:\"contour\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"contour\",\"showLegend\"],meta:{}}});var Lbe=ye((elr,Cbe)=>{\"use strict\";Cbe.exports=kbe()});var xH=ye((tlr,Ibe)=>{\"use strict\";var Sxt=Wo().hovertemplateAttrs,Mxt=Wo().texttemplateAttrs,Ext=Eg(),a0=Uc(),kxt=vl(),Pbe=Kl(),Cxt=Ed().dash,M_=no().extendFlat,j0=a0.marker,C4=a0.line,Lxt=j0.line;Ibe.exports={a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},c:{valType:\"data_array\",editType:\"calc\"},sum:{valType:\"number\",dflt:0,min:0,editType:\"calc\"},mode:M_({},a0.mode,{dflt:\"markers\"}),text:M_({},a0.text,{}),texttemplate:Mxt({editType:\"plot\"},{keys:[\"a\",\"b\",\"c\",\"text\"]}),hovertext:M_({},a0.hovertext,{}),line:{color:C4.color,width:C4.width,dash:Cxt,backoff:C4.backoff,shape:M_({},C4.shape,{values:[\"linear\",\"spline\"]}),smoothing:C4.smoothing,editType:\"calc\"},connectgaps:a0.connectgaps,cliponaxis:a0.cliponaxis,fill:M_({},a0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:Ext(),marker:M_({symbol:j0.symbol,opacity:j0.opacity,angle:j0.angle,angleref:j0.angleref,standoff:j0.standoff,maxdisplayed:j0.maxdisplayed,size:j0.size,sizeref:j0.sizeref,sizemin:j0.sizemin,sizemode:j0.sizemode,line:M_({width:Lxt.width,editType:\"calc\"},Pbe(\"marker.line\")),gradient:j0.gradient,editType:\"calc\"},Pbe(\"marker\")),textfont:a0.textfont,textposition:a0.textposition,selected:a0.selected,unselected:a0.unselected,hoverinfo:M_({},kxt.hoverinfo,{flags:[\"a\",\"b\",\"c\",\"text\",\"name\"]}),hoveron:a0.hoveron,hovertemplate:Sxt()}});var Fbe=ye((rlr,zbe)=>{\"use strict\";var Rbe=Mr(),Pxt=Sm(),zT=lu(),Ixt=$p(),Rxt=R0(),Dbe=J3(),Dxt=D0(),zxt=Ig(),Fxt=xH();zbe.exports=function(t,r,n,i){function a(h,d){return Rbe.coerce(t,r,Fxt,h,d)}var o=a(\"a\"),s=a(\"b\"),l=a(\"c\"),u;if(o?(u=o.length,s?(u=Math.min(u,s.length),l&&(u=Math.min(u,l.length))):l?u=Math.min(u,l.length):u=0):s&&l&&(u=Math.min(s.length,l.length)),!u){r.visible=!1;return}r._length=u,a(\"sum\"),a(\"text\"),a(\"hovertext\"),r.hoveron!==\"fills\"&&a(\"hovertemplate\");var c=u{\"use strict\";var bH=Qa();qbe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.aLabel=bH.tickText(a.aaxis,t.a,!0).text,i.bLabel=bH.tickText(a.baxis,t.b,!0).text,i.cLabel=bH.tickText(a.caxis,t.c,!0).text,i}});var Vbe=ye((nlr,Ube)=>{\"use strict\";var wH=uo(),qxt=z0(),Oxt=km(),Bxt=F0(),Nxt=q0().calcMarkerSize,Bbe=[\"a\",\"b\",\"c\"],Nbe={a:[\"b\",\"c\"],b:[\"a\",\"c\"],c:[\"a\",\"b\"]};Ube.exports=function(t,r){var n=t._fullLayout[r.subplot],i=n.sum,a=r.sum||i,o={a:r.a,b:r.b,c:r.c},s=r.ids,l,u,c,f,h,d;for(l=0;l{\"use strict\";var Uxt=iT();Hbe.exports=function(t,r,n){var i=r.plotContainer;i.select(\".scatterlayer\").selectAll(\"*\").remove();for(var a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:r._hasClipOnAxisFalse?r.clipIdRelative:null},l=r.layers.frontplot.select(\"g.scatterlayer\"),u=0;u{\"use strict\";var Vxt=sT();jbe.exports=function(t,r,n,i){var a=Vxt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index],h=o.trace,d=o.subplot;o.a=f.a,o.b=f.b,o.c=f.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var v={};v[h.subplot]={_subplot:d};var x=h._module.formatLabels(f,h,v);o.aLabel=x.aLabel,o.bLabel=x.bLabel,o.cLabel=x.cLabel;var b=f.hi||h.hoverinfo,g=[];function E(A,L){g.push(A._hovertitle+\": \"+L)}if(!h.hovertemplate){var k=b.split(\"+\");k.indexOf(\"all\")!==-1&&(k=[\"a\",\"b\",\"c\"]),k.indexOf(\"a\")!==-1&&E(d.aaxis,o.aLabel),k.indexOf(\"b\")!==-1&&E(d.baxis,o.bLabel),k.indexOf(\"c\")!==-1&&E(d.caxis,o.cLabel)}return o.extraText=g.join(\"
\"),o.hovertemplate=h.hovertemplate,a}});var Xbe=ye((slr,Zbe)=>{\"use strict\";Zbe.exports=function(t,r,n,i,a){if(r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),i[a]){var o=i[a];t.a=o.a,t.b=o.b,t.c=o.c}else t.a=r.a,t.b=r.b,t.c=r.c;return t}});var a2e=ye((llr,n2e)=>{\"use strict\";var e2e=xa(),Hxt=id(),TH=ba(),By=Mr(),Dm=By.strTranslate,M8=By._,qT=va(),E8=ao(),L4=ym(),AH=no().extendFlat,Gxt=Xu(),E_=Qa(),Ybe=gv(),Kbe=Nc(),t2e=Sg(),Jbe=t2e.freeMode,jxt=t2e.rectMode,SH=Mb(),Wxt=wf().prepSelect,Zxt=wf().selectOnClick,Xxt=wf().clearOutline,Yxt=wf().clearSelectionsCache,r2e=ad();function i2e(e,t){this.id=e.id,this.graphDiv=e.graphDiv,this.init(t),this.makeFramework(t),this.updateFx(t),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}n2e.exports=i2e;var zm=i2e.prototype;zm.init=function(e){this.container=e._ternarylayer,this.defs=e._defs,this.layoutId=e._uid,this.traceHash={},this.layers={}};zm.plot=function(e,t){var r=this,n=t[r.id],i=t._size;r._hasClipOnAxisFalse=!1;for(var a=0;aFT*u?(g=u,b=g*FT):(b=l,g=b/FT),E=o*b/l,k=s*g/u,v=t.l+t.w*i-b/2,x=t.t+t.h*(1-a)-g/2,r.x0=v,r.y0=x,r.w=b,r.h=g,r.sum=c,r.xaxis={type:\"linear\",range:[f+2*d-c,c-f-2*h],domain:[i-E/2,i+E/2],_id:\"x\"},L4(r.xaxis,r.graphDiv._fullLayout),r.xaxis.setScale(),r.xaxis.isPtWithinRange=function(V){return V.a>=r.aaxis.range[0]&&V.a<=r.aaxis.range[1]&&V.b>=r.baxis.range[1]&&V.b<=r.baxis.range[0]&&V.c>=r.caxis.range[1]&&V.c<=r.caxis.range[0]},r.yaxis={type:\"linear\",range:[f,c-h-d],domain:[a-k/2,a+k/2],_id:\"y\"},L4(r.yaxis,r.graphDiv._fullLayout),r.yaxis.setScale(),r.yaxis.isPtWithinRange=function(){return!0};var A=r.yaxis.domain[0],L=r.aaxis=AH({},e.aaxis,{range:[f,c-h-d],side:\"left\",tickangle:(+e.aaxis.tickangle||0)-30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(L,r.graphDiv._fullLayout),L.setScale();var _=r.baxis=AH({},e.baxis,{range:[c-f-d,h],side:\"bottom\",domain:r.xaxis.domain,anchor:\"free\",position:0,_id:\"x\",_length:b});L4(_,r.graphDiv._fullLayout),_.setScale();var C=r.caxis=AH({},e.caxis,{range:[c-f-h,d],side:\"right\",tickangle:(+e.caxis.tickangle||0)+30,domain:[A,A+k*FT],anchor:\"free\",position:0,_id:\"y\",_length:b});L4(C,r.graphDiv._fullLayout),C.setScale();var M=\"M\"+v+\",\"+(x+g)+\"h\"+b+\"l-\"+b/2+\",-\"+g+\"Z\";r.clipDef.select(\"path\").attr(\"d\",M),r.layers.plotbg.select(\"path\").attr(\"d\",M);var p=\"M0,\"+g+\"h\"+b+\"l-\"+b/2+\",-\"+g+\"Z\";r.clipDefRelative.select(\"path\").attr(\"d\",p);var P=Dm(v,x);r.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",P),r.clipDefRelative.select(\"path\").attr(\"transform\",null);var T=Dm(v-_._offset,x+g);r.layers.baxis.attr(\"transform\",T),r.layers.bgrid.attr(\"transform\",T);var F=Dm(v+b/2,x)+\"rotate(30)\"+Dm(0,-L._offset);r.layers.aaxis.attr(\"transform\",F),r.layers.agrid.attr(\"transform\",F);var q=Dm(v+b/2,x)+\"rotate(-30)\"+Dm(0,-C._offset);r.layers.caxis.attr(\"transform\",q),r.layers.cgrid.attr(\"transform\",q),r.drawAxes(!0),r.layers.aline.select(\"path\").attr(\"d\",L.showline?\"M\"+v+\",\"+(x+g)+\"l\"+b/2+\",-\"+g:\"M0,0\").call(qT.stroke,L.linecolor||\"#000\").style(\"stroke-width\",(L.linewidth||0)+\"px\"),r.layers.bline.select(\"path\").attr(\"d\",_.showline?\"M\"+v+\",\"+(x+g)+\"h\"+b:\"M0,0\").call(qT.stroke,_.linecolor||\"#000\").style(\"stroke-width\",(_.linewidth||0)+\"px\"),r.layers.cline.select(\"path\").attr(\"d\",C.showline?\"M\"+(v+b/2)+\",\"+x+\"l\"+b/2+\",\"+g:\"M0,0\").call(qT.stroke,C.linecolor||\"#000\").style(\"stroke-width\",(C.linewidth||0)+\"px\"),r.graphDiv._context.staticPlot||r.initInteractions(),E8.setClipUrl(r.layers.frontplot,r._hasClipOnAxisFalse?null:r.clipId,r.graphDiv)};zm.drawAxes=function(e){var t=this,r=t.graphDiv,n=t.id.substr(7)+\"title\",i=t.layers,a=t.aaxis,o=t.baxis,s=t.caxis;if(t.drawAx(a),t.drawAx(o),t.drawAx(s),e){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?s.tickfont.size*.75:0)+(s.ticks===\"outside\"?s.ticklen*.87:0)),u=(o.showticklabels?o.tickfont.size:0)+(o.ticks===\"outside\"?o.ticklen:0)+3;i[\"a-title\"]=SH.draw(r,\"a\"+n,{propContainer:a,propName:t.id+\".aaxis.title\",placeholder:M8(r,\"Click to enter Component A title\"),attributes:{x:t.x0+t.w/2,y:t.y0-a.title.font.size/3-l,\"text-anchor\":\"middle\"}}),i[\"b-title\"]=SH.draw(r,\"b\"+n,{propContainer:o,propName:t.id+\".baxis.title\",placeholder:M8(r,\"Click to enter Component B title\"),attributes:{x:t.x0-u,y:t.y0+t.h+o.title.font.size*.83+u,\"text-anchor\":\"middle\"}}),i[\"c-title\"]=SH.draw(r,\"c\"+n,{propContainer:s,propName:t.id+\".caxis.title\",placeholder:M8(r,\"Click to enter Component C title\"),attributes:{x:t.x0+t.w+u,y:t.y0+t.h+s.title.font.size*.83+u,\"text-anchor\":\"middle\"}})}};zm.drawAx=function(e){var t=this,r=t.graphDiv,n=e._name,i=n.charAt(0),a=e._id,o=t.layers[n],s=30,l=i+\"tickLayout\",u=Kxt(e);t[l]!==u&&(o.selectAll(\".\"+a+\"tick\").remove(),t[l]=u),e.setScale();var c=E_.calcTicks(e),f=E_.clipEnds(e,c),h=E_.makeTransTickFn(e),d=E_.getTickSigns(e)[2],v=By.deg2rad(s),x=d*(e.linewidth||1)/2,b=d*e.ticklen,g=t.w,E=t.h,k=i===\"b\"?\"M0,\"+x+\"l\"+Math.sin(v)*b+\",\"+Math.cos(v)*b:\"M\"+x+\",0l\"+Math.cos(v)*b+\",\"+-Math.sin(v)*b,A={a:\"M0,0l\"+E+\",-\"+g/2,b:\"M0,0l-\"+g/2+\",-\"+E,c:\"M0,0l-\"+E+\",\"+g/2}[i];E_.drawTicks(r,e,{vals:e.ticks===\"inside\"?f:c,layer:o,path:k,transFn:h,crisp:!1}),E_.drawGrid(r,e,{vals:f,layer:t.layers[i+\"grid\"],path:A,transFn:h,crisp:!1}),E_.drawLabels(r,e,{vals:c,layer:o,transFn:h,labelFns:E_.makeLabelFns(e,0,s)})};function Kxt(e){return e.ticks+String(e.ticklen)+String(e.showticklabels)}var fd=r2e.MINZOOM/2+.87,Jxt=\"m-0.87,.5h\"+fd+\"v3h-\"+(fd+5.2)+\"l\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l2.6,1.5l-\"+fd/2+\",\"+fd*.87+\"Z\",$xt=\"m0.87,.5h-\"+fd+\"v3h\"+(fd+5.2)+\"l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-2.6,1.5l\"+fd/2+\",\"+fd*.87+\"Z\",Qxt=\"m0,1l\"+fd/2+\",\"+fd*.87+\"l2.6,-1.5l-\"+(fd/2+2.6)+\",-\"+(fd*.87+4.5)+\"l-\"+(fd/2+2.6)+\",\"+(fd*.87+4.5)+\"l2.6,1.5l\"+fd/2+\",-\"+fd*.87+\"Z\",ebt=\"m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z\",$be=!0;zm.clearOutline=function(){Yxt(this.dragOptions),Xxt(this.dragOptions.gd)};zm.initInteractions=function(){var e=this,t=e.layers.plotbg.select(\"path\").node(),r=e.graphDiv,n=r._fullLayout._zoomlayer,i,a;this.dragOptions={element:t,gd:r,plotinfo:{id:e.id,domain:r._fullLayout[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis},subplot:e.id,prepFn:function(T,F,q){e.dragOptions.xaxes=[e.xaxis],e.dragOptions.yaxes=[e.yaxis],i=r._fullLayout._invScaleX,a=r._fullLayout._invScaleY;var V=e.dragOptions.dragmode=r._fullLayout.dragmode;Jbe(V)?e.dragOptions.minDrag=1:e.dragOptions.minDrag=void 0,V===\"zoom\"?(e.dragOptions.moveFn=_,e.dragOptions.clickFn=g,e.dragOptions.doneFn=C,E(T,F,q)):V===\"pan\"?(e.dragOptions.moveFn=p,e.dragOptions.clickFn=g,e.dragOptions.doneFn=P,M(),e.clearOutline(r)):(jxt(V)||Jbe(V))&&Wxt(T,F,q,e.dragOptions,V)}};var o,s,l,u,c,f,h,d,v,x;function b(T){var F={};return F[e.id+\".aaxis.min\"]=T.a,F[e.id+\".baxis.min\"]=T.b,F[e.id+\".caxis.min\"]=T.c,F}function g(T,F){var q=r._fullLayout.clickmode;Qbe(r),T===2&&(r.emit(\"plotly_doubleclick\",null),TH.call(\"_guiRelayout\",r,b({a:0,b:0,c:0}))),q.indexOf(\"select\")>-1&&T===1&&Zxt(F,r,[e.xaxis],[e.yaxis],e.id,e.dragOptions),q.indexOf(\"event\")>-1&&Kbe.click(r,F,e.id)}function E(T,F,q){var V=t.getBoundingClientRect();o=F-V.left,s=q-V.top,r._fullLayout._calcInverseTransform(r);var H=r._fullLayout._invTransform,X=By.apply3DTransform(H)(o,s);o=X[0],s=X[1],l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l,u=e.aaxis.range[1]-l.a,f=Hxt(e.graphDiv._fullLayout[e.id].bgcolor).getLuminance(),h=\"M0,\"+e.h+\"L\"+e.w/2+\", 0L\"+e.w+\",\"+e.h+\"Z\",d=!1,v=n.append(\"path\").attr(\"class\",\"zoombox\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:f>.2?\"rgba(0,0,0,0)\":\"rgba(255,255,255,0)\",\"stroke-width\":0}).attr(\"d\",h),x=n.append(\"path\").attr(\"class\",\"zoombox-corners\").attr(\"transform\",Dm(e.x0,e.y0)).style({fill:qT.background,stroke:qT.defaultLine,\"stroke-width\":1,opacity:0}).attr(\"d\",\"M0,0Z\"),e.clearOutline(r)}function k(T,F){return 1-F/e.h}function A(T,F){return 1-(T+(e.h-F)/Math.sqrt(3))/e.w}function L(T,F){return(T-(e.h-F)/Math.sqrt(3))/e.w}function _(T,F){var q=o+T*i,V=s+F*a,H=Math.max(0,Math.min(1,k(o,s),k(q,V))),X=Math.max(0,Math.min(1,A(o,s),A(q,V))),G=Math.max(0,Math.min(1,L(o,s),L(q,V))),N=(H/2+G)*e.w,W=(1-H/2-X)*e.w,re=(N+W)/2,ae=W-N,_e=(1-H)*e.h,Me=_e-ae/FT;ae.2?\"rgba(0,0,0,0.4)\":\"rgba(255,255,255,0.3)\").duration(200),x.transition().style(\"opacity\",1).duration(200),d=!0),r.emit(\"plotly_relayouting\",b(c))}function C(){Qbe(r),c!==l&&(TH.call(\"_guiRelayout\",r,b(c)),$be&&r.data&&r._context.showTips&&(By.notifier(M8(r,\"Double-click to zoom back out\"),\"long\"),$be=!1))}function M(){l={a:e.aaxis.range[0],b:e.baxis.range[1],c:e.caxis.range[1]},c=l}function p(T,F){var q=T/e.xaxis._m,V=F/e.yaxis._m;c={a:l.a-V,b:l.b+(q+V)/2,c:l.c-(q-V)/2};var H=[c.a,c.b,c.c].sort(By.sorterAsc),X={a:H.indexOf(c.a),b:H.indexOf(c.b),c:H.indexOf(c.c)};H[0]<0&&(H[1]+H[0]/2<0?(H[2]+=H[0]+H[1],H[0]=H[1]=0):(H[2]+=H[0]/2,H[1]+=H[0]/2,H[0]=0),c={a:H[X.a],b:H[X.b],c:H[X.c]},F=(l.a-c.a)*e.yaxis._m,T=(l.c-c.c-l.b+c.b)*e.xaxis._m);var G=Dm(e.x0+T,e.y0+F);e.plotContainer.selectAll(\".scatterlayer,.maplayer\").attr(\"transform\",G);var N=Dm(-T,-F);e.clipDefRelative.select(\"path\").attr(\"transform\",N),e.aaxis.range=[c.a,e.sum-c.b-c.c],e.baxis.range=[e.sum-c.a-c.c,c.b],e.caxis.range=[e.sum-c.a-c.b,c.c],e.drawAxes(!1),e._hasClipOnAxisFalse&&e.plotContainer.select(\".scatterlayer\").selectAll(\".trace\").call(E8.hideOutsideRangePoints,e),r.emit(\"plotly_relayouting\",b(c))}function P(){TH.call(\"_guiRelayout\",r,b(c))}t.onmousemove=function(T){Kbe.hover(r,T,e.id),r._fullLayout._lasthover=t,r._fullLayout._hoversubplot=e.id},t.onmouseout=function(T){r._dragging||Ybe.unhover(r,T)},Ybe.init(this.dragOptions)};function Qbe(e){e2e.select(e).selectAll(\".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners\").remove()}});var kH=ye((ulr,o2e)=>{\"use strict\";var tbt=dh(),rbt=Ju().attributes,ql=Cd(),ibt=Bu().overrideAll,MH=no().extendFlat,EH={title:{text:ql.title.text,font:ql.title.font},color:ql.color,tickmode:ql.minor.tickmode,nticks:MH({},ql.nticks,{dflt:6,min:1}),tick0:ql.tick0,dtick:ql.dtick,tickvals:ql.tickvals,ticktext:ql.ticktext,ticks:ql.ticks,ticklen:ql.ticklen,tickwidth:ql.tickwidth,tickcolor:ql.tickcolor,ticklabelstep:ql.ticklabelstep,showticklabels:ql.showticklabels,labelalias:ql.labelalias,showtickprefix:ql.showtickprefix,tickprefix:ql.tickprefix,showticksuffix:ql.showticksuffix,ticksuffix:ql.ticksuffix,showexponent:ql.showexponent,exponentformat:ql.exponentformat,minexponent:ql.minexponent,separatethousands:ql.separatethousands,tickfont:ql.tickfont,tickangle:ql.tickangle,tickformat:ql.tickformat,tickformatstops:ql.tickformatstops,hoverformat:ql.hoverformat,showline:MH({},ql.showline,{dflt:!0}),linecolor:ql.linecolor,linewidth:ql.linewidth,showgrid:MH({},ql.showgrid,{dflt:!0}),gridcolor:ql.gridcolor,gridwidth:ql.gridwidth,griddash:ql.griddash,layer:ql.layer,min:{valType:\"number\",dflt:0,min:0}},k8=o2e.exports=ibt({domain:rbt({name:\"ternary\"}),bgcolor:{valType:\"color\",dflt:tbt.background},sum:{valType:\"number\",dflt:1,min:0},aaxis:EH,baxis:EH,caxis:EH},\"plot\",\"from-root\");k8.uirevision={valType:\"any\",editType:\"none\"};k8.aaxis.uirevision=k8.baxis.uirevision=k8.caxis.uirevision={valType:\"any\",editType:\"none\"}});var k_=ye((clr,s2e)=>{\"use strict\";var nbt=Mr(),abt=Vs(),obt=Ju().defaults;s2e.exports=function(t,r,n,i){var a=i.type,o=i.attributes,s=i.handleDefaults,l=i.partition||\"x\",u=r._subplots[a],c=u.length,f=c&&u[0].replace(/\\d+$/,\"\"),h,d;function v(E,k){return nbt.coerce(h,d,o,E,k)}for(var x=0;x{\"use strict\";var sbt=va(),lbt=Vs(),C8=Mr(),ubt=k_(),cbt=e_(),fbt=t_(),hbt=T3(),dbt=xb(),vbt=YM(),u2e=kH(),l2e=[\"aaxis\",\"baxis\",\"caxis\"];c2e.exports=function(t,r,n){ubt(t,r,n,{type:\"ternary\",attributes:u2e,handleDefaults:pbt,font:r.font,paper_bgcolor:r.paper_bgcolor})};function pbt(e,t,r,n){var i=r(\"bgcolor\"),a=r(\"sum\");n.bgColor=sbt.combine(i,n.paper_bgcolor);for(var o,s,l,u=0;u=a&&(c.min=0,f.min=0,h.min=0,e.aaxis&&delete e.aaxis.min,e.baxis&&delete e.baxis.min,e.caxis&&delete e.caxis.min)}function gbt(e,t,r,n){var i=u2e[t._name];function a(d,v){return C8.coerce(e,t,i,d,v)}a(\"uirevision\",n.uirevision),t.type=\"linear\";var o=a(\"color\"),s=o!==i.color.dflt?o:r.font.color,l=t._name,u=l.charAt(0).toUpperCase(),c=\"Component \"+u,f=a(\"title.text\",c);t._hovertitle=f===c?f:u,C8.coerceFont(a,\"title.font\",r.font,{overrideDflt:{size:C8.bigFont(r.font.size),color:s}}),a(\"min\"),dbt(e,t,a,\"linear\"),fbt(e,t,a,\"linear\"),cbt(e,t,a,\"linear\",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),hbt(e,t,a,{outerTicks:!0});var h=a(\"showticklabels\");h&&(C8.coerceFont(a,\"tickfont\",r.font,{overrideDflt:{color:s}}),a(\"tickangle\"),a(\"tickformat\")),vbt(e,t,a,{dfltColor:o,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),a(\"hoverformat\"),a(\"layer\")}});var h2e=ye(W0=>{\"use strict\";var mbt=a2e(),ybt=kd().getSubplotCalcData,_bt=Mr().counterRegex,OT=\"ternary\";W0.name=OT;var xbt=W0.attr=\"subplot\";W0.idRoot=OT;W0.idRegex=W0.attrRegex=_bt(OT);var bbt=W0.attributes={};bbt[xbt]={valType:\"subplotid\",dflt:\"ternary\",editType:\"calc\"};W0.layoutAttributes=kH();W0.supplyLayoutDefaults=f2e();W0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[OT],a=0;a{\"use strict\";d2e.exports={attributes:xH(),supplyDefaults:Fbe(),colorbar:Kd(),formatLabels:Obe(),calc:Vbe(),plot:Gbe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:Wbe(),selectPoints:lT(),eventData:Xbe(),moduleType:\"trace\",name:\"scatterternary\",basePlotModule:h2e(),categories:[\"ternary\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var g2e=ye((vlr,p2e)=>{\"use strict\";p2e.exports=v2e()});var CH=ye((plr,y2e)=>{\"use strict\";var jh=v4(),BT=no().extendFlat,m2e=Oc().axisHoverFormat;y2e.exports={y:jh.y,x:jh.x,x0:jh.x0,y0:jh.y0,xhoverformat:m2e(\"x\"),yhoverformat:m2e(\"y\"),name:BT({},jh.name,{}),orientation:BT({},jh.orientation,{}),bandwidth:{valType:\"number\",min:0,editType:\"calc\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},scalemode:{valType:\"enumerated\",values:[\"width\",\"count\"],dflt:\"width\",editType:\"calc\"},spanmode:{valType:\"enumerated\",values:[\"soft\",\"hard\",\"manual\"],dflt:\"soft\",editType:\"calc\"},span:{valType:\"info_array\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}],editType:\"calc\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,dflt:2,editType:\"style\"},editType:\"plot\"},fillcolor:jh.fillcolor,points:BT({},jh.boxpoints,{}),jitter:BT({},jh.jitter,{}),pointpos:BT({},jh.pointpos,{}),width:BT({},jh.width,{}),marker:jh.marker,text:jh.text,hovertext:jh.hovertext,hovertemplate:jh.hovertemplate,quartilemethod:jh.quartilemethod,box:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},width:{valType:\"number\",min:0,max:1,dflt:.25,editType:\"plot\"},fillcolor:{valType:\"color\",editType:\"style\"},line:{color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"style\"},editType:\"plot\"},meanline:{visible:{valType:\"boolean\",dflt:!1,editType:\"plot\"},color:{valType:\"color\",editType:\"style\"},width:{valType:\"number\",min:0,editType:\"style\"},editType:\"plot\"},side:{valType:\"enumerated\",values:[\"both\",\"positive\",\"negative\"],dflt:\"both\",editType:\"calc\"},offsetgroup:jh.offsetgroup,alignmentgroup:jh.alignmentgroup,selected:jh.selected,unselected:jh.unselected,hoveron:{valType:\"flaglist\",flags:[\"violins\",\"points\",\"kde\"],dflt:\"violins+points+kde\",extras:[\"all\"],editType:\"style\"},zorder:jh.zorder}});var IH=ye((glr,_2e)=>{\"use strict\";var LH=p4(),PH=Mr().extendFlat;_2e.exports={violinmode:PH({},LH.boxmode,{}),violingap:PH({},LH.boxgap,{}),violingroupgap:PH({},LH.boxgroupgap,{})}});var A2e=ye((mlr,T2e)=>{\"use strict\";var x2e=Mr(),wbt=va(),b2e=m4(),w2e=CH();T2e.exports=function(t,r,n,i){function a(L,_){return x2e.coerce(t,r,w2e,L,_)}function o(L,_){return x2e.coerce2(t,r,w2e,L,_)}if(b2e.handleSampleDefaults(t,r,a,i),r.visible!==!1){a(\"bandwidth\"),a(\"side\");var s=a(\"width\");s||(a(\"scalegroup\",r.name),a(\"scalemode\"));var l=a(\"span\"),u;Array.isArray(l)&&(u=\"manual\"),a(\"spanmode\",u);var c=a(\"line.color\",(t.marker||{}).color||n),f=a(\"line.width\"),h=a(\"fillcolor\",wbt.addOpacity(r.line.color,.5));b2e.handlePointsDefaults(t,r,a,{prefix:\"\"});var d=o(\"box.width\"),v=o(\"box.fillcolor\",h),x=o(\"box.line.color\",c),b=o(\"box.line.width\",f),g=a(\"box.visible\",!!(d||v||x||b));g||(r.box={visible:!1});var E=o(\"meanline.color\",c),k=o(\"meanline.width\",f),A=a(\"meanline.visible\",!!(E||k));A||(r.meanline={visible:!1}),a(\"quartilemethod\"),a(\"zorder\")}}});var M2e=ye((ylr,S2e)=>{\"use strict\";var Tbt=Mr(),Abt=IH(),Sbt=UI();S2e.exports=function(t,r,n){function i(a,o){return Tbt.coerce(t,r,Abt,a,o)}Sbt._supply(t,r,n,i,\"violin\")}});var L8=ye(o2=>{\"use strict\";var Mbt=Mr(),Ebt={gaussian:function(e){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*e*e)}};o2.makeKDE=function(e,t,r){var n=r.length,i=Ebt.gaussian,a=e.bandwidth,o=1/(n*a);return function(s){for(var l=0,u=0;u{\"use strict\";var RH=Mr(),DH=Qa(),kbt=MV(),E2e=L8(),Cbt=es().BADNUM;k2e.exports=function(t,r){var n=kbt(t,r);if(n[0].t.empty)return n;for(var i=t._fullLayout,a=DH.getFromId(t,r[r.orientation===\"h\"?\"xaxis\":\"yaxis\"]),o=1/0,s=-1/0,l=0,u=0,c=0;c{\"use strict\";var Rbt=HI().setPositionOffset,L2e=[\"v\",\"h\"];P2e.exports=function(t,r){for(var n=t.calcdata,i=r.xaxis,a=r.yaxis,o=0;o{\"use strict\";var zH=xa(),FH=Mr(),Dbt=ao(),qH=GI(),zbt=fU(),Fbt=L8();R2e.exports=function(t,r,n,i){var a=t._context.staticPlot,o=t._fullLayout,s=r.xaxis,l=r.yaxis;function u(c,f){var h=zbt(c,{xaxis:s,yaxis:l,trace:f,connectGaps:!0,baseTolerance:.75,shape:\"spline\",simplify:!0,linearized:!0});return Dbt.smoothopen(h[0],1)}FH.makeTraceGroups(i,n,\"trace violins\").each(function(c){var f=zH.select(this),h=c[0],d=h.t,v=h.trace;if(v.visible!==!0||d.empty){f.remove();return}var x=d.bPos,b=d.bdPos,g=r[d.valLetter+\"axis\"],E=r[d.posLetter+\"axis\"],k=v.side===\"both\",A=k||v.side===\"positive\",L=k||v.side===\"negative\",_=f.selectAll(\"path.violin\").data(FH.identity);_.enter().append(\"path\").style(\"vector-effect\",a?\"none\":\"non-scaling-stroke\").attr(\"class\",\"violin\"),_.exit().remove(),_.each(function(V){var H=zH.select(this),X=V.density,G=X.length,N=E.c2l(V.pos+x,!0),W=E.l2p(N),re;if(v.width)re=d.maxKDE/b;else{var ae=o._violinScaleGroupStats[v.scalegroup];re=v.scalemode===\"count\"?ae.maxKDE/b*(ae.maxCount/V.pts.length):ae.maxKDE/b}var _e,Me,ke,ge,ie,Te,Ee;if(A){for(Te=new Array(G),ge=0;ge{\"use strict\";var z2e=xa(),NT=va(),qbt=op().stylePoints;F2e.exports=function(t){var r=z2e.select(t).selectAll(\"g.trace.violins\");r.style(\"opacity\",function(n){return n[0].trace.opacity}),r.each(function(n){var i=n[0].trace,a=z2e.select(this),o=i.box||{},s=o.line||{},l=i.meanline||{},u=l.width;a.selectAll(\"path.violin\").style(\"stroke-width\",i.line.width+\"px\").call(NT.stroke,i.line.color).call(NT.fill,i.fillcolor),a.selectAll(\"path.box\").style(\"stroke-width\",s.width+\"px\").call(NT.stroke,s.color).call(NT.fill,o.fillcolor);var c={\"stroke-width\":u+\"px\",\"stroke-dasharray\":2*u+\"px,\"+u+\"px\"};a.selectAll(\"path.mean\").style(c).call(NT.stroke,l.color),a.selectAll(\"path.meanline\").style(c).call(NT.stroke,l.color),qbt(a,i,t)})}});var U2e=ye((Alr,N2e)=>{\"use strict\";var Obt=va(),OH=Mr(),Bbt=Qa(),O2e=PV(),B2e=L8();N2e.exports=function(t,r,n,i,a){a||(a={});var o=a.hoverLayer,s=t.cd,l=s[0].trace,u=l.hoveron,c=u.indexOf(\"violins\")!==-1,f=u.indexOf(\"kde\")!==-1,h=[],d,v;if(c||f){var x=O2e.hoverOnBoxes(t,r,n,i);if(f&&x.length>0){var b=t.xa,g=t.ya,E,k,A,L,_;l.orientation===\"h\"?(_=r,E=\"y\",A=g,k=\"x\",L=b):(_=n,E=\"x\",A=b,k=\"y\",L=g);var C=s[t.index];if(_>=C.span[0]&&_<=C.span[1]){var M=OH.extendFlat({},t),p=L.c2p(_,!0),P=B2e.getKdeValue(C,l,_),T=B2e.getPositionOnKdePath(C,l,p),F=A._offset,q=A._length;M[E+\"0\"]=T[0],M[E+\"1\"]=T[1],M[k+\"0\"]=M[k+\"1\"]=p,M[k+\"Label\"]=k+\": \"+Bbt.hoverLabelText(L,_,l[k+\"hoverformat\"])+\", \"+s[0].t.labels.kde+\" \"+P.toFixed(3);for(var V=0,H=0;H{\"use strict\";V2e.exports={attributes:CH(),layoutAttributes:IH(),supplyDefaults:A2e(),crossTraceDefaults:m4().crossTraceDefaults,supplyLayoutDefaults:M2e(),calc:C2e(),crossTraceCalc:I2e(),plot:D2e(),style:q2e(),styleOnSelect:op().styleOnSelect,hoverPoints:U2e(),selectPoints:IV(),moduleType:\"trace\",name:\"violin\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"symbols\",\"oriented\",\"box-violin\",\"showLegend\",\"violinLayout\",\"zoomScale\"],meta:{}}});var j2e=ye((Mlr,G2e)=>{\"use strict\";G2e.exports=H2e()});var Z2e=ye((Elr,W2e)=>{\"use strict\";W2e.exports={eventDataKeys:[\"percentInitial\",\"percentPrevious\",\"percentTotal\"]}});var NH=ye((klr,K2e)=>{\"use strict\";var lc=Lm(),BH=Uc().line,Nbt=vl(),X2e=Oc().axisHoverFormat,Ubt=Wo().hovertemplateAttrs,Vbt=Wo().texttemplateAttrs,Y2e=Z2e(),Ny=no().extendFlat,Hbt=va();K2e.exports={x:lc.x,x0:lc.x0,dx:lc.dx,y:lc.y,y0:lc.y0,dy:lc.dy,xperiod:lc.xperiod,yperiod:lc.yperiod,xperiod0:lc.xperiod0,yperiod0:lc.yperiod0,xperiodalignment:lc.xperiodalignment,yperiodalignment:lc.yperiodalignment,xhoverformat:X2e(\"x\"),yhoverformat:X2e(\"y\"),hovertext:lc.hovertext,hovertemplate:Ubt({},{keys:Y2e.eventDataKeys}),hoverinfo:Ny({},Nbt.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"percent initial\",\"percent previous\",\"percent total\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"percent initial\",\"percent previous\",\"percent total\",\"value\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:Vbt({editType:\"plot\"},{keys:Y2e.eventDataKeys.concat([\"label\",\"value\"])}),text:lc.text,textposition:lc.textposition,insidetextanchor:Ny({},lc.insidetextanchor,{dflt:\"middle\"}),textangle:Ny({},lc.textangle,{dflt:0}),textfont:lc.textfont,insidetextfont:lc.insidetextfont,outsidetextfont:lc.outsidetextfont,constraintext:lc.constraintext,cliponaxis:lc.cliponaxis,orientation:Ny({},lc.orientation,{}),offset:Ny({},lc.offset,{arrayOk:!1}),width:Ny({},lc.width,{arrayOk:!1}),marker:Gbt(),connector:{fillcolor:{valType:\"color\",editType:\"style\"},line:{color:Ny({},BH.color,{dflt:Hbt.defaultLine}),width:Ny({},BH.width,{dflt:0,editType:\"plot\"}),dash:BH.dash,editType:\"style\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:lc.offsetgroup,alignmentgroup:lc.alignmentgroup,zorder:lc.zorder};function Gbt(){var e=Ny({},lc.marker);return delete e.pattern,delete e.cornerradius,e}});var UH=ye((Clr,J2e)=>{\"use strict\";J2e.exports={funnelmode:{valType:\"enumerated\",values:[\"stack\",\"group\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},funnelgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},funnelgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}});var HH=ye((Llr,Q2e)=>{\"use strict\";var P8=Mr(),jbt=Hb(),Wbt=r0().handleText,Zbt=K3(),Xbt=Pg(),$2e=NH(),VH=va();function Ybt(e,t,r,n){function i(f,h){return P8.coerce(e,t,$2e,f,h)}var a=Zbt(e,t,n,i);if(!a){t.visible=!1;return}Xbt(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"orientation\",t.y&&!t.x?\"v\":\"h\"),i(\"offset\"),i(\"width\");var o=i(\"text\");i(\"hovertext\"),i(\"hovertemplate\");var s=i(\"textposition\");Wbt(e,t,n,i,s,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&!t.texttemplate&&i(\"textinfo\",P8.isArrayOrTypedArray(o)?\"text+value\":\"value\");var l=i(\"marker.color\",r);i(\"marker.line.color\",VH.defaultLine),i(\"marker.line.width\");var u=i(\"connector.visible\");if(u){i(\"connector.fillcolor\",Kbt(l));var c=i(\"connector.line.width\");c&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function Kbt(e){var t=P8.isArrayOrTypedArray(e)?\"#000\":e;return VH.addOpacity(t,.5*VH.opacity(t))}function Jbt(e,t){var r,n;function i(o){return P8.coerce(n._input,n,$2e,o)}for(var a=0;a{\"use strict\";var $bt=Mr(),Qbt=UH();ewe.exports=function(e,t,r){var n=!1;function i(s,l){return $bt.coerce(e,t,Qbt,s,l)}for(var a=0;a{\"use strict\";var UT=Mr();rwe.exports=function(t,r){for(var n=0;n{\"use strict\";var nwe=Qa(),awe=Rg(),e2t=iwe(),t2t=F0(),P4=es().BADNUM;owe.exports=function(t,r){var n=nwe.getFromId(t,r.xaxis||\"x\"),i=nwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c,f,h;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=awe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=awe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;var d=Math.min(o.length,a.length),v=new Array(d);for(r._base=[],f=0;f{\"use strict\";var lwe=Gb().setGroupPositions;uwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{\"use strict\";var I8=xa(),L_=Mr(),fwe=ao(),C_=es().BADNUM,r2t=i2(),i2t=_v().clearMinTextSize;dwe.exports=function(t,r,n,i){var a=t._fullLayout;i2t(\"funnel\",a),n2t(t,r,n,i),a2t(t,r,n,i),r2t.plot(t,r,n,i,{mode:a.funnelmode,norm:a.funnelmode,gap:a.funnelgap,groupgap:a.funnelgroupgap})};function n2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;L_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=I8.select(this),l=o[0].trace,u=L_.ensureSingle(s,\"g\",\"regions\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.region\").data(L_.identity);f.enter().append(\"g\").classed(\"region\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=hwe(d,i,a,c),b=x[0],g=x[1],E=\"\";b[0]!==C_&&g[0]!==C_&&b[1]!==C_&&g[1]!==C_&&b[2]!==C_&&g[2]!==C_&&b[3]!==C_&&g[3]!==C_&&(c?E+=\"M\"+b[0]+\",\"+g[1]+\"L\"+b[2]+\",\"+g[2]+\"H\"+b[3]+\"L\"+b[1]+\",\"+g[1]+\"Z\":E+=\"M\"+b[1]+\",\"+g[1]+\"L\"+b[2]+\",\"+g[3]+\"V\"+g[2]+\"L\"+b[1]+\",\"+g[0]+\"Z\"),E===\"\"&&(E=\"M0,0Z\"),L_.ensureSingle(I8.select(this),\"path\").attr(\"d\",E).call(fwe.setClipUrl,t.layerClipId,e)}})})}function a2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;L_.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=I8.select(this),l=o[0].trace,u=L_.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible||!l.connector.line.width){u.remove();return}var c=l.orientation===\"h\",f=u.selectAll(\"g.line\").data(L_.identity);f.enter().append(\"g\").classed(\"line\",!0),f.exit().remove();var h=f.size();f.each(function(d,v){if(!(v!==h-1&&!d.cNext)){var x=hwe(d,i,a,c),b=x[0],g=x[1],E=\"\";b[3]!==void 0&&g[3]!==void 0&&(c?(E+=\"M\"+b[0]+\",\"+g[1]+\"L\"+b[2]+\",\"+g[2],E+=\"M\"+b[1]+\",\"+g[1]+\"L\"+b[3]+\",\"+g[2]):(E+=\"M\"+b[1]+\",\"+g[1]+\"L\"+b[2]+\",\"+g[3],E+=\"M\"+b[1]+\",\"+g[0]+\"L\"+b[2]+\",\"+g[2])),E===\"\"&&(E=\"M0,0Z\"),L_.ensureSingle(I8.select(this),\"path\").attr(\"d\",E).call(fwe.setClipUrl,t.layerClipId,e)}})})}function hwe(e,t,r,n){var i=[],a=[],o=n?t:r,s=n?r:t;return i[0]=o.c2p(e.s0,!0),a[0]=s.c2p(e.p0,!0),i[1]=o.c2p(e.s1,!0),a[1]=s.c2p(e.p1,!0),i[2]=o.c2p(e.nextS0,!0),a[2]=s.c2p(e.nextP0,!0),i[3]=o.c2p(e.nextS1,!0),a[3]=s.c2p(e.nextP1,!0),n?[i,a]:[a,i]}});var mwe=ye((Flr,gwe)=>{\"use strict\";var I4=xa(),pwe=ao(),jH=va(),o2t=N1().DESELECTDIM,s2t=N0(),l2t=_v().resizeText,u2t=s2t.styleTextPoints;function c2t(e,t,r){var n=r||I4.select(e).selectAll('g[class^=\"funnellayer\"]').selectAll(\"g.trace\");l2t(e,n,\"funnel\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=I4.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o.marker;I4.select(this).call(jH.fill,s.mc||l.color).call(jH.stroke,s.mlc||l.line.color).call(pwe.dashLine,l.line.dash,s.mlw||l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?o2t:1)}}),u2t(a,o,e),a.selectAll(\".regions\").each(function(){I4.select(this).selectAll(\"path\").style(\"stroke-width\",0).call(jH.fill,o.connector.fillcolor)}),a.selectAll(\".lines\").each(function(){var s=o.connector.line;pwe.lineGroupStyle(I4.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}gwe.exports={style:c2t}});var xwe=ye((qlr,_we)=>{\"use strict\";var ywe=va().opacity,f2t=TT().hoverOnBars,WH=Mr().formatPercent;_we.exports=function(t,r,n,i,a){var o=f2t(t,r,n,i,a);if(o){var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=o.index,f=s[c],h=u?\"x\":\"y\";o[h+\"LabelVal\"]=f.s,o.percentInitial=f.begR,o.percentInitialLabel=WH(f.begR,1),o.percentPrevious=f.difR,o.percentPreviousLabel=WH(f.difR,1),o.percentTotal=f.sumR,o.percentTotalLabel=WH(f.sumR,1);var d=f.hi||l.hoverinfo,v=[];if(d&&d!==\"none\"&&d!==\"skip\"){var x=d===\"all\",b=d.split(\"+\"),g=function(E){return x||b.indexOf(E)!==-1};g(\"percent initial\")&&v.push(o.percentInitialLabel+\" of initial\"),g(\"percent previous\")&&v.push(o.percentPreviousLabel+\" of previous\"),g(\"percent total\")&&v.push(o.percentTotalLabel+\" of total\")}return o.extraText=v.join(\"
\"),o.color=h2t(l,f),[o]}};function h2t(e,t){var r=e.marker,n=t.mc||r.color,i=t.mlc||r.line.color,a=t.mlw||r.line.width;if(ywe(n))return n;if(ywe(i)&&a)return i}});var wwe=ye((Olr,bwe)=>{\"use strict\";bwe.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"percentInitial\"in r&&(t.percentInitial=r.percentInitial),\"percentPrevious\"in r&&(t.percentPrevious=r.percentPrevious),\"percentTotal\"in r&&(t.percentTotal=r.percentTotal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var Awe=ye((Blr,Twe)=>{\"use strict\";Twe.exports={attributes:NH(),layoutAttributes:UH(),supplyDefaults:HH().supplyDefaults,crossTraceDefaults:HH().crossTraceDefaults,supplyLayoutDefaults:twe(),calc:swe(),crossTraceCalc:cwe(),plot:vwe(),style:mwe().style,hoverPoints:xwe(),eventData:wwe(),selectPoints:AT(),moduleType:\"trace\",name:\"funnel\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var Mwe=ye((Nlr,Swe)=>{\"use strict\";Swe.exports=Awe()});var kwe=ye((Ulr,Ewe)=>{\"use strict\";Ewe.exports={eventDataKeys:[\"initial\",\"delta\",\"final\"]}});var YH=ye((Vlr,Pwe)=>{\"use strict\";var Uu=Lm(),ZH=Uc().line,d2t=vl(),Cwe=Oc().axisHoverFormat,v2t=Wo().hovertemplateAttrs,p2t=Wo().texttemplateAttrs,Lwe=kwe(),VT=no().extendFlat,g2t=va();function XH(e){return{marker:{color:VT({},Uu.marker.color,{arrayOk:!1,editType:\"style\"}),line:{color:VT({},Uu.marker.line.color,{arrayOk:!1,editType:\"style\"}),width:VT({},Uu.marker.line.width,{arrayOk:!1,editType:\"style\"}),editType:\"style\"},editType:\"style\"},editType:\"style\"}}Pwe.exports={measure:{valType:\"data_array\",dflt:[],editType:\"calc\"},base:{valType:\"number\",dflt:null,arrayOk:!1,editType:\"calc\"},x:Uu.x,x0:Uu.x0,dx:Uu.dx,y:Uu.y,y0:Uu.y0,dy:Uu.dy,xperiod:Uu.xperiod,yperiod:Uu.yperiod,xperiod0:Uu.xperiod0,yperiod0:Uu.yperiod0,xperiodalignment:Uu.xperiodalignment,yperiodalignment:Uu.yperiodalignment,xhoverformat:Cwe(\"x\"),yhoverformat:Cwe(\"y\"),hovertext:Uu.hovertext,hovertemplate:v2t({},{keys:Lwe.eventDataKeys}),hoverinfo:VT({},d2t.hoverinfo,{flags:[\"name\",\"x\",\"y\",\"text\",\"initial\",\"delta\",\"final\"]}),textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"initial\",\"delta\",\"final\"],extras:[\"none\"],editType:\"plot\",arrayOk:!1},texttemplate:p2t({editType:\"plot\"},{keys:Lwe.eventDataKeys.concat([\"label\"])}),text:Uu.text,textposition:Uu.textposition,insidetextanchor:Uu.insidetextanchor,textangle:Uu.textangle,textfont:Uu.textfont,insidetextfont:Uu.insidetextfont,outsidetextfont:Uu.outsidetextfont,constraintext:Uu.constraintext,cliponaxis:Uu.cliponaxis,orientation:Uu.orientation,offset:Uu.offset,width:Uu.width,increasing:XH(\"increasing\"),decreasing:XH(\"decreasing\"),totals:XH(\"intermediate sums and total\"),connector:{line:{color:VT({},ZH.color,{dflt:g2t.defaultLine}),width:VT({},ZH.width,{editType:\"plot\"}),dash:ZH.dash,editType:\"plot\"},mode:{valType:\"enumerated\",values:[\"spanning\",\"between\"],dflt:\"between\",editType:\"plot\"},visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},editType:\"plot\"},offsetgroup:Uu.offsetgroup,alignmentgroup:Uu.alignmentgroup,zorder:Uu.zorder}});var KH=ye((Hlr,Iwe)=>{\"use strict\";Iwe.exports={waterfallmode:{valType:\"enumerated\",values:[\"group\",\"overlay\"],dflt:\"group\",editType:\"calc\"},waterfallgap:{valType:\"number\",min:0,max:1,editType:\"calc\"},waterfallgroupgap:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"}}});var HT=ye((Glr,Rwe)=>{\"use strict\";Rwe.exports={INCREASING:{COLOR:\"#3D9970\",SYMBOL:\"\\u25B2\"},DECREASING:{COLOR:\"#FF4136\",SYMBOL:\"\\u25BC\"}}});var $H=ye((jlr,qwe)=>{\"use strict\";var Dwe=Mr(),m2t=Hb(),y2t=r0().handleText,_2t=K3(),x2t=Pg(),zwe=YH(),b2t=va(),Fwe=HT(),w2t=Fwe.INCREASING.COLOR,T2t=Fwe.DECREASING.COLOR,A2t=\"#4499FF\";function JH(e,t,r){e(t+\".marker.color\",r),e(t+\".marker.line.color\",b2t.defaultLine),e(t+\".marker.line.width\")}function S2t(e,t,r,n){function i(u,c){return Dwe.coerce(e,t,zwe,u,c)}var a=_2t(e,t,n,i);if(!a){t.visible=!1;return}x2t(e,t,n,i),i(\"xhoverformat\"),i(\"yhoverformat\"),i(\"measure\"),i(\"orientation\",t.x&&!t.y?\"h\":\"v\"),i(\"base\"),i(\"offset\"),i(\"width\"),i(\"text\"),i(\"hovertext\"),i(\"hovertemplate\");var o=i(\"textposition\");y2t(e,t,n,i,o,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),t.textposition!==\"none\"&&(i(\"texttemplate\"),t.texttemplate||i(\"textinfo\")),JH(i,\"increasing\",w2t),JH(i,\"decreasing\",T2t),JH(i,\"totals\",A2t);var s=i(\"connector.visible\");if(s){i(\"connector.mode\");var l=i(\"connector.line.width\");l&&(i(\"connector.line.color\"),i(\"connector.line.dash\"))}i(\"zorder\")}function M2t(e,t){var r,n;function i(o){return Dwe.coerce(n._input,n,zwe,o)}if(t.waterfallmode===\"group\")for(var a=0;a{\"use strict\";var E2t=Mr(),k2t=KH();Owe.exports=function(e,t,r){var n=!1;function i(s,l){return E2t.coerce(e,t,k2t,s,l)}for(var a=0;a{\"use strict\";var Nwe=Qa(),Uwe=Rg(),Vwe=Mr().mergeArray,C2t=F0(),Hwe=es().BADNUM;function QH(e){return e===\"a\"||e===\"absolute\"}function eG(e){return e===\"t\"||e===\"total\"}Gwe.exports=function(t,r){var n=Nwe.getFromId(t,r.xaxis||\"x\"),i=Nwe.getFromId(t,r.yaxis||\"y\"),a,o,s,l,u,c;r.orientation===\"h\"?(a=n.makeCalcdata(r,\"x\"),s=i.makeCalcdata(r,\"y\"),l=Uwe(r,i,\"y\",s),u=!!r.yperiodalignment,c=\"y\"):(a=i.makeCalcdata(r,\"y\"),s=n.makeCalcdata(r,\"x\"),l=Uwe(r,n,\"x\",s),u=!!r.xperiodalignment,c=\"x\"),o=l.vals;for(var f=Math.min(o.length,a.length),h=new Array(f),d=0,v,x=!1,b=0;b{\"use strict\";var Wwe=Gb().setGroupPositions;Zwe.exports=function(t,r){var n=t._fullLayout,i=t._fullData,a=t.calcdata,o=r.xaxis,s=r.yaxis,l=[],u=[],c=[],f,h;for(h=0;h{\"use strict\";var Ywe=xa(),R8=Mr(),L2t=ao(),GT=es().BADNUM,P2t=i2(),I2t=_v().clearMinTextSize;Kwe.exports=function(t,r,n,i){var a=t._fullLayout;I2t(\"waterfall\",a),P2t.plot(t,r,n,i,{mode:a.waterfallmode,norm:a.waterfallmode,gap:a.waterfallgap,groupgap:a.waterfallgroupgap}),R2t(t,r,n,i)};function R2t(e,t,r,n){var i=t.xaxis,a=t.yaxis;R8.makeTraceGroups(n,r,\"trace bars\").each(function(o){var s=Ywe.select(this),l=o[0].trace,u=R8.ensureSingle(s,\"g\",\"lines\");if(!l.connector||!l.connector.visible){u.remove();return}var c=l.orientation===\"h\",f=l.connector.mode,h=u.selectAll(\"g.line\").data(R8.identity);h.enter().append(\"g\").classed(\"line\",!0),h.exit().remove();var d=h.size();h.each(function(v,x){if(!(x!==d-1&&!v.cNext)){var b=D2t(v,i,a,c),g=b[0],E=b[1],k=\"\";g[0]!==GT&&E[0]!==GT&&g[1]!==GT&&E[1]!==GT&&(f===\"spanning\"&&!v.isSum&&x>0&&(c?k+=\"M\"+g[0]+\",\"+E[1]+\"V\"+E[0]:k+=\"M\"+g[1]+\",\"+E[0]+\"H\"+g[0]),f!==\"between\"&&(v.isSum||x{\"use strict\";var D8=xa(),$we=ao(),Qwe=va(),z2t=N1().DESELECTDIM,F2t=N0(),q2t=_v().resizeText,O2t=F2t.styleTextPoints;function B2t(e,t,r){var n=r||D8.select(e).selectAll('g[class^=\"waterfalllayer\"]').selectAll(\"g.trace\");q2t(e,n,\"waterfall\"),n.style(\"opacity\",function(i){return i[0].trace.opacity}),n.each(function(i){var a=D8.select(this),o=i[0].trace;a.selectAll(\".point > path\").each(function(s){if(!s.isBlank){var l=o[s.dir].marker;D8.select(this).call(Qwe.fill,l.color).call(Qwe.stroke,l.line.color).call($we.dashLine,l.line.dash,l.line.width).style(\"opacity\",o.selectedpoints&&!s.selected?z2t:1)}}),O2t(a,o,e),a.selectAll(\".lines\").each(function(){var s=o.connector.line;$we.lineGroupStyle(D8.select(this).selectAll(\"path\"),s.width,s.color,s.dash)})})}e3e.exports={style:B2t}});var o3e=ye((Jlr,a3e)=>{\"use strict\";var N2t=Qa().hoverLabelText,r3e=va().opacity,U2t=TT().hoverOnBars,i3e=HT(),n3e={increasing:i3e.INCREASING.SYMBOL,decreasing:i3e.DECREASING.SYMBOL};a3e.exports=function(t,r,n,i,a){var o=U2t(t,r,n,i,a);if(!o)return;var s=o.cd,l=s[0].trace,u=l.orientation===\"h\",c=u?\"x\":\"y\",f=u?t.xa:t.ya;function h(_){return N2t(f,_,l[c+\"hoverformat\"])}var d=o.index,v=s[d],x=v.isSum?v.b+v.s:v.rawS;o.initial=v.b+v.s-x,o.delta=x,o.final=o.initial+o.delta;var b=h(Math.abs(o.delta));o.deltaLabel=x<0?\"(\"+b+\")\":b,o.finalLabel=h(o.final),o.initialLabel=h(o.initial);var g=v.hi||l.hoverinfo,E=[];if(g&&g!==\"none\"&&g!==\"skip\"){var k=g===\"all\",A=g.split(\"+\"),L=function(_){return k||A.indexOf(_)!==-1};v.isSum||(L(\"final\")&&(u?!L(\"x\"):!L(\"y\"))&&E.push(o.finalLabel),L(\"delta\")&&(x<0?E.push(o.deltaLabel+\" \"+n3e.decreasing):E.push(o.deltaLabel+\" \"+n3e.increasing)),L(\"initial\")&&E.push(\"Initial: \"+o.initialLabel))}return E.length&&(o.extraText=E.join(\"
\")),o.color=V2t(l,v),[o]};function V2t(e,t){var r=e[t.dir].marker,n=r.color,i=r.line.color,a=r.line.width;if(r3e(n))return n;if(r3e(i)&&a)return i}});var l3e=ye(($lr,s3e)=>{\"use strict\";s3e.exports=function(t,r){return t.x=\"xVal\"in r?r.xVal:r.x,t.y=\"yVal\"in r?r.yVal:r.y,\"initial\"in r&&(t.initial=r.initial),\"delta\"in r&&(t.delta=r.delta),\"final\"in r&&(t.final=r.final),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t}});var c3e=ye((Qlr,u3e)=>{\"use strict\";u3e.exports={attributes:YH(),layoutAttributes:KH(),supplyDefaults:$H().supplyDefaults,crossTraceDefaults:$H().crossTraceDefaults,supplyLayoutDefaults:Bwe(),calc:jwe(),crossTraceCalc:Xwe(),plot:Jwe(),style:t3e().style,hoverPoints:o3e(),eventData:l3e(),selectPoints:AT(),moduleType:\"trace\",name:\"waterfall\",basePlotModule:Jf(),categories:[\"bar-like\",\"cartesian\",\"svg\",\"oriented\",\"showLegend\",\"zoomScale\"],meta:{}}});var h3e=ye((eur,f3e)=>{\"use strict\";f3e.exports=c3e()});var jT=ye((tur,d3e)=>{\"use strict\";d3e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(e){return e.slice(0,3)},suffix:[\"\",\"\",\"\"]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},rgba256:{colormodel:\"rgba\",zminDflt:[0,0,0,0],zmaxDflt:[255,255,255,255],min:[0,0,0,0],max:[255,255,255,1],fmt:function(e){return e.slice(0,4)},suffix:[\"\",\"\",\"\",\"\"]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(e){var t=e.slice(0,3);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(e){var t=e.slice(0,4);return t[1]=t[1]+\"%\",t[2]=t[2]+\"%\",t},suffix:[\"\\xB0\",\"%\",\"%\",\"\"]}}}});var tG=ye((rur,p3e)=>{\"use strict\";var H2t=vl(),G2t=Uc().zorder,j2t=Wo().hovertemplateAttrs,v3e=no().extendFlat,W2t=jT().colormodel,D4=[\"rgb\",\"rgba\",\"rgba256\",\"hsl\",\"hsla\"],Z2t=[],X2t=[];for(WT=0;WT{\"use strict\";var Y2t=Mr(),K2t=tG(),g3e=jT(),J2t=Ly().IMAGE_URL_PREFIX;m3e.exports=function(t,r){function n(o,s){return Y2t.coerce(t,r,K2t,o,s)}n(\"source\"),r.source&&!r.source.match(J2t)&&delete r.source,r._hasSource=!!r.source;var i=n(\"z\");if(r._hasZ=!(i===void 0||!i.length||!i[0]||!i[0].length),!r._hasZ&&!r._hasSource){r.visible=!1;return}n(\"x0\"),n(\"y0\"),n(\"dx\"),n(\"dy\");var a;r._hasZ?(n(\"colormodel\",\"rgb\"),a=g3e.colormodel[r.colormodel],n(\"zmin\",a.zminDflt||a.min),n(\"zmax\",a.zmaxDflt||a.max)):r._hasSource&&(r.colormodel=\"rgba256\",a=g3e.colormodel[r.colormodel],r.zmin=a.zminDflt,r.zmax=a.zmaxDflt),n(\"zsmooth\"),n(\"text\"),n(\"hovertext\"),n(\"hovertemplate\"),r._length=null,n(\"zorder\")}});var Uy=ye((nur,rG)=>{typeof Object.create==\"function\"?rG.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:rG.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var iG=ye((aur,_3e)=>{_3e.exports=vb().EventEmitter});var w3e=ye(z8=>{\"use strict\";z8.byteLength=Q2t;z8.toByteArray=twt;z8.fromByteArray=nwt;var Fm=[],Z0=[],$2t=typeof Uint8Array!=\"undefined\"?Uint8Array:Array,nG=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";for(s2=0,x3e=nG.length;s20)throw new Error(\"Invalid string. Length must be a multiple of 4\");var r=e.indexOf(\"=\");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Q2t(e){var t=b3e(e),r=t[0],n=t[1];return(r+n)*3/4-n}function ewt(e,t,r){return(t+r)*3/4-r}function twt(e){var t,r=b3e(e),n=r[0],i=r[1],a=new $2t(ewt(e,n,i)),o=0,s=i>0?n-4:n,l;for(l=0;l>16&255,a[o++]=t>>8&255,a[o++]=t&255;return i===2&&(t=Z0[e.charCodeAt(l)]<<2|Z0[e.charCodeAt(l+1)]>>4,a[o++]=t&255),i===1&&(t=Z0[e.charCodeAt(l)]<<10|Z0[e.charCodeAt(l+1)]<<4|Z0[e.charCodeAt(l+2)]>>2,a[o++]=t>>8&255,a[o++]=t&255),a}function rwt(e){return Fm[e>>18&63]+Fm[e>>12&63]+Fm[e>>6&63]+Fm[e&63]}function iwt(e,t,r){for(var n,i=[],a=t;as?s:o+a));return n===1?(t=e[r-1],i.push(Fm[t>>2]+Fm[t<<4&63]+\"==\")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Fm[t>>10]+Fm[t>>4&63]+Fm[t<<2&63]+\"=\")),i.join(\"\")}});var T3e=ye(aG=>{aG.read=function(e,t,r,n,i){var a,o,s=i*8-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,d=e[t+f];for(f+=h,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=a*256+e[t+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=o*256+e[t+f],f+=h,c-=8);if(a===0)a=1-u;else{if(a===l)return o?NaN:(d?-1:1)*(1/0);o=o+Math.pow(2,n),a=a-u}return(d?-1:1)*o*Math.pow(2,a-n)};aG.write=function(e,t,r,n,i,a){var o,s,l,u=a*8-i-1,c=(1<>1,h=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:a-1,v=n?1:-1,x=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,o=c):(o=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-o))<1&&(o--,l*=2),o+f>=1?t+=h/l:t+=h*Math.pow(2,1-f),t*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(t*l-1)*Math.pow(2,i),o=o+f):(s=t*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;e[r+d]=s&255,d+=v,s/=256,i-=8);for(o=o<0;e[r+d]=o&255,d+=v,o/=256,u-=8);e[r+d-v]|=x*128}});var u2=ye(KT=>{\"use strict\";var oG=w3e(),XT=T3e(),A3e=typeof Symbol==\"function\"&&typeof Symbol.for==\"function\"?Symbol.for(\"nodejs.util.inspect.custom\"):null;KT.Buffer=In;KT.SlowBuffer=cwt;KT.INSPECT_MAX_BYTES=50;var F8=2147483647;KT.kMaxLength=F8;In.TYPED_ARRAY_SUPPORT=awt();!In.TYPED_ARRAY_SUPPORT&&typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");function awt(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch(e){return!1}}Object.defineProperty(In.prototype,\"parent\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.buffer}});Object.defineProperty(In.prototype,\"offset\",{enumerable:!0,get:function(){if(In.isBuffer(this))return this.byteOffset}});function Vy(e){if(e>F8)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,In.prototype),t}function In(e,t,r){if(typeof e==\"number\"){if(typeof t==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return cG(e)}return k3e(e,t,r)}In.poolSize=8192;function k3e(e,t,r){if(typeof e==\"string\")return swt(e,t);if(ArrayBuffer.isView(e))return lwt(e);if(e==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e);if(qm(e,ArrayBuffer)||e&&qm(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(qm(e,SharedArrayBuffer)||e&&qm(e.buffer,SharedArrayBuffer)))return lG(e,t,r);if(typeof e==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return In.from(n,t,r);let i=uwt(e);if(i)return i;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==\"function\")return In.from(e[Symbol.toPrimitive](\"string\"),t,r);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+typeof e)}In.from=function(e,t,r){return k3e(e,t,r)};Object.setPrototypeOf(In.prototype,Uint8Array.prototype);Object.setPrototypeOf(In,Uint8Array);function C3e(e){if(typeof e!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(e<0)throw new RangeError('The value \"'+e+'\" is invalid for option \"size\"')}function owt(e,t,r){return C3e(e),e<=0?Vy(e):t!==void 0?typeof r==\"string\"?Vy(e).fill(t,r):Vy(e).fill(t):Vy(e)}In.alloc=function(e,t,r){return owt(e,t,r)};function cG(e){return C3e(e),Vy(e<0?0:fG(e)|0)}In.allocUnsafe=function(e){return cG(e)};In.allocUnsafeSlow=function(e){return cG(e)};function swt(e,t){if((typeof t!=\"string\"||t===\"\")&&(t=\"utf8\"),!In.isEncoding(t))throw new TypeError(\"Unknown encoding: \"+t);let r=L3e(e,t)|0,n=Vy(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function sG(e){let t=e.length<0?0:fG(e.length)|0,r=Vy(t);for(let n=0;n=F8)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+F8.toString(16)+\" bytes\");return e|0}function cwt(e){return+e!=e&&(e=0),In.alloc(+e)}In.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==In.prototype};In.compare=function(t,r){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),qm(r,Uint8Array)&&(r=In.from(r,r.offset,r.byteLength)),!In.isBuffer(t)||!In.isBuffer(r))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let a=0,o=Math.min(n,i);ai.length?(In.isBuffer(o)||(o=In.from(o)),o.copy(i,a)):Uint8Array.prototype.set.call(i,o,a);else if(In.isBuffer(o))o.copy(i,a);else throw new TypeError('\"list\" argument must be an Array of Buffers');a+=o.length}return i};function L3e(e,t){if(In.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||qm(e,ArrayBuffer))return e.byteLength;if(typeof e!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return r;case\"utf8\":case\"utf-8\":return uG(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return r*2;case\"hex\":return r>>>1;case\"base64\":return B3e(e).length;default:if(i)return n?-1:uG(e).length;t=(\"\"+t).toLowerCase(),i=!0}}In.byteLength=L3e;function fwt(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return bwt(this,t,r);case\"utf8\":case\"utf-8\":return I3e(this,t,r);case\"ascii\":return _wt(this,t,r);case\"latin1\":case\"binary\":return xwt(this,t,r);case\"base64\":return mwt(this,t,r);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return wwt(this,t,r);default:if(n)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),n=!0}}In.prototype._isBuffer=!0;function l2(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}In.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(let r=0;rr&&(t+=\" ... \"),\"\"};A3e&&(In.prototype[A3e]=In.prototype.inspect);In.prototype.compare=function(t,r,n,i,a){if(qm(t,Uint8Array)&&(t=In.from(t,t.offset,t.byteLength)),!In.isBuffer(t))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),a===void 0&&(a=this.length),r<0||n>t.length||i<0||a>this.length)throw new RangeError(\"out of range index\");if(i>=a&&r>=n)return 0;if(i>=a)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,a>>>=0,this===t)return 0;let o=a-i,s=n-r,l=Math.min(o,s),u=this.slice(i,a),c=t.slice(r,n);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,dG(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t==\"string\"&&(t=In.from(t,n)),In.isBuffer(t))return t.length===0?-1:S3e(e,t,r,n,i);if(typeof t==\"number\")return t=t&255,typeof Uint8Array.prototype.indexOf==\"function\"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):S3e(e,[t],r,n,i);throw new TypeError(\"val must be string, number or Buffer\")}function S3e(e,t,r,n,i){let a=1,o=e.length,s=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n===\"ucs2\"||n===\"ucs-2\"||n===\"utf16le\"||n===\"utf-16le\")){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,r/=2}function l(c,f){return a===1?c[f]:c.readUInt16BE(f*a)}let u;if(i){let c=-1;for(u=r;uo&&(r=o-s),u=r;u>=0;u--){let c=!0;for(let f=0;fi&&(n=i)):n=i;let a=t.length;n>a/2&&(n=a/2);let o;for(o=0;o>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i=\"utf8\")):(i=n,n=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");let a=this.length-r;if((n===void 0||n>a)&&(n=a),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");i||(i=\"utf8\");let o=!1;for(;;)switch(i){case\"hex\":return hwt(this,t,r,n);case\"utf8\":case\"utf-8\":return dwt(this,t,r,n);case\"ascii\":case\"latin1\":case\"binary\":return vwt(this,t,r,n);case\"base64\":return pwt(this,t,r,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return gwt(this,t,r,n);default:if(o)throw new TypeError(\"Unknown encoding: \"+i);i=(\"\"+i).toLowerCase(),o=!0}};In.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function mwt(e,t,r){return t===0&&r===e.length?oG.fromByteArray(e):oG.fromByteArray(e.slice(t,r))}function I3e(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i239?4:a>223?3:a>191?2:1;if(i+s<=r){let l,u,c,f;switch(s){case 1:a<128&&(o=a);break;case 2:l=e[i+1],(l&192)===128&&(f=(a&31)<<6|l&63,f>127&&(o=f));break;case 3:l=e[i+1],u=e[i+2],(l&192)===128&&(u&192)===128&&(f=(a&15)<<12|(l&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:l=e[i+1],u=e[i+2],c=e[i+3],(l&192)===128&&(u&192)===128&&(c&192)===128&&(f=(a&15)<<18|(l&63)<<12|(u&63)<<6|c&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=s}return ywt(n)}var M3e=4096;function ywt(e){let t=e.length;if(t<=M3e)return String.fromCharCode.apply(String,e);let r=\"\",n=0;for(;nn)&&(r=n);let i=\"\";for(let a=t;an&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),rr)throw new RangeError(\"Trying to access beyond buffer length\")}In.prototype.readUintLE=In.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t+--r],a=1;for(;r>0&&(a*=256);)i+=this[t+--r]*a;return i};In.prototype.readUint8=In.prototype.readUInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]};In.prototype.readUint16LE=In.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]|this[t+1]<<8};In.prototype.readUint16BE=In.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||$d(t,2,this.length),this[t]<<8|this[t+1]};In.prototype.readUint32LE=In.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};In.prototype.readUint32BE=In.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};In.prototype.readBigUInt64LE=P_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,a=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(a)<>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],a=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<>>0,r=r>>>0,n||$d(t,r,this.length);let i=this[t],a=1,o=0;for(;++o=a&&(i-=Math.pow(2,8*r)),i};In.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||$d(t,r,this.length);let i=r,a=1,o=this[t+--i];for(;i>0&&(a*=256);)o+=this[t+--i]*a;return a*=128,o>=a&&(o-=Math.pow(2,8*r)),o};In.prototype.readInt8=function(t,r){return t=t>>>0,r||$d(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};In.prototype.readInt16LE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};In.prototype.readInt16BE=function(t,r){t=t>>>0,r||$d(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};In.prototype.readInt32LE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};In.prototype.readInt32BE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};In.prototype.readBigInt64LE=P_(function(t){t=t>>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<>>0,YT(t,\"offset\");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&z4(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<>>0,r||$d(t,4,this.length),XT.read(this,t,!0,23,4)};In.prototype.readFloatBE=function(t,r){return t=t>>>0,r||$d(t,4,this.length),XT.read(this,t,!1,23,4)};In.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!0,52,8)};In.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||$d(t,8,this.length),XT.read(this,t,!1,52,8)};function Rp(e,t,r,n,i,a){if(!In.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError(\"Index out of range\")}In.prototype.writeUintLE=In.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=1,o=0;for(this[r]=t&255;++o>>0,n=n>>>0,!i){let s=Math.pow(2,8*n)-1;Rp(this,t,r,n,s,0)}let a=n-1,o=1;for(this[r+a]=t&255;--a>=0&&(o*=256);)this[r+a]=t/o&255;return r+n};In.prototype.writeUint8=In.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,255,0),this[r]=t&255,r+1};In.prototype.writeUint16LE=In.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeUint16BE=In.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeUint32LE=In.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};In.prototype.writeUint32BE=In.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function R3e(e,t,r,n,i){O3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a,a=a>>8,e[r++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,r}function D3e(e,t,r,n,i){O3e(t,n,i,e,r,7);let a=Number(t&BigInt(4294967295));e[r+7]=a,a=a>>8,e[r+6]=a,a=a>>8,e[r+5]=a,a=a>>8,e[r+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=o,o=o>>8,e[r+2]=o,o=o>>8,e[r+1]=o,o=o>>8,e[r]=o,r+8}In.prototype.writeBigUInt64LE=P_(function(t,r=0){return R3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeBigUInt64BE=P_(function(t,r=0){return D3e(this,t,r,BigInt(0),BigInt(\"0xffffffffffffffff\"))});In.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=0,o=1,s=0;for(this[r]=t&255;++a>0)-s&255;return r+n};In.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let l=Math.pow(2,8*n-1);Rp(this,t,r,n,l-1,-l)}let a=n-1,o=1,s=0;for(this[r+a]=t&255;--a>=0&&(o*=256);)t<0&&s===0&&this[r+a+1]!==0&&(s=1),this[r+a]=(t/o>>0)-s&255;return r+n};In.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};In.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};In.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};In.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};In.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Rp(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};In.prototype.writeBigInt64LE=P_(function(t,r=0){return R3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});In.prototype.writeBigInt64BE=P_(function(t,r=0){return D3e(this,t,r,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function z3e(e,t,r,n,i,a){if(r+n>e.length)throw new RangeError(\"Index out of range\");if(r<0)throw new RangeError(\"Index out of range\")}function F3e(e,t,r,n,i){return t=+t,r=r>>>0,i||z3e(e,t,r,4,34028234663852886e22,-34028234663852886e22),XT.write(e,t,r,n,23,4),r+4}In.prototype.writeFloatLE=function(t,r,n){return F3e(this,t,r,!0,n)};In.prototype.writeFloatBE=function(t,r,n){return F3e(this,t,r,!1,n)};function q3e(e,t,r,n,i){return t=+t,r=r>>>0,i||z3e(e,t,r,8,17976931348623157e292,-17976931348623157e292),XT.write(e,t,r,n,52,8),r+8}In.prototype.writeDoubleLE=function(t,r,n){return q3e(this,t,r,!0,n)};In.prototype.writeDoubleBE=function(t,r,n){return q3e(this,t,r,!1,n)};In.prototype.copy=function(t,r,n,i){if(!In.isBuffer(t))throw new TypeError(\"argument should be a Buffer\");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i=this.length)throw new RangeError(\"Index out of range\");if(i<0)throw new RangeError(\"sourceEnd out of bounds\");i>this.length&&(i=this.length),t.length-r>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let a;if(typeof t==\"number\")for(a=r;a2**32?i=E3e(String(r)):typeof r==\"bigint\"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=E3e(i)),i+=\"n\"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function E3e(e){let t=\"\",r=e.length,n=e[0]===\"-\"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Twt(e,t,r){YT(t,\"offset\"),(e[t]===void 0||e[t+r]===void 0)&&z4(t,e.length-(r+1))}function O3e(e,t,r,n,i,a){if(e>r||e3?t===0||t===BigInt(0)?s=`>= 0${o} and < 2${o} ** ${(a+1)*8}${o}`:s=`>= -(2${o} ** ${(a+1)*8-1}${o}) and < 2 ** ${(a+1)*8-1}${o}`:s=`>= ${t}${o} and <= ${r}${o}`,new ZT.ERR_OUT_OF_RANGE(\"value\",s,e)}Twt(n,i,a)}function YT(e,t){if(typeof e!=\"number\")throw new ZT.ERR_INVALID_ARG_TYPE(t,\"number\",e)}function z4(e,t,r){throw Math.floor(e)!==e?(YT(e,r),new ZT.ERR_OUT_OF_RANGE(r||\"offset\",\"an integer\",e)):t<0?new ZT.ERR_BUFFER_OUT_OF_BOUNDS:new ZT.ERR_OUT_OF_RANGE(r||\"offset\",`>= ${r?1:0} and <= ${t}`,e)}var Awt=/[^+/0-9A-Za-z-_]/g;function Swt(e){if(e=e.split(\"=\")[0],e=e.trim().replace(Awt,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e=e+\"=\";return e}function uG(e,t){t=t||1/0;let r,n=e.length,i=null,a=[];for(let o=0;o55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error(\"Invalid code point\")}return a}function Mwt(e){let t=[];for(let r=0;r>8,i=r%256,a.push(i),a.push(n);return a}function B3e(e){return oG.toByteArray(Swt(e))}function q8(e,t,r,n){let i;for(i=0;i=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function qm(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function dG(e){return e!==e}var kwt=function(){let e=\"0123456789abcdef\",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function P_(e){return typeof BigInt==\"undefined\"?Cwt:e}function Cwt(){throw new Error(\"BigInt not supported\")}});var O8=ye((cur,N3e)=>{\"use strict\";N3e.exports=function(){if(typeof Symbol!=\"function\"||typeof Object.getOwnPropertySymbols!=\"function\")return!1;if(typeof Symbol.iterator==\"symbol\")return!0;var t={},r=Symbol(\"test\"),n=Object(r);if(typeof r==\"string\"||Object.prototype.toString.call(r)!==\"[object Symbol]\"||Object.prototype.toString.call(n)!==\"[object Symbol]\")return!1;var i=42;t[r]=i;for(r in t)return!1;if(typeof Object.keys==\"function\"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames==\"function\"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==r||!Object.prototype.propertyIsEnumerable.call(t,r))return!1;if(typeof Object.getOwnPropertyDescriptor==\"function\"){var o=Object.getOwnPropertyDescriptor(t,r);if(o.value!==i||o.enumerable!==!0)return!1}return!0}});var F4=ye((fur,U3e)=>{\"use strict\";var Lwt=O8();U3e.exports=function(){return Lwt()&&!!Symbol.toStringTag}});var H3e=ye((hur,V3e)=>{\"use strict\";V3e.exports=Error});var j3e=ye((dur,G3e)=>{\"use strict\";G3e.exports=EvalError});var Z3e=ye((vur,W3e)=>{\"use strict\";W3e.exports=RangeError});var Y3e=ye((pur,X3e)=>{\"use strict\";X3e.exports=ReferenceError});var vG=ye((gur,K3e)=>{\"use strict\";K3e.exports=SyntaxError});var q4=ye((mur,J3e)=>{\"use strict\";J3e.exports=TypeError});var Q3e=ye((yur,$3e)=>{\"use strict\";$3e.exports=URIError});var rTe=ye((_ur,tTe)=>{\"use strict\";var eTe=typeof Symbol!=\"undefined\"&&Symbol,Pwt=O8();tTe.exports=function(){return typeof eTe!=\"function\"||typeof Symbol!=\"function\"||typeof eTe(\"foo\")!=\"symbol\"||typeof Symbol(\"bar\")!=\"symbol\"?!1:Pwt()}});var aTe=ye((xur,nTe)=>{\"use strict\";var iTe={foo:{}},Iwt=Object;nTe.exports=function(){return{__proto__:iTe}.foo===iTe.foo&&!({__proto__:null}instanceof Iwt)}});var lTe=ye((bur,sTe)=>{\"use strict\";var Rwt=\"Function.prototype.bind called on incompatible \",Dwt=Object.prototype.toString,zwt=Math.max,Fwt=\"[object Function]\",oTe=function(t,r){for(var n=[],i=0;i{\"use strict\";var Bwt=lTe();uTe.exports=Function.prototype.bind||Bwt});var fTe=ye((Tur,cTe)=>{\"use strict\";var Nwt=Function.prototype.call,Uwt=Object.prototype.hasOwnProperty,Vwt=B8();cTe.exports=Vwt.call(Nwt,Uwt)});var t5=ye((Aur,gTe)=>{\"use strict\";var Gl,Hwt=H3e(),Gwt=j3e(),jwt=Z3e(),Wwt=Y3e(),e5=vG(),QT=q4(),Zwt=Q3e(),pTe=Function,pG=function(e){try{return pTe('\"use strict\"; return ('+e+\").constructor;\")()}catch(t){}},c2=Object.getOwnPropertyDescriptor;if(c2)try{c2({},\"\")}catch(e){c2=null}var gG=function(){throw new QT},Xwt=c2?function(){try{return arguments.callee,gG}catch(e){try{return c2(arguments,\"callee\").get}catch(t){return gG}}}():gG,JT=rTe()(),Ywt=aTe()(),Qd=Object.getPrototypeOf||(Ywt?function(e){return e.__proto__}:null),$T={},Kwt=typeof Uint8Array==\"undefined\"||!Qd?Gl:Qd(Uint8Array),f2={__proto__:null,\"%AggregateError%\":typeof AggregateError==\"undefined\"?Gl:AggregateError,\"%Array%\":Array,\"%ArrayBuffer%\":typeof ArrayBuffer==\"undefined\"?Gl:ArrayBuffer,\"%ArrayIteratorPrototype%\":JT&&Qd?Qd([][Symbol.iterator]()):Gl,\"%AsyncFromSyncIteratorPrototype%\":Gl,\"%AsyncFunction%\":$T,\"%AsyncGenerator%\":$T,\"%AsyncGeneratorFunction%\":$T,\"%AsyncIteratorPrototype%\":$T,\"%Atomics%\":typeof Atomics==\"undefined\"?Gl:Atomics,\"%BigInt%\":typeof BigInt==\"undefined\"?Gl:BigInt,\"%BigInt64Array%\":typeof BigInt64Array==\"undefined\"?Gl:BigInt64Array,\"%BigUint64Array%\":typeof BigUint64Array==\"undefined\"?Gl:BigUint64Array,\"%Boolean%\":Boolean,\"%DataView%\":typeof DataView==\"undefined\"?Gl:DataView,\"%Date%\":Date,\"%decodeURI%\":decodeURI,\"%decodeURIComponent%\":decodeURIComponent,\"%encodeURI%\":encodeURI,\"%encodeURIComponent%\":encodeURIComponent,\"%Error%\":Hwt,\"%eval%\":eval,\"%EvalError%\":Gwt,\"%Float32Array%\":typeof Float32Array==\"undefined\"?Gl:Float32Array,\"%Float64Array%\":typeof Float64Array==\"undefined\"?Gl:Float64Array,\"%FinalizationRegistry%\":typeof FinalizationRegistry==\"undefined\"?Gl:FinalizationRegistry,\"%Function%\":pTe,\"%GeneratorFunction%\":$T,\"%Int8Array%\":typeof Int8Array==\"undefined\"?Gl:Int8Array,\"%Int16Array%\":typeof Int16Array==\"undefined\"?Gl:Int16Array,\"%Int32Array%\":typeof Int32Array==\"undefined\"?Gl:Int32Array,\"%isFinite%\":isFinite,\"%isNaN%\":isNaN,\"%IteratorPrototype%\":JT&&Qd?Qd(Qd([][Symbol.iterator]())):Gl,\"%JSON%\":typeof JSON==\"object\"?JSON:Gl,\"%Map%\":typeof Map==\"undefined\"?Gl:Map,\"%MapIteratorPrototype%\":typeof Map==\"undefined\"||!JT||!Qd?Gl:Qd(new Map()[Symbol.iterator]()),\"%Math%\":Math,\"%Number%\":Number,\"%Object%\":Object,\"%parseFloat%\":parseFloat,\"%parseInt%\":parseInt,\"%Promise%\":typeof Promise==\"undefined\"?Gl:Promise,\"%Proxy%\":typeof Proxy==\"undefined\"?Gl:Proxy,\"%RangeError%\":jwt,\"%ReferenceError%\":Wwt,\"%Reflect%\":typeof Reflect==\"undefined\"?Gl:Reflect,\"%RegExp%\":RegExp,\"%Set%\":typeof Set==\"undefined\"?Gl:Set,\"%SetIteratorPrototype%\":typeof Set==\"undefined\"||!JT||!Qd?Gl:Qd(new Set()[Symbol.iterator]()),\"%SharedArrayBuffer%\":typeof SharedArrayBuffer==\"undefined\"?Gl:SharedArrayBuffer,\"%String%\":String,\"%StringIteratorPrototype%\":JT&&Qd?Qd(\"\"[Symbol.iterator]()):Gl,\"%Symbol%\":JT?Symbol:Gl,\"%SyntaxError%\":e5,\"%ThrowTypeError%\":Xwt,\"%TypedArray%\":Kwt,\"%TypeError%\":QT,\"%Uint8Array%\":typeof Uint8Array==\"undefined\"?Gl:Uint8Array,\"%Uint8ClampedArray%\":typeof Uint8ClampedArray==\"undefined\"?Gl:Uint8ClampedArray,\"%Uint16Array%\":typeof Uint16Array==\"undefined\"?Gl:Uint16Array,\"%Uint32Array%\":typeof Uint32Array==\"undefined\"?Gl:Uint32Array,\"%URIError%\":Zwt,\"%WeakMap%\":typeof WeakMap==\"undefined\"?Gl:WeakMap,\"%WeakRef%\":typeof WeakRef==\"undefined\"?Gl:WeakRef,\"%WeakSet%\":typeof WeakSet==\"undefined\"?Gl:WeakSet};if(Qd)try{null.error}catch(e){hTe=Qd(Qd(e)),f2[\"%Error.prototype%\"]=hTe}var hTe,Jwt=function e(t){var r;if(t===\"%AsyncFunction%\")r=pG(\"async function () {}\");else if(t===\"%GeneratorFunction%\")r=pG(\"function* () {}\");else if(t===\"%AsyncGeneratorFunction%\")r=pG(\"async function* () {}\");else if(t===\"%AsyncGenerator%\"){var n=e(\"%AsyncGeneratorFunction%\");n&&(r=n.prototype)}else if(t===\"%AsyncIteratorPrototype%\"){var i=e(\"%AsyncGenerator%\");i&&Qd&&(r=Qd(i.prototype))}return f2[t]=r,r},dTe={__proto__:null,\"%ArrayBufferPrototype%\":[\"ArrayBuffer\",\"prototype\"],\"%ArrayPrototype%\":[\"Array\",\"prototype\"],\"%ArrayProto_entries%\":[\"Array\",\"prototype\",\"entries\"],\"%ArrayProto_forEach%\":[\"Array\",\"prototype\",\"forEach\"],\"%ArrayProto_keys%\":[\"Array\",\"prototype\",\"keys\"],\"%ArrayProto_values%\":[\"Array\",\"prototype\",\"values\"],\"%AsyncFunctionPrototype%\":[\"AsyncFunction\",\"prototype\"],\"%AsyncGenerator%\":[\"AsyncGeneratorFunction\",\"prototype\"],\"%AsyncGeneratorPrototype%\":[\"AsyncGeneratorFunction\",\"prototype\",\"prototype\"],\"%BooleanPrototype%\":[\"Boolean\",\"prototype\"],\"%DataViewPrototype%\":[\"DataView\",\"prototype\"],\"%DatePrototype%\":[\"Date\",\"prototype\"],\"%ErrorPrototype%\":[\"Error\",\"prototype\"],\"%EvalErrorPrototype%\":[\"EvalError\",\"prototype\"],\"%Float32ArrayPrototype%\":[\"Float32Array\",\"prototype\"],\"%Float64ArrayPrototype%\":[\"Float64Array\",\"prototype\"],\"%FunctionPrototype%\":[\"Function\",\"prototype\"],\"%Generator%\":[\"GeneratorFunction\",\"prototype\"],\"%GeneratorPrototype%\":[\"GeneratorFunction\",\"prototype\",\"prototype\"],\"%Int8ArrayPrototype%\":[\"Int8Array\",\"prototype\"],\"%Int16ArrayPrototype%\":[\"Int16Array\",\"prototype\"],\"%Int32ArrayPrototype%\":[\"Int32Array\",\"prototype\"],\"%JSONParse%\":[\"JSON\",\"parse\"],\"%JSONStringify%\":[\"JSON\",\"stringify\"],\"%MapPrototype%\":[\"Map\",\"prototype\"],\"%NumberPrototype%\":[\"Number\",\"prototype\"],\"%ObjectPrototype%\":[\"Object\",\"prototype\"],\"%ObjProto_toString%\":[\"Object\",\"prototype\",\"toString\"],\"%ObjProto_valueOf%\":[\"Object\",\"prototype\",\"valueOf\"],\"%PromisePrototype%\":[\"Promise\",\"prototype\"],\"%PromiseProto_then%\":[\"Promise\",\"prototype\",\"then\"],\"%Promise_all%\":[\"Promise\",\"all\"],\"%Promise_reject%\":[\"Promise\",\"reject\"],\"%Promise_resolve%\":[\"Promise\",\"resolve\"],\"%RangeErrorPrototype%\":[\"RangeError\",\"prototype\"],\"%ReferenceErrorPrototype%\":[\"ReferenceError\",\"prototype\"],\"%RegExpPrototype%\":[\"RegExp\",\"prototype\"],\"%SetPrototype%\":[\"Set\",\"prototype\"],\"%SharedArrayBufferPrototype%\":[\"SharedArrayBuffer\",\"prototype\"],\"%StringPrototype%\":[\"String\",\"prototype\"],\"%SymbolPrototype%\":[\"Symbol\",\"prototype\"],\"%SyntaxErrorPrototype%\":[\"SyntaxError\",\"prototype\"],\"%TypedArrayPrototype%\":[\"TypedArray\",\"prototype\"],\"%TypeErrorPrototype%\":[\"TypeError\",\"prototype\"],\"%Uint8ArrayPrototype%\":[\"Uint8Array\",\"prototype\"],\"%Uint8ClampedArrayPrototype%\":[\"Uint8ClampedArray\",\"prototype\"],\"%Uint16ArrayPrototype%\":[\"Uint16Array\",\"prototype\"],\"%Uint32ArrayPrototype%\":[\"Uint32Array\",\"prototype\"],\"%URIErrorPrototype%\":[\"URIError\",\"prototype\"],\"%WeakMapPrototype%\":[\"WeakMap\",\"prototype\"],\"%WeakSetPrototype%\":[\"WeakSet\",\"prototype\"]},O4=B8(),N8=fTe(),$wt=O4.call(Function.call,Array.prototype.concat),Qwt=O4.call(Function.apply,Array.prototype.splice),vTe=O4.call(Function.call,String.prototype.replace),U8=O4.call(Function.call,String.prototype.slice),e3t=O4.call(Function.call,RegExp.prototype.exec),t3t=/[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g,r3t=/\\\\(\\\\)?/g,i3t=function(t){var r=U8(t,0,1),n=U8(t,-1);if(r===\"%\"&&n!==\"%\")throw new e5(\"invalid intrinsic syntax, expected closing `%`\");if(n===\"%\"&&r!==\"%\")throw new e5(\"invalid intrinsic syntax, expected opening `%`\");var i=[];return vTe(t,t3t,function(a,o,s,l){i[i.length]=s?vTe(l,r3t,\"$1\"):o||a}),i},n3t=function(t,r){var n=t,i;if(N8(dTe,n)&&(i=dTe[n],n=\"%\"+i[0]+\"%\"),N8(f2,n)){var a=f2[n];if(a===$T&&(a=Jwt(n)),typeof a==\"undefined\"&&!r)throw new QT(\"intrinsic \"+t+\" exists, but is not available. Please file an issue!\");return{alias:i,name:n,value:a}}throw new e5(\"intrinsic \"+t+\" does not exist!\")};gTe.exports=function(t,r){if(typeof t!=\"string\"||t.length===0)throw new QT(\"intrinsic name must be a non-empty string\");if(arguments.length>1&&typeof r!=\"boolean\")throw new QT('\"allowMissing\" argument must be a boolean');if(e3t(/^%?[^%]*%?$/,t)===null)throw new e5(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");var n=i3t(t),i=n.length>0?n[0]:\"\",a=n3t(\"%\"+i+\"%\",r),o=a.name,s=a.value,l=!1,u=a.alias;u&&(i=u[0],Qwt(n,$wt([0,1],u)));for(var c=1,f=!0;c=n.length){var x=c2(s,h);f=!!x,f&&\"get\"in x&&!(\"originalValue\"in x.get)?s=x.get:s=s[h]}else f=N8(s,h),s=s[h];f&&!l&&(f2[o]=s)}}return s}});var H8=ye((Sur,mTe)=>{\"use strict\";var a3t=t5(),V8=a3t(\"%Object.defineProperty%\",!0)||!1;if(V8)try{V8({},\"a\",{value:1})}catch(e){V8=!1}mTe.exports=V8});var B4=ye((Mur,yTe)=>{\"use strict\";var o3t=t5(),G8=o3t(\"%Object.getOwnPropertyDescriptor%\",!0);if(G8)try{G8([],\"length\")}catch(e){G8=null}yTe.exports=G8});var wTe=ye((Eur,bTe)=>{\"use strict\";var _Te=H8(),s3t=vG(),r5=q4(),xTe=B4();bTe.exports=function(t,r,n){if(!t||typeof t!=\"object\"&&typeof t!=\"function\")throw new r5(\"`obj` must be an object or a function`\");if(typeof r!=\"string\"&&typeof r!=\"symbol\")throw new r5(\"`property` must be a string or a symbol`\");if(arguments.length>3&&typeof arguments[3]!=\"boolean\"&&arguments[3]!==null)throw new r5(\"`nonEnumerable`, if provided, must be a boolean or null\");if(arguments.length>4&&typeof arguments[4]!=\"boolean\"&&arguments[4]!==null)throw new r5(\"`nonWritable`, if provided, must be a boolean or null\");if(arguments.length>5&&typeof arguments[5]!=\"boolean\"&&arguments[5]!==null)throw new r5(\"`nonConfigurable`, if provided, must be a boolean or null\");if(arguments.length>6&&typeof arguments[6]!=\"boolean\")throw new r5(\"`loose`, if provided, must be a boolean\");var i=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,o=arguments.length>5?arguments[5]:null,s=arguments.length>6?arguments[6]:!1,l=!!xTe&&xTe(t,r);if(_Te)_Te(t,r,{configurable:o===null&&l?l.configurable:!o,enumerable:i===null&&l?l.enumerable:!i,value:n,writable:a===null&&l?l.writable:!a});else if(s||!i&&!a&&!o)t[r]=n;else throw new s3t(\"This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.\")}});var yG=ye((kur,ATe)=>{\"use strict\";var mG=H8(),TTe=function(){return!!mG};TTe.hasArrayLengthDefineBug=function(){if(!mG)return null;try{return mG([],\"length\",{value:1}).length!==1}catch(t){return!0}};ATe.exports=TTe});var CTe=ye((Cur,kTe)=>{\"use strict\";var l3t=t5(),STe=wTe(),u3t=yG()(),MTe=B4(),ETe=q4(),c3t=l3t(\"%Math.floor%\");kTe.exports=function(t,r){if(typeof t!=\"function\")throw new ETe(\"`fn` is not a function\");if(typeof r!=\"number\"||r<0||r>4294967295||c3t(r)!==r)throw new ETe(\"`length` must be a positive 32-bit integer\");var n=arguments.length>2&&!!arguments[2],i=!0,a=!0;if(\"length\"in t&&MTe){var o=MTe(t,\"length\");o&&!o.configurable&&(i=!1),o&&!o.writable&&(a=!1)}return(i||a||!n)&&(u3t?STe(t,\"length\",r,!0,!0):STe(t,\"length\",r)),t}});var N4=ye((Lur,j8)=>{\"use strict\";var _G=B8(),W8=t5(),f3t=CTe(),h3t=q4(),ITe=W8(\"%Function.prototype.apply%\"),RTe=W8(\"%Function.prototype.call%\"),DTe=W8(\"%Reflect.apply%\",!0)||_G.call(RTe,ITe),LTe=H8(),d3t=W8(\"%Math.max%\");j8.exports=function(t){if(typeof t!=\"function\")throw new h3t(\"a function is required\");var r=DTe(_G,RTe,arguments);return f3t(r,1+d3t(0,t.length-(arguments.length-1)),!0)};var PTe=function(){return DTe(_G,ITe,arguments)};LTe?LTe(j8.exports,\"apply\",{value:PTe}):j8.exports.apply=PTe});var i5=ye((Pur,qTe)=>{\"use strict\";var zTe=t5(),FTe=N4(),v3t=FTe(zTe(\"String.prototype.indexOf\"));qTe.exports=function(t,r){var n=zTe(t,!!r);return typeof n==\"function\"&&v3t(t,\".prototype.\")>-1?FTe(n):n}});var NTe=ye((Iur,BTe)=>{\"use strict\";var p3t=F4()(),g3t=i5(),xG=g3t(\"Object.prototype.toString\"),Z8=function(t){return p3t&&t&&typeof t==\"object\"&&Symbol.toStringTag in t?!1:xG(t)===\"[object Arguments]\"},OTe=function(t){return Z8(t)?!0:t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&xG(t)!==\"[object Array]\"&&xG(t.callee)===\"[object Function]\"},m3t=function(){return Z8(arguments)}();Z8.isLegacyArguments=OTe;BTe.exports=m3t?Z8:OTe});var HTe=ye((Rur,VTe)=>{\"use strict\";var y3t=Object.prototype.toString,_3t=Function.prototype.toString,x3t=/^\\s*(?:function)?\\*/,UTe=F4()(),bG=Object.getPrototypeOf,b3t=function(){if(!UTe)return!1;try{return Function(\"return function*() {}\")()}catch(e){}},wG;VTe.exports=function(t){if(typeof t!=\"function\")return!1;if(x3t.test(_3t.call(t)))return!0;if(!UTe){var r=y3t.call(t);return r===\"[object GeneratorFunction]\"}if(!bG)return!1;if(typeof wG==\"undefined\"){var n=b3t();wG=n?bG(n):!1}return bG(t)===wG}});var ZTe=ye((Dur,WTe)=>{\"use strict\";var jTe=Function.prototype.toString,n5=typeof Reflect==\"object\"&&Reflect!==null&&Reflect.apply,AG,X8;if(typeof n5==\"function\"&&typeof Object.defineProperty==\"function\")try{AG=Object.defineProperty({},\"length\",{get:function(){throw X8}}),X8={},n5(function(){throw 42},null,AG)}catch(e){e!==X8&&(n5=null)}else n5=null;var w3t=/^\\s*class\\b/,SG=function(t){try{var r=jTe.call(t);return w3t.test(r)}catch(n){return!1}},TG=function(t){try{return SG(t)?!1:(jTe.call(t),!0)}catch(r){return!1}},Y8=Object.prototype.toString,T3t=\"[object Object]\",A3t=\"[object Function]\",S3t=\"[object GeneratorFunction]\",M3t=\"[object HTMLAllCollection]\",E3t=\"[object HTML document.all class]\",k3t=\"[object HTMLCollection]\",C3t=typeof Symbol==\"function\"&&!!Symbol.toStringTag,L3t=!(0 in[,]),MG=function(){return!1};typeof document==\"object\"&&(GTe=document.all,Y8.call(GTe)===Y8.call(document.all)&&(MG=function(t){if((L3t||!t)&&(typeof t==\"undefined\"||typeof t==\"object\"))try{var r=Y8.call(t);return(r===M3t||r===E3t||r===k3t||r===T3t)&&t(\"\")==null}catch(n){}return!1}));var GTe;WTe.exports=n5?function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;try{n5(t,null,AG)}catch(r){if(r!==X8)return!1}return!SG(t)&&TG(t)}:function(t){if(MG(t))return!0;if(!t||typeof t!=\"function\"&&typeof t!=\"object\")return!1;if(C3t)return TG(t);if(SG(t))return!1;var r=Y8.call(t);return r!==A3t&&r!==S3t&&!/^\\[object HTML/.test(r)?!1:TG(t)}});var EG=ye((zur,YTe)=>{\"use strict\";var P3t=ZTe(),I3t=Object.prototype.toString,XTe=Object.prototype.hasOwnProperty,R3t=function(t,r,n){for(var i=0,a=t.length;i=3&&(i=n),I3t.call(t)===\"[object Array]\"?R3t(t,r,i):typeof t==\"string\"?D3t(t,r,i):z3t(t,r,i)};YTe.exports=F3t});var CG=ye((Fur,KTe)=>{\"use strict\";var kG=[\"BigInt64Array\",\"BigUint64Array\",\"Float32Array\",\"Float64Array\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\"],q3t=typeof globalThis==\"undefined\"?window:globalThis;KTe.exports=function(){for(var t=[],r=0;r{\"use strict\";var J8=EG(),O3t=CG(),JTe=N4(),IG=i5(),K8=B4(),B3t=IG(\"Object.prototype.toString\"),QTe=F4()(),$Te=typeof globalThis==\"undefined\"?window:globalThis,PG=O3t(),RG=IG(\"String.prototype.slice\"),LG=Object.getPrototypeOf,N3t=IG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n-1?r:r!==\"Object\"?!1:V3t(t)}return K8?U3t(t):null}});var s5e=ye((Our,o5e)=>{\"use strict\";var r5e=EG(),H3t=CG(),zG=i5(),G3t=zG(\"Object.prototype.toString\"),i5e=F4()(),Q8=B4(),j3t=typeof globalThis==\"undefined\"?window:globalThis,n5e=H3t(),W3t=zG(\"Array.prototype.indexOf\",!0)||function(t,r){for(var n=0;n-1}return Q8?X3t(t):!1}});var OG=ye(Ol=>{\"use strict\";var Y3t=NTe(),K3t=HTe(),Hg=t5e(),l5e=s5e();function a5(e){return e.call.bind(e)}var u5e=typeof BigInt!=\"undefined\",c5e=typeof Symbol!=\"undefined\",X0=a5(Object.prototype.toString),J3t=a5(Number.prototype.valueOf),$3t=a5(String.prototype.valueOf),Q3t=a5(Boolean.prototype.valueOf);u5e&&(f5e=a5(BigInt.prototype.valueOf));var f5e;c5e&&(h5e=a5(Symbol.prototype.valueOf));var h5e;function V4(e,t){if(typeof e!=\"object\")return!1;try{return t(e),!0}catch(r){return!1}}Ol.isArgumentsObject=Y3t;Ol.isGeneratorFunction=K3t;Ol.isTypedArray=l5e;function eTt(e){return typeof Promise!=\"undefined\"&&e instanceof Promise||e!==null&&typeof e==\"object\"&&typeof e.then==\"function\"&&typeof e.catch==\"function\"}Ol.isPromise=eTt;function tTt(e){return typeof ArrayBuffer!=\"undefined\"&&ArrayBuffer.isView?ArrayBuffer.isView(e):l5e(e)||v5e(e)}Ol.isArrayBufferView=tTt;function rTt(e){return Hg(e)===\"Uint8Array\"}Ol.isUint8Array=rTt;function iTt(e){return Hg(e)===\"Uint8ClampedArray\"}Ol.isUint8ClampedArray=iTt;function nTt(e){return Hg(e)===\"Uint16Array\"}Ol.isUint16Array=nTt;function aTt(e){return Hg(e)===\"Uint32Array\"}Ol.isUint32Array=aTt;function oTt(e){return Hg(e)===\"Int8Array\"}Ol.isInt8Array=oTt;function sTt(e){return Hg(e)===\"Int16Array\"}Ol.isInt16Array=sTt;function lTt(e){return Hg(e)===\"Int32Array\"}Ol.isInt32Array=lTt;function uTt(e){return Hg(e)===\"Float32Array\"}Ol.isFloat32Array=uTt;function cTt(e){return Hg(e)===\"Float64Array\"}Ol.isFloat64Array=cTt;function fTt(e){return Hg(e)===\"BigInt64Array\"}Ol.isBigInt64Array=fTt;function hTt(e){return Hg(e)===\"BigUint64Array\"}Ol.isBigUint64Array=hTt;function eR(e){return X0(e)===\"[object Map]\"}eR.working=typeof Map!=\"undefined\"&&eR(new Map);function dTt(e){return typeof Map==\"undefined\"?!1:eR.working?eR(e):e instanceof Map}Ol.isMap=dTt;function tR(e){return X0(e)===\"[object Set]\"}tR.working=typeof Set!=\"undefined\"&&tR(new Set);function vTt(e){return typeof Set==\"undefined\"?!1:tR.working?tR(e):e instanceof Set}Ol.isSet=vTt;function rR(e){return X0(e)===\"[object WeakMap]\"}rR.working=typeof WeakMap!=\"undefined\"&&rR(new WeakMap);function pTt(e){return typeof WeakMap==\"undefined\"?!1:rR.working?rR(e):e instanceof WeakMap}Ol.isWeakMap=pTt;function qG(e){return X0(e)===\"[object WeakSet]\"}qG.working=typeof WeakSet!=\"undefined\"&&qG(new WeakSet);function gTt(e){return qG(e)}Ol.isWeakSet=gTt;function iR(e){return X0(e)===\"[object ArrayBuffer]\"}iR.working=typeof ArrayBuffer!=\"undefined\"&&iR(new ArrayBuffer);function d5e(e){return typeof ArrayBuffer==\"undefined\"?!1:iR.working?iR(e):e instanceof ArrayBuffer}Ol.isArrayBuffer=d5e;function nR(e){return X0(e)===\"[object DataView]\"}nR.working=typeof ArrayBuffer!=\"undefined\"&&typeof DataView!=\"undefined\"&&nR(new DataView(new ArrayBuffer(1),0,1));function v5e(e){return typeof DataView==\"undefined\"?!1:nR.working?nR(e):e instanceof DataView}Ol.isDataView=v5e;var FG=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:void 0;function U4(e){return X0(e)===\"[object SharedArrayBuffer]\"}function p5e(e){return typeof FG==\"undefined\"?!1:(typeof U4.working==\"undefined\"&&(U4.working=U4(new FG)),U4.working?U4(e):e instanceof FG)}Ol.isSharedArrayBuffer=p5e;function mTt(e){return X0(e)===\"[object AsyncFunction]\"}Ol.isAsyncFunction=mTt;function yTt(e){return X0(e)===\"[object Map Iterator]\"}Ol.isMapIterator=yTt;function _Tt(e){return X0(e)===\"[object Set Iterator]\"}Ol.isSetIterator=_Tt;function xTt(e){return X0(e)===\"[object Generator]\"}Ol.isGeneratorObject=xTt;function bTt(e){return X0(e)===\"[object WebAssembly.Module]\"}Ol.isWebAssemblyCompiledModule=bTt;function g5e(e){return V4(e,J3t)}Ol.isNumberObject=g5e;function m5e(e){return V4(e,$3t)}Ol.isStringObject=m5e;function y5e(e){return V4(e,Q3t)}Ol.isBooleanObject=y5e;function _5e(e){return u5e&&V4(e,f5e)}Ol.isBigIntObject=_5e;function x5e(e){return c5e&&V4(e,h5e)}Ol.isSymbolObject=x5e;function wTt(e){return g5e(e)||m5e(e)||y5e(e)||_5e(e)||x5e(e)}Ol.isBoxedPrimitive=wTt;function TTt(e){return typeof Uint8Array!=\"undefined\"&&(d5e(e)||p5e(e))}Ol.isAnyArrayBuffer=TTt;[\"isProxy\",\"isExternal\",\"isModuleNamespaceObject\"].forEach(function(e){Object.defineProperty(Ol,e,{enumerable:!1,value:function(){throw new Error(e+\" is not supported in userland\")}})})});var BG=ye((Nur,b5e)=>{b5e.exports=function(t){return t&&typeof t==\"object\"&&typeof t.copy==\"function\"&&typeof t.fill==\"function\"&&typeof t.readUInt8==\"function\"}});var jG=ye(Bl=>{var w5e=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),HG(t)?r.showHidden=t:t&&Bl._extend(r,t),d2(r.showHidden)&&(r.showHidden=!1),d2(r.depth)&&(r.depth=2),d2(r.colors)&&(r.colors=!1),d2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=STt),lR(r,e,r.depth)}Bl.inspect=I_;I_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};I_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function STt(e,t){var r=I_.styles[t];return r?\"\\x1B[\"+I_.colors[r][0]+\"m\"+e+\"\\x1B[\"+I_.colors[r][1]+\"m\":e}function MTt(e,t){return e}function ETt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function lR(e,t,r){if(e.customInspect&&t&&sR(t.inspect)&&t.inspect!==Bl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return fR(n)||(n=lR(e,n,r)),n}var i=kTt(e,t);if(i)return i;var a=Object.keys(t),o=ETt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),G4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return NG(t);if(a.length===0){if(sR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if(H4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(uR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(G4(t))return NG(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(A5e(t)&&(u=!0,c=[\"[\",\"]\"]),sR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if(H4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),uR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),G4(t)&&(l=\" \"+NG(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return H4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=CTt(e,t,r,o,a):h=a.map(function(d){return VG(e,t,r,o,d,u)}),e.seen.pop(),LTt(h,l,c)}function kTt(e,t){if(d2(t))return e.stylize(\"undefined\",\"undefined\");if(fR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(S5e(t))return e.stylize(\"\"+t,\"number\");if(HG(t))return e.stylize(\"\"+t,\"boolean\");if(cR(t))return e.stylize(\"null\",\"null\")}function NG(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function CTt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(`\n", + "`).map(function(u){return\" \"+u}).join(`\n", + "`).slice(2):s=`\n", + "`+s.split(`\n", + "`).map(function(u){return\" \"+u}).join(`\n", + "`))):s=e.stylize(\"[Circular]\",\"special\")),d2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function LTt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", + "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", + " `)+\" \"+e.join(`,\n", + " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Bl.types=OG();function A5e(e){return Array.isArray(e)}Bl.isArray=A5e;function HG(e){return typeof e==\"boolean\"}Bl.isBoolean=HG;function cR(e){return e===null}Bl.isNull=cR;function PTt(e){return e==null}Bl.isNullOrUndefined=PTt;function S5e(e){return typeof e==\"number\"}Bl.isNumber=S5e;function fR(e){return typeof e==\"string\"}Bl.isString=fR;function ITt(e){return typeof e==\"symbol\"}Bl.isSymbol=ITt;function d2(e){return e===void 0}Bl.isUndefined=d2;function H4(e){return o5(e)&&GG(e)===\"[object RegExp]\"}Bl.isRegExp=H4;Bl.types.isRegExp=H4;function o5(e){return typeof e==\"object\"&&e!==null}Bl.isObject=o5;function uR(e){return o5(e)&&GG(e)===\"[object Date]\"}Bl.isDate=uR;Bl.types.isDate=uR;function G4(e){return o5(e)&&(GG(e)===\"[object Error]\"||e instanceof Error)}Bl.isError=G4;Bl.types.isNativeError=G4;function sR(e){return typeof e==\"function\"}Bl.isFunction=sR;function RTt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Bl.isPrimitive=RTt;Bl.isBuffer=BG();function GG(e){return Object.prototype.toString.call(e)}function UG(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var DTt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function zTt(){var e=new Date,t=[UG(e.getHours()),UG(e.getMinutes()),UG(e.getSeconds())].join(\":\");return[e.getDate(),DTt[e.getMonth()],t].join(\" \")}Bl.log=function(){console.log(\"%s - %s\",zTt(),Bl.format.apply(Bl,arguments))};Bl.inherits=Uy();Bl._extend=function(e,t){if(!t||!o5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function M5e(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var h2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Bl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(h2&&t[h2]){var r=t[h2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,h2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{\"use strict\";function E5e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function OTt(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:\"unshift\",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:\"shift\",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:\"clear\",value:function(){this.head=this.tail=null,this.length=0}},{key:\"join\",value:function(r){if(this.length===0)return\"\";for(var n=this.head,i=\"\"+n.data;n=n.next;)i+=r+n.data;return i}},{key:\"concat\",value:function(r){if(this.length===0)return hR.alloc(0);for(var n=hR.allocUnsafe(r>>>0),i=this.head,a=0;i;)jTt(i.data,n,a),a+=i.data.length,i=i.next;return n}},{key:\"consume\",value:function(r,n){var i;return ro.length?o.length:r;if(s===o.length?a+=o:a+=o.slice(0,r),r-=s,r===0){s===o.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=o.slice(s));break}++i}return this.length-=i,a}},{key:\"_getBuffer\",value:function(r){var n=hR.allocUnsafe(r),i=this.head,a=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var o=i.data,s=r>o.length?o.length:r;if(o.copy(n,n.length-r,0,s),r-=s,r===0){s===o.length?(++a,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=o.slice(s));break}++a}return this.length-=a,n}},{key:GTt,value:function(r,n){return WG(this,OTt({},n,{depth:0,customInspect:!1}))}}]),e}()});var XG=ye((Hur,I5e)=>{\"use strict\";function WTt(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(ZG,this,e)):process.nextTick(ZG,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(a){!t&&a?r._writableState?r._writableState.errorEmitted?process.nextTick(dR,r):(r._writableState.errorEmitted=!0,process.nextTick(P5e,r,a)):process.nextTick(P5e,r,a):t?(process.nextTick(dR,r),t(a)):process.nextTick(dR,r)}),this)}function P5e(e,t){ZG(e,t),dR(e)}function dR(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit(\"close\")}function ZTt(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function ZG(e,t){e.emit(\"error\",t)}function XTt(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit(\"error\",t)}I5e.exports={destroy:WTt,undestroy:ZTt,errorOrDestroy:XTt}});var v2=ye((Gur,z5e)=>{\"use strict\";function YTt(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}var D5e={};function Y0(e,t,r){r||(r=Error);function n(a,o,s){return typeof t==\"string\"?t:t(a,o,s)}var i=function(a){YTt(o,a);function o(s,l,u){return a.call(this,n(s,l,u))||this}return o}(r);i.prototype.name=r.name,i.prototype.code=e,D5e[e]=i}function R5e(e,t){if(Array.isArray(e)){var r=e.length;return e=e.map(function(n){return String(n)}),r>2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function KTt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function JTt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function $Tt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}Y0(\"ERR_INVALID_OPT_VALUE\",function(e,t){return'The value \"'+t+'\" is invalid for option \"'+e+'\"'},TypeError);Y0(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){var n;typeof t==\"string\"&&KTt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(JTt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(R5e(t,\"type\"));else{var a=$Tt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(R5e(t,\"type\"))}return i+=\". Received type \".concat(typeof r),i},TypeError);Y0(\"ERR_STREAM_PUSH_AFTER_EOF\",\"stream.push() after EOF\");Y0(\"ERR_METHOD_NOT_IMPLEMENTED\",function(e){return\"The \"+e+\" method is not implemented\"});Y0(\"ERR_STREAM_PREMATURE_CLOSE\",\"Premature close\");Y0(\"ERR_STREAM_DESTROYED\",function(e){return\"Cannot call \"+e+\" after a stream was destroyed\"});Y0(\"ERR_MULTIPLE_CALLBACK\",\"Callback called multiple times\");Y0(\"ERR_STREAM_CANNOT_PIPE\",\"Cannot pipe, not readable\");Y0(\"ERR_STREAM_WRITE_AFTER_END\",\"write after end\");Y0(\"ERR_STREAM_NULL_VALUES\",\"May not write null values to stream\",TypeError);Y0(\"ERR_UNKNOWN_ENCODING\",function(e){return\"Unknown encoding: \"+e},TypeError);Y0(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\",\"stream.unshift() after end event\");z5e.exports.codes=D5e});var YG=ye((jur,F5e)=>{\"use strict\";var QTt=v2().codes.ERR_INVALID_OPT_VALUE;function e5t(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function t5t(e,t,r,n){var i=e5t(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var a=n?r:\"highWaterMark\";throw new QTt(a,i)}return Math.floor(i)}return e.objectMode?16:16*1024}F5e.exports={getHighWaterMark:t5t}});var O5e=ye((Wur,q5e)=>{q5e.exports=r5t;function r5t(e,t){if(KG(\"noDeprecation\"))return e;var r=!1;function n(){if(!r){if(KG(\"throwDeprecation\"))throw new Error(t);KG(\"traceDeprecation\")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}return n}function KG(e){try{if(!window.localStorage)return!1}catch(r){return!1}var t=window.localStorage[e];return t==null?!1:String(t).toLowerCase()===\"true\"}});var QG=ye((Zur,G5e)=>{\"use strict\";G5e.exports=_h;function N5e(e){var t=this;this.next=null,this.entry=null,this.finish=function(){C5t(t,e)}}var s5;_h.WritableState=W4;var i5t={deprecate:O5e()},U5e=iG(),pR=u2().Buffer,n5t=window.Uint8Array||function(){};function a5t(e){return pR.from(e)}function o5t(e){return pR.isBuffer(e)||e instanceof n5t}var $G=XG(),s5t=YG(),l5t=s5t.getHighWaterMark,R_=v2().codes,u5t=R_.ERR_INVALID_ARG_TYPE,c5t=R_.ERR_METHOD_NOT_IMPLEMENTED,f5t=R_.ERR_MULTIPLE_CALLBACK,h5t=R_.ERR_STREAM_CANNOT_PIPE,d5t=R_.ERR_STREAM_DESTROYED,v5t=R_.ERR_STREAM_NULL_VALUES,p5t=R_.ERR_STREAM_WRITE_AFTER_END,g5t=R_.ERR_UNKNOWN_ENCODING,l5=$G.errorOrDestroy;Uy()(_h,U5e);function m5t(){}function W4(e,t,r){s5=s5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof s5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=l5t(this,e,\"writableHighWaterMark\",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){A5t(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new N5e(this)}W4.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(W4.prototype,\"buffer\",{get:i5t.deprecate(function(){return this.getBuffer()},\"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\",\"DEP0003\")})}catch(e){}})();var vR;typeof Symbol==\"function\"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==\"function\"?(vR=Function.prototype[Symbol.hasInstance],Object.defineProperty(_h,Symbol.hasInstance,{value:function(t){return vR.call(this,t)?!0:this!==_h?!1:t&&t._writableState instanceof W4}})):vR=function(t){return t instanceof this};function _h(e){s5=s5||p2();var t=this instanceof s5;if(!t&&!vR.call(_h,this))return new _h(e);this._writableState=new W4(e,this,t),this.writable=!0,e&&(typeof e.write==\"function\"&&(this._write=e.write),typeof e.writev==\"function\"&&(this._writev=e.writev),typeof e.destroy==\"function\"&&(this._destroy=e.destroy),typeof e.final==\"function\"&&(this._final=e.final)),U5e.call(this)}_h.prototype.pipe=function(){l5(this,new h5t)};function y5t(e,t){var r=new p5t;l5(e,r),process.nextTick(t,r)}function _5t(e,t,r,n){var i;return r===null?i=new v5t:typeof r!=\"string\"&&!t.objectMode&&(i=new u5t(\"chunk\",[\"string\",\"Buffer\"],r)),i?(l5(e,i),process.nextTick(n,i),!1):!0}_h.prototype.write=function(e,t,r){var n=this._writableState,i=!1,a=!n.objectMode&&o5t(e);return a&&!pR.isBuffer(e)&&(e=a5t(e)),typeof t==\"function\"&&(r=t,t=null),a?t=\"buffer\":t||(t=n.defaultEncoding),typeof r!=\"function\"&&(r=m5t),n.ending?y5t(this,r):(a||_5t(this,n,e,r))&&(n.pendingcb++,i=b5t(this,n,a,e,t,r)),i};_h.prototype.cork=function(){this._writableState.corked++};_h.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&V5e(this,e))};_h.prototype.setDefaultEncoding=function(t){if(typeof t==\"string\"&&(t=t.toLowerCase()),!([\"hex\",\"utf8\",\"utf-8\",\"ascii\",\"binary\",\"base64\",\"ucs2\",\"ucs-2\",\"utf16le\",\"utf-16le\",\"raw\"].indexOf((t+\"\").toLowerCase())>-1))throw new g5t(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(_h.prototype,\"writableBuffer\",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function x5t(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t==\"string\"&&(t=pR.from(t,r)),t}Object.defineProperty(_h.prototype,\"writableHighWaterMark\",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function b5t(e,t,r,n,i,a){if(!r){var o=x5t(t,n,i);n!==o&&(r=!0,i=\"buffer\",n=o)}var s=t.objectMode?1:n.length;t.length+=s;var l=t.length{\"use strict\";var L5t=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};W5e.exports=Om;var j5e=rj(),tj=QG();Uy()(Om,j5e);for(ej=L5t(tj.prototype),gR=0;gR{var yR=u2(),Bm=yR.Buffer;function Z5e(e,t){for(var r in e)t[r]=e[r]}Bm.from&&Bm.alloc&&Bm.allocUnsafe&&Bm.allocUnsafeSlow?X5e.exports=yR:(Z5e(yR,ij),ij.Buffer=g2);function g2(e,t,r){return Bm(e,t,r)}g2.prototype=Object.create(Bm.prototype);Z5e(Bm,g2);g2.from=function(e,t,r){if(typeof e==\"number\")throw new TypeError(\"Argument must not be a number\");return Bm(e,t,r)};g2.alloc=function(e,t,r){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");var n=Bm(e);return t!==void 0?typeof r==\"string\"?n.fill(t,r):n.fill(t):n.fill(0),n};g2.allocUnsafe=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return Bm(e)};g2.allocUnsafeSlow=function(e){if(typeof e!=\"number\")throw new TypeError(\"Argument must be a number\");return yR.SlowBuffer(e)}});var oj=ye(J5e=>{\"use strict\";var aj=Y5e().Buffer,K5e=aj.isEncoding||function(e){switch(e=\"\"+e,e&&e.toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":case\"raw\":return!0;default:return!1}};function R5t(e){if(!e)return\"utf8\";for(var t;;)switch(e){case\"utf8\":case\"utf-8\":return\"utf8\";case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return\"utf16le\";case\"latin1\":case\"binary\":return\"latin1\";case\"base64\":case\"ascii\":case\"hex\":return e;default:if(t)return;e=(\"\"+e).toLowerCase(),t=!0}}function D5t(e){var t=R5t(e);if(typeof t!=\"string\"&&(aj.isEncoding===K5e||!K5e(e)))throw new Error(\"Unknown encoding: \"+e);return t||e}J5e.StringDecoder=Z4;function Z4(e){this.encoding=D5t(e);var t;switch(this.encoding){case\"utf16le\":this.text=N5t,this.end=U5t,t=4;break;case\"utf8\":this.fillLast=q5t,t=4;break;case\"base64\":this.text=V5t,this.end=H5t,t=3;break;default:this.write=G5t,this.end=j5t;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=aj.allocUnsafe(t)}Z4.prototype.write=function(e){if(e.length===0)return\"\";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return\"\";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function z5t(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function F5t(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,\"\\uFFFD\";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,\"\\uFFFD\";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,\"\\uFFFD\"}}function q5t(e){var t=this.lastTotal-this.lastNeed,r=F5t(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function O5t(e,t){var r=z5t(this,e,t);if(!this.lastNeed)return e.toString(\"utf8\",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString(\"utf8\",t,n)}function B5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+\"\\uFFFD\":t}function N5t(e,t){if((e.length-t)%2===0){var r=e.toString(\"utf16le\",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString(\"utf16le\",t,e.length-1)}function U5t(e){var t=e&&e.length?this.write(e):\"\";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString(\"utf16le\",0,r)}return t}function V5t(e,t){var r=(e.length-t)%3;return r===0?e.toString(\"base64\",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString(\"base64\",t,e.length-r))}function H5t(e){var t=e&&e.length?this.write(e):\"\";return this.lastNeed?t+this.lastChar.toString(\"base64\",0,3-this.lastNeed):t}function G5t(e){return e.toString(this.encoding)}function j5t(e){return e&&e.length?this.write(e):\"\"}});var _R=ye((Kur,eAe)=>{\"use strict\";var $5e=v2().codes.ERR_STREAM_PREMATURE_CLOSE;function W5t(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{\"use strict\";var xR;function D_(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Y5t=_R(),z_=Symbol(\"lastResolve\"),m2=Symbol(\"lastReject\"),X4=Symbol(\"error\"),bR=Symbol(\"ended\"),y2=Symbol(\"lastPromise\"),sj=Symbol(\"handlePromise\"),_2=Symbol(\"stream\");function F_(e,t){return{value:e,done:t}}function K5t(e){var t=e[z_];if(t!==null){var r=e[_2].read();r!==null&&(e[y2]=null,e[z_]=null,e[m2]=null,t(F_(r,!1)))}}function J5t(e){process.nextTick(K5t,e)}function $5t(e,t){return function(r,n){e.then(function(){if(t[bR]){r(F_(void 0,!0));return}t[sj](r,n)},n)}}var Q5t=Object.getPrototypeOf(function(){}),eAt=Object.setPrototypeOf((xR={get stream(){return this[_2]},next:function(){var t=this,r=this[X4];if(r!==null)return Promise.reject(r);if(this[bR])return Promise.resolve(F_(void 0,!0));if(this[_2].destroyed)return new Promise(function(o,s){process.nextTick(function(){t[X4]?s(t[X4]):o(F_(void 0,!0))})});var n=this[y2],i;if(n)i=new Promise($5t(n,this));else{var a=this[_2].read();if(a!==null)return Promise.resolve(F_(a,!1));i=new Promise(this[sj])}return this[y2]=i,i}},D_(xR,Symbol.asyncIterator,function(){return this}),D_(xR,\"return\",function(){var t=this;return new Promise(function(r,n){t[_2].destroy(null,function(i){if(i){n(i);return}r(F_(void 0,!0))})})}),xR),Q5t),tAt=function(t){var r,n=Object.create(eAt,(r={},D_(r,_2,{value:t,writable:!0}),D_(r,z_,{value:null,writable:!0}),D_(r,m2,{value:null,writable:!0}),D_(r,X4,{value:null,writable:!0}),D_(r,bR,{value:t._readableState.endEmitted,writable:!0}),D_(r,sj,{value:function(a,o){var s=n[_2].read();s?(n[y2]=null,n[z_]=null,n[m2]=null,a(F_(s,!1))):(n[z_]=a,n[m2]=o)},writable:!0}),r));return n[y2]=null,Y5t(t,function(i){if(i&&i.code!==\"ERR_STREAM_PREMATURE_CLOSE\"){var a=n[m2];a!==null&&(n[y2]=null,n[z_]=null,n[m2]=null,a(i)),n[X4]=i;return}var o=n[z_];o!==null&&(n[y2]=null,n[z_]=null,n[m2]=null,o(F_(void 0,!0))),n[bR]=!0}),t.on(\"readable\",J5t.bind(null,n)),n};tAe.exports=tAt});var nAe=ye(($ur,iAe)=>{iAe.exports=function(){throw new Error(\"Readable.from is not available in the browser\")}});var rj=ye((ecr,vAe)=>{\"use strict\";vAe.exports=vu;var u5;vu.ReadableState=lAe;var Qur=vb().EventEmitter,sAe=function(t,r){return t.listeners(r).length},K4=iG(),wR=u2().Buffer,rAt=window.Uint8Array||function(){};function iAt(e){return wR.from(e)}function nAt(e){return wR.isBuffer(e)||e instanceof rAt}var lj=jG(),Pl;lj&&lj.debuglog?Pl=lj.debuglog(\"stream\"):Pl=function(){};var aAt=L5e(),pj=XG(),oAt=YG(),sAt=oAt.getHighWaterMark,TR=v2().codes,lAt=TR.ERR_INVALID_ARG_TYPE,uAt=TR.ERR_STREAM_PUSH_AFTER_EOF,cAt=TR.ERR_METHOD_NOT_IMPLEMENTED,fAt=TR.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,c5,uj,cj;Uy()(vu,K4);var Y4=pj.errorOrDestroy,fj=[\"error\",\"close\",\"destroy\",\"pause\",\"resume\"];function hAt(e,t,r){if(typeof e.prependListener==\"function\")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function lAe(e,t,r){u5=u5||p2(),e=e||{},typeof r!=\"boolean\"&&(r=t instanceof u5),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=sAt(this,e,\"readableHighWaterMark\",r),this.buffer=new aAt,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||\"utf8\",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(c5||(c5=oj().StringDecoder),this.decoder=new c5(e.encoding),this.encoding=e.encoding)}function vu(e){if(u5=u5||p2(),!(this instanceof vu))return new vu(e);var t=this instanceof u5;this._readableState=new lAe(e,this,t),this.readable=!0,e&&(typeof e.read==\"function\"&&(this._read=e.read),typeof e.destroy==\"function\"&&(this._destroy=e.destroy)),K4.call(this)}Object.defineProperty(vu.prototype,\"destroyed\",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});vu.prototype.destroy=pj.destroy;vu.prototype._undestroy=pj.undestroy;vu.prototype._destroy=function(e,t){t(e)};vu.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e==\"string\"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=wR.from(e,t),t=\"\"),n=!0),uAe(this,e,t,!1,n)};vu.prototype.unshift=function(e){return uAe(this,e,null,!0,!1)};function uAe(e,t,r,n,i){Pl(\"readableAddChunk\",t);var a=e._readableState;if(t===null)a.reading=!1,pAt(e,a);else{var o;if(i||(o=dAt(a,t)),o)Y4(e,o);else if(a.objectMode||t&&t.length>0)if(typeof t!=\"string\"&&!a.objectMode&&Object.getPrototypeOf(t)!==wR.prototype&&(t=iAt(t)),n)a.endEmitted?Y4(e,new fAt):hj(e,a,t,!0);else if(a.ended)Y4(e,new uAt);else{if(a.destroyed)return!1;a.reading=!1,a.decoder&&!r?(t=a.decoder.write(t),a.objectMode||t.length!==0?hj(e,a,t,!1):vj(e,a)):hj(e,a,t,!1)}else n||(a.reading=!1,vj(e,a))}return!a.ended&&(a.length=aAe?e=aAe:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function oAe(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=vAt(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}vu.prototype.read=function(e){Pl(\"read\",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return Pl(\"read: emitReadable\",t.length,t.ended),t.length===0&&t.ended?dj(this):AR(this),null;if(e=oAe(e,t),e===0&&t.ended)return t.length===0&&dj(this),null;var n=t.needReadable;Pl(\"need readable\",n),(t.length===0||t.length-e0?i=hAe(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&dj(this)),i!==null&&this.emit(\"data\",i),i};function pAt(e,t){if(Pl(\"onEofChunk\"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?AR(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,cAe(e)))}}function AR(e){var t=e._readableState;Pl(\"emitReadable\",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(Pl(\"emitReadable\",t.flowing),t.emittedReadable=!0,process.nextTick(cAe,e))}function cAe(e){var t=e._readableState;Pl(\"emitReadable_\",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit(\"readable\"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,gj(e)}function vj(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(gAt,e,t))}function gAt(e,t){for(;!t.reading&&!t.ended&&(t.length1&&dAe(n.pipes,e)!==-1)&&!u&&(Pl(\"false write response, pause\",n.awaitDrain),n.awaitDrain++),r.pause())}function h(b){Pl(\"onerror\",b),x(),e.removeListener(\"error\",h),sAe(e,\"error\")===0&&Y4(e,b)}hAt(e,\"error\",h);function d(){e.removeListener(\"finish\",v),x()}e.once(\"close\",d);function v(){Pl(\"onfinish\"),e.removeListener(\"close\",d),x()}e.once(\"finish\",v);function x(){Pl(\"unpipe\"),r.unpipe(e)}return e.emit(\"pipe\",r),n.flowing||(Pl(\"pipe resume\"),r.resume()),e};function mAt(e){return function(){var r=e._readableState;Pl(\"pipeOnDrain\",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&sAe(e,\"data\")&&(r.flowing=!0,gj(e))}}vu.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit(\"unpipe\",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,n.flowing!==!1&&this.resume()):e===\"readable\"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,Pl(\"on readable\",n.length,n.reading),n.length?AR(this):n.reading||process.nextTick(yAt,this)),r};vu.prototype.addListener=vu.prototype.on;vu.prototype.removeListener=function(e,t){var r=K4.prototype.removeListener.call(this,e,t);return e===\"readable\"&&process.nextTick(fAe,this),r};vu.prototype.removeAllListeners=function(e){var t=K4.prototype.removeAllListeners.apply(this,arguments);return(e===\"readable\"||e===void 0)&&process.nextTick(fAe,this),t};function fAe(e){var t=e._readableState;t.readableListening=e.listenerCount(\"readable\")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount(\"data\")>0&&e.resume()}function yAt(e){Pl(\"readable nexttick read 0\"),e.read(0)}vu.prototype.resume=function(){var e=this._readableState;return e.flowing||(Pl(\"resume\"),e.flowing=!e.readableListening,_At(this,e)),e.paused=!1,this};function _At(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(xAt,e,t))}function xAt(e,t){Pl(\"resume\",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit(\"resume\"),gj(e),t.flowing&&!t.reading&&e.read(0)}vu.prototype.pause=function(){return Pl(\"call pause flowing=%j\",this._readableState.flowing),this._readableState.flowing!==!1&&(Pl(\"pause\"),this._readableState.flowing=!1,this.emit(\"pause\")),this._readableState.paused=!0,this};function gj(e){var t=e._readableState;for(Pl(\"flow\",t.flowing);t.flowing&&e.read()!==null;);}vu.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on(\"end\",function(){if(Pl(\"wrapped end\"),r.decoder&&!r.ended){var o=r.decoder.end();o&&o.length&&t.push(o)}t.push(null)}),e.on(\"data\",function(o){if(Pl(\"wrapped data\"),r.decoder&&(o=r.decoder.write(o)),!(r.objectMode&&o==null)&&!(!r.objectMode&&(!o||!o.length))){var s=t.push(o);s||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]==\"function\"&&(this[i]=function(s){return function(){return e[s].apply(e,arguments)}}(i));for(var a=0;a=t.length?(t.decoder?r=t.buffer.join(\"\"):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function dj(e){var t=e._readableState;Pl(\"endReadable\",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(bAt,t,e))}function bAt(e,t){if(Pl(\"endReadableNT\",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit(\"end\"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol==\"function\"&&(vu.from=function(e,t){return cj===void 0&&(cj=nAe()),cj(vu,e,t)});function dAe(e,t){for(var r=0,n=e.length;r{\"use strict\";gAe.exports=Hy;var SR=v2().codes,wAt=SR.ERR_METHOD_NOT_IMPLEMENTED,TAt=SR.ERR_MULTIPLE_CALLBACK,AAt=SR.ERR_TRANSFORM_ALREADY_TRANSFORMING,SAt=SR.ERR_TRANSFORM_WITH_LENGTH_0,MR=p2();Uy()(Hy,MR);function MAt(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit(\"error\",new TAt);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{\"use strict\";yAe.exports=J4;var mAe=mj();Uy()(J4,mAe);function J4(e){if(!(this instanceof J4))return new J4(e);mAe.call(this,e)}J4.prototype._transform=function(e,t,r){r(null,e)}});var AAe=ye((icr,TAe)=>{\"use strict\";var yj;function kAt(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var wAe=v2().codes,CAt=wAe.ERR_MISSING_ARGS,LAt=wAe.ERR_STREAM_DESTROYED;function xAe(e){if(e)throw e}function PAt(e){return e.setHeader&&typeof e.abort==\"function\"}function IAt(e,t,r,n){n=kAt(n);var i=!1;e.on(\"close\",function(){i=!0}),yj===void 0&&(yj=_R()),yj(e,{readable:t,writable:r},function(o){if(o)return n(o);i=!0,n()});var a=!1;return function(o){if(!i&&!a){if(a=!0,PAt(e))return e.abort();if(typeof e.destroy==\"function\")return e.destroy();n(o||new LAt(\"pipe\"))}}}function bAe(e){e()}function RAt(e,t){return e.pipe(t)}function DAt(e){return!e.length||typeof e[e.length-1]!=\"function\"?xAe:e.pop()}function zAt(){for(var e=arguments.length,t=new Array(e),r=0;r0;return IAt(o,l,u,function(c){i||(i=c),c&&a.forEach(bAe),!l&&(a.forEach(bAe),n(i))})});return t.reduce(RAt)}TAe.exports=zAt});var MAe=ye((ncr,SAe)=>{SAe.exports=K0;var _j=vb().EventEmitter,FAt=Uy();FAt(K0,_j);K0.Readable=rj();K0.Writable=QG();K0.Duplex=p2();K0.Transform=mj();K0.PassThrough=_Ae();K0.finished=_R();K0.pipeline=AAe();K0.Stream=K0;function K0(){_j.call(this)}K0.prototype.pipe=function(e,t){var r=this;function n(c){e.writable&&e.write(c)===!1&&r.pause&&r.pause()}r.on(\"data\",n);function i(){r.readable&&r.resume&&r.resume()}e.on(\"drain\",i),!e._isStdio&&(!t||t.end!==!1)&&(r.on(\"end\",o),r.on(\"close\",s));var a=!1;function o(){a||(a=!0,e.end())}function s(){a||(a=!0,typeof e.destroy==\"function\"&&e.destroy())}function l(c){if(u(),_j.listenerCount(this,\"error\")===0)throw c}r.on(\"error\",l),e.on(\"error\",l);function u(){r.removeListener(\"data\",n),e.removeListener(\"drain\",i),r.removeListener(\"end\",o),r.removeListener(\"close\",s),r.removeListener(\"error\",l),e.removeListener(\"error\",l),r.removeListener(\"end\",u),r.removeListener(\"close\",u),e.removeListener(\"close\",u)}return r.on(\"end\",u),r.on(\"close\",u),e.on(\"close\",u),e.emit(\"pipe\",r),e}});var h5=ye(Nl=>{var EAe=Object.getOwnPropertyDescriptors||function(t){for(var r=Object.keys(t),n={},i=0;i=i)return s;switch(s){case\"%s\":return String(n[r++]);case\"%d\":return Number(n[r++]);case\"%j\":try{return JSON.stringify(n[r++])}catch(l){return\"[Circular]\"}default:return s}}),o=n[r];r=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),Tj(t)?r.showHidden=t:t&&Nl._extend(r,t),b2(r.showHidden)&&(r.showHidden=!1),b2(r.depth)&&(r.depth=2),b2(r.colors)&&(r.colors=!1),b2(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=OAt),LR(r,e,r.depth)}Nl.inspect=q_;q_.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};q_.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"};function OAt(e,t){var r=q_.styles[t];return r?\"\\x1B[\"+q_.colors[r][0]+\"m\"+e+\"\\x1B[\"+q_.colors[r][1]+\"m\":e}function BAt(e,t){return e}function NAt(e){var t={};return e.forEach(function(r,n){t[r]=!0}),t}function LR(e,t,r){if(e.customInspect&&t&&CR(t.inspect)&&t.inspect!==Nl.inspect&&!(t.constructor&&t.constructor.prototype===t)){var n=t.inspect(r,e);return RR(n)||(n=LR(e,n,r)),n}var i=UAt(e,t);if(i)return i;var a=Object.keys(t),o=NAt(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),Q4(t)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return xj(t);if(a.length===0){if(CR(t)){var s=t.name?\": \"+t.name:\"\";return e.stylize(\"[Function\"+s+\"]\",\"special\")}if($4(t))return e.stylize(RegExp.prototype.toString.call(t),\"regexp\");if(PR(t))return e.stylize(Date.prototype.toString.call(t),\"date\");if(Q4(t))return xj(t)}var l=\"\",u=!1,c=[\"{\",\"}\"];if(CAe(t)&&(u=!0,c=[\"[\",\"]\"]),CR(t)){var f=t.name?\": \"+t.name:\"\";l=\" [Function\"+f+\"]\"}if($4(t)&&(l=\" \"+RegExp.prototype.toString.call(t)),PR(t)&&(l=\" \"+Date.prototype.toUTCString.call(t)),Q4(t)&&(l=\" \"+xj(t)),a.length===0&&(!u||t.length==0))return c[0]+l+c[1];if(r<0)return $4(t)?e.stylize(RegExp.prototype.toString.call(t),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(t);var h;return u?h=VAt(e,t,r,o,a):h=a.map(function(d){return wj(e,t,r,o,d,u)}),e.seen.pop(),HAt(h,l,c)}function UAt(e,t){if(b2(t))return e.stylize(\"undefined\",\"undefined\");if(RR(t)){var r=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(r,\"string\")}if(LAe(t))return e.stylize(\"\"+t,\"number\");if(Tj(t))return e.stylize(\"\"+t,\"boolean\");if(IR(t))return e.stylize(\"null\",\"null\")}function xj(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function VAt(e,t,r,n,i){for(var a=[],o=0,s=t.length;o-1&&(a?s=s.split(`\n", + "`).map(function(u){return\" \"+u}).join(`\n", + "`).slice(2):s=`\n", + "`+s.split(`\n", + "`).map(function(u){return\" \"+u}).join(`\n", + "`))):s=e.stylize(\"[Circular]\",\"special\")),b2(o)){if(a&&i.match(/^\\d+$/))return s;o=JSON.stringify(\"\"+i),o.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(o=o.slice(1,-1),o=e.stylize(o,\"name\")):(o=o.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),o=e.stylize(o,\"string\"))}return o+\": \"+s}function HAt(e,t,r){var n=0,i=e.reduce(function(a,o){return n++,o.indexOf(`\n", + "`)>=0&&n++,a+o.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return i>60?r[0]+(t===\"\"?\"\":t+`\n", + " `)+\" \"+e.join(`,\n", + " `)+\" \"+r[1]:r[0]+t+\" \"+e.join(\", \")+\" \"+r[1]}Nl.types=OG();function CAe(e){return Array.isArray(e)}Nl.isArray=CAe;function Tj(e){return typeof e==\"boolean\"}Nl.isBoolean=Tj;function IR(e){return e===null}Nl.isNull=IR;function GAt(e){return e==null}Nl.isNullOrUndefined=GAt;function LAe(e){return typeof e==\"number\"}Nl.isNumber=LAe;function RR(e){return typeof e==\"string\"}Nl.isString=RR;function jAt(e){return typeof e==\"symbol\"}Nl.isSymbol=jAt;function b2(e){return e===void 0}Nl.isUndefined=b2;function $4(e){return f5(e)&&Aj(e)===\"[object RegExp]\"}Nl.isRegExp=$4;Nl.types.isRegExp=$4;function f5(e){return typeof e==\"object\"&&e!==null}Nl.isObject=f5;function PR(e){return f5(e)&&Aj(e)===\"[object Date]\"}Nl.isDate=PR;Nl.types.isDate=PR;function Q4(e){return f5(e)&&(Aj(e)===\"[object Error]\"||e instanceof Error)}Nl.isError=Q4;Nl.types.isNativeError=Q4;function CR(e){return typeof e==\"function\"}Nl.isFunction=CR;function WAt(e){return e===null||typeof e==\"boolean\"||typeof e==\"number\"||typeof e==\"string\"||typeof e==\"symbol\"||typeof e==\"undefined\"}Nl.isPrimitive=WAt;Nl.isBuffer=BG();function Aj(e){return Object.prototype.toString.call(e)}function bj(e){return e<10?\"0\"+e.toString(10):e.toString(10)}var ZAt=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function XAt(){var e=new Date,t=[bj(e.getHours()),bj(e.getMinutes()),bj(e.getSeconds())].join(\":\");return[e.getDate(),ZAt[e.getMonth()],t].join(\" \")}Nl.log=function(){console.log(\"%s - %s\",XAt(),Nl.format.apply(Nl,arguments))};Nl.inherits=Uy();Nl._extend=function(e,t){if(!t||!f5(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};function PAe(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var x2=typeof Symbol!=\"undefined\"?Symbol(\"util.promisify.custom\"):void 0;Nl.promisify=function(t){if(typeof t!=\"function\")throw new TypeError('The \"original\" argument must be of type Function');if(x2&&t[x2]){var r=t[x2];if(typeof r!=\"function\")throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(r,x2,{value:r,enumerable:!1,writable:!1,configurable:!0}),r}function r(){for(var n,i,a=new Promise(function(l,u){n=l,i=u}),o=[],s=0;s{\"use strict\";function O_(e){\"@babel/helpers - typeof\";return O_=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},O_(e)}function IAe(e,t){for(var r=0;r2?\"one of \".concat(t,\" \").concat(e.slice(0,r-1).join(\", \"),\", or \")+e[r-1]:r===2?\"one of \".concat(t,\" \").concat(e[0],\" or \").concat(e[1]):\"of \".concat(t,\" \").concat(e[0])}else return\"of \".concat(t,\" \").concat(String(e))}function oSt(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function sSt(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function lSt(e,t,r){return typeof r!=\"number\"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}eE(\"ERR_AMBIGUOUS_ARGUMENT\",'The \"%s\" argument is ambiguous. %s',TypeError);eE(\"ERR_INVALID_ARG_TYPE\",function(e,t,r){d5===void 0&&(d5=tE()),d5(typeof e==\"string\",\"'name' must be a string\");var n;typeof t==\"string\"&&oSt(t,\"not \")?(n=\"must not be\",t=t.replace(/^not /,\"\")):n=\"must be\";var i;if(sSt(e,\" argument\"))i=\"The \".concat(e,\" \").concat(n,\" \").concat(RAe(t,\"type\"));else{var a=lSt(e,\".\")?\"property\":\"argument\";i='The \"'.concat(e,'\" ').concat(a,\" \").concat(n,\" \").concat(RAe(t,\"type\"))}return i+=\". Received type \".concat(O_(r)),i},TypeError);eE(\"ERR_INVALID_ARG_VALUE\",function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:\"is invalid\";Sj===void 0&&(Sj=h5());var n=Sj.inspect(t);return n.length>128&&(n=\"\".concat(n.slice(0,128),\"...\")),\"The argument '\".concat(e,\"' \").concat(r,\". Received \").concat(n)},TypeError,RangeError);eE(\"ERR_INVALID_RETURN_VALUE\",function(e,t,r){var n;return r&&r.constructor&&r.constructor.name?n=\"instance of \".concat(r.constructor.name):n=\"type \".concat(O_(r)),\"Expected \".concat(e,' to be returned from the \"').concat(t,'\"')+\" function but got \".concat(n,\".\")},TypeError);eE(\"ERR_MISSING_ARGS\",function(){for(var e=arguments.length,t=new Array(e),r=0;r0,\"At least one arg needs to be specified\");var n=\"The \",i=t.length;switch(t=t.map(function(a){return'\"'.concat(a,'\"')}),i){case 1:n+=\"\".concat(t[0],\" argument\");break;case 2:n+=\"\".concat(t[0],\" and \").concat(t[1],\" arguments\");break;default:n+=t.slice(0,i-1).join(\", \"),n+=\", and \".concat(t[i-1],\" arguments\");break}return\"\".concat(n,\" must be specified\")},TypeError);zAe.exports.codes=DAe});var jAe=ye((scr,GAe)=>{\"use strict\";function FAe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qAe(e){for(var t=1;te.length)&&(r=e.length),e.substring(r-t.length,r)===t}function _St(e,t){if(t=Math.floor(t),e.length==0||t==0)return\"\";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+=e.substring(0,r-e.length),e}var Gg=\"\",rE=\"\",iE=\"\",xv=\"\",w2={deepStrictEqual:\"Expected values to be strictly deep-equal:\",strictEqual:\"Expected values to be strictly equal:\",strictEqualObject:'Expected \"actual\" to be reference-equal to \"expected\":',deepEqual:\"Expected values to be loosely deep-equal:\",equal:\"Expected values to be loosely equal:\",notDeepStrictEqual:'Expected \"actual\" not to be strictly deep-equal to:',notStrictEqual:'Expected \"actual\" to be strictly unequal to:',notStrictEqualObject:'Expected \"actual\" not to be reference-equal to \"expected\":',notDeepEqual:'Expected \"actual\" not to be loosely deep-equal to:',notEqual:'Expected \"actual\" to be loosely unequal to:',notIdentical:\"Values identical but not reference-equal:\"},xSt=10;function NAe(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(n){r[n]=e[n]}),Object.defineProperty(r,\"message\",{value:e.message}),r}function nE(e){return Lj(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function bSt(e,t,r){var n=\"\",i=\"\",a=0,o=\"\",s=!1,l=nE(e),u=l.split(`\n", + "`),c=nE(t).split(`\n", + "`),f=0,h=\"\";if(r===\"strictEqual\"&&Dp(e)===\"object\"&&Dp(t)===\"object\"&&e!==null&&t!==null&&(r=\"strictEqualObject\"),u.length===1&&c.length===1&&u[0]!==c[0]){var d=u[0].length+c[0].length;if(d<=xSt){if((Dp(e)!==\"object\"||e===null)&&(Dp(t)!==\"object\"||t===null)&&(e!==0||t!==0))return\"\".concat(w2[r],`\n", + "\n", + "`)+\"\".concat(u[0],\" !== \").concat(c[0],`\n", + "`)}else if(r!==\"strictEqualObject\"){var v=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(d2&&(h=`\n", + " `.concat(_St(\" \",f),\"^\"),f=0)}}}for(var x=u[u.length-1],b=c[c.length-1];x===b&&(f++<2?o=`\n", + " `.concat(x).concat(o):n=x,u.pop(),c.pop(),!(u.length===0||c.length===0));)x=u[u.length-1],b=c[c.length-1];var g=Math.max(u.length,c.length);if(g===0){var E=l.split(`\n", + "`);if(E.length>30)for(E[26]=\"\".concat(Gg,\"...\").concat(xv);E.length>27;)E.pop();return\"\".concat(w2.notIdentical,`\n", + "\n", + "`).concat(E.join(`\n", + "`),`\n", + "`)}f>3&&(o=`\n", + "`.concat(Gg,\"...\").concat(xv).concat(o),s=!0),n!==\"\"&&(o=`\n", + " `.concat(n).concat(o),n=\"\");var k=0,A=w2[r]+`\n", + "`.concat(rE,\"+ actual\").concat(xv,\" \").concat(iE,\"- expected\").concat(xv),L=\" \".concat(Gg,\"...\").concat(xv,\" Lines skipped\");for(f=0;f1&&f>2&&(_>4?(i+=`\n", + "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", + " `.concat(c[f-2]),k++),i+=`\n", + " `.concat(c[f-1]),k++),a=f,n+=`\n", + "`.concat(iE,\"-\").concat(xv,\" \").concat(c[f]),k++;else if(c.length1&&f>2&&(_>4?(i+=`\n", + "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", + " `.concat(u[f-2]),k++),i+=`\n", + " `.concat(u[f-1]),k++),a=f,i+=`\n", + "`.concat(rE,\"+\").concat(xv,\" \").concat(u[f]),k++;else{var C=c[f],M=u[f],p=M!==C&&(!BAe(M,\",\")||M.slice(0,-1)!==C);p&&BAe(C,\",\")&&C.slice(0,-1)===M&&(p=!1,M+=\",\"),p?(_>1&&f>2&&(_>4?(i+=`\n", + "`.concat(Gg,\"...\").concat(xv),s=!0):_>3&&(i+=`\n", + " `.concat(u[f-2]),k++),i+=`\n", + " `.concat(u[f-1]),k++),a=f,i+=`\n", + "`.concat(rE,\"+\").concat(xv,\" \").concat(M),n+=`\n", + "`.concat(iE,\"-\").concat(xv,\" \").concat(C),k+=2):(i+=n,n=\"\",(_===1||f===0)&&(i+=`\n", + " `.concat(M),k++))}if(k>20&&f30)for(d[26]=\"\".concat(Gg,\"...\").concat(xv);d.length>27;)d.pop();d.length===1?a=r.call(this,\"\".concat(h,\" \").concat(d[0])):a=r.call(this,\"\".concat(h,`\n", + "\n", + "`).concat(d.join(`\n", + "`),`\n", + "`))}else{var v=nE(u),x=\"\",b=w2[s];s===\"notDeepEqual\"||s===\"notEqual\"?(v=\"\".concat(w2[s],`\n", + "\n", + "`).concat(v),v.length>1024&&(v=\"\".concat(v.slice(0,1021),\"...\"))):(x=\"\".concat(nE(c)),v.length>512&&(v=\"\".concat(v.slice(0,509),\"...\")),x.length>512&&(x=\"\".concat(x.slice(0,509),\"...\")),s===\"deepEqual\"||s===\"equal\"?v=\"\".concat(b,`\n", + "\n", + "`).concat(v,`\n", + "\n", + "should equal\n", + "\n", + "`):x=\" \".concat(s,\" \").concat(x)),a=r.call(this,\"\".concat(v).concat(x))}return Error.stackTraceLimit=f,a.generatedMessage=!o,Object.defineProperty(kj(a),\"name\",{value:\"AssertionError [ERR_ASSERTION]\",enumerable:!1,writable:!0,configurable:!0}),a.code=\"ERR_ASSERTION\",a.actual=u,a.expected=c,a.operator=s,Error.captureStackTrace&&Error.captureStackTrace(kj(a),l),a.stack,a.name=\"AssertionError\",VAe(a)}return fSt(n,[{key:\"toString\",value:function(){return\"\".concat(this.name,\" [\").concat(this.code,\"]: \").concat(this.message)}},{key:t,value:function(a,o){return Lj(this,qAe(qAe({},o),{},{customInspect:!1,depth:0}))}}]),n}(Cj(Error),Lj.custom);GAe.exports=wSt});var Pj=ye((lcr,ZAe)=>{\"use strict\";var WAe=Object.prototype.toString;ZAe.exports=function(t){var r=WAe.call(t),n=r===\"[object Arguments]\";return n||(n=r!==\"[object Array]\"&&t!==null&&typeof t==\"object\"&&typeof t.length==\"number\"&&t.length>=0&&WAe.call(t.callee)===\"[object Function]\"),n}});var rSe=ye((ucr,tSe)=>{\"use strict\";var eSe;Object.keys||(sE=Object.prototype.hasOwnProperty,Ij=Object.prototype.toString,XAe=Pj(),Rj=Object.prototype.propertyIsEnumerable,YAe=!Rj.call({toString:null},\"toString\"),KAe=Rj.call(function(){},\"prototype\"),lE=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],FR=function(e){var t=e.constructor;return t&&t.prototype===e},JAe={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},$Ae=function(){if(typeof window==\"undefined\")return!1;for(var e in window)try{if(!JAe[\"$\"+e]&&sE.call(window,e)&&window[e]!==null&&typeof window[e]==\"object\")try{FR(window[e])}catch(t){return!0}}catch(t){return!0}return!1}(),QAe=function(e){if(typeof window==\"undefined\"||!$Ae)return FR(e);try{return FR(e)}catch(t){return!1}},eSe=function(t){var r=t!==null&&typeof t==\"object\",n=Ij.call(t)===\"[object Function]\",i=XAe(t),a=r&&Ij.call(t)===\"[object String]\",o=[];if(!r&&!n&&!i)throw new TypeError(\"Object.keys called on a non-object\");var s=KAe&&n;if(a&&t.length>0&&!sE.call(t,0))for(var l=0;l0)for(var u=0;u{\"use strict\";var TSt=Array.prototype.slice,ASt=Pj(),iSe=Object.keys,qR=iSe?function(t){return iSe(t)}:rSe(),nSe=Object.keys;qR.shim=function(){if(Object.keys){var t=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);t||(Object.keys=function(n){return ASt(n)?nSe(TSt.call(n)):nSe(n)})}else Object.keys=qR;return Object.keys||qR};aSe.exports=qR});var fSe=ye((fcr,cSe)=>{\"use strict\";var SSt=Dj(),lSe=O8()(),uSe=i5(),oSe=Object,MSt=uSe(\"Array.prototype.push\"),sSe=uSe(\"Object.prototype.propertyIsEnumerable\"),ESt=lSe?Object.getOwnPropertySymbols:null;cSe.exports=function(t,r){if(t==null)throw new TypeError(\"target must be an object\");var n=oSe(t);if(arguments.length===1)return n;for(var i=1;i{\"use strict\";var zj=fSe(),kSt=function(){if(!Object.assign)return!1;for(var e=\"abcdefghijklmnopqrst\",t=e.split(\"\"),r={},n=0;n{\"use strict\";var vSe=function(e){return e!==e};pSe.exports=function(t,r){return t===0&&r===0?1/t===1/r:!!(t===r||vSe(t)&&vSe(r))}});var OR=ye((vcr,gSe)=>{\"use strict\";var LSt=Fj();gSe.exports=function(){return typeof Object.is==\"function\"?Object.is:LSt}});var uE=ye((pcr,xSe)=>{\"use strict\";var PSt=Dj(),ISt=typeof Symbol==\"function\"&&typeof Symbol(\"foo\")==\"symbol\",RSt=Object.prototype.toString,DSt=Array.prototype.concat,mSe=Object.defineProperty,zSt=function(e){return typeof e==\"function\"&&RSt.call(e)===\"[object Function]\"},FSt=yG()(),ySe=mSe&&FSt,qSt=function(e,t,r,n){if(t in e){if(n===!0){if(e[t]===r)return}else if(!zSt(n)||!n())return}ySe?mSe(e,t,{configurable:!0,enumerable:!1,value:r,writable:!0}):e[t]=r},_Se=function(e,t){var r=arguments.length>2?arguments[2]:{},n=PSt(t);ISt&&(n=DSt.call(n,Object.getOwnPropertySymbols(t)));for(var i=0;i{\"use strict\";var OSt=OR(),BSt=uE();bSe.exports=function(){var t=OSt();return BSt(Object,{is:t},{is:function(){return Object.is!==t}}),t}});var MSe=ye((mcr,SSe)=>{\"use strict\";var NSt=uE(),USt=N4(),VSt=Fj(),TSe=OR(),HSt=wSe(),ASe=USt(TSe(),Object);NSt(ASe,{getPolyfill:TSe,implementation:VSt,shim:HSt});SSe.exports=ASe});var qj=ye((ycr,ESe)=>{\"use strict\";ESe.exports=function(t){return t!==t}});var Oj=ye((_cr,kSe)=>{\"use strict\";var GSt=qj();kSe.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN(\"a\")?Number.isNaN:GSt}});var LSe=ye((xcr,CSe)=>{\"use strict\";var jSt=uE(),WSt=Oj();CSe.exports=function(){var t=WSt();return jSt(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}});var DSe=ye((bcr,RSe)=>{\"use strict\";var ZSt=N4(),XSt=uE(),YSt=qj(),PSe=Oj(),KSt=LSe(),ISe=ZSt(PSe(),Number);XSt(ISe,{getPolyfill:PSe,implementation:YSt,shim:KSt});RSe.exports=ISe});var eMe=ye((wcr,QSe)=>{\"use strict\";function zSe(e,t){return eMt(e)||QSt(e,t)||$St(e,t)||JSt()}function JSt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.\n", + "In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function $St(e,t){if(e){if(typeof e==\"string\")return FSe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return FSe(e,t)}}function FSe(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r10)return!0;for(var t=0;t57)return!0}return e.length===10&&e>=Math.pow(2,32)}function UR(e){return Object.keys(e).filter(uMt).concat(HR(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function YSe(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i{\"use strict\";function jg(e){\"@babel/helpers - typeof\";return jg=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(t){return typeof t}:function(t){return t&&typeof Symbol==\"function\"&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},jg(e)}function tMe(e,t){for(var r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i{var vE=1e3,pE=vE*60,gE=pE*60,mE=gE*24,zMt=mE*365.25;_Me.exports=function(e,t){t=t||{};var r=typeof e;if(r===\"string\"&&e.length>0)return FMt(e);if(r===\"number\"&&isNaN(e)===!1)return t.long?OMt(e):qMt(e);throw new Error(\"val is not a non-empty string or a valid number. val=\"+JSON.stringify(e))};function FMt(e){if(e=String(e),!(e.length>100)){var t=/^((?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||\"ms\").toLowerCase();switch(n){case\"years\":case\"year\":case\"yrs\":case\"yr\":case\"y\":return r*zMt;case\"days\":case\"day\":case\"d\":return r*mE;case\"hours\":case\"hour\":case\"hrs\":case\"hr\":case\"h\":return r*gE;case\"minutes\":case\"minute\":case\"mins\":case\"min\":case\"m\":return r*pE;case\"seconds\":case\"second\":case\"secs\":case\"sec\":case\"s\":return r*vE;case\"milliseconds\":case\"millisecond\":case\"msecs\":case\"msec\":case\"ms\":return r;default:return}}}}function qMt(e){return e>=mE?Math.round(e/mE)+\"d\":e>=gE?Math.round(e/gE)+\"h\":e>=pE?Math.round(e/pE)+\"m\":e>=vE?Math.round(e/vE)+\"s\":e+\"ms\"}function OMt(e){return JR(e,mE,\"day\")||JR(e,gE,\"hour\")||JR(e,pE,\"minute\")||JR(e,vE,\"second\")||e+\" ms\"}function JR(e,t,r){if(!(e{$u=bMe.exports=jj.debug=jj.default=jj;$u.coerce=HMt;$u.disable=UMt;$u.enable=NMt;$u.enabled=VMt;$u.humanize=xMe();$u.names=[];$u.skips=[];$u.formatters={};var Gj;function BMt(e){var t=0,r;for(r in e)t=(t<<5)-t+e.charCodeAt(r),t|=0;return $u.colors[Math.abs(t)%$u.colors.length]}function jj(e){function t(){if(t.enabled){var r=t,n=+new Date,i=n-(Gj||n);r.diff=i,r.prev=Gj,r.curr=n,Gj=n;for(var a=new Array(arguments.length),o=0;o{lp=AMe.exports=wMe();lp.log=WMt;lp.formatArgs=jMt;lp.save=ZMt;lp.load=TMe;lp.useColors=GMt;lp.storage=typeof chrome!=\"undefined\"&&typeof chrome.storage!=\"undefined\"?chrome.storage.local:XMt();lp.colors=[\"lightseagreen\",\"forestgreen\",\"goldenrod\",\"dodgerblue\",\"darkorchid\",\"crimson\"];function GMt(){return typeof window!=\"undefined\"&&window.process&&window.process.type===\"renderer\"?!0:typeof document!=\"undefined\"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!=\"undefined\"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!=\"undefined\"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/)}lp.formatters.j=function(e){try{return JSON.stringify(e)}catch(t){return\"[UnexpectedJSONParseError]: \"+t.message}};function jMt(e){var t=this.useColors;if(e[0]=(t?\"%c\":\"\")+this.namespace+(t?\" %c\":\" \")+e[0]+(t?\"%c \":\" \")+\"+\"+lp.humanize(this.diff),!!t){var r=\"color: \"+this.color;e.splice(1,0,r,\"color: inherit\");var n=0,i=0;e[0].replace(/%[a-zA-Z%]/g,function(a){a!==\"%%\"&&(n++,a===\"%c\"&&(i=n))}),e.splice(i,0,r)}}function WMt(){return typeof console==\"object\"&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function ZMt(e){try{e==null?lp.storage.removeItem(\"debug\"):lp.storage.debug=e}catch(t){}}function TMe(){var e;try{e=lp.storage.debug}catch(t){}return!e&&typeof process!=\"undefined\"&&\"env\"in process&&(e=process.env.DEBUG),e}lp.enable(TMe());function XMt(){try{return window.localStorage}catch(e){}}});var RMe=ye((Scr,IMe)=>{var p5=tE(),V_=SMe()(\"stream-parser\");IMe.exports=KMt;var EMe=-1,$R=0,YMt=1,kMe=2;function KMt(e){var t=e&&typeof e._transform==\"function\",r=e&&typeof e._write==\"function\";if(!t&&!r)throw new Error(\"must pass a Writable or Transform stream in\");V_(\"extending Parser into stream\"),e._bytes=JMt,e._skipBytes=$Mt,t&&(e._passthrough=QMt),t?e._transform=t4t:e._write=e4t}function yE(e){V_(\"initializing parser stream\"),e._parserBytesLeft=0,e._parserBuffers=[],e._parserBuffered=0,e._parserState=EMe,e._parserCallback=null,typeof e.push==\"function\"&&(e._parserOutput=e.push.bind(e)),e._parserInit=!0}function JMt(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(isFinite(e)&&e>0,'can only buffer a finite number of bytes > 0, got \"'+e+'\"'),this._parserInit||yE(this),V_(\"buffering %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=$R}function $Mt(e,t){p5(!this._parserCallback,'there is already a \"callback\" set!'),p5(e>0,'can only skip > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),V_(\"skipping %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=YMt}function QMt(e,t){p5(!this._parserCallback,'There is already a \"callback\" set!'),p5(e>0,'can only pass through > 0 bytes, got \"'+e+'\"'),this._parserInit||yE(this),V_(\"passing through %o bytes\",e),this._parserBytesLeft=e,this._parserCallback=t,this._parserState=kMe}function e4t(e,t,r){this._parserInit||yE(this),V_(\"write(%o bytes)\",e.length),typeof t==\"function\"&&(r=t),LMe(this,e,null,r)}function t4t(e,t,r){this._parserInit||yE(this),V_(\"transform(%o bytes)\",e.length),typeof t!=\"function\"&&(t=this._parserOutput),LMe(this,e,t,r)}function CMe(e,t,r,n){return e._parserBytesLeft<=0?n(new Error(\"got data but not currently parsing anything\")):t.length<=e._parserBytesLeft?function(){return MMe(e,t,r,n)}:function(){var i=t.slice(0,e._parserBytesLeft);return MMe(e,i,r,function(a){if(a)return n(a);if(t.length>i.length)return function(){return CMe(e,t.slice(i.length),r,n)}})}}function MMe(e,t,r,n){if(e._parserBytesLeft-=t.length,V_(\"%o bytes left for stream piece\",e._parserBytesLeft),e._parserState===$R?(e._parserBuffers.push(t),e._parserBuffered+=t.length):e._parserState===kMe&&r(t),e._parserBytesLeft===0){var i=e._parserCallback;if(i&&e._parserState===$R&&e._parserBuffers.length>1&&(t=Buffer.concat(e._parserBuffers,e._parserBuffered)),e._parserState!==$R&&(t=null),e._parserCallback=null,e._parserBuffered=0,e._parserState=EMe,e._parserBuffers.splice(0),i){var a=[];t&&a.push(t),r&&a.push(r);var o=i.length>a.length;o&&a.push(PMe(n));var s=i.apply(e,a);if(!o||n===s)return n}}else return n}var LMe=PMe(CMe);function PMe(e){return function(){for(var t=e.apply(this,arguments);typeof t==\"function\";)t=t();return t}}});var Eu=ye(Gy=>{\"use strict\";var DMe=MAe().Transform,r4t=RMe();function _E(){DMe.call(this,{readableObjectMode:!0})}_E.prototype=Object.create(DMe.prototype);_E.prototype.constructor=_E;r4t(_E.prototype);Gy.ParserStream=_E;Gy.sliceEq=function(e,t,r){for(var n=t,i=0;i{\"use strict\";var g5=Eu().readUInt16BE,Zj=Eu().readUInt32BE;function xE(e,t){if(e.length<4+t)return null;var r=Zj(e,t);return e.length>4&15,n=e[4]&15,i=e[5]>>4&15,a=g5(e,6),o=8,s=0;sa.width||i.width===a.width&&i.height>a.height?i:a}),r=e.reduce(function(i,a){return i.height>a.height||i.height===a.height&&i.width>a.width?i:a}),n;return t.width>r.height||t.width===r.height&&t.height>r.width?n=t:n=r,n}eD.exports.readSizeFromMeta=function(e){var t={sizes:[],transforms:[],item_inf:{},item_loc:{}};if(s4t(e,t),!!t.sizes.length){var r=l4t(t.sizes),n=1;t.transforms.forEach(function(a){var o={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},s={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if(a.type===\"imir\"&&(a.value===0?n=s[n]:(n=s[n],n=o[n],n=o[n])),a.type===\"irot\")for(var l=0;l{\"use strict\";function tD(e,t){var r=new Error(e);return r.code=t,r}function u4t(e){try{return decodeURIComponent(escape(e))}catch(t){return e}}function jy(e,t,r){this.input=e.subarray(t,r),this.start=t;var n=String.fromCharCode.apply(null,this.input.subarray(0,4));if(n!==\"II*\\0\"&&n!==\"MM\\0*\")throw tD(\"invalid TIFF signature\",\"EBADDATA\");this.big_endian=n[0]===\"M\"}jy.prototype.each=function(e){this.aborted=!1;var t=this.read_uint32(4);for(this.ifds_to_read=[{id:0,offset:t}];this.ifds_to_read.length>0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,e)}};jy.prototype.read_uint16=function(e){var t=this.input;if(e+2>t.length)throw tD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*256+t[e+1]:t[e]+t[e+1]*256};jy.prototype.read_uint32=function(e){var t=this.input;if(e+4>t.length)throw tD(\"unexpected EOF\",\"EBADDATA\");return this.big_endian?t[e]*16777216+t[e+1]*65536+t[e+2]*256+t[e+3]:t[e]+t[e+1]*256+t[e+2]*65536+t[e+3]*16777216};jy.prototype.is_subifd_link=function(e,t){return e===0&&t===34665||e===0&&t===34853||e===34665&&t===40965};jy.prototype.exif_format_length=function(e){switch(e){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}};jy.prototype.exif_format_read=function(e,t){var r;switch(e){case 1:case 2:return r=this.input[t],r;case 6:return r=this.input[t],r|(r&128)*33554430;case 3:return r=this.read_uint16(t),r;case 8:return r=this.read_uint16(t),r|(r&32768)*131070;case 4:return r=this.read_uint32(t),r;case 9:return r=this.read_uint32(t),r|0;case 5:case 10:case 11:case 12:return null;case 7:return null;default:return null}};jy.prototype.scan_ifd=function(e,t,r){var n=this.read_uint16(t);t+=2;for(var i=0;ithis.input.length)throw tD(\"unexpected EOF\",\"EBADDATA\");for(var h=[],d=c,v=0;v0&&(this.ifds_to_read.push({id:a,offset:h[0]}),f=!0);var b={is_big_endian:this.big_endian,ifd:e,tag:a,format:o,count:s,entry_offset:t+this.start,data_length:u,data_offset:c+this.start,value:h,is_subifd_link:f};if(r(b)===!1){this.aborted=!0;return}t+=12}e===0&&this.ifds_to_read.push({id:1,offset:this.read_uint32(t)})};Xj.exports.ExifParser=jy;Xj.exports.get_orientation=function(e){var t=0;try{return new jy(e,0,e.length).each(function(r){if(r.ifd===0&&r.tag===274&&Array.isArray(r.value))return t=r.value[0],!1}),t}catch(r){return-1}}});var qMe=ye((Ccr,FMe)=>{\"use strict\";var c4t=Eu().str2arr,f4t=Eu().sliceEq,h4t=Eu().readUInt32BE,iD=zMe(),d4t=rD(),v4t=c4t(\"ftyp\");FMe.exports=function(e){if(f4t(e,4,v4t)){var t=iD.unbox(e,0);if(t){var r=iD.getMimeType(t.data);if(r){for(var n,i=t.end;;){var a=iD.unbox(e,i);if(!a)break;if(i=a.end,a.boxtype===\"mdat\")return;if(a.boxtype===\"meta\"){n=a.data;break}}if(n){var o=iD.readSizeFromMeta(n);if(o){var s={width:o.width,height:o.height,type:r.type,mime:r.mime,wUnits:\"px\",hUnits:\"px\"};if(o.variants.length>1&&(s.variants=o.variants),o.orientation&&(s.orientation=o.orientation),o.exif_location&&o.exif_location.offset+o.exif_location.length<=e.length){var l=h4t(e,o.exif_location.offset),u=e.slice(o.exif_location.offset+l+4,o.exif_location.offset+o.exif_location.length),c=d4t.get_orientation(u);c>0&&(s.orientation=c)}return s}}}}}}});var NMe=ye((Lcr,BMe)=>{\"use strict\";var p4t=Eu().str2arr,g4t=Eu().sliceEq,OMe=Eu().readUInt16LE,m4t=p4t(\"BM\");BMe.exports=function(e){if(!(e.length<26)&&g4t(e,0,m4t))return{width:OMe(e,18),height:OMe(e,22),type:\"bmp\",mime:\"image/bmp\",wUnits:\"px\",hUnits:\"px\"}}});var jMe=ye((Pcr,GMe)=>{\"use strict\";var HMe=Eu().str2arr,UMe=Eu().sliceEq,VMe=Eu().readUInt16LE,y4t=HMe(\"GIF87a\"),_4t=HMe(\"GIF89a\");GMe.exports=function(e){if(!(e.length<10)&&!(!UMe(e,0,y4t)&&!UMe(e,0,_4t)))return{width:VMe(e,6),height:VMe(e,8),type:\"gif\",mime:\"image/gif\",wUnits:\"px\",hUnits:\"px\"}}});var XMe=ye((Icr,ZMe)=>{\"use strict\";var Yj=Eu().readUInt16LE,x4t=0,b4t=1,WMe=16;ZMe.exports=function(e){var t=Yj(e,0),r=Yj(e,2),n=Yj(e,4);if(!(t!==x4t||r!==b4t||!n)){for(var i=[],a={width:0,height:0},o=0;oa.width||l>a.height)&&(a=u)}return{width:a.width,height:a.height,variants:i,type:\"ico\",mime:\"image/x-icon\",wUnits:\"px\",hUnits:\"px\"}}}});var KMe=ye((Rcr,YMe)=>{\"use strict\";var Kj=Eu().readUInt16BE,w4t=Eu().str2arr,T4t=Eu().sliceEq,A4t=rD(),S4t=w4t(\"Exif\\0\\0\");YMe.exports=function(e){if(!(e.length<2)&&!(e[0]!==255||e[1]!==216||e[2]!==255))for(var t=2;;){for(;;){if(e.length-t<2)return;if(e[t++]===255)break}for(var r=e[t++],n;r===255;)r=e[t++];if(208<=r&&r<=217||r===1)n=0;else if(192<=r&&r<=254){if(e.length-t<2)return;n=Kj(e,t)-2,t+=2}else return;if(r===217||r===218)return;var i;if(r===225&&n>=10&&T4t(e,t,S4t)&&(i=A4t.get_orientation(e.slice(t+6,t+n))),n>=5&&192<=r&&r<=207&&r!==196&&r!==200&&r!==204){if(e.length-t0&&(a.orientation=i),a}t+=n}}});var t4e=ye((Dcr,e4e)=>{\"use strict\";var QMe=Eu().str2arr,JMe=Eu().sliceEq,$Me=Eu().readUInt32BE,M4t=QMe(`\\x89PNG\\r\n", + "\u001a\n", + "`),E4t=QMe(\"IHDR\");e4e.exports=function(e){if(!(e.length<24)&&JMe(e,0,M4t)&&JMe(e,12,E4t))return{width:$Me(e,16),height:$Me(e,20),type:\"png\",mime:\"image/png\",wUnits:\"px\",hUnits:\"px\"}}});var n4e=ye((zcr,i4e)=>{\"use strict\";var k4t=Eu().str2arr,C4t=Eu().sliceEq,r4e=Eu().readUInt32BE,L4t=k4t(\"8BPS\\0\u0001\");i4e.exports=function(e){if(!(e.length<22)&&C4t(e,0,L4t))return{width:r4e(e,18),height:r4e(e,14),type:\"psd\",mime:\"image/vnd.adobe.photoshop\",wUnits:\"px\",hUnits:\"px\"}}});var s4e=ye((Fcr,o4e)=>{\"use strict\";function P4t(e){return e===32||e===9||e===13||e===10}function m5(e){return typeof e==\"number\"&&isFinite(e)&&e>0}function I4t(e){var t=0,r=e.length;for(e[0]===239&&e[1]===187&&e[2]===191&&(t=3);t]*>/,D4t=/^<([-_.:a-zA-Z0-9]+:)?svg\\s/,z4t=/[^-]\\bwidth=\"([^%]+?)\"|[^-]\\bwidth='([^%]+?)'/,F4t=/\\bheight=\"([^%]+?)\"|\\bheight='([^%]+?)'/,q4t=/\\bview[bB]ox=\"(.+?)\"|\\bview[bB]ox='(.+?)'/,a4e=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function O4t(e){var t=e.match(z4t),r=e.match(F4t),n=e.match(q4t);return{width:t&&(t[1]||t[2]),height:r&&(r[1]||r[2]),viewbox:n&&(n[1]||n[2])}}function Nm(e){return a4e.test(e)?e.match(a4e)[0]:\"px\"}o4e.exports=function(e){if(I4t(e)){for(var t=\"\",r=0;r{\"use strict\";var c4e=Eu().str2arr,l4e=Eu().sliceEq,B4t=Eu().readUInt16LE,N4t=Eu().readUInt16BE,U4t=Eu().readUInt32LE,V4t=Eu().readUInt32BE,H4t=c4e(\"II*\\0\"),G4t=c4e(\"MM\\0*\");function nD(e,t,r){return r?N4t(e,t):B4t(e,t)}function Jj(e,t,r){return r?V4t(e,t):U4t(e,t)}function u4e(e,t,r){var n=nD(e,t+2,r),i=Jj(e,t+4,r);return i!==1||n!==3&&n!==4?null:n===3?nD(e,t+8,r):Jj(e,t+8,r)}f4e.exports=function(e){if(!(e.length<8)&&!(!l4e(e,0,H4t)&&!l4e(e,0,G4t))){var t=e[0]===77,r=Jj(e,4,t)-8;if(!(r<0)){var n=r+8;if(!(e.length-n<2)){var i=nD(e,n+0,t)*12;if(!(i<=0)&&(n+=2,!(e.length-n{\"use strict\";var p4e=Eu().str2arr,d4e=Eu().sliceEq,v4e=Eu().readUInt16LE,$j=Eu().readUInt32LE,j4t=rD(),W4t=p4e(\"RIFF\"),Z4t=p4e(\"WEBP\");function X4t(e,t){if(!(e[t+3]!==157||e[t+4]!==1||e[t+5]!==42))return{width:v4e(e,t+6)&16383,height:v4e(e,t+8)&16383,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}function Y4t(e,t){if(e[t]===47){var r=$j(e,t+1);return{width:(r&16383)+1,height:(r>>14&16383)+1,type:\"webp\",mime:\"image/webp\",wUnits:\"px\",hUnits:\"px\"}}}function K4t(e,t){return{width:(e[t+6]<<16|e[t+5]<<8|e[t+4])+1,height:(e[t+9]<e.length)){for(;t+8=10?r=r||X4t(e,t+8):a===\"VP8L\"&&o>=9?r=r||Y4t(e,t+8):a===\"VP8X\"&&o>=10?r=r||K4t(e,t+8):a===\"EXIF\"&&(n=j4t.get_orientation(e.slice(t+8,t+8+o)),t=1/0),t+=8+o}if(r)return n>0&&(r.orientation=n),r}}}});var _4e=ye((Bcr,y4e)=>{\"use strict\";y4e.exports={avif:qMe(),bmp:NMe(),gif:jMe(),ico:XMe(),jpeg:KMe(),png:t4e(),psd:n4e(),svg:s4e(),tiff:h4e(),webp:m4e()}});var x4e=ye((Ncr,eW)=>{\"use strict\";var Qj=_4e();function J4t(e){for(var t=Object.keys(Qj),r=0;r{\"use strict\";var $4t=x4e(),Q4t=Ly().IMAGE_URL_PREFIX,eEt=u2().Buffer;b4e.getImageSize=function(e){var t=e.replace(Q4t,\"\"),r=new eEt(t,\"base64\");return $4t(r)}});var S4e=ye((Vcr,A4e)=>{\"use strict\";var T4e=Mr(),tEt=jT(),rEt=uo(),aD=Qa(),iEt=Mr().maxRowLength,nEt=w4e().getImageSize;A4e.exports=function(t,r){var n,i;if(r._hasZ)n=r.z.length,i=iEt(r.z);else if(r._hasSource){var a=nEt(r.source);n=a.height,i=a.width}var o=aD.getFromId(t,r.xaxis||\"x\"),s=aD.getFromId(t,r.yaxis||\"y\"),l=o.d2c(r.x0)-r.dx/2,u=s.d2c(r.y0)-r.dy/2,c,f=[l,l+i*r.dx],h=[u,u+n*r.dy];if(o&&o.type===\"log\")for(c=0;c{\"use strict\";var lEt=xa(),T2=Mr(),M4e=T2.strTranslate,uEt=Zp(),cEt=jT(),fEt=jV(),hEt=a8().STYLE;E4e.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis,s=!t._context._exportedPlot&&fEt();T2.makeTraceGroups(i,n,\"im\").each(function(l){var u=lEt.select(this),c=l[0],f=c.trace,h=(f.zsmooth===\"fast\"||f.zsmooth===!1&&s)&&!f._hasZ&&f._hasSource&&a.type===\"linear\"&&o.type===\"linear\";f._realImage=h;var d=c.z,v=c.x0,x=c.y0,b=c.w,g=c.h,E=f.dx,k=f.dy,A,L,_,C,M,p;for(p=0;A===void 0&&p0;)L=a.c2p(v+p*E),p--;for(p=0;C===void 0&&p0;)M=o.c2p(x+p*k),p--;if(LW[0];if(re||ae){var _e=A+T/2,Me=C+F/2;G+=\"transform:\"+M4e(_e+\"px\",Me+\"px\")+\"scale(\"+(re?-1:1)+\",\"+(ae?-1:1)+\")\"+M4e(-_e+\"px\",-Me+\"px\")+\";\"}}X.attr(\"style\",G);var ke=new Promise(function(ge){if(f._hasZ)ge();else if(f._hasSource)if(f._canvas&&f._canvas.el.width===b&&f._canvas.el.height===g&&f._canvas.source===f.source)ge();else{var ie=document.createElement(\"canvas\");ie.width=b,ie.height=g;var Te=ie.getContext(\"2d\",{willReadFrequently:!0});f._image=f._image||new Image;var Ee=f._image;Ee.onload=function(){Te.drawImage(Ee,0,0),f._canvas={el:ie,source:f.source},ge()},Ee.setAttribute(\"src\",f.source)}}).then(function(){var ge,ie;if(f._hasZ)ie=H(function(Ae,ze){var Ce=d[ze][Ae];return T2.isTypedArray(Ce)&&(Ce=Array.from(Ce)),Ce}),ge=ie.toDataURL(\"image/png\");else if(f._hasSource)if(h)ge=f.source;else{var Te=f._canvas.el.getContext(\"2d\",{willReadFrequently:!0}),Ee=Te.getImageData(0,0,b,g).data;ie=H(function(Ae,ze){var Ce=4*(ze*b+Ae);return[Ee[Ce],Ee[Ce+1],Ee[Ce+2],Ee[Ce+3]]}),ge=ie.toDataURL(\"image/png\")}X.attr({\"xlink:href\":ge,height:F,width:T,x:A,y:C})});t._promises.push(ke)})}});var L4e=ye((Gcr,C4e)=>{\"use strict\";var dEt=xa();C4e.exports=function(t){dEt.select(t).selectAll(\".im image\").style(\"opacity\",function(r){return r[0].trace.opacity})}});var D4e=ye((jcr,R4e)=>{\"use strict\";var P4e=Nc(),I4e=Mr(),oD=I4e.isArrayOrTypedArray,vEt=jT();R4e.exports=function(t,r,n){var i=t.cd[0],a=i.trace,o=t.xa,s=t.ya;if(!(P4e.inbox(r-i.x0,r-(i.x0+i.w*a.dx),0)>0||P4e.inbox(n-i.y0,n-(i.y0+i.h*a.dy),0)>0)){var l=Math.floor((r-i.x0)/a.dx),u=Math.floor(Math.abs(n-i.y0)/a.dy),c;if(a._hasZ?c=i.z[u][l]:a._hasSource&&(c=a._canvas.el.getContext(\"2d\",{willReadFrequently:!0}).getImageData(l,u,1,1).data),!!c){var f=i.hi||a.hoverinfo,h;if(f){var d=f.split(\"+\");d.indexOf(\"all\")!==-1&&(d=[\"color\"]),d.indexOf(\"color\")!==-1&&(h=!0)}var v=vEt.colormodel[a.colormodel],x=v.colormodel||a.colormodel,b=x.length,g=a._scaler(c),E=v.suffix,k=[];(a.hovertemplate||h)&&(k.push(\"[\"+[g[0]+E[0],g[1]+E[1],g[2]+E[2]].join(\", \")),b===4&&k.push(\", \"+g[3]+E[3]),k.push(\"]\"),k=k.join(\"\"),t.extraText=x.toUpperCase()+\": \"+k);var A;oD(a.hovertext)&&oD(a.hovertext[u])?A=a.hovertext[u][l]:oD(a.text)&&oD(a.text[u])&&(A=a.text[u][l]);var L=s.c2p(i.y0+(u+.5)*a.dy),_=i.x0+(l+.5)*a.dx,C=i.y0+(u+.5)*a.dy,M=\"[\"+c.slice(0,a.colormodel.length).join(\", \")+\"]\";return[I4e.extendFlat(t,{index:[u,l],x0:o.c2p(i.x0+l*a.dx),x1:o.c2p(i.x0+(l+1)*a.dx),y0:L,y1:L,color:g,xVal:_,xLabelVal:_,yVal:C,yLabelVal:C,zLabelVal:M,text:A,hovertemplateLabels:{zLabel:M,colorLabel:k,\"color[0]Label\":g[0]+E[0],\"color[1]Label\":g[1]+E[1],\"color[2]Label\":g[2]+E[2],\"color[3]Label\":g[3]+E[3]}})]}}}});var F4e=ye((Wcr,z4e)=>{\"use strict\";z4e.exports=function(t,r){return\"xVal\"in r&&(t.x=r.xVal),\"yVal\"in r&&(t.y=r.yVal),r.xa&&(t.xaxis=r.xa),r.ya&&(t.yaxis=r.ya),t.color=r.color,t.colormodel=r.trace.colormodel,t.z||(t.z=r.color),t}});var O4e=ye((Zcr,q4e)=>{\"use strict\";q4e.exports={attributes:tG(),supplyDefaults:y3e(),calc:S4e(),plot:k4e(),style:L4e(),hoverPoints:D4e(),eventData:F4e(),moduleType:\"trace\",name:\"image\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"2dMap\",\"noSortingByValue\"],animatable:!1,meta:{}}});var N4e=ye((Xcr,B4e)=>{\"use strict\";B4e.exports=O4e()});var A2=ye((Ycr,U4e)=>{\"use strict\";var pEt=vl(),gEt=Ju().attributes,mEt=Su(),yEt=dh(),_Et=Wo().hovertemplateAttrs,xEt=Wo().texttemplateAttrs,bE=no().extendFlat,bEt=Ed().pattern,sD=mEt({editType:\"plot\",arrayOk:!0,colorEditType:\"plot\"});U4e.exports={labels:{valType:\"data_array\",editType:\"calc\"},label0:{valType:\"number\",dflt:0,editType:\"calc\"},dlabel:{valType:\"number\",dflt:1,editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},marker:{colors:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:yEt.defaultLine,arrayOk:!0,editType:\"style\"},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0,editType:\"style\"},editType:\"calc\"},pattern:bEt,editType:\"calc\"},text:{valType:\"data_array\",editType:\"plot\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"style\"},scalegroup:{valType:\"string\",dflt:\"\",editType:\"calc\"},textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"percent\"],extras:[\"none\"],editType:\"calc\"},hoverinfo:bE({},pEt.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:_Et({},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),texttemplate:xEt({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"percent\",\"text\"]}),textposition:{valType:\"enumerated\",values:[\"inside\",\"outside\",\"auto\",\"none\"],dflt:\"auto\",arrayOk:!0,editType:\"plot\"},textfont:bE({},sD,{}),insidetextorientation:{valType:\"enumerated\",values:[\"horizontal\",\"radial\",\"tangential\",\"auto\"],dflt:\"auto\",editType:\"plot\"},insidetextfont:bE({},sD,{}),outsidetextfont:bE({},sD,{}),automargin:{valType:\"boolean\",dflt:!1,editType:\"plot\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"plot\"},font:bE({},sD,{}),position:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle center\",\"bottom left\",\"bottom center\",\"bottom right\"],editType:\"plot\"},editType:\"plot\"},domain:gEt({name:\"pie\",trace:!0,editType:\"calc\"}),hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"calc\"},sort:{valType:\"boolean\",dflt:!0,editType:\"calc\"},direction:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",dflt:0,editType:\"calc\"},pull:{valType:\"number\",min:0,max:1,dflt:0,arrayOk:!0,editType:\"calc\"}}});var S2=ye((Kcr,G4e)=>{\"use strict\";var wEt=uo(),wE=Mr(),TEt=A2(),AEt=Ju().defaults,SEt=r0().handleText,MEt=Mr().coercePattern;function V4e(e,t){var r=wE.isArrayOrTypedArray(e),n=wE.isArrayOrTypedArray(t),i=Math.min(r?e.length:1/0,n?t.length:1/0);if(isFinite(i)||(i=0),i&&n){for(var a,o=0;o0){a=!0;break}}a||(i=0)}return{hasLabels:r,hasValues:n,len:i}}function H4e(e,t,r,n,i){var a=n(\"marker.line.width\");a&&n(\"marker.line.color\",i?void 0:r.paper_bgcolor);var o=n(\"marker.colors\");MEt(n,\"marker.pattern\",o),e.marker&&!t.marker.pattern.fgcolor&&(t.marker.pattern.fgcolor=e.marker.colors),t.marker.pattern.bgcolor||(t.marker.pattern.bgcolor=r.paper_bgcolor)}function EEt(e,t,r,n){function i(E,k){return wE.coerce(e,t,TEt,E,k)}var a=i(\"labels\"),o=i(\"values\"),s=V4e(a,o),l=s.len;if(t._hasLabels=s.hasLabels,t._hasValues=s.hasValues,!t._hasLabels&&t._hasValues&&(i(\"label0\"),i(\"dlabel\")),!l){t.visible=!1;return}t._length=l,H4e(e,t,n,i,!0),i(\"scalegroup\");var u=i(\"text\"),c=i(\"texttemplate\"),f;if(c||(f=i(\"textinfo\",wE.isArrayOrTypedArray(u)?\"text+percent\":\"percent\")),i(\"hovertext\"),i(\"hovertemplate\"),c||f&&f!==\"none\"){var h=i(\"textposition\");SEt(e,t,n,i,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1});var d=Array.isArray(h)||h===\"auto\",v=d||h===\"outside\";v&&i(\"automargin\"),(h===\"inside\"||h===\"auto\"||Array.isArray(h))&&i(\"insidetextorientation\")}else f===\"none\"&&i(\"textposition\",\"none\");AEt(t,n,i);var x=i(\"hole\"),b=i(\"title.text\");if(b){var g=i(\"title.position\",x?\"middle center\":\"top center\");!x&&g===\"middle center\"&&(t.title.position=\"top center\"),wE.coerceFont(i,\"title.font\",n.font)}i(\"sort\"),i(\"direction\"),i(\"rotation\"),i(\"pull\")}G4e.exports={handleLabelsAndValues:V4e,handleMarkerDefaults:H4e,supplyDefaults:EEt}});var lD=ye((Jcr,j4e)=>{\"use strict\";j4e.exports={hiddenlabels:{valType:\"data_array\",editType:\"calc\"},piecolorway:{valType:\"colorlist\",editType:\"calc\"},extendpiecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var Z4e=ye(($cr,W4e)=>{\"use strict\";var kEt=Mr(),CEt=lD();W4e.exports=function(t,r){function n(i,a){return kEt.coerce(t,r,CEt,i,a)}n(\"hiddenlabels\"),n(\"piecolorway\",r.colorway),n(\"extendpiecolors\")}});var y5=ye((Qcr,K4e)=>{\"use strict\";var LEt=uo(),tW=id(),PEt=va(),IEt={};function REt(e,t){var r=[],n=e._fullLayout,i=n.hiddenlabels||[],a=t.labels,o=t.marker.colors||[],s=t.values,l=t._length,u=t._hasValues&&l,c,f;if(t.dlabel)for(a=new Array(l),c=0;c=0});var A=t.type===\"funnelarea\"?x:t.sort;return A&&r.sort(function(L,_){return _.v-L.v}),r[0]&&(r[0].vTotal=v),r}function X4e(e){return function(r,n){return!r||(r=tW(r),!r.isValid())?!1:(r=PEt.addOpacity(r,r.getAlpha()),e[n]||(e[n]=r),r)}}function DEt(e,t){var r=(t||{}).type;r||(r=\"pie\");var n=e._fullLayout,i=e.calcdata,a=n[r+\"colorway\"],o=n[\"_\"+r+\"colormap\"];n[\"extend\"+r+\"colors\"]&&(a=Y4e(a,IEt));for(var s=0,l=0;l{\"use strict\";var zEt=rp().appendArrayMultiPointValues;J4e.exports=function(t,r){var n={curveNumber:r.index,pointNumbers:t.pts,data:r._input,fullData:r,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return t.pts.length===1&&(n.pointNumber=n.i=t.pts[0]),zEt(n,r,t.pts),r.type===\"funnelarea\"&&(delete n.v,delete n.i),n}});var hD=ye((tfr,_Ee)=>{\"use strict\";var zp=xa(),FEt=Xu(),uD=Nc(),nEe=va(),Wy=ao(),ev=Mr(),qEt=ev.strScale,Q4e=ev.strTranslate,rW=Ll(),aEe=_v(),OEt=aEe.recordMinTextSize,BEt=aEe.clearMinTextSize,oEe=Qb().TEXTPAD,Zo=l_(),cD=$4e(),eEe=Mr().isValidTextValue;function NEt(e,t){var r=e._context.staticPlot,n=e._fullLayout,i=n._size;BEt(\"pie\",n),uEe(t,e),gEe(t,i);var a=ev.makeTraceGroups(n._pielayer,t,\"trace\").each(function(o){var s=zp.select(this),l=o[0],u=l.trace;YEt(o),s.attr(\"stroke-linejoin\",\"round\"),s.each(function(){var c=zp.select(this).selectAll(\"g.slice\").data(o);c.enter().append(\"g\").classed(\"slice\",!0),c.exit().remove();var f=[[[],[]],[[],[]]],h=!1;c.each(function(A,L){if(A.hidden){zp.select(this).selectAll(\"path,g\").remove();return}A.pointNumber=A.i,A.curveNumber=u.index,f[A.pxmid[1]<0?0:1][A.pxmid[0]<0?0:1].push(A);var _=l.cx,C=l.cy,M=zp.select(this),p=M.selectAll(\"path.surface\").data([A]);if(p.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":r?\"none\":\"all\"}),M.call(sEe,e,o),u.pull){var P=+Zo.castOption(u.pull,A.pts)||0;P>0&&(_+=P*A.pxmid[0],C+=P*A.pxmid[1])}A.cxFinal=_,A.cyFinal=C;function T(N,W,re,ae){var _e=ae*(W[0]-N[0]),Me=ae*(W[1]-N[1]);return\"a\"+ae*l.r+\",\"+ae*l.r+\" 0 \"+A.largeArc+(re?\" 1 \":\" 0 \")+_e+\",\"+Me}var F=u.hole;if(A.v===l.vTotal){var q=\"M\"+(_+A.px0[0])+\",\"+(C+A.px0[1])+T(A.px0,A.pxmid,!0,1)+T(A.pxmid,A.px0,!0,1)+\"Z\";F?p.attr(\"d\",\"M\"+(_+F*A.px0[0])+\",\"+(C+F*A.px0[1])+T(A.px0,A.pxmid,!1,F)+T(A.pxmid,A.px0,!1,F)+\"Z\"+q):p.attr(\"d\",q)}else{var V=T(A.px0,A.px1,!0,1);if(F){var H=1-F;p.attr(\"d\",\"M\"+(_+F*A.px1[0])+\",\"+(C+F*A.px1[1])+T(A.px1,A.px0,!1,F)+\"l\"+H*A.px0[0]+\",\"+H*A.px0[1]+V+\"Z\")}else p.attr(\"d\",\"M\"+_+\",\"+C+\"l\"+A.px0[0]+\",\"+A.px0[1]+V+\"Z\")}mEe(e,A,l);var X=Zo.castOption(u.textposition,A.pts),G=M.selectAll(\"g.slicetext\").data(A.text&&X!==\"none\"?[0]:[]);G.enter().append(\"g\").classed(\"slicetext\",!0),G.exit().remove(),G.each(function(){var N=ev.ensureSingle(zp.select(this),\"text\",\"\",function(ie){ie.attr(\"data-notex\",1)}),W=ev.ensureUniformFontSize(e,X===\"outside\"?VEt(u,A,n.font):lEe(u,A,n.font));N.text(A.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,W).call(rW.convertToTspans,e);var re=Wy.bBox(N.node()),ae;if(X===\"outside\")ae=iEe(re,A);else if(ae=cEe(re,A,l),X===\"auto\"&&ae.scale<1){var _e=ev.ensureUniformFontSize(e,u.outsidetextfont);N.call(Wy.font,_e),re=Wy.bBox(N.node()),ae=iEe(re,A)}var Me=ae.textPosAngle,ke=Me===void 0?A.pxmid:fD(l.r,Me);if(ae.targetX=_+ke[0]*ae.rCenter+(ae.x||0),ae.targetY=C+ke[1]*ae.rCenter+(ae.y||0),yEe(ae,re),ae.outside){var ge=ae.targetY;A.yLabelMin=ge-re.height/2,A.yLabelMid=ge,A.yLabelMax=ge+re.height/2,A.labelExtraX=0,A.labelExtraY=0,h=!0}ae.fontSize=W.size,OEt(u.type,ae,n),o[L].transform=ae,ev.setTransormAndDisplay(N,ae)})});var d=zp.select(this).selectAll(\"g.titletext\").data(u.title.text?[0]:[]);if(d.enter().append(\"g\").classed(\"titletext\",!0),d.exit().remove(),d.each(function(){var A=ev.ensureSingle(zp.select(this),\"text\",\"\",function(C){C.attr(\"data-notex\",1)}),L=u.title.text;u._meta&&(L=ev.templateString(L,u._meta)),A.text(L).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(Wy.font,u.title.font).call(rW.convertToTspans,e);var _;u.title.position===\"middle center\"?_=jEt(l):_=vEe(l,i),A.attr(\"transform\",Q4e(_.x,_.y)+qEt(Math.min(1,_.scale))+Q4e(_.tx,_.ty))}),h&&ZEt(f,u),UEt(c,u),h&&u.automargin){var v=Wy.bBox(s.node()),x=u.domain,b=i.w*(x.x[1]-x.x[0]),g=i.h*(x.y[1]-x.y[0]),E=(.5*b-l.r)/i.w,k=(.5*g-l.r)/i.h;FEt.autoMargin(e,\"pie.\"+u.uid+\".automargin\",{xl:x.x[0]-E,xr:x.x[1]+E,yb:x.y[0]-k,yt:x.y[1]+k,l:Math.max(l.cx-l.r-v.left,0),r:Math.max(v.right-(l.cx+l.r),0),b:Math.max(v.bottom-(l.cy+l.r),0),t:Math.max(l.cy-l.r-v.top,0),pad:5})}})});setTimeout(function(){a.selectAll(\"tspan\").each(function(){var o=zp.select(this);o.attr(\"dy\")&&o.attr(\"dy\",o.attr(\"dy\"))})},0)}function UEt(e,t){e.each(function(r){var n=zp.select(this);if(!r.labelExtraX&&!r.labelExtraY){n.select(\"path.textline\").remove();return}var i=n.select(\"g.slicetext text\");r.transform.targetX+=r.labelExtraX,r.transform.targetY+=r.labelExtraY,ev.setTransormAndDisplay(i,r.transform);var a=r.cxFinal+r.pxmid[0],o=r.cyFinal+r.pxmid[1],s=\"M\"+a+\",\"+o,l=(r.yLabelMax-r.yLabelMin)*(r.pxmid[0]<0?-1:1)/4;if(r.labelExtraX){var u=r.labelExtraX*r.pxmid[1]/r.pxmid[0],c=r.yLabelMid+r.labelExtraY-(r.cyFinal+r.pxmid[1]);Math.abs(u)>Math.abs(c)?s+=\"l\"+c*r.pxmid[0]/r.pxmid[1]+\",\"+c+\"H\"+(a+r.labelExtraX+l):s+=\"l\"+r.labelExtraX+\",\"+u+\"v\"+(c-u)+\"h\"+l}else s+=\"V\"+(r.yLabelMid+r.labelExtraY)+\"h\"+l;ev.ensureSingle(n,\"path\",\"textline\").call(nEe.stroke,t.outsidetextfont.color).attr({\"stroke-width\":Math.min(2,t.outsidetextfont.size/8),d:s,fill:\"none\"})})}function sEe(e,t,r){var n=r[0],i=n.cx,a=n.cy,o=n.trace,s=o.type===\"funnelarea\";\"_hasHoverLabel\"in o||(o._hasHoverLabel=!1),\"_hasHoverEvent\"in o||(o._hasHoverEvent=!1),e.on(\"mouseover\",function(l){var u=t._fullLayout,c=t._fullData[o.index];if(!(t._dragging||u.hovermode===!1)){var f=c.hoverinfo;if(Array.isArray(f)&&(f=uD.castHoverinfo({hoverinfo:[Zo.castOption(f,l.pts)],_module:o._module},u,0)),f===\"all\"&&(f=\"label+text+value+percent+name\"),c.hovertemplate||f!==\"none\"&&f!==\"skip\"&&f){var h=l.rInscribed||0,d=i+l.pxmid[0]*(1-h),v=a+l.pxmid[1]*(1-h),x=u.separators,b=[];if(f&&f.indexOf(\"label\")!==-1&&b.push(l.label),l.text=Zo.castOption(c.hovertext||c.text,l.pts),f&&f.indexOf(\"text\")!==-1){var g=l.text;ev.isValidTextValue(g)&&b.push(g)}l.value=l.v,l.valueLabel=Zo.formatPieValue(l.v,x),f&&f.indexOf(\"value\")!==-1&&b.push(l.valueLabel),l.percent=l.v/n.vTotal,l.percentLabel=Zo.formatPiePercent(l.percent,x),f&&f.indexOf(\"percent\")!==-1&&b.push(l.percentLabel);var E=c.hoverlabel,k=E.font,A=[];uD.loneHover({trace:o,x0:d-h*n.r,x1:d+h*n.r,y:v,_x0:s?i+l.TL[0]:d-h*n.r,_x1:s?i+l.TR[0]:d+h*n.r,_y0:s?a+l.TL[1]:v-h*n.r,_y1:s?a+l.BL[1]:v+h*n.r,text:b.join(\"
\"),name:c.hovertemplate||f.indexOf(\"name\")!==-1?c.name:void 0,idealAlign:l.pxmid[0]<0?\"left\":\"right\",color:Zo.castOption(E.bgcolor,l.pts)||l.color,borderColor:Zo.castOption(E.bordercolor,l.pts),fontFamily:Zo.castOption(k.family,l.pts),fontSize:Zo.castOption(k.size,l.pts),fontColor:Zo.castOption(k.color,l.pts),nameLength:Zo.castOption(E.namelength,l.pts),textAlign:Zo.castOption(E.align,l.pts),hovertemplate:Zo.castOption(c.hovertemplate,l.pts),hovertemplateLabels:l,eventData:[cD(l,c)]},{container:u._hoverlayer.node(),outerContainer:u._paper.node(),gd:t,inOut_bbox:A}),l.bbox=A[0],o._hasHoverLabel=!0}o._hasHoverEvent=!0,t.emit(\"plotly_hover\",{points:[cD(l,c)],event:zp.event})}}),e.on(\"mouseout\",function(l){var u=t._fullLayout,c=t._fullData[o.index],f=zp.select(this).datum();o._hasHoverEvent&&(l.originalEvent=zp.event,t.emit(\"plotly_unhover\",{points:[cD(f,c)],event:zp.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(uD.loneUnhover(u._hoverlayer.node()),o._hasHoverLabel=!1)}),e.on(\"click\",function(l){var u=t._fullLayout,c=t._fullData[o.index];t._dragging||u.hovermode===!1||(t._hoverdata=[cD(l,c)],uD.click(t,zp.event))})}function VEt(e,t,r){var n=Zo.castOption(e.outsidetextfont.color,t.pts)||Zo.castOption(e.textfont.color,t.pts)||r.color,i=Zo.castOption(e.outsidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.outsidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.outsidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.outsidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.outsidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.outsidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.outsidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.outsidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n,family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function lEe(e,t,r){var n=Zo.castOption(e.insidetextfont.color,t.pts);!n&&e._input.textfont&&(n=Zo.castOption(e._input.textfont.color,t.pts));var i=Zo.castOption(e.insidetextfont.family,t.pts)||Zo.castOption(e.textfont.family,t.pts)||r.family,a=Zo.castOption(e.insidetextfont.size,t.pts)||Zo.castOption(e.textfont.size,t.pts)||r.size,o=Zo.castOption(e.insidetextfont.weight,t.pts)||Zo.castOption(e.textfont.weight,t.pts)||r.weight,s=Zo.castOption(e.insidetextfont.style,t.pts)||Zo.castOption(e.textfont.style,t.pts)||r.style,l=Zo.castOption(e.insidetextfont.variant,t.pts)||Zo.castOption(e.textfont.variant,t.pts)||r.variant,u=Zo.castOption(e.insidetextfont.textcase,t.pts)||Zo.castOption(e.textfont.textcase,t.pts)||r.textcase,c=Zo.castOption(e.insidetextfont.lineposition,t.pts)||Zo.castOption(e.textfont.lineposition,t.pts)||r.lineposition,f=Zo.castOption(e.insidetextfont.shadow,t.pts)||Zo.castOption(e.textfont.shadow,t.pts)||r.shadow;return{color:n||nEe.contrast(t.color),family:i,size:a,weight:o,style:s,variant:l,textcase:u,lineposition:c,shadow:f}}function uEe(e,t){for(var r,n,i=0;i=-4;E-=2)g(Math.PI*E,\"tan\");for(E=4;E>=-4;E-=2)g(Math.PI*(E+1),\"tan\")}if(f||d){for(E=4;E>=-4;E-=2)g(Math.PI*(E+1.5),\"rad\");for(E=4;E>=-4;E-=2)g(Math.PI*(E+.5),\"rad\")}}if(s||v||f){var k=Math.sqrt(e.width*e.width+e.height*e.height);if(b={scale:i*n*2/k,rCenter:1-i,rotate:0},b.textPosAngle=(t.startangle+t.stopangle)/2,b.scale>=1)return b;x.push(b)}(v||d)&&(b=tEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b)),(v||h)&&(b=rEe(e,n,o,l,u),b.textPosAngle=(t.startangle+t.stopangle)/2,x.push(b));for(var A=0,L=0,_=0;_=1)break}return x[A]}function HEt(e,t){var r=e.startangle,n=e.stopangle;return r>t&&t>n||r0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function jEt(e){var t=Math.sqrt(e.titleBox.width*e.titleBox.width+e.titleBox.height*e.titleBox.height);return{x:e.cx,y:e.cy,scale:e.trace.hole*e.r*2/t,tx:0,ty:-e.titleBox.height/2+e.trace.title.font.size}}function vEe(e,t){var r=1,n=1,i,a=e.trace,o={x:e.cx,y:e.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=pEe(a),a.title.position.indexOf(\"top\")!==-1?(o.y-=(1+i)*e.r,s.ty-=e.titleBox.height):a.title.position.indexOf(\"bottom\")!==-1&&(o.y+=(1+i)*e.r);var l=WEt(e.r,e.trace.aspectratio),u=t.w*(a.domain.x[1]-a.domain.x[0])/2;return a.title.position.indexOf(\"left\")!==-1?(u=u+l,o.x-=(1+i)*l,s.tx+=e.titleBox.width/2):a.title.position.indexOf(\"center\")!==-1?u*=2:a.title.position.indexOf(\"right\")!==-1&&(u=u+l,o.x+=(1+i)*l,s.tx-=e.titleBox.width/2),r=u/e.titleBox.width,n=iW(e,t)/e.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function WEt(e,t){return e/(t===void 0?1:t)}function iW(e,t){var r=e.trace,n=t.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(e.titleBox.height,n/2)}function pEe(e){var t=e.pull;if(!t)return 0;var r;if(ev.isArrayOrTypedArray(t))for(t=0,r=0;rt&&(t=e.pull[r]);return t}function ZEt(e,t){var r,n,i,a,o,s,l,u,c,f,h,d,v;function x(k,A){return k.pxmid[1]-A.pxmid[1]}function b(k,A){return A.pxmid[1]-k.pxmid[1]}function g(k,A){A||(A={});var L=A.labelExtraY+(n?A.yLabelMax:A.yLabelMin),_=n?k.yLabelMin:k.yLabelMax,C=n?k.yLabelMax:k.yLabelMin,M=k.cyFinal+o(k.px0[1],k.px1[1]),p=L-_,P,T,F,q,V,H;if(p*l>0&&(k.labelExtraY=p),!!ev.isArrayOrTypedArray(t.pull))for(T=0;T=(Zo.castOption(t.pull,F.pts)||0))&&((k.pxmid[1]-F.pxmid[1])*l>0?(q=F.cyFinal+o(F.px0[1],F.px1[1]),p=q-_-k.labelExtraY,p*l>0&&(k.labelExtraY+=p)):(C+k.labelExtraY-M)*l>0&&(P=3*s*Math.abs(T-f.indexOf(k)),V=F.cxFinal+a(F.px0[0],F.px1[0]),H=V+P-(k.cxFinal+k.pxmid[0])-k.labelExtraX,H*s>0&&(k.labelExtraX+=H)))}for(n=0;n<2;n++)for(i=n?x:b,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,u=e[n][r],u.sort(i),c=e[1-n][r],f=c.concat(u),d=[],h=0;h1?(u=r.r,c=u/i.aspectratio):(c=r.r,u=c*i.aspectratio),u*=(1+i.baseratio)/2,l=u*c}o=Math.min(o,l/r.vTotal)}for(n=0;nt.vTotal/2?1:0,u.halfangle=Math.PI*Math.min(u.v/t.vTotal,.5),u.ring=1-n.hole,u.rInscribed=GEt(u,t))}function fD(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}function mEe(e,t,r){var n=e._fullLayout,i=r.trace,a=i.texttemplate,o=i.textinfo;if(!a&&o&&o!==\"none\"){var s=o.split(\"+\"),l=function(A){return s.indexOf(A)!==-1},u=l(\"label\"),c=l(\"text\"),f=l(\"value\"),h=l(\"percent\"),d=n.separators,v;if(v=u?[t.label]:[],c){var x=Zo.getFirstFilled(i.text,t.pts);eEe(x)&&v.push(x)}f&&v.push(Zo.formatPieValue(t.v,d)),h&&v.push(Zo.formatPiePercent(t.v/r.vTotal,d)),t.text=v.join(\"
\")}function b(A){return{label:A.label,value:A.v,valueLabel:Zo.formatPieValue(A.v,n.separators),percent:A.v/r.vTotal,percentLabel:Zo.formatPiePercent(A.v/r.vTotal,n.separators),color:A.color,text:A.text,customdata:ev.castOption(i,A.i,\"customdata\")}}if(a){var g=ev.castOption(i,t.i,\"texttemplate\");if(!g)t.text=\"\";else{var E=b(t),k=Zo.getFirstFilled(i.text,t.pts);(eEe(k)||k===\"\")&&(E.text=k),t.text=ev.texttemplateString(g,E,e._fullLayout._d3locale,E,i._meta||{})}}}function yEe(e,t){var r=e.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(t.left+t.right)/2,o=(t.top+t.bottom)/2;e.textX=a*n-o*i,e.textY=a*i+o*n,e.noCenter=!0}_Ee.exports={plot:NEt,formatSliceLabel:mEe,transformInsideText:cEe,determineInsideTextFont:lEe,positionTitleOutside:vEe,prerenderTitles:uEe,layoutAreas:gEe,attachFxHandlers:sEe,computeTransform:yEe}});var wEe=ye((rfr,bEe)=>{\"use strict\";var xEe=xa(),KEt=z3(),JEt=_v().resizeText;bEe.exports=function(t){var r=t._fullLayout._pielayer.selectAll(\".trace\");JEt(t,r,\"pie\"),r.each(function(n){var i=n[0],a=i.trace,o=xEe.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){xEe.select(this).call(KEt,s,a,t)})})}});var AEe=ye(_5=>{\"use strict\";var TEe=Xu();_5.name=\"pie\";_5.plot=function(e,t,r,n){TEe.plotBasePlot(_5.name,e,t,r,n)};_5.clean=function(e,t,r,n){TEe.cleanBasePlot(_5.name,e,t,r,n)}});var MEe=ye((nfr,SEe)=>{\"use strict\";SEe.exports={attributes:A2(),supplyDefaults:S2().supplyDefaults,supplyLayoutDefaults:Z4e(),layoutAttributes:lD(),calc:y5().calc,crossTraceCalc:y5().crossTraceCalc,plot:hD().plot,style:wEe(),styleOne:z3(),moduleType:\"trace\",name:\"pie\",basePlotModule:AEe(),categories:[\"pie-like\",\"pie\",\"showLegend\"],meta:{}}});var kEe=ye((afr,EEe)=>{\"use strict\";EEe.exports=MEe()});var LEe=ye(x5=>{\"use strict\";var CEe=Xu();x5.name=\"sunburst\";x5.plot=function(e,t,r,n){CEe.plotBasePlot(x5.name,e,t,r,n)};x5.clean=function(e,t,r,n){CEe.cleanBasePlot(x5.name,e,t,r,n)}});var nW=ye((sfr,PEe)=>{\"use strict\";PEe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"linear\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"]}});var AE=ye((lfr,REe)=>{\"use strict\";var $Et=vl(),QEt=Wo().hovertemplateAttrs,ekt=Wo().texttemplateAttrs,tkt=Kl(),rkt=Ju().attributes,Zy=A2(),IEe=nW(),TE=no().extendFlat,ikt=Ed().pattern;REe.exports={labels:{valType:\"data_array\",editType:\"calc\"},parents:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc\"},branchvalues:{valType:\"enumerated\",values:[\"remainder\",\"total\"],dflt:\"remainder\",editType:\"calc\"},count:{valType:\"flaglist\",flags:[\"branches\",\"leaves\"],dflt:\"leaves\",editType:\"calc\"},level:{valType:\"any\",editType:\"plot\",anim:!0},maxdepth:{valType:\"integer\",editType:\"plot\",dflt:-1},marker:TE({colors:{valType:\"data_array\",editType:\"calc\"},line:{color:TE({},Zy.marker.line.color,{dflt:null}),width:TE({},Zy.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:ikt,editType:\"calc\"},tkt(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:{opacity:{valType:\"number\",editType:\"style\",min:0,max:1},editType:\"plot\"},text:Zy.text,textinfo:{valType:\"flaglist\",flags:[\"label\",\"text\",\"value\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],extras:[\"none\"],editType:\"plot\"},texttemplate:ekt({editType:\"plot\"},{keys:IEe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:Zy.hovertext,hoverinfo:TE({},$Et.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"name\",\"current path\",\"percent root\",\"percent entry\",\"percent parent\"],dflt:\"label+text+value+name\"}),hovertemplate:QEt({},{keys:IEe.eventDataKeys}),textfont:Zy.textfont,insidetextorientation:Zy.insidetextorientation,insidetextfont:Zy.insidetextfont,outsidetextfont:TE({},Zy.outsidetextfont,{}),rotation:{valType:\"angle\",dflt:0,editType:\"plot\"},sort:Zy.sort,root:{color:{valType:\"color\",editType:\"calc\",dflt:\"rgba(0,0,0,0)\"},editType:\"calc\"},domain:rkt({name:\"sunburst\",trace:!0,editType:\"calc\"})}});var aW=ye((ufr,DEe)=>{\"use strict\";DEe.exports={sunburstcolorway:{valType:\"colorlist\",editType:\"calc\"},extendsunburstcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var OEe=ye((cfr,qEe)=>{\"use strict\";var zEe=Mr(),nkt=AE(),akt=Ju().defaults,okt=r0().handleText,skt=S2().handleMarkerDefaults,FEe=Mu(),lkt=FEe.hasColorscale,ukt=FEe.handleDefaults;qEe.exports=function(t,r,n,i){function a(h,d){return zEe.coerce(t,r,nkt,h,d)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),skt(t,r,i,a);var u=r._hasColorscale=lkt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;u&&ukt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",u?1:.7);var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",zEe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=\"auto\";okt(t,r,i,a,f,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"insidetextorientation\"),a(\"sort\"),a(\"rotation\"),a(\"root.color\"),akt(r,i,a),r._length=null}});var NEe=ye((ffr,BEe)=>{\"use strict\";var ckt=Mr(),fkt=aW();BEe.exports=function(t,r){function n(i,a){return ckt.coerce(t,r,fkt,i,a)}n(\"sunburstcolorway\",r.colorway),n(\"extendsunburstcolors\")}});var SE=ye((dD,UEe)=>{(function(e,t){typeof dD==\"object\"&&typeof UEe!=\"undefined\"?t(dD):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(dD,function(e){\"use strict\";function t(Ve,Xe){return Ve.parent===Xe.parent?1:2}function r(Ve){return Ve.reduce(n,0)/Ve.length}function n(Ve,Xe){return Ve+Xe.x}function i(Ve){return 1+Ve.reduce(a,0)}function a(Ve,Xe){return Math.max(Ve,Xe.y)}function o(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[0];return Ve}function s(Ve){for(var Xe;Xe=Ve.children;)Ve=Xe[Xe.length-1];return Ve}function l(){var Ve=t,Xe=1,ht=1,Le=!1;function xe(Se){var lt,Gt=0;Se.eachAfter(function(jr){var ri=jr.children;ri?(jr.x=r(ri),jr.y=i(ri)):(jr.x=lt?Gt+=Ve(jr,lt):0,jr.y=0,lt=jr)});var Vt=o(Se),ar=s(Se),Qr=Vt.x-Ve(Vt,ar)/2,ai=ar.x+Ve(ar,Vt)/2;return Se.eachAfter(Le?function(jr){jr.x=(jr.x-Se.x)*Xe,jr.y=(Se.y-jr.y)*ht}:function(jr){jr.x=(jr.x-Qr)/(ai-Qr)*Xe,jr.y=(1-(Se.y?jr.y/Se.y:1))*ht})}return xe.separation=function(Se){return arguments.length?(Ve=Se,xe):Ve},xe.size=function(Se){return arguments.length?(Le=!1,Xe=+Se[0],ht=+Se[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(Se){return arguments.length?(Le=!0,Xe=+Se[0],ht=+Se[1],xe):Le?[Xe,ht]:null},xe}function u(Ve){var Xe=0,ht=Ve.children,Le=ht&&ht.length;if(!Le)Xe=1;else for(;--Le>=0;)Xe+=ht[Le].value;Ve.value=Xe}function c(){return this.eachAfter(u)}function f(Ve){var Xe=this,ht,Le=[Xe],xe,Se,lt;do for(ht=Le.reverse(),Le=[];Xe=ht.pop();)if(Ve(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;--xe)ht.push(Le[xe]);return this}function d(Ve){for(var Xe=this,ht=[Xe],Le=[],xe,Se,lt;Xe=ht.pop();)if(Le.push(Xe),xe=Xe.children,xe)for(Se=0,lt=xe.length;Se=0;)ht+=Le[xe].value;Xe.value=ht})}function x(Ve){return this.eachBefore(function(Xe){Xe.children&&Xe.children.sort(Ve)})}function b(Ve){for(var Xe=this,ht=g(Xe,Ve),Le=[Xe];Xe!==ht;)Xe=Xe.parent,Le.push(Xe);for(var xe=Le.length;Ve!==ht;)Le.splice(xe,0,Ve),Ve=Ve.parent;return Le}function g(Ve,Xe){if(Ve===Xe)return Ve;var ht=Ve.ancestors(),Le=Xe.ancestors(),xe=null;for(Ve=ht.pop(),Xe=Le.pop();Ve===Xe;)xe=Ve,Ve=ht.pop(),Xe=Le.pop();return xe}function E(){for(var Ve=this,Xe=[Ve];Ve=Ve.parent;)Xe.push(Ve);return Xe}function k(){var Ve=[];return this.each(function(Xe){Ve.push(Xe)}),Ve}function A(){var Ve=[];return this.eachBefore(function(Xe){Xe.children||Ve.push(Xe)}),Ve}function L(){var Ve=this,Xe=[];return Ve.each(function(ht){ht!==Ve&&Xe.push({source:ht.parent,target:ht})}),Xe}function _(Ve,Xe){var ht=new T(Ve),Le=+Ve.value&&(ht.value=Ve.value),xe,Se=[ht],lt,Gt,Vt,ar;for(Xe==null&&(Xe=M);xe=Se.pop();)if(Le&&(xe.value=+xe.data.value),(Gt=Xe(xe.data))&&(ar=Gt.length))for(xe.children=new Array(ar),Vt=ar-1;Vt>=0;--Vt)Se.push(lt=xe.children[Vt]=new T(Gt[Vt])),lt.parent=xe,lt.depth=xe.depth+1;return ht.eachBefore(P)}function C(){return _(this).eachBefore(p)}function M(Ve){return Ve.children}function p(Ve){Ve.data=Ve.data.data}function P(Ve){var Xe=0;do Ve.height=Xe;while((Ve=Ve.parent)&&Ve.height<++Xe)}function T(Ve){this.data=Ve,this.depth=this.height=0,this.parent=null}T.prototype=_.prototype={constructor:T,count:c,each:f,eachAfter:d,eachBefore:h,sum:v,sort:x,path:b,ancestors:E,descendants:k,leaves:A,links:L,copy:C};var F=Array.prototype.slice;function q(Ve){for(var Xe=Ve.length,ht,Le;Xe;)Le=Math.random()*Xe--|0,ht=Ve[Xe],Ve[Xe]=Ve[Le],Ve[Le]=ht;return Ve}function V(Ve){for(var Xe=0,ht=(Ve=q(F.call(Ve))).length,Le=[],xe,Se;Xe0&&ht*ht>Le*Le+xe*xe}function N(Ve,Xe){for(var ht=0;htVt?(xe=(ar+Vt-Se)/(2*ar),Gt=Math.sqrt(Math.max(0,Vt/ar-xe*xe)),ht.x=Ve.x-xe*Le-Gt*lt,ht.y=Ve.y-xe*lt+Gt*Le):(xe=(ar+Se-Vt)/(2*ar),Gt=Math.sqrt(Math.max(0,Se/ar-xe*xe)),ht.x=Xe.x+xe*Le-Gt*lt,ht.y=Xe.y+xe*lt+Gt*Le)):(ht.x=Xe.x+ht.r,ht.y=Xe.y)}function ke(Ve,Xe){var ht=Ve.r+Xe.r-1e-6,Le=Xe.x-Ve.x,xe=Xe.y-Ve.y;return ht>0&&ht*ht>Le*Le+xe*xe}function ge(Ve){var Xe=Ve._,ht=Ve.next._,Le=Xe.r+ht.r,xe=(Xe.x*ht.r+ht.x*Xe.r)/Le,Se=(Xe.y*ht.r+ht.y*Xe.r)/Le;return xe*xe+Se*Se}function ie(Ve){this._=Ve,this.next=null,this.previous=null}function Te(Ve){if(!(xe=Ve.length))return 0;var Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai;if(Xe=Ve[0],Xe.x=0,Xe.y=0,!(xe>1))return Xe.r;if(ht=Ve[1],Xe.x=-ht.r,ht.x=Xe.r,ht.y=0,!(xe>2))return Xe.r+ht.r;Me(ht,Xe,Le=Ve[2]),Xe=new ie(Xe),ht=new ie(ht),Le=new ie(Le),Xe.next=Le.previous=ht,ht.next=Xe.previous=Le,Le.next=ht.previous=Xe;e:for(Gt=3;Gt0)throw new Error(\"cycle\");return Gt}return ht.id=function(Le){return arguments.length?(Ve=ze(Le),ht):Ve},ht.parentId=function(Le){return arguments.length?(Xe=ze(Le),ht):Xe},ht}function Ke(Ve,Xe){return Ve.parent===Xe.parent?1:2}function xt(Ve){var Xe=Ve.children;return Xe?Xe[0]:Ve.t}function bt(Ve){var Xe=Ve.children;return Xe?Xe[Xe.length-1]:Ve.t}function Lt(Ve,Xe,ht){var Le=ht/(Xe.i-Ve.i);Xe.c-=Le,Xe.s+=ht,Ve.c+=Le,Xe.z+=ht,Xe.m+=ht}function St(Ve){for(var Xe=0,ht=0,Le=Ve.children,xe=Le.length,Se;--xe>=0;)Se=Le[xe],Se.z+=Xe,Se.m+=Xe,Xe+=Se.s+(ht+=Se.c)}function Et(Ve,Xe,ht){return Ve.a.parent===Xe.parent?Ve.a:ht}function dt(Ve,Xe){this._=Ve,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=Xe}dt.prototype=Object.create(T.prototype);function Ht(Ve){for(var Xe=new dt(Ve,0),ht,Le=[Xe],xe,Se,lt,Gt;ht=Le.pop();)if(Se=ht._.children)for(ht.children=new Array(Gt=Se.length),lt=Gt-1;lt>=0;--lt)Le.push(xe=ht.children[lt]=new dt(Se[lt],lt)),xe.parent=ht;return(Xe.parent=new dt(null,0)).children=[Xe],Xe}function $t(){var Ve=Ke,Xe=1,ht=1,Le=null;function xe(ar){var Qr=Ht(ar);if(Qr.eachAfter(Se),Qr.parent.m=-Qr.z,Qr.eachBefore(lt),Le)ar.eachBefore(Vt);else{var ai=ar,jr=ar,ri=ar;ar.eachBefore(function(_n){_n.xjr.x&&(jr=_n),_n.depth>ri.depth&&(ri=_n)});var bi=ai===jr?1:Ve(ai,jr)/2,nn=bi-ai.x,Wi=Xe/(jr.x+bi+nn),Ni=ht/(ri.depth||1);ar.eachBefore(function(_n){_n.x=(_n.x+nn)*Wi,_n.y=_n.depth*Ni})}return ar}function Se(ar){var Qr=ar.children,ai=ar.parent.children,jr=ar.i?ai[ar.i-1]:null;if(Qr){St(ar);var ri=(Qr[0].z+Qr[Qr.length-1].z)/2;jr?(ar.z=jr.z+Ve(ar._,jr._),ar.m=ar.z-ri):ar.z=ri}else jr&&(ar.z=jr.z+Ve(ar._,jr._));ar.parent.A=Gt(ar,jr,ar.parent.A||ai[0])}function lt(ar){ar._.x=ar.z+ar.parent.m,ar.m+=ar.parent.m}function Gt(ar,Qr,ai){if(Qr){for(var jr=ar,ri=ar,bi=Qr,nn=jr.parent.children[0],Wi=jr.m,Ni=ri.m,_n=bi.m,$i=nn.m,zn;bi=bt(bi),jr=xt(jr),bi&&jr;)nn=xt(nn),ri=bt(ri),ri.a=ar,zn=bi.z+_n-jr.z-Wi+Ve(bi._,jr._),zn>0&&(Lt(Et(bi,ar,ai),ar,zn),Wi+=zn,Ni+=zn),_n+=bi.m,Wi+=jr.m,$i+=nn.m,Ni+=ri.m;bi&&!bt(ri)&&(ri.t=bi,ri.m+=_n-Ni),jr&&!xt(nn)&&(nn.t=jr,nn.m+=Wi-$i,ai=ar)}return ai}function Vt(ar){ar.x*=Xe,ar.y=ar.depth*ht}return xe.separation=function(ar){return arguments.length?(Ve=ar,xe):Ve},xe.size=function(ar){return arguments.length?(Le=!1,Xe=+ar[0],ht=+ar[1],xe):Le?null:[Xe,ht]},xe.nodeSize=function(ar){return arguments.length?(Le=!0,Xe=+ar[0],ht=+ar[1],xe):Le?[Xe,ht]:null},xe}function fr(Ve,Xe,ht,Le,xe){for(var Se=Ve.children,lt,Gt=-1,Vt=Se.length,ar=Ve.value&&(xe-ht)/Ve.value;++Gt_n&&(_n=ar),It=Wi*Wi*Wn,$i=Math.max(_n/It,It/Ni),$i>zn){Wi-=ar;break}zn=$i}lt.push(Vt={value:Wi,dice:ri1?Le:1)},ht}(_r);function Nr(){var Ve=Or,Xe=!1,ht=1,Le=1,xe=[0],Se=Ce,lt=Ce,Gt=Ce,Vt=Ce,ar=Ce;function Qr(jr){return jr.x0=jr.y0=0,jr.x1=ht,jr.y1=Le,jr.eachBefore(ai),xe=[0],Xe&&jr.eachBefore(qt),jr}function ai(jr){var ri=xe[jr.depth],bi=jr.x0+ri,nn=jr.y0+ri,Wi=jr.x1-ri,Ni=jr.y1-ri;Wi=jr-1){var _n=Se[ai];_n.x0=bi,_n.y0=nn,_n.x1=Wi,_n.y1=Ni;return}for(var $i=ar[ai],zn=ri/2+$i,Wn=ai+1,It=jr-1;Wn>>1;ar[ft]Ni-nn){var yr=(bi*Zt+Wi*jt)/ri;Qr(ai,Wn,jt,bi,nn,yr,Ni),Qr(Wn,jr,Zt,yr,nn,Wi,Ni)}else{var Fr=(nn*Zt+Ni*jt)/ri;Qr(ai,Wn,jt,bi,nn,Wi,Fr),Qr(Wn,jr,Zt,bi,Fr,Wi,Ni)}}}function Ne(Ve,Xe,ht,Le,xe){(Ve.depth&1?fr:rt)(Ve,Xe,ht,Le,xe)}var Ye=function Ve(Xe){function ht(Le,xe,Se,lt,Gt){if((Vt=Le._squarify)&&Vt.ratio===Xe)for(var Vt,ar,Qr,ai,jr=-1,ri,bi=Vt.length,nn=Le.value;++jr1?Le:1)},ht}(_r);e.cluster=l,e.hierarchy=_,e.pack=ce,e.packEnclose=V,e.packSiblings=Ee,e.partition=ot,e.stratify=er,e.tree=$t,e.treemap=Nr,e.treemapBinary=ut,e.treemapDice=rt,e.treemapResquarify=Ye,e.treemapSlice=fr,e.treemapSliceDice=Ne,e.treemapSquarify=Or,Object.defineProperty(e,\"__esModule\",{value:!0})})});var EE=ye(ME=>{\"use strict\";var VEe=SE(),hkt=uo(),b5=Mr(),dkt=Mu().makeColorScaleFuncFromTrace,vkt=y5().makePullColorFn,pkt=y5().generateExtendedColors,gkt=Mu().calc,mkt=es().ALMOST_EQUAL,ykt={},_kt={},xkt={};ME.calc=function(e,t){var r=e._fullLayout,n=t.ids,i=b5.isArrayOrTypedArray(n),a=t.labels,o=t.parents,s=t.values,l=b5.isArrayOrTypedArray(s),u=[],c={},f={},h=function(G,N){c[G]?c[G].push(N):c[G]=[N],f[N]=1},d=function(G){return G||typeof G==\"number\"},v=function(G){return!l||hkt(s[G])&&s[G]>=0},x,b,g;i?(x=Math.min(n.length,o.length),b=function(G){return d(n[G])&&v(G)},g=function(G){return String(n[G])}):(x=Math.min(a.length,o.length),b=function(G){return d(a[G])&&v(G)},g=function(G){return String(a[G])}),l&&(x=Math.min(x,s.length));for(var E=0;E1){for(var M=b5.randstr(),p=0;p{});function Vm(){}function jEe(){return this.rgb().formatHex()}function kkt(){return this.rgb().formatHex8()}function Ckt(){return $Ee(this).formatHsl()}function WEe(){return this.rgb().formatRgb()}function j_(e){var t,r;return e=(e+\"\").trim().toLowerCase(),(t=bkt.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?ZEe(t):r===3?new hd(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?pD(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?pD(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=wkt.exec(e))?new hd(t[1],t[2],t[3],1):(t=Tkt.exec(e))?new hd(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Akt.exec(e))?pD(t[1],t[2],t[3],t[4]):(t=Skt.exec(e))?pD(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Mkt.exec(e))?KEe(t[1],t[2]/100,t[3]/100,1):(t=Ekt.exec(e))?KEe(t[1],t[2]/100,t[3]/100,t[4]):GEe.hasOwnProperty(e)?ZEe(GEe[e]):e===\"transparent\"?new hd(NaN,NaN,NaN,0):null}function ZEe(e){return new hd(e>>16&255,e>>8&255,e&255,1)}function pD(e,t,r,n){return n<=0&&(e=t=r=NaN),new hd(e,t,r,n)}function CE(e){return e instanceof Vm||(e=j_(e)),e?(e=e.rgb(),new hd(e.r,e.g,e.b,e.opacity)):new hd}function T5(e,t,r,n){return arguments.length===1?CE(e):new hd(e,t,r,n==null?1:n)}function hd(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function XEe(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}`}function Lkt(){return`#${M2(this.r)}${M2(this.g)}${M2(this.b)}${M2((isNaN(this.opacity)?1:this.opacity)*255)}`}function YEe(){let e=mD(this.opacity);return`${e===1?\"rgb(\":\"rgba(\"}${E2(this.r)}, ${E2(this.g)}, ${E2(this.b)}${e===1?\")\":`, ${e})`}`}function mD(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function E2(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function M2(e){return e=E2(e),(e<16?\"0\":\"\")+e.toString(16)}function KEe(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Zg(e,t,r,n)}function $Ee(e){if(e instanceof Zg)return new Zg(e.h,e.s,e.l,e.opacity);if(e instanceof Vm||(e=j_(e)),!e)return new Zg;if(e instanceof Zg)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=NaN,s=a-i,l=(a+i)/2;return s?(t===a?o=(r-n)/s+(r0&&l<1?0:o,new Zg(o,s,l,e.opacity)}function LE(e,t,r,n){return arguments.length===1?$Ee(e):new Zg(e,t,r,n==null?1:n)}function Zg(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function JEe(e){return e=(e||0)%360,e<0?e+360:e}function gD(e){return Math.max(0,Math.min(1,e||0))}function oW(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}var G_,k2,w5,kE,Um,bkt,wkt,Tkt,Akt,Skt,Mkt,Ekt,GEe,yD=su(()=>{vD();G_=.7,k2=1/G_,w5=\"\\\\s*([+-]?\\\\d+)\\\\s*\",kE=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",Um=\"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",bkt=/^#([0-9a-f]{3,8})$/,wkt=new RegExp(`^rgb\\\\(${w5},${w5},${w5}\\\\)$`),Tkt=new RegExp(`^rgb\\\\(${Um},${Um},${Um}\\\\)$`),Akt=new RegExp(`^rgba\\\\(${w5},${w5},${w5},${kE}\\\\)$`),Skt=new RegExp(`^rgba\\\\(${Um},${Um},${Um},${kE}\\\\)$`),Mkt=new RegExp(`^hsl\\\\(${kE},${Um},${Um}\\\\)$`),Ekt=new RegExp(`^hsla\\\\(${kE},${Um},${Um},${kE}\\\\)$`),GEe={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Xy(Vm,j_,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:jEe,formatHex:jEe,formatHex8:kkt,formatHsl:Ckt,formatRgb:WEe,toString:WEe});Xy(hd,T5,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new hd(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new hd(E2(this.r),E2(this.g),E2(this.b),mD(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:XEe,formatHex:XEe,formatHex8:Lkt,formatRgb:YEe,toString:YEe}));Xy(Zg,LE,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new Zg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new Zg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new hd(oW(e>=240?e-240:e+120,i,n),oW(e,i,n),oW(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new Zg(JEe(this.h),gD(this.s),gD(this.l),mD(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=mD(this.opacity);return`${e===1?\"hsl(\":\"hsla(\"}${JEe(this.h)}, ${gD(this.s)*100}%, ${gD(this.l)*100}%${e===1?\")\":`, ${e})`}`}}))});var _D,xD,sW=su(()=>{_D=Math.PI/180,xD=180/Math.PI});function nke(e){if(e instanceof Hm)return new Hm(e.l,e.a,e.b,e.opacity);if(e instanceof Yy)return ake(e);e instanceof hd||(e=CE(e));var t=fW(e.r),r=fW(e.g),n=fW(e.b),i=lW((.2225045*t+.7168786*r+.0606169*n)/eke),a,o;return t===r&&r===n?a=o=i:(a=lW((.4360747*t+.3850649*r+.1430804*n)/QEe),o=lW((.0139322*t+.0971045*r+.7141733*n)/tke)),new Hm(116*i-16,500*(a-i),200*(i-o),e.opacity)}function S5(e,t,r,n){return arguments.length===1?nke(e):new Hm(e,t,r,n==null?1:n)}function Hm(e,t,r,n){this.l=+e,this.a=+t,this.b=+r,this.opacity=+n}function lW(e){return e>Pkt?Math.pow(e,1/3):e/ike+rke}function uW(e){return e>A5?e*e*e:ike*(e-rke)}function cW(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function fW(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Ikt(e){if(e instanceof Yy)return new Yy(e.h,e.c,e.l,e.opacity);if(e instanceof Hm||(e=nke(e)),e.a===0&&e.b===0)return new Yy(NaN,0{vD();yD();sW();bD=18,QEe=.96422,eke=1,tke=.82521,rke=4/29,A5=6/29,ike=3*A5*A5,Pkt=A5*A5*A5;Xy(Hm,S5,H_(Vm,{brighter(e){return new Hm(this.l+bD*(e==null?1:e),this.a,this.b,this.opacity)},darker(e){return new Hm(this.l-bD*(e==null?1:e),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,r=isNaN(this.b)?e:e-this.b/200;return t=QEe*uW(t),e=eke*uW(e),r=tke*uW(r),new hd(cW(3.1338561*t-1.6168667*e-.4906146*r),cW(-.9787684*t+1.9161415*e+.033454*r),cW(.0719453*t-.2289914*e+1.4052427*r),this.opacity)}}));Xy(Yy,PE,H_(Vm,{brighter(e){return new Yy(this.h,this.c,this.l+bD*(e==null?1:e),this.opacity)},darker(e){return new Yy(this.h,this.c,this.l-bD*(e==null?1:e),this.opacity)},rgb(){return ake(this).rgb()}}))});function Rkt(e){if(e instanceof C2)return new C2(e.h,e.s,e.l,e.opacity);e instanceof hd||(e=CE(e));var t=e.r/255,r=e.g/255,n=e.b/255,i=(uke*n+ske*t-lke*r)/(uke+ske-lke),a=n-i,o=(IE*(r-i)-dW*a)/wD,s=Math.sqrt(o*o+a*a)/(IE*i*(1-i)),l=s?Math.atan2(o,a)*xD-120:NaN;return new C2(l<0?l+360:l,s,i,e.opacity)}function M5(e,t,r,n){return arguments.length===1?Rkt(e):new C2(e,t,r,n==null?1:n)}function C2(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}var cke,hW,dW,wD,IE,ske,lke,uke,fke=su(()=>{vD();yD();sW();cke=-.14861,hW=1.78277,dW=-.29227,wD=-.90649,IE=1.97294,ske=IE*wD,lke=IE*hW,uke=hW*dW-wD*cke;Xy(C2,M5,H_(Vm,{brighter(e){return e=e==null?k2:Math.pow(k2,e),new C2(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?G_:Math.pow(G_,e),new C2(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*_D,t=+this.l,r=isNaN(this.s)?0:this.s*t*(1-t),n=Math.cos(e),i=Math.sin(e);return new hd(255*(t+r*(cke*n+hW*i)),255*(t+r*(dW*n+wD*i)),255*(t+r*(IE*n)),this.opacity)}}))});var L2=su(()=>{yD();oke();fke()});function vW(e,t,r,n,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*r+(1+3*e+3*a-3*o)*n+o*i)/6}function TD(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),i=e[n],a=e[n+1],o=n>0?e[n-1]:2*i-a,s=n{});function SD(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),i=e[(n+t-1)%t],a=e[n%t],o=e[(n+1)%t],s=e[(n+2)%t];return vW((r-n/t)*t,i,a,o,s)}}var pW=su(()=>{AD()});var E5,gW=su(()=>{E5=e=>()=>e});function hke(e,t){return function(r){return e+r*t}}function Dkt(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function W_(e,t){var r=t-e;return r?hke(e,r>180||r<-180?r-360*Math.round(r/360):r):E5(isNaN(e)?t:e)}function dke(e){return(e=+e)==1?qf:function(t,r){return r-t?Dkt(t,r,e):E5(isNaN(t)?r:t)}}function qf(e,t){var r=t-e;return r?hke(e,r):E5(isNaN(e)?t:e)}var P2=su(()=>{gW()});function vke(e){return function(t){var r=t.length,n=new Array(r),i=new Array(r),a=new Array(r),o,s;for(o=0;o{L2();AD();pW();P2();RE=function e(t){var r=dke(t);function n(i,a){var o=r((i=T5(i)).r,(a=T5(a)).r),s=r(i.g,a.g),l=r(i.b,a.b),u=qf(i.opacity,a.opacity);return function(c){return i.r=o(c),i.g=s(c),i.b=l(c),i.opacity=u(c),i+\"\"}}return n.gamma=e,n}(1);pke=vke(TD),gke=vke(SD)});function k5(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),i;return function(a){for(i=0;i{});function mke(e,t){return(MD(t)?k5:yW)(e,t)}function yW(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,i=new Array(n),a=new Array(r),o;for(o=0;o{DE();ED()});function kD(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}var xW=su(()=>{});function Fp(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var zE=su(()=>{});function CD(e,t){var r={},n={},i;(e===null||typeof e!=\"object\")&&(e={}),(t===null||typeof t!=\"object\")&&(t={});for(i in t)i in e?r[i]=Z_(e[i],t[i]):n[i]=t[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var bW=su(()=>{DE()});function zkt(e){return function(){return e}}function Fkt(e){return function(t){return e(t)+\"\"}}function LD(e,t){var r=TW.lastIndex=wW.lastIndex=0,n,i,a,o=-1,s=[],l=[];for(e=e+\"\",t=t+\"\";(n=TW.exec(e))&&(i=wW.exec(t));)(a=i.index)>r&&(a=t.slice(r,a),s[o]?s[o]+=a:s[++o]=a),(n=n[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,l.push({i:o,x:Fp(n,i)})),r=wW.lastIndex;return r{zE();TW=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,wW=new RegExp(TW.source,\"g\")});function Z_(e,t){var r=typeof t,n;return t==null||r===\"boolean\"?E5(t):(r===\"number\"?Fp:r===\"string\"?(n=j_(t))?(t=n,RE):LD:t instanceof j_?RE:t instanceof Date?kD:MD(t)?k5:Array.isArray(t)?yW:typeof t.valueOf!=\"function\"&&typeof t.toString!=\"function\"||isNaN(t)?CD:Fp)(e,t)}var DE=su(()=>{L2();mW();_W();xW();zE();bW();AW();gW();ED()});function yke(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var _ke=su(()=>{});function xke(e,t){var r=W_(+e,+t);return function(n){var i=r(n);return i-360*Math.floor(i/360)}}var bke=su(()=>{P2()});function wke(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var Tke=su(()=>{});function SW(e,t,r,n,i,a){var o,s,l;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(l=e*r+t*n)&&(r-=e*l,n-=t*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),e*n{Ake=180/Math.PI,PD={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1}});function Mke(e){let t=new(typeof DOMMatrix==\"function\"?DOMMatrix:WebKitCSSMatrix)(e+\"\");return t.isIdentity?PD:SW(t.a,t.b,t.c,t.d,t.e,t.f)}function Eke(e){return e==null?PD:(ID||(ID=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),ID.setAttribute(\"transform\",e),(e=ID.transform.baseVal.consolidate())?(e=e.matrix,SW(e.a,e.b,e.c,e.d,e.e,e.f)):PD)}var ID,kke=su(()=>{Ske()});function Cke(e,t,r,n){function i(u){return u.length?u.pop()+\" \":\"\"}function a(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(\"translate(\",null,t,null,r);v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f||h)&&d.push(\"translate(\"+f+t+h+r)}function o(u,c,f,h){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),h.push({i:f.push(i(f)+\"rotate(\",null,n)-2,x:Fp(u,c)})):c&&f.push(i(f)+\"rotate(\"+c+n)}function s(u,c,f,h){u!==c?h.push({i:f.push(i(f)+\"skewX(\",null,n)-2,x:Fp(u,c)}):c&&f.push(i(f)+\"skewX(\"+c+n)}function l(u,c,f,h,d,v){if(u!==f||c!==h){var x=d.push(i(d)+\"scale(\",null,\",\",null,\")\");v.push({i:x-4,x:Fp(u,f)},{i:x-2,x:Fp(c,h)})}else(f!==1||h!==1)&&d.push(i(d)+\"scale(\"+f+\",\"+h+\")\")}return function(u,c){var f=[],h=[];return u=e(u),c=e(c),a(u.translateX,u.translateY,c.translateX,c.translateY,f,h),o(u.rotate,c.rotate,f,h),s(u.skewX,c.skewX,f,h),l(u.scaleX,u.scaleY,c.scaleX,c.scaleY,f,h),u=c=null,function(d){for(var v=-1,x=h.length,b;++v{zE();kke();Lke=Cke(Mke,\"px, \",\"px)\",\"deg)\"),Pke=Cke(Eke,\", \",\")\",\")\")});function Rke(e){return((e=Math.exp(e))+1/e)/2}function Okt(e){return((e=Math.exp(e))-1/e)/2}function Bkt(e){return((e=Math.exp(2*e))-1)/(e+1)}var qkt,Dke,zke=su(()=>{qkt=1e-12;Dke=function e(t,r,n){function i(a,o){var s=a[0],l=a[1],u=a[2],c=o[0],f=o[1],h=o[2],d=c-s,v=f-l,x=d*d+v*v,b,g;if(x{L2();P2();qke=Fke(W_),Oke=Fke(qf)});function MW(e,t){var r=qf((e=S5(e)).l,(t=S5(t)).l),n=qf(e.a,t.a),i=qf(e.b,t.b),a=qf(e.opacity,t.opacity);return function(o){return e.l=r(o),e.a=n(o),e.b=i(o),e.opacity=a(o),e+\"\"}}var Nke=su(()=>{L2();P2()});function Uke(e){return function(t,r){var n=e((t=PE(t)).h,(r=PE(r)).h),i=qf(t.c,r.c),a=qf(t.l,r.l),o=qf(t.opacity,r.opacity);return function(s){return t.h=n(s),t.c=i(s),t.l=a(s),t.opacity=o(s),t+\"\"}}}var Vke,Hke,Gke=su(()=>{L2();P2();Vke=Uke(W_),Hke=Uke(qf)});function jke(e){return function t(r){r=+r;function n(i,a){var o=e((i=M5(i)).h,(a=M5(a)).h),s=qf(i.s,a.s),l=qf(i.l,a.l),u=qf(i.opacity,a.opacity);return function(c){return i.h=o(c),i.s=s(c),i.l=l(Math.pow(c,r)),i.opacity=u(c),i+\"\"}}return n.gamma=t,n}(1)}var Wke,Zke,Xke=su(()=>{L2();P2();Wke=jke(W_),Zke=jke(qf)});function EW(e,t){t===void 0&&(t=e,e=Z_);for(var r=0,n=t.length-1,i=t[0],a=new Array(n<0?0:n);r{DE()});function Kke(e,t){for(var r=new Array(t),n=0;n{});var I2={};BQe(I2,{interpolate:()=>Z_,interpolateArray:()=>mke,interpolateBasis:()=>TD,interpolateBasisClosed:()=>SD,interpolateCubehelix:()=>Wke,interpolateCubehelixLong:()=>Zke,interpolateDate:()=>kD,interpolateDiscrete:()=>yke,interpolateHcl:()=>Vke,interpolateHclLong:()=>Hke,interpolateHsl:()=>qke,interpolateHslLong:()=>Oke,interpolateHue:()=>xke,interpolateLab:()=>MW,interpolateNumber:()=>Fp,interpolateNumberArray:()=>k5,interpolateObject:()=>CD,interpolateRgb:()=>RE,interpolateRgbBasis:()=>pke,interpolateRgbBasisClosed:()=>gke,interpolateRound:()=>wke,interpolateString:()=>LD,interpolateTransformCss:()=>Lke,interpolateTransformSvg:()=>Pke,interpolateZoom:()=>Dke,piecewise:()=>EW,quantize:()=>Kke});var R2=su(()=>{DE();_W();AD();pW();xW();_ke();bke();zE();ED();bW();Tke();AW();Ike();zke();mW();Bke();Nke();Gke();Xke();Yke();Jke()});var RD=ye((tdr,$ke)=>{\"use strict\";var Nkt=ao(),Ukt=va();$ke.exports=function(t,r,n,i,a){var o=r.data.data,s=o.i,l=a||o.color;if(s>=0){r.i=o.i;var u=n.marker;u.pattern?(!u.colors||!u.pattern.shape)&&(u.color=l,r.color=l):(u.color=l,r.color=l),Nkt.pointStyle(t,n,i,r)}else Ukt.fill(t,l)}});var kW=ye((rdr,iCe)=>{\"use strict\";var Qke=xa(),eCe=va(),tCe=Mr(),Vkt=_v().resizeText,Hkt=RD();function Gkt(e){var t=e._fullLayout._sunburstlayer.selectAll(\".trace\");Vkt(e,t,\"sunburst\"),t.each(function(r){var n=Qke.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){Qke.select(this).call(rCe,o,a,e)})})}function rCe(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=tCe.castOption(r,o,\"marker.line.color\")||eCe.defaultLine,l=tCe.castOption(r,o,\"marker.line.width\")||0;e.call(Hkt,t,r,n).style(\"stroke-width\",l).call(eCe.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}iCe.exports={style:Gkt,styleOne:rCe}});var Ky=ye(bs=>{\"use strict\";var D2=Mr(),jkt=va(),Wkt=Tg(),nCe=l_();bs.findEntryWithLevel=function(e,t){var r;return t&&e.eachAfter(function(n){if(bs.getPtId(n)===t)return r=n.copy()}),r||e};bs.findEntryWithChild=function(e,t){var r;return e.eachAfter(function(n){for(var i=n.children||[],a=0;a0)};bs.getMaxDepth=function(e){return e.maxdepth>=0?e.maxdepth:1/0};bs.isHeader=function(e,t){return!(bs.isLeaf(e)||e.depth===t._maxDepth-1)};function aCe(e){return e.data.data.pid}bs.getParent=function(e,t){return bs.findEntryWithLevel(e,aCe(t))};bs.listPath=function(e,t){var r=e.parent;if(!r)return[];var n=t?[r.data[t]]:[r];return bs.listPath(r,t).concat(n)};bs.getPath=function(e){return bs.listPath(e,\"label\").join(\"/\")+\"/\"};bs.formatValue=nCe.formatPieValue;bs.formatPercent=function(e,t){var r=D2.formatPercent(e,0);return r===\"0%\"&&(r=nCe.formatPiePercent(e,t)),r}});var OE=ye((ndr,lCe)=>{\"use strict\";var C5=xa(),oCe=ba(),Ykt=rp().appendArrayPointValue,FE=Nc(),sCe=Mr(),Kkt=g3(),Wh=Ky(),Jkt=l_(),$kt=Jkt.formatPieValue;lCe.exports=function(t,r,n,i,a){var o=i[0],s=o.trace,l=o.hierarchy,u=s.type===\"sunburst\",c=s.type===\"treemap\"||s.type===\"icicle\";\"_hasHoverLabel\"in s||(s._hasHoverLabel=!1),\"_hasHoverEvent\"in s||(s._hasHoverEvent=!1);var f=function(v){var x=n._fullLayout;if(!(n._dragging||x.hovermode===!1)){var b=n._fullData[s.index],g=v.data.data,E=g.i,k=Wh.isHierarchyRoot(v),A=Wh.getParent(l,v),L=Wh.getValue(v),_=function(Me){return sCe.castOption(b,E,Me)},C=_(\"hovertemplate\"),M=FE.castHoverinfo(b,x,E),p=x.separators,P;if(C||M&&M!==\"none\"&&M!==\"skip\"){var T,F;u&&(T=o.cx+v.pxmid[0]*(1-v.rInscribed),F=o.cy+v.pxmid[1]*(1-v.rInscribed)),c&&(T=v._hoverX,F=v._hoverY);var q={},V=[],H=[],X=function(Me){return V.indexOf(Me)!==-1};M&&(V=M===\"all\"?b._module.attributes.hoverinfo.flags:M.split(\"+\")),q.label=g.label,X(\"label\")&&q.label&&H.push(q.label),g.hasOwnProperty(\"v\")&&(q.value=g.v,q.valueLabel=$kt(q.value,p),X(\"value\")&&H.push(q.valueLabel)),q.currentPath=v.currentPath=Wh.getPath(v.data),X(\"current path\")&&!k&&H.push(q.currentPath);var G,N=[],W=function(){N.indexOf(G)===-1&&(H.push(G),N.push(G))};q.percentParent=v.percentParent=L/Wh.getValue(A),q.parent=v.parentString=Wh.getPtLabel(A),X(\"percent parent\")&&(G=Wh.formatPercent(q.percentParent,p)+\" of \"+q.parent,W()),q.percentEntry=v.percentEntry=L/Wh.getValue(r),q.entry=v.entry=Wh.getPtLabel(r),X(\"percent entry\")&&!k&&!v.onPathbar&&(G=Wh.formatPercent(q.percentEntry,p)+\" of \"+q.entry,W()),q.percentRoot=v.percentRoot=L/Wh.getValue(l),q.root=v.root=Wh.getPtLabel(l),X(\"percent root\")&&!k&&(G=Wh.formatPercent(q.percentRoot,p)+\" of \"+q.root,W()),q.text=_(\"hovertext\")||_(\"text\"),X(\"text\")&&(G=q.text,sCe.isValidTextValue(G)&&H.push(G)),P=[qE(v,b,a.eventDataKeys)];var re={trace:b,y:F,_x0:v._x0,_x1:v._x1,_y0:v._y0,_y1:v._y1,text:H.join(\"
\"),name:C||X(\"name\")?b.name:void 0,color:_(\"hoverlabel.bgcolor\")||g.color,borderColor:_(\"hoverlabel.bordercolor\"),fontFamily:_(\"hoverlabel.font.family\"),fontSize:_(\"hoverlabel.font.size\"),fontColor:_(\"hoverlabel.font.color\"),fontWeight:_(\"hoverlabel.font.weight\"),fontStyle:_(\"hoverlabel.font.style\"),fontVariant:_(\"hoverlabel.font.variant\"),nameLength:_(\"hoverlabel.namelength\"),textAlign:_(\"hoverlabel.align\"),hovertemplate:C,hovertemplateLabels:q,eventData:P};u&&(re.x0=T-v.rInscribed*v.rpx1,re.x1=T+v.rInscribed*v.rpx1,re.idealAlign=v.pxmid[0]<0?\"left\":\"right\"),c&&(re.x=T,re.idealAlign=T<0?\"left\":\"right\");var ae=[];FE.loneHover(re,{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:n,inOut_bbox:ae}),P[0].bbox=ae[0],s._hasHoverLabel=!0}if(c){var _e=t.select(\"path.surface\");a.styleOne(_e,v,b,n,{hovered:!0})}s._hasHoverEvent=!0,n.emit(\"plotly_hover\",{points:P||[qE(v,b,a.eventDataKeys)],event:C5.event})}},h=function(v){var x=n._fullLayout,b=n._fullData[s.index],g=C5.select(this).datum();if(s._hasHoverEvent&&(v.originalEvent=C5.event,n.emit(\"plotly_unhover\",{points:[qE(g,b,a.eventDataKeys)],event:C5.event}),s._hasHoverEvent=!1),s._hasHoverLabel&&(FE.loneUnhover(x._hoverlayer.node()),s._hasHoverLabel=!1),c){var E=t.select(\"path.surface\");a.styleOne(E,g,b,n,{hovered:!1})}},d=function(v){var x=n._fullLayout,b=n._fullData[s.index],g=u&&(Wh.isHierarchyRoot(v)||Wh.isLeaf(v)),E=Wh.getPtId(v),k=Wh.isEntry(v)?Wh.findEntryWithChild(l,E):Wh.findEntryWithLevel(l,E),A=Wh.getPtId(k),L={points:[qE(v,b,a.eventDataKeys)],event:C5.event};g||(L.nextLevel=A);var _=Kkt.triggerHandler(n,\"plotly_\"+s.type+\"click\",L);if(_!==!1&&x.hovermode&&(n._hoverdata=[qE(v,b,a.eventDataKeys)],FE.click(n,C5.event)),!g&&_!==!1&&!n._dragging&&!n._transitioning){oCe.call(\"_storeDirectGUIEdit\",b,x._tracePreGUI[b.uid],{level:b.level});var C={data:[{level:A}],traces:[s.index]},M={frame:{redraw:!1,duration:a.transitionTime},transition:{duration:a.transitionTime,easing:a.transitionEasing},mode:\"immediate\",fromcurrent:!0};FE.loneUnhover(x._hoverlayer.node()),oCe.call(\"animate\",n,C,M)}};t.on(\"mouseover\",f),t.on(\"mouseout\",h),t.on(\"click\",d)};function qE(e,t,r){for(var n=e.data.data,i={curveNumber:t.index,pointNumber:n.i,data:t._input,fullData:t},a=0;a{\"use strict\";var BE=xa(),Qkt=SE(),Xg=(R2(),ab(I2)).interpolate,uCe=ao(),bv=Mr(),eCt=Ll(),dCe=_v(),cCe=dCe.recordMinTextSize,tCt=dCe.clearMinTextSize,vCe=hD(),rCt=l_().getRotationAngle,iCt=vCe.computeTransform,nCt=vCe.transformInsideText,aCt=kW().styleOne,oCt=N0().resizeText,sCt=OE(),CW=nW(),sl=Ky();DD.plot=function(e,t,r,n){var i=e._fullLayout,a=i._sunburstlayer,o,s,l=!r,u=!i.uniformtext.mode&&sl.hasTransition(r);if(tCt(\"sunburst\",i),o=a.selectAll(\"g.trace.sunburst\").data(t,function(f){return f[0].trace.uid}),o.enter().append(\"g\").classed(\"trace\",!0).classed(\"sunburst\",!0).attr(\"stroke-linejoin\",\"round\"),o.order(),u){n&&(s=n());var c=BE.transition().duration(r.duration).ease(r.easing).each(\"end\",function(){s&&s()}).each(\"interrupt\",function(){s&&s()});c.each(function(){a.selectAll(\"g.trace\").each(function(f){fCe(e,f,this,r)})})}else o.each(function(f){fCe(e,f,this,r)}),i.uniformtext.mode&&oCt(e,i._sunburstlayer.selectAll(\".trace\"),\"sunburst\");l&&o.exit().remove()};function fCe(e,t,r,n){var i=e._context.staticPlot,a=e._fullLayout,o=!a.uniformtext.mode&&sl.hasTransition(n),s=BE.select(r),l=s.selectAll(\"g.slice\"),u=t[0],c=u.trace,f=u.hierarchy,h=sl.findEntryWithLevel(f,c.level),d=sl.getMaxDepth(c),v=a._size,x=c.domain,b=v.w*(x.x[1]-x.x[0]),g=v.h*(x.y[1]-x.y[0]),E=.5*Math.min(b,g),k=u.cx=v.l+v.w*(x.x[1]+x.x[0])/2,A=u.cy=v.t+v.h*(1-x.y[0])-g/2;if(!h)return l.remove();var L=null,_={};o&&l.each(function(ge){_[sl.getPtId(ge)]={rpx0:ge.rpx0,rpx1:ge.rpx1,x0:ge.x0,x1:ge.x1,transform:ge.transform},!L&&sl.isEntry(ge)&&(L=ge)});var C=lCt(h).descendants(),M=h.height+1,p=0,P=d;u.hasMultipleRoots&&sl.isHierarchyRoot(h)&&(C=C.slice(1),M-=1,p=1,P+=1),C=C.filter(function(ge){return ge.y1<=P});var T=rCt(c.rotation);T&&C.forEach(function(ge){ge.x0+=T,ge.x1+=T});var F=Math.min(M,d),q=function(ge){return(ge-p)/F*E},V=function(ge,ie){return[ge*Math.cos(ie),-ge*Math.sin(ie)]},H=function(ge){return bv.pathAnnulus(ge.rpx0,ge.rpx1,ge.x0,ge.x1,k,A)},X=function(ge){return k+hCe(ge)[0]*(ge.transform.rCenter||0)+(ge.transform.x||0)},G=function(ge){return A+hCe(ge)[1]*(ge.transform.rCenter||0)+(ge.transform.y||0)};l=l.data(C,sl.getPtId),l.enter().append(\"g\").classed(\"slice\",!0),o?l.exit().transition().each(function(){var ge=BE.select(this),ie=ge.select(\"path.surface\");ie.transition().attrTween(\"d\",function(Ee){var Ae=ae(Ee);return function(ze){return H(Ae(ze))}});var Te=ge.select(\"g.slicetext\");Te.attr(\"opacity\",0)}).remove():l.exit().remove(),l.order();var N=null;if(o&&L){var W=sl.getPtId(L);l.each(function(ge){N===null&&sl.getPtId(ge)===W&&(N=ge.x1)})}var re=l;o&&(re=re.transition().each(\"end\",function(){var ge=BE.select(this);sl.setSliceCursor(ge,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),re.each(function(ge){var ie=BE.select(this),Te=bv.ensureSingle(ie,\"path\",\"surface\",function(Re){Re.style(\"pointer-events\",i?\"none\":\"all\")});ge.rpx0=q(ge.y0),ge.rpx1=q(ge.y1),ge.xmid=(ge.x0+ge.x1)/2,ge.pxmid=V(ge.rpx1,ge.xmid),ge.midangle=-(ge.xmid-Math.PI/2),ge.startangle=-(ge.x0-Math.PI/2),ge.stopangle=-(ge.x1-Math.PI/2),ge.halfangle=.5*Math.min(bv.angleDelta(ge.x0,ge.x1)||Math.PI,Math.PI),ge.ring=1-ge.rpx0/ge.rpx1,ge.rInscribed=uCt(ge,c),o?Te.transition().attrTween(\"d\",function(Re){var ce=_e(Re);return function(Ge){return H(ce(Ge))}}):Te.attr(\"d\",H),ie.call(sCt,h,e,t,{eventDataKeys:CW.eventDataKeys,transitionTime:CW.CLICK_TRANSITION_TIME,transitionEasing:CW.CLICK_TRANSITION_EASING}).call(sl.setSliceCursor,e,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:e._transitioning}),Te.call(aCt,ge,c,e);var Ee=bv.ensureSingle(ie,\"g\",\"slicetext\"),Ae=bv.ensureSingle(Ee,\"text\",\"\",function(Re){Re.attr(\"data-notex\",1)}),ze=bv.ensureUniformFontSize(e,sl.determineTextFont(c,ge,a.font));Ae.text(DD.formatSliceLabel(ge,h,c,t,a)).classed(\"slicetext\",!0).attr(\"text-anchor\",\"middle\").call(uCe.font,ze).call(eCt.convertToTspans,e);var Ce=uCe.bBox(Ae.node());ge.transform=nCt(Ce,ge,u),ge.transform.targetX=X(ge),ge.transform.targetY=G(ge);var me=function(Re,ce){var Ge=Re.transform;return iCt(Ge,ce),Ge.fontSize=ze.size,cCe(c.type,Ge,a),bv.getTextTransform(Ge)};o?Ae.transition().attrTween(\"transform\",function(Re){var ce=Me(Re);return function(Ge){return me(ce(Ge),Ce)}}):Ae.attr(\"transform\",me(ge,Ce))});function ae(ge){var ie=sl.getPtId(ge),Te=_[ie],Ee=_[sl.getPtId(h)],Ae;if(Ee){var ze=(ge.x1>Ee.x1?2*Math.PI:0)+T;Ae=ge.rpx1N?2*Math.PI:0)+T;Te={x0:Ae,x1:Ae}}else Te={rpx0:E,rpx1:E},bv.extendFlat(Te,ke(ge));else Te={rpx0:0,rpx1:0};else Te={x0:T,x1:T};return Xg(Te,Ee)}function Me(ge){var ie=_[sl.getPtId(ge)],Te,Ee=ge.transform;if(ie)Te=ie;else if(Te={rpx1:ge.rpx1,transform:{textPosAngle:Ee.textPosAngle,scale:0,rotate:Ee.rotate,rCenter:Ee.rCenter,x:Ee.x,y:Ee.y}},L)if(ge.parent)if(N){var Ae=ge.x1>N?2*Math.PI:0;Te.x0=Te.x1=Ae}else bv.extendFlat(Te,ke(ge));else Te.x0=Te.x1=T;else Te.x0=Te.x1=T;var ze=Xg(Te.transform.textPosAngle,ge.transform.textPosAngle),Ce=Xg(Te.rpx1,ge.rpx1),me=Xg(Te.x0,ge.x0),Re=Xg(Te.x1,ge.x1),ce=Xg(Te.transform.scale,Ee.scale),Ge=Xg(Te.transform.rotate,Ee.rotate),nt=Ee.rCenter===0?3:Te.transform.rCenter===0?1/3:1,ct=Xg(Te.transform.rCenter,Ee.rCenter),qt=function(rt){return ct(Math.pow(rt,nt))};return function(rt){var ot=Ce(rt),Rt=me(rt),kt=Re(rt),Ct=qt(rt),Yt=V(ot,(Rt+kt)/2),xr=ze(rt),er={pxmid:Yt,rpx1:ot,transform:{textPosAngle:xr,rCenter:Ct,x:Ee.x,y:Ee.y}};return cCe(c.type,Ee,a),{transform:{targetX:X(er),targetY:G(er),scale:ce(rt),rotate:Ge(rt),rCenter:Ct}}}}function ke(ge){var ie=ge.parent,Te=_[sl.getPtId(ie)],Ee={};if(Te){var Ae=ie.children,ze=Ae.indexOf(ge),Ce=Ae.length,me=Xg(Te.x0,Te.x1);Ee.x0=me(ze/Ce),Ee.x1=me(ze/Ce)}else Ee.x0=Ee.x1=0;return Ee}}function lCt(e){return Qkt.partition().size([2*Math.PI,e.height+1])(e)}DD.formatSliceLabel=function(e,t,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!a&&(!o||o===\"none\"))return\"\";var s=i.separators,l=n[0],u=e.data.data,c=l.hierarchy,f=sl.isHierarchyRoot(e),h=sl.getParent(c,e),d=sl.getValue(e);if(!a){var v=o.split(\"+\"),x=function(p){return v.indexOf(p)!==-1},b=[],g;if(x(\"label\")&&u.label&&b.push(u.label),u.hasOwnProperty(\"v\")&&x(\"value\")&&b.push(sl.formatValue(u.v,s)),!f){x(\"current path\")&&b.push(sl.getPath(e.data));var E=0;x(\"percent parent\")&&E++,x(\"percent entry\")&&E++,x(\"percent root\")&&E++;var k=E>1;if(E){var A,L=function(p){g=sl.formatPercent(A,s),k&&(g+=\" of \"+p),b.push(g)};x(\"percent parent\")&&!f&&(A=d/sl.getValue(h),L(\"parent\")),x(\"percent entry\")&&(A=d/sl.getValue(t),L(\"entry\")),x(\"percent root\")&&(A=d/sl.getValue(c),L(\"root\"))}}return x(\"text\")&&(g=bv.castOption(r,u.i,\"text\"),bv.isValidTextValue(g)&&b.push(g)),b.join(\"
\")}var _=bv.castOption(r,u.i,\"texttemplate\");if(!_)return\"\";var C={};u.label&&(C.label=u.label),u.hasOwnProperty(\"v\")&&(C.value=u.v,C.valueLabel=sl.formatValue(u.v,s)),C.currentPath=sl.getPath(e.data),f||(C.percentParent=d/sl.getValue(h),C.percentParentLabel=sl.formatPercent(C.percentParent,s),C.parent=sl.getPtLabel(h)),C.percentEntry=d/sl.getValue(t),C.percentEntryLabel=sl.formatPercent(C.percentEntry,s),C.entry=sl.getPtLabel(t),C.percentRoot=d/sl.getValue(c),C.percentRootLabel=sl.formatPercent(C.percentRoot,s),C.root=sl.getPtLabel(c),u.hasOwnProperty(\"color\")&&(C.color=u.color);var M=bv.castOption(r,u.i,\"text\");return(bv.isValidTextValue(M)||M===\"\")&&(C.text=M),C.customdata=bv.castOption(r,u.i,\"customdata\"),bv.texttemplateString(_,C,i._d3locale,C,r._meta||{})};function uCt(e){return e.rpx0===0&&bv.isFullCircle([e.x0,e.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(e.halfangle)),e.ring/2))}function hCe(e){return cCt(e.rpx1,e.transform.textPosAngle)}function cCt(e,t){return[e*Math.sin(t),-e*Math.cos(t)]}});var gCe=ye((odr,pCe)=>{\"use strict\";pCe.exports={moduleType:\"trace\",name:\"sunburst\",basePlotModule:LEe(),categories:[],animatable:!0,attributes:AE(),layoutAttributes:aW(),supplyDefaults:OEe(),supplyLayoutDefaults:NEe(),calc:EE().calc,crossTraceCalc:EE().crossTraceCalc,plot:zD().plot,style:kW().style,colorbar:Kd(),meta:{}}});var yCe=ye((sdr,mCe)=>{\"use strict\";mCe.exports=gCe()});var xCe=ye(L5=>{\"use strict\";var _Ce=Xu();L5.name=\"treemap\";L5.plot=function(e,t,r,n){_Ce.plotBasePlot(L5.name,e,t,r,n)};L5.clean=function(e,t,r,n){_Ce.cleanBasePlot(L5.name,e,t,r,n)}});var z2=ye((udr,bCe)=>{\"use strict\";bCe.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:\"poly\",eventDataKeys:[\"currentPath\",\"root\",\"entry\",\"percentRoot\",\"percentEntry\",\"percentParent\"],gapWithPathbar:1}});var FD=ye((cdr,TCe)=>{\"use strict\";var fCt=Wo().hovertemplateAttrs,hCt=Wo().texttemplateAttrs,dCt=Kl(),vCt=Ju().attributes,F2=A2(),Q0=AE(),wCe=z2(),LW=no().extendFlat,pCt=Ed().pattern;TCe.exports={labels:Q0.labels,parents:Q0.parents,values:Q0.values,branchvalues:Q0.branchvalues,count:Q0.count,level:Q0.level,maxdepth:Q0.maxdepth,tiling:{packing:{valType:\"enumerated\",values:[\"squarify\",\"binary\",\"dice\",\"slice\",\"slice-dice\",\"dice-slice\"],dflt:\"squarify\",editType:\"plot\"},squarifyratio:{valType:\"number\",min:1,dflt:1,editType:\"plot\"},flip:{valType:\"flaglist\",flags:[\"x\",\"y\"],dflt:\"\",editType:\"plot\"},pad:{valType:\"number\",min:0,dflt:3,editType:\"plot\"},editType:\"calc\"},marker:LW({pad:{t:{valType:\"number\",min:0,editType:\"plot\"},l:{valType:\"number\",min:0,editType:\"plot\"},r:{valType:\"number\",min:0,editType:\"plot\"},b:{valType:\"number\",min:0,editType:\"plot\"},editType:\"calc\"},colors:Q0.marker.colors,pattern:pCt,depthfade:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],editType:\"style\"},line:Q0.marker.line,cornerradius:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},dCt(\"marker\",{colorAttr:\"colors\",anim:!1})),pathbar:{visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},edgeshape:{valType:\"enumerated\",values:[\">\",\"<\",\"|\",\"/\",\"\\\\\"],dflt:\">\",editType:\"plot\"},thickness:{valType:\"number\",min:12,editType:\"plot\"},textfont:LW({},F2.textfont,{}),editType:\"calc\"},text:F2.text,textinfo:Q0.textinfo,texttemplate:hCt({editType:\"plot\"},{keys:wCe.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:F2.hovertext,hoverinfo:Q0.hoverinfo,hovertemplate:fCt({},{keys:wCe.eventDataKeys}),textfont:F2.textfont,insidetextfont:F2.insidetextfont,outsidetextfont:LW({},F2.outsidetextfont,{}),textposition:{valType:\"enumerated\",values:[\"top left\",\"top center\",\"top right\",\"middle left\",\"middle center\",\"middle right\",\"bottom left\",\"bottom center\",\"bottom right\"],dflt:\"top left\",editType:\"plot\"},sort:F2.sort,root:Q0.root,domain:vCt({name:\"treemap\",trace:!0,editType:\"calc\"})}});var PW=ye((fdr,ACe)=>{\"use strict\";ACe.exports={treemapcolorway:{valType:\"colorlist\",editType:\"calc\"},extendtreemapcolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var kCe=ye((hdr,ECe)=>{\"use strict\";var SCe=Mr(),gCt=FD(),mCt=va(),yCt=Ju().defaults,_Ct=r0().handleText,xCt=Qb().TEXTPAD,bCt=S2().handleMarkerDefaults,MCe=Mu(),wCt=MCe.hasColorscale,TCt=MCe.handleDefaults;ECe.exports=function(t,r,n,i){function a(b,g){return SCe.coerce(t,r,gCt,b,g)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\");var u=a(\"tiling.packing\");u===\"squarify\"&&a(\"tiling.squarifyratio\"),a(\"tiling.flip\"),a(\"tiling.pad\");var c=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",SCe.isArrayOrTypedArray(c)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"pathbar.visible\"),h=\"auto\";_Ct(t,r,i,a,h,{hasPathbar:f,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\");var d=r.textposition.indexOf(\"bottom\")!==-1;bCt(t,r,i,a);var v=r._hasColorscale=wCt(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;v?TCt(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}):a(\"marker.depthfade\",!(r.marker.colors||[]).length);var x=r.textfont.size*2;a(\"marker.pad.t\",d?x/4:x),a(\"marker.pad.l\",x/4),a(\"marker.pad.r\",x/4),a(\"marker.pad.b\",d?x:x/4),a(\"marker.cornerradius\"),r._hovered={marker:{line:{width:2,color:mCt.contrast(i.paper_bgcolor)}}},f&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*xCt),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),yCt(r,i,a),r._length=null}});var LCe=ye((ddr,CCe)=>{\"use strict\";var ACt=Mr(),SCt=PW();CCe.exports=function(t,r){function n(i,a){return ACt.coerce(t,r,SCt,i,a)}n(\"treemapcolorway\",r.colorway),n(\"extendtreemapcolors\")}});var RW=ye(IW=>{\"use strict\";var PCe=EE();IW.calc=function(e,t){return PCe.calc(e,t)};IW.crossTraceCalc=function(e){return PCe._runCrossTraceCalc(\"treemap\",e)}});var DW=ye((pdr,ICe)=>{\"use strict\";ICe.exports=function e(t,r,n){var i;n.swapXY&&(i=t.x0,t.x0=t.y0,t.y0=i,i=t.x1,t.x1=t.y1,t.y1=i),n.flipX&&(i=t.x0,t.x0=r[0]-t.x1,t.x1=r[0]-i),n.flipY&&(i=t.y0,t.y0=r[1]-t.y1,t.y1=r[1]-i);var a=t.children;if(a)for(var o=0;o{\"use strict\";var P5=SE(),MCt=DW();RCe.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.packing===\"dice-slice\",s=n.pad[a?\"bottom\":\"top\"],l=n.pad[i?\"right\":\"left\"],u=n.pad[i?\"left\":\"right\"],c=n.pad[a?\"top\":\"bottom\"],f;o&&(f=l,l=s,s=f,f=u,u=c,c=f);var h=P5.treemap().tile(ECt(n.packing,n.squarifyratio)).paddingInner(n.pad.inner).paddingLeft(l).paddingRight(u).paddingTop(s).paddingBottom(c).size(o?[r[1],r[0]]:r)(t);return(o||i||a)&&MCt(h,r,{swapXY:o,flipX:i,flipY:a}),h};function ECt(e,t){switch(e){case\"squarify\":return P5.treemapSquarify.ratio(t);case\"binary\":return P5.treemapBinary;case\"dice\":return P5.treemapDice;case\"slice\":return P5.treemapSlice;default:return P5.treemapSliceDice}}});var qD=ye((mdr,qCe)=>{\"use strict\";var DCe=xa(),I5=va(),zCe=Mr(),FW=Ky(),kCt=_v().resizeText,CCt=RD();function LCt(e){var t=e._fullLayout._treemaplayer.selectAll(\".trace\");kCt(e,t,\"treemap\"),t.each(function(r){var n=DCe.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){DCe.select(this).call(FCe,o,a,e,{hovered:!1})})})}function FCe(e,t,r,n,i){var a=(i||{}).hovered,o=t.data.data,s=o.i,l,u,c=o.color,f=FW.isHierarchyRoot(t),h=1;if(a)l=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(f&&c===r.root.color)h=100,l=\"rgba(0,0,0,0)\",u=0;else if(l=zCe.castOption(r,s,\"marker.line.color\")||I5.defaultLine,u=zCe.castOption(r,s,\"marker.line.width\")||0,!r._hasColorscale&&!t.onPathbar){var d=r.marker.depthfade;if(d){var v=I5.combine(I5.addOpacity(r._backgroundColor,.75),c),x;if(d===!0){var b=FW.getMaxDepth(r);isFinite(b)?FW.isLeaf(t)?x=0:x=r._maxVisibleLayers-(t.data.depth-r._entryDepth):x=t.data.height+1}else x=t.data.depth-r._entryDepth,r._atRootLevel||x++;if(x>0)for(var g=0;g{\"use strict\";var OCe=xa(),OD=Mr(),BCe=ao(),PCt=Ll(),ICt=zW(),NCe=qD().styleOne,qW=z2(),R5=Ky(),RCt=OE(),OW=!0;UCe.exports=function(t,r,n,i,a){var o=a.barDifY,s=a.width,l=a.height,u=a.viewX,c=a.viewY,f=a.pathSlice,h=a.toMoveInsideSlice,d=a.strTransform,v=a.hasTransition,x=a.handleSlicesExit,b=a.makeUpdateSliceInterpolator,g=a.makeUpdateTextInterpolator,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=L.hierarchy,M=s/_._entryDepth,p=R5.listPath(n.data,\"id\"),P=ICt(C.copy(),[s,l],{packing:\"dice\",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();P=P.filter(function(F){var q=p.indexOf(F.data.id);return q===-1?!1:(F.x0=M*q,F.x1=M*(q+1),F.y0=o,F.y1=o+l,F.onPathbar=!0,!0)}),P.reverse(),i=i.data(P,R5.getPtId),i.enter().append(\"g\").classed(\"pathbar\",!0),x(i,OW,E,[s,l],f),i.order();var T=i;v&&(T=T.transition().each(\"end\",function(){var F=OCe.select(this);R5.setSliceCursor(F,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),T.each(function(F){F._x0=u(F.x0),F._x1=u(F.x1),F._y0=c(F.y0),F._y1=c(F.y1),F._hoverX=u(F.x1-Math.min(s,l)/2),F._hoverY=c(F.y1-l/2);var q=OCe.select(this),V=OD.ensureSingle(q,\"path\",\"surface\",function(N){N.style(\"pointer-events\",k?\"none\":\"all\")});v?V.transition().attrTween(\"d\",function(N){var W=b(N,OW,E,[s,l]);return function(re){return f(W(re))}}):V.attr(\"d\",f),q.call(RCt,n,t,r,{styleOne:NCe,eventDataKeys:qW.eventDataKeys,transitionTime:qW.CLICK_TRANSITION_TIME,transitionEasing:qW.CLICK_TRANSITION_EASING}).call(R5.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),V.call(NCe,F,_,t,{hovered:!1}),F._text=(R5.getPtLabel(F)||\"\").split(\"
\").join(\" \")||\"\";var H=OD.ensureSingle(q,\"g\",\"slicetext\"),X=OD.ensureSingle(H,\"text\",\"\",function(N){N.attr(\"data-notex\",1)}),G=OD.ensureUniformFontSize(t,R5.determineTextFont(_,F,A.font,{onPathbar:!0}));X.text(F._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",\"start\").call(BCe.font,G).call(PCt.convertToTspans,t),F.textBB=BCe.bBox(X.node()),F.transform=h(F,{fontSize:G.size,onPathbar:!0}),F.transform.fontSize=G.size,v?X.transition().attrTween(\"transform\",function(N){var W=g(N,OW,E,[s,l]);return function(re){return d(W(re))}}):X.attr(\"transform\",d(F))})}});var WCe=ye((_dr,jCe)=>{\"use strict\";var HCe=xa(),BW=(R2(),ab(I2)).interpolate,X_=Ky(),NE=Mr(),GCe=Qb().TEXTPAD,DCt=i2(),zCt=DCt.toMoveInsideBar,FCt=_v(),NW=FCt.recordMinTextSize,qCt=z2(),OCt=VCe();function q2(e){return X_.isHierarchyRoot(e)?\"\":X_.getPtId(e)}jCe.exports=function(t,r,n,i,a){var o=t._fullLayout,s=r[0],l=s.trace,u=l.type,c=u===\"icicle\",f=s.hierarchy,h=X_.findEntryWithLevel(f,l.level),d=HCe.select(n),v=d.selectAll(\"g.pathbar\"),x=d.selectAll(\"g.slice\");if(!h){v.remove(),x.remove();return}var b=X_.isHierarchyRoot(h),g=!o.uniformtext.mode&&X_.hasTransition(i),E=X_.getMaxDepth(l),k=function(Ke){return Ke.data.depth-h.data.depth-1?C+P:-(p+P):0,F={x0:M,x1:M,y0:T,y1:T+p},q=function(Ke,xt,bt){var Lt=l.tiling.pad,St=function($t){return $t-Lt<=xt.x0},Et=function($t){return $t+Lt>=xt.x1},dt=function($t){return $t-Lt<=xt.y0},Ht=function($t){return $t+Lt>=xt.y1};return Ke.x0===xt.x0&&Ke.x1===xt.x1&&Ke.y0===xt.y0&&Ke.y1===xt.y1?{x0:Ke.x0,x1:Ke.x1,y0:Ke.y0,y1:Ke.y1}:{x0:St(Ke.x0-Lt)?0:Et(Ke.x0-Lt)?bt[0]:Ke.x0,x1:St(Ke.x1+Lt)?0:Et(Ke.x1+Lt)?bt[0]:Ke.x1,y0:dt(Ke.y0-Lt)?0:Ht(Ke.y0-Lt)?bt[1]:Ke.y0,y1:dt(Ke.y1+Lt)?0:Ht(Ke.y1+Lt)?bt[1]:Ke.y1}},V=null,H={},X={},G=null,N=function(Ke,xt){return xt?H[q2(Ke)]:X[q2(Ke)]},W=function(Ke,xt,bt,Lt){if(xt)return H[q2(f)]||F;var St=X[l.level]||bt;return k(Ke)?q(Ke,St,Lt):{}};s.hasMultipleRoots&&b&&E++,l._maxDepth=E,l._backgroundColor=o.paper_bgcolor,l._entryDepth=h.data.depth,l._atRootLevel=b;var re=-_/2+A.l+A.w*(L.x[1]+L.x[0])/2,ae=-C/2+A.t+A.h*(1-(L.y[1]+L.y[0])/2),_e=function(Ke){return re+Ke},Me=function(Ke){return ae+Ke},ke=Me(0),ge=_e(0),ie=function(Ke){return ge+Ke},Te=function(Ke){return ke+Ke};function Ee(Ke,xt){return Ke+\",\"+xt}var Ae=ie(0),ze=function(Ke){Ke.x=Math.max(Ae,Ke.x)},Ce=l.pathbar.edgeshape,me=function(Ke){var xt=ie(Math.max(Math.min(Ke.x0,Ke.x0),0)),bt=ie(Math.min(Math.max(Ke.x1,Ke.x1),M)),Lt=Te(Ke.y0),St=Te(Ke.y1),Et=p/2,dt={},Ht={};dt.x=xt,Ht.x=bt,dt.y=Ht.y=(Lt+St)/2;var $t={x:xt,y:Lt},fr={x:bt,y:Lt},_r={x:bt,y:St},Br={x:xt,y:St};return Ce===\">\"?($t.x-=Et,fr.x-=Et,_r.x-=Et,Br.x-=Et):Ce===\"/\"?(_r.x-=Et,Br.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"\\\\\"?($t.x-=Et,fr.x-=Et,dt.x-=Et/2,Ht.x-=Et/2):Ce===\"<\"&&(dt.x-=Et,Ht.x-=Et),ze($t),ze(Br),ze(dt),ze(fr),ze(_r),ze(Ht),\"M\"+Ee($t.x,$t.y)+\"L\"+Ee(fr.x,fr.y)+\"L\"+Ee(Ht.x,Ht.y)+\"L\"+Ee(_r.x,_r.y)+\"L\"+Ee(Br.x,Br.y)+\"L\"+Ee(dt.x,dt.y)+\"Z\"},Re=l[c?\"tiling\":\"marker\"].pad,ce=function(Ke){return l.textposition.indexOf(Ke)!==-1},Ge=ce(\"top\"),nt=ce(\"left\"),ct=ce(\"right\"),qt=ce(\"bottom\"),rt=function(Ke){var xt=_e(Ke.x0),bt=_e(Ke.x1),Lt=Me(Ke.y0),St=Me(Ke.y1),Et=bt-xt,dt=St-Lt;if(!Et||!dt)return\"\";var Ht=l.marker.cornerradius||0,$t=Math.min(Ht,Et/2,dt/2);$t&&Ke.data&&Ke.data.data&&Ke.data.data.label&&(Ge&&($t=Math.min($t,Re.t)),nt&&($t=Math.min($t,Re.l)),ct&&($t=Math.min($t,Re.r)),qt&&($t=Math.min($t,Re.b)));var fr=function(_r,Br){return $t?\"a\"+Ee($t,$t)+\" 0 0 1 \"+Ee(_r,Br):\"\"};return\"M\"+Ee(xt,Lt+$t)+fr($t,-$t)+\"L\"+Ee(bt-$t,Lt)+fr($t,$t)+\"L\"+Ee(bt,St-$t)+fr(-$t,$t)+\"L\"+Ee(xt+$t,St)+fr(-$t,-$t)+\"Z\"},ot=function(Ke,xt){var bt=Ke.x0,Lt=Ke.x1,St=Ke.y0,Et=Ke.y1,dt=Ke.textBB,Ht=Ge||xt.isHeader&&!qt,$t=Ht?\"start\":qt?\"end\":\"middle\",fr=ce(\"right\"),_r=ce(\"left\")||xt.onPathbar,Br=_r?-1:fr?1:0;if(xt.isHeader){if(bt+=(c?Re:Re.l)-GCe,Lt-=(c?Re:Re.r)-GCe,bt>=Lt){var Or=(bt+Lt)/2;bt=Or,Lt=Or}var Nr;qt?(Nr=Et-(c?Re:Re.b),St{\"use strict\";var BCt=xa(),NCt=Ky(),UCt=_v(),VCt=UCt.clearMinTextSize,HCt=N0().resizeText,ZCe=WCe();XCe.exports=function(t,r,n,i,a){var o=a.type,s=a.drawDescendants,l=t._fullLayout,u=l[\"_\"+o+\"layer\"],c,f,h=!n;if(VCt(o,l),c=u.selectAll(\"g.trace.\"+o).data(r,function(v){return v[0].trace.uid}),c.enter().append(\"g\").classed(\"trace\",!0).classed(o,!0),c.order(),!l.uniformtext.mode&&NCt.hasTransition(n)){i&&(f=i());var d=BCt.transition().duration(n.duration).ease(n.easing).each(\"end\",function(){f&&f()}).each(\"interrupt\",function(){f&&f()});d.each(function(){u.selectAll(\"g.trace\").each(function(v){ZCe(t,v,this,n,s)})})}else c.each(function(v){ZCe(t,v,this,n,s)}),l.uniformtext.mode&&HCt(t,u.selectAll(\".trace\"),o);h&&c.exit().remove()}});var QCe=ye((bdr,$Ce)=>{\"use strict\";var YCe=xa(),BD=Mr(),KCe=ao(),GCt=Ll(),jCt=zW(),JCe=qD().styleOne,VW=z2(),Y_=Ky(),WCt=OE(),ZCt=zD().formatSliceLabel,HW=!1;$Ce.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,p=_.textposition.indexOf(\"bottom\")!==-1,P=!p&&!_.marker.pad.t||p&&!_.marker.pad.b,T=jCt(n,[o,s],{packing:_.tiling.packing,squarifyratio:_.tiling.squarifyratio,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,pad:{inner:_.tiling.pad,top:_.marker.pad.t,left:_.marker.pad.l,right:_.marker.pad.r,bottom:_.marker.pad.b}}),F=T.descendants(),q=1/0,V=-1/0;F.forEach(function(W){var re=W.depth;re>=_._maxDepth?(W.x0=W.x1=(W.x0+W.x1)/2,W.y0=W.y1=(W.y0+W.y1)/2):(q=Math.min(q,re),V=Math.max(V,re))}),i=i.data(F,Y_.getPtId),_._maxVisibleLayers=isFinite(V)?V-q+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,HW,E,[o,s],c),i.order();var H=null;if(d&&g){var X=Y_.getPtId(g);i.each(function(W){H===null&&Y_.getPtId(W)===X&&(H={x0:W.x0,x1:W.x1,y0:W.y0,y1:W.y1})})}var G=function(){return H||{x0:0,x1:o,y0:0,y1:s}},N=i;return d&&(N=N.transition().each(\"end\",function(){var W=YCe.select(this);Y_.setSliceCursor(W,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(W){var re=Y_.isHeader(W,_);W._x0=l(W.x0),W._x1=l(W.x1),W._y0=u(W.y0),W._y1=u(W.y1),W._hoverX=l(W.x1-_.marker.pad.r),W._hoverY=u(p?W.y1-_.marker.pad.b/2:W.y0+_.marker.pad.t/2);var ae=YCe.select(this),_e=BD.ensureSingle(ae,\"path\",\"surface\",function(Ee){Ee.style(\"pointer-events\",k?\"none\":\"all\")});d?_e.transition().attrTween(\"d\",function(Ee){var Ae=x(Ee,HW,G(),[o,s]);return function(ze){return c(Ae(ze))}}):_e.attr(\"d\",c),ae.call(WCt,n,t,r,{styleOne:JCe,eventDataKeys:VW.eventDataKeys,transitionTime:VW.CLICK_TRANSITION_TIME,transitionEasing:VW.CLICK_TRANSITION_EASING}).call(Y_.setSliceCursor,t,{isTransitioning:t._transitioning}),_e.call(JCe,W,_,t,{hovered:!1}),W.x0===W.x1||W.y0===W.y1?W._text=\"\":re?W._text=P?\"\":Y_.getPtLabel(W)||\"\":W._text=ZCt(W,n,_,r,A)||\"\";var Me=BD.ensureSingle(ae,\"g\",\"slicetext\"),ke=BD.ensureSingle(Me,\"text\",\"\",function(Ee){Ee.attr(\"data-notex\",1)}),ge=BD.ensureUniformFontSize(t,Y_.determineTextFont(_,W,A.font)),ie=W._text||\" \",Te=re&&ie.indexOf(\"
\")===-1;ke.text(ie).classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C||Te?\"start\":\"middle\").call(KCe.font,ge).call(GCt.convertToTspans,t),W.textBB=KCe.bBox(ke.node()),W.transform=f(W,{fontSize:ge.size,isHeader:re}),W.transform.fontSize=ge.size,d?ke.transition().attrTween(\"transform\",function(Ee){var Ae=b(Ee,HW,G(),[o,s]);return function(ze){return h(Ae(ze))}}):ke.attr(\"transform\",h(W))}),H}});var t6e=ye((wdr,e6e)=>{\"use strict\";var XCt=UW(),YCt=QCe();e6e.exports=function(t,r,n,i){return XCt(t,r,n,i,{type:\"treemap\",drawDescendants:YCt})}});var i6e=ye((Tdr,r6e)=>{\"use strict\";r6e.exports={moduleType:\"trace\",name:\"treemap\",basePlotModule:xCe(),categories:[],animatable:!0,attributes:FD(),layoutAttributes:PW(),supplyDefaults:kCe(),supplyLayoutDefaults:LCe(),calc:RW().calc,crossTraceCalc:RW().crossTraceCalc,plot:t6e(),style:qD().style,colorbar:Kd(),meta:{}}});var a6e=ye((Adr,n6e)=>{\"use strict\";n6e.exports=i6e()});var s6e=ye(D5=>{\"use strict\";var o6e=Xu();D5.name=\"icicle\";D5.plot=function(e,t,r,n){o6e.plotBasePlot(D5.name,e,t,r,n)};D5.clean=function(e,t,r,n){o6e.cleanBasePlot(D5.name,e,t,r,n)}});var GW=ye((Mdr,u6e)=>{\"use strict\";var KCt=Wo().hovertemplateAttrs,JCt=Wo().texttemplateAttrs,$Ct=Kl(),QCt=Ju().attributes,UE=A2(),o0=AE(),ND=FD(),l6e=z2(),e6t=no().extendFlat,t6t=Ed().pattern;u6e.exports={labels:o0.labels,parents:o0.parents,values:o0.values,branchvalues:o0.branchvalues,count:o0.count,level:o0.level,maxdepth:o0.maxdepth,tiling:{orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\",editType:\"plot\"},flip:ND.tiling.flip,pad:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},marker:e6t({colors:o0.marker.colors,line:o0.marker.line,pattern:t6t,editType:\"calc\"},$Ct(\"marker\",{colorAttr:\"colors\",anim:!1})),leaf:o0.leaf,pathbar:ND.pathbar,text:UE.text,textinfo:o0.textinfo,texttemplate:JCt({editType:\"plot\"},{keys:l6e.eventDataKeys.concat([\"label\",\"value\"])}),hovertext:UE.hovertext,hoverinfo:o0.hoverinfo,hovertemplate:KCt({},{keys:l6e.eventDataKeys}),textfont:UE.textfont,insidetextfont:UE.insidetextfont,outsidetextfont:ND.outsidetextfont,textposition:ND.textposition,sort:UE.sort,root:o0.root,domain:QCt({name:\"icicle\",trace:!0,editType:\"calc\"})}});var jW=ye((Edr,c6e)=>{\"use strict\";c6e.exports={iciclecolorway:{valType:\"colorlist\",editType:\"calc\"},extendiciclecolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var v6e=ye((kdr,d6e)=>{\"use strict\";var f6e=Mr(),r6t=GW(),i6t=va(),n6t=Ju().defaults,a6t=r0().handleText,o6t=Qb().TEXTPAD,s6t=S2().handleMarkerDefaults,h6e=Mu(),l6t=h6e.hasColorscale,u6t=h6e.handleDefaults;d6e.exports=function(t,r,n,i){function a(d,v){return f6e.coerce(t,r,r6t,d,v)}var o=a(\"labels\"),s=a(\"parents\");if(!o||!o.length||!s||!s.length){r.visible=!1;return}var l=a(\"values\");l&&l.length?a(\"branchvalues\"):a(\"count\"),a(\"level\"),a(\"maxdepth\"),a(\"tiling.orientation\"),a(\"tiling.flip\"),a(\"tiling.pad\");var u=a(\"text\");a(\"texttemplate\"),r.texttemplate||a(\"textinfo\",f6e.isArrayOrTypedArray(u)?\"text+label\":\"label\"),a(\"hovertext\"),a(\"hovertemplate\");var c=a(\"pathbar.visible\"),f=\"auto\";a6t(t,r,i,a,f,{hasPathbar:c,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),a(\"textposition\"),s6t(t,r,i,a);var h=r._hasColorscale=l6t(t,\"marker\",\"colors\")||(t.marker||{}).coloraxis;h&&u6t(t,r,i,a,{prefix:\"marker.\",cLetter:\"c\"}),a(\"leaf.opacity\",h?1:.7),r._hovered={marker:{line:{width:2,color:i6t.contrast(i.paper_bgcolor)}}},c&&(a(\"pathbar.thickness\",r.pathbar.textfont.size+2*o6t),a(\"pathbar.side\"),a(\"pathbar.edgeshape\")),a(\"sort\"),a(\"root.color\"),n6t(r,i,a),r._length=null}});var g6e=ye((Cdr,p6e)=>{\"use strict\";var c6t=Mr(),f6t=jW();p6e.exports=function(t,r){function n(i,a){return c6t.coerce(t,r,f6t,i,a)}n(\"iciclecolorway\",r.colorway),n(\"extendiciclecolors\")}});var ZW=ye(WW=>{\"use strict\";var m6e=EE();WW.calc=function(e,t){return m6e.calc(e,t)};WW.crossTraceCalc=function(e){return m6e._runCrossTraceCalc(\"icicle\",e)}});var _6e=ye((Pdr,y6e)=>{\"use strict\";var h6t=SE(),d6t=DW();y6e.exports=function(t,r,n){var i=n.flipX,a=n.flipY,o=n.orientation===\"h\",s=n.maxDepth,l=r[0],u=r[1];s&&(l=(t.height+1)*r[0]/Math.min(t.height+1,s),u=(t.height+1)*r[1]/Math.min(t.height+1,s));var c=h6t.partition().padding(n.pad.inner).size(o?[r[1],l]:[r[0],u])(t);return(o||i||a)&&d6t(c,r,{swapXY:o,flipX:i,flipY:a}),c}});var XW=ye((Idr,A6e)=>{\"use strict\";var x6e=xa(),b6e=va(),w6e=Mr(),v6t=_v().resizeText,p6t=RD();function g6t(e){var t=e._fullLayout._iciclelayer.selectAll(\".trace\");v6t(e,t,\"icicle\"),t.each(function(r){var n=x6e.select(this),i=r[0],a=i.trace;n.style(\"opacity\",a.opacity),n.selectAll(\"path.surface\").each(function(o){x6e.select(this).call(T6e,o,a,e)})})}function T6e(e,t,r,n){var i=t.data.data,a=!t.children,o=i.i,s=w6e.castOption(r,o,\"marker.line.color\")||b6e.defaultLine,l=w6e.castOption(r,o,\"marker.line.width\")||0;e.call(p6t,t,r,n).style(\"stroke-width\",l).call(b6e.stroke,s).style(\"opacity\",a?r.leaf.opacity:null)}A6e.exports={style:g6t,styleOne:T6e}});var C6e=ye((Rdr,k6e)=>{\"use strict\";var S6e=xa(),UD=Mr(),M6e=ao(),m6t=Ll(),y6t=_6e(),E6e=XW().styleOne,YW=z2(),z5=Ky(),_6t=OE(),x6t=zD().formatSliceLabel,KW=!1;k6e.exports=function(t,r,n,i,a){var o=a.width,s=a.height,l=a.viewX,u=a.viewY,c=a.pathSlice,f=a.toMoveInsideSlice,h=a.strTransform,d=a.hasTransition,v=a.handleSlicesExit,x=a.makeUpdateSliceInterpolator,b=a.makeUpdateTextInterpolator,g=a.prevEntry,E={},k=t._context.staticPlot,A=t._fullLayout,L=r[0],_=L.trace,C=_.textposition.indexOf(\"left\")!==-1,M=_.textposition.indexOf(\"right\")!==-1,p=_.textposition.indexOf(\"bottom\")!==-1,P=y6t(n,[o,s],{flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1,orientation:_.tiling.orientation,pad:{inner:_.tiling.pad},maxDepth:_._maxDepth}),T=P.descendants(),F=1/0,q=-1/0;T.forEach(function(N){var W=N.depth;W>=_._maxDepth?(N.x0=N.x1=(N.x0+N.x1)/2,N.y0=N.y1=(N.y0+N.y1)/2):(F=Math.min(F,W),q=Math.max(q,W))}),i=i.data(T,z5.getPtId),_._maxVisibleLayers=isFinite(q)?q-F+1:0,i.enter().append(\"g\").classed(\"slice\",!0),v(i,KW,E,[o,s],c),i.order();var V=null;if(d&&g){var H=z5.getPtId(g);i.each(function(N){V===null&&z5.getPtId(N)===H&&(V={x0:N.x0,x1:N.x1,y0:N.y0,y1:N.y1})})}var X=function(){return V||{x0:0,x1:o,y0:0,y1:s}},G=i;return d&&(G=G.transition().each(\"end\",function(){var N=S6e.select(this);z5.setSliceCursor(N,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),G.each(function(N){N._x0=l(N.x0),N._x1=l(N.x1),N._y0=u(N.y0),N._y1=u(N.y1),N._hoverX=l(N.x1-_.tiling.pad),N._hoverY=u(p?N.y1-_.tiling.pad/2:N.y0+_.tiling.pad/2);var W=S6e.select(this),re=UD.ensureSingle(W,\"path\",\"surface\",function(ke){ke.style(\"pointer-events\",k?\"none\":\"all\")});d?re.transition().attrTween(\"d\",function(ke){var ge=x(ke,KW,X(),[o,s],{orientation:_.tiling.orientation,flipX:_.tiling.flip.indexOf(\"x\")>-1,flipY:_.tiling.flip.indexOf(\"y\")>-1});return function(ie){return c(ge(ie))}}):re.attr(\"d\",c),W.call(_6t,n,t,r,{styleOne:E6e,eventDataKeys:YW.eventDataKeys,transitionTime:YW.CLICK_TRANSITION_TIME,transitionEasing:YW.CLICK_TRANSITION_EASING}).call(z5.setSliceCursor,t,{isTransitioning:t._transitioning}),re.call(E6e,N,_,t,{hovered:!1}),N.x0===N.x1||N.y0===N.y1?N._text=\"\":N._text=x6t(N,n,_,r,A)||\"\";var ae=UD.ensureSingle(W,\"g\",\"slicetext\"),_e=UD.ensureSingle(ae,\"text\",\"\",function(ke){ke.attr(\"data-notex\",1)}),Me=UD.ensureUniformFontSize(t,z5.determineTextFont(_,N,A.font));_e.text(N._text||\" \").classed(\"slicetext\",!0).attr(\"text-anchor\",M?\"end\":C?\"start\":\"middle\").call(M6e.font,Me).call(m6t.convertToTspans,t),N.textBB=M6e.bBox(_e.node()),N.transform=f(N,{fontSize:Me.size}),N.transform.fontSize=Me.size,d?_e.transition().attrTween(\"transform\",function(ke){var ge=b(ke,KW,X(),[o,s]);return function(ie){return h(ge(ie))}}):_e.attr(\"transform\",h(N))}),V}});var P6e=ye((Ddr,L6e)=>{\"use strict\";var b6t=UW(),w6t=C6e();L6e.exports=function(t,r,n,i){return b6t(t,r,n,i,{type:\"icicle\",drawDescendants:w6t})}});var R6e=ye((zdr,I6e)=>{\"use strict\";I6e.exports={moduleType:\"trace\",name:\"icicle\",basePlotModule:s6e(),categories:[],animatable:!0,attributes:GW(),layoutAttributes:jW(),supplyDefaults:v6e(),supplyLayoutDefaults:g6e(),calc:ZW().calc,crossTraceCalc:ZW().crossTraceCalc,plot:P6e(),style:XW().style,colorbar:Kd(),meta:{}}});var z6e=ye((Fdr,D6e)=>{\"use strict\";D6e.exports=R6e()});var q6e=ye(F5=>{\"use strict\";var F6e=Xu();F5.name=\"funnelarea\";F5.plot=function(e,t,r,n){F6e.plotBasePlot(F5.name,e,t,r,n)};F5.clean=function(e,t,r,n){F6e.cleanBasePlot(F5.name,e,t,r,n)}});var JW=ye((Odr,O6e)=>{\"use strict\";var tv=A2(),T6t=vl(),A6t=Ju().attributes,S6t=Wo().hovertemplateAttrs,M6t=Wo().texttemplateAttrs,O2=no().extendFlat;O6e.exports={labels:tv.labels,label0:tv.label0,dlabel:tv.dlabel,values:tv.values,marker:{colors:tv.marker.colors,line:{color:O2({},tv.marker.line.color,{dflt:null}),width:O2({},tv.marker.line.width,{dflt:1}),editType:\"calc\"},pattern:tv.marker.pattern,editType:\"calc\"},text:tv.text,hovertext:tv.hovertext,scalegroup:O2({},tv.scalegroup,{}),textinfo:O2({},tv.textinfo,{flags:[\"label\",\"text\",\"value\",\"percent\"]}),texttemplate:M6t({editType:\"plot\"},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),hoverinfo:O2({},T6t.hoverinfo,{flags:[\"label\",\"text\",\"value\",\"percent\",\"name\"]}),hovertemplate:S6t({},{keys:[\"label\",\"color\",\"value\",\"text\",\"percent\"]}),textposition:O2({},tv.textposition,{values:[\"inside\",\"none\"],dflt:\"inside\"}),textfont:tv.textfont,insidetextfont:tv.insidetextfont,title:{text:tv.title.text,font:tv.title.font,position:O2({},tv.title.position,{values:[\"top left\",\"top center\",\"top right\"],dflt:\"top center\"}),editType:\"plot\"},domain:A6t({name:\"funnelarea\",trace:!0,editType:\"calc\"}),aspectratio:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},baseratio:{valType:\"number\",min:0,max:1,dflt:.333,editType:\"plot\"}}});var $W=ye((Bdr,B6e)=>{\"use strict\";var E6t=lD().hiddenlabels;B6e.exports={hiddenlabels:E6t,funnelareacolorway:{valType:\"colorlist\",editType:\"calc\"},extendfunnelareacolors:{valType:\"boolean\",dflt:!0,editType:\"calc\"}}});var V6e=ye((Ndr,U6e)=>{\"use strict\";var N6e=Mr(),k6t=JW(),C6t=Ju().defaults,L6t=r0().handleText,P6t=S2().handleLabelsAndValues,I6t=S2().handleMarkerDefaults;U6e.exports=function(t,r,n,i){function a(x,b){return N6e.coerce(t,r,k6t,x,b)}var o=a(\"labels\"),s=a(\"values\"),l=P6t(o,s),u=l.len;if(r._hasLabels=l.hasLabels,r._hasValues=l.hasValues,!r._hasLabels&&r._hasValues&&(a(\"label0\"),a(\"dlabel\")),!u){r.visible=!1;return}r._length=u,I6t(t,r,i,a),a(\"scalegroup\");var c=a(\"text\"),f=a(\"texttemplate\"),h;if(f||(h=a(\"textinfo\",Array.isArray(c)?\"text+percent\":\"percent\")),a(\"hovertext\"),a(\"hovertemplate\"),f||h&&h!==\"none\"){var d=a(\"textposition\");L6t(t,r,i,a,d,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else h===\"none\"&&a(\"textposition\",\"none\");C6t(r,i,a);var v=a(\"title.text\");v&&(a(\"title.position\"),N6e.coerceFont(a,\"title.font\",i.font)),a(\"aspectratio\"),a(\"baseratio\")}});var G6e=ye((Udr,H6e)=>{\"use strict\";var R6t=Mr(),D6t=$W();H6e.exports=function(t,r){function n(i,a){return R6t.coerce(t,r,D6t,i,a)}n(\"hiddenlabels\"),n(\"funnelareacolorway\",r.colorway),n(\"extendfunnelareacolors\")}});var QW=ye((Vdr,W6e)=>{\"use strict\";var j6e=y5();function z6t(e,t){return j6e.calc(e,t)}function F6t(e){j6e.crossTraceCalc(e,{type:\"funnelarea\"})}W6e.exports={calc:z6t,crossTraceCalc:F6t}});var J6e=ye((Hdr,K6e)=>{\"use strict\";var B2=xa(),eZ=ao(),K_=Mr(),q6t=K_.strScale,Z6e=K_.strTranslate,X6e=Ll(),O6t=i2(),B6t=O6t.toMoveInsideBar,Y6e=_v(),N6t=Y6e.recordMinTextSize,U6t=Y6e.clearMinTextSize,V6t=l_(),q5=hD(),H6t=q5.attachFxHandlers,G6t=q5.determineInsideTextFont,j6t=q5.layoutAreas,W6t=q5.prerenderTitles,Z6t=q5.positionTitleOutside,X6t=q5.formatSliceLabel;K6e.exports=function(t,r){var n=t._context.staticPlot,i=t._fullLayout;U6t(\"funnelarea\",i),W6t(r,t),j6t(r,i._size),K_.makeTraceGroups(i._funnelarealayer,r,\"trace\").each(function(a){var o=B2.select(this),s=a[0],l=s.trace;K6t(a),o.each(function(){var u=B2.select(this).selectAll(\"g.slice\").data(a);u.enter().append(\"g\").classed(\"slice\",!0),u.exit().remove(),u.each(function(f,h){if(f.hidden){B2.select(this).selectAll(\"path,g\").remove();return}f.pointNumber=f.i,f.curveNumber=l.index;var d=s.cx,v=s.cy,x=B2.select(this),b=x.selectAll(\"path.surface\").data([f]);b.enter().append(\"path\").classed(\"surface\",!0).style({\"pointer-events\":n?\"none\":\"all\"}),x.call(H6t,t,a);var g=\"M\"+(d+f.TR[0])+\",\"+(v+f.TR[1])+tZ(f.TR,f.BR)+tZ(f.BR,f.BL)+tZ(f.BL,f.TL)+\"Z\";b.attr(\"d\",g),X6t(t,f,s);var E=V6t.castOption(l.textposition,f.pts),k=x.selectAll(\"g.slicetext\").data(f.text&&E!==\"none\"?[0]:[]);k.enter().append(\"g\").classed(\"slicetext\",!0),k.exit().remove(),k.each(function(){var A=K_.ensureSingle(B2.select(this),\"text\",\"\",function(F){F.attr(\"data-notex\",1)}),L=K_.ensureUniformFontSize(t,G6t(l,f,i.font));A.text(f.text).attr({class:\"slicetext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,L).call(X6e.convertToTspans,t);var _=eZ.bBox(A.node()),C,M,p,P=Math.min(f.BL[1],f.BR[1])+v,T=Math.max(f.TL[1],f.TR[1])+v;M=Math.max(f.TL[0],f.BL[0])+d,p=Math.min(f.TR[0],f.BR[0])+d,C=B6t(M,p,P,T,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:\"middle\"}),C.fontSize=L.size,N6t(l.type,C,i),a[h].transform=C,K_.setTransormAndDisplay(A,C)})});var c=B2.select(this).selectAll(\"g.titletext\").data(l.title.text?[0]:[]);c.enter().append(\"g\").classed(\"titletext\",!0),c.exit().remove(),c.each(function(){var f=K_.ensureSingle(B2.select(this),\"text\",\"\",function(v){v.attr(\"data-notex\",1)}),h=l.title.text;l._meta&&(h=K_.templateString(h,l._meta)),f.text(h).attr({class:\"titletext\",transform:\"\",\"text-anchor\":\"middle\"}).call(eZ.font,l.title.font).call(X6e.convertToTspans,t);var d=Z6t(s,i._size);f.attr(\"transform\",Z6e(d.x,d.y)+q6t(Math.min(1,d.scale))+Z6e(d.tx,d.ty))})})})};function tZ(e,t){var r=t[0]-e[0],n=t[1]-e[1];return\"l\"+r+\",\"+n}function Y6t(e,t){return[.5*(e[0]+t[0]),.5*(e[1]+t[1])]}function K6t(e){if(!e.length)return;var t=e[0],r=t.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a=Math.pow(i,2),o=t.vTotal,s=o*a/(1-a),l=o,u=s/o;function c(){var q=Math.sqrt(u);return{x:q,y:-q}}function f(){var q=c();return[q.x,q.y]}var h,d=[];d.push(f());var v,x;for(v=e.length-1;v>-1;v--)if(x=e[v],!x.hidden){var b=x.v/l;u+=b,d.push(f())}var g=1/0,E=-1/0;for(v=0;v-1;v--)if(x=e[v],!x.hidden){P+=1;var T=d[P][0],F=d[P][1];x.TL=[-T,F],x.TR=[T,F],x.BL=M,x.BR=p,x.pxmid=Y6t(x.TR,x.BR),M=x.TL,p=x.TR}}});var eLe=ye((Gdr,Q6e)=>{\"use strict\";var $6e=xa(),J6t=z3(),$6t=_v().resizeText;Q6e.exports=function(t){var r=t._fullLayout._funnelarealayer.selectAll(\".trace\");$6t(t,r,\"funnelarea\"),r.each(function(n){var i=n[0],a=i.trace,o=$6e.select(this);o.style({opacity:a.opacity}),o.selectAll(\"path.surface\").each(function(s){$6e.select(this).call(J6t,s,a,t)})})}});var rLe=ye((jdr,tLe)=>{\"use strict\";tLe.exports={moduleType:\"trace\",name:\"funnelarea\",basePlotModule:q6e(),categories:[\"pie-like\",\"funnelarea\",\"showLegend\"],attributes:JW(),layoutAttributes:$W(),supplyDefaults:V6e(),supplyLayoutDefaults:G6e(),calc:QW().calc,crossTraceCalc:QW().crossTraceCalc,plot:J6e(),style:eLe(),styleOne:z3(),meta:{}}});var nLe=ye((Wdr,iLe)=>{\"use strict\";iLe.exports=rLe()});var Rd=ye((Zdr,aLe)=>{(function(){var e={1964:function(i,a,o){i.exports={alpha_shape:o(3502),convex_hull:o(7352),delaunay_triangulate:o(7642),gl_cone3d:o(6405),gl_error3d:o(9165),gl_line3d:o(5714),gl_mesh3d:o(7201),gl_plot3d:o(4100),gl_scatter3d:o(8418),gl_streamtube3d:o(7815),gl_surface3d:o(9499),ndarray:o(9618),ndarray_linear_interpolate:o(4317)}},4793:function(i,a,o){\"use strict\";var s;function l(Le,xe){if(!(Le instanceof xe))throw new TypeError(\"Cannot call a class as a function\")}function u(Le,xe){for(var Se=0;SeM)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"');var xe=new Uint8Array(Le);return Object.setPrototypeOf(xe,T.prototype),xe}function T(Le,xe,Se){if(typeof Le==\"number\"){if(typeof xe==\"string\")throw new TypeError('The \"string\" argument must be of type string. Received type number');return H(Le)}return F(Le,xe,Se)}T.poolSize=8192;function F(Le,xe,Se){if(typeof Le==\"string\")return X(Le,xe);if(ArrayBuffer.isView(Le))return N(Le);if(Le==null)throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le));if(Ne(Le,ArrayBuffer)||Le&&Ne(Le.buffer,ArrayBuffer)||typeof SharedArrayBuffer!=\"undefined\"&&(Ne(Le,SharedArrayBuffer)||Le&&Ne(Le.buffer,SharedArrayBuffer)))return W(Le,xe,Se);if(typeof Le==\"number\")throw new TypeError('The \"value\" argument must not be of type number. Received type number');var lt=Le.valueOf&&Le.valueOf();if(lt!=null&<!==Le)return T.from(lt,xe,Se);var Gt=re(Le);if(Gt)return Gt;if(typeof Symbol!=\"undefined\"&&Symbol.toPrimitive!=null&&typeof Le[Symbol.toPrimitive]==\"function\")return T.from(Le[Symbol.toPrimitive](\"string\"),xe,Se);throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \"+A(Le))}T.from=function(Le,xe,Se){return F(Le,xe,Se)},Object.setPrototypeOf(T.prototype,Uint8Array.prototype),Object.setPrototypeOf(T,Uint8Array);function q(Le){if(typeof Le!=\"number\")throw new TypeError('\"size\" argument must be of type number');if(Le<0)throw new RangeError('The value \"'+Le+'\" is invalid for option \"size\"')}function V(Le,xe,Se){return q(Le),Le<=0?P(Le):xe!==void 0?typeof Se==\"string\"?P(Le).fill(xe,Se):P(Le).fill(xe):P(Le)}T.alloc=function(Le,xe,Se){return V(Le,xe,Se)};function H(Le){return q(Le),P(Le<0?0:ae(Le)|0)}T.allocUnsafe=function(Le){return H(Le)},T.allocUnsafeSlow=function(Le){return H(Le)};function X(Le,xe){if((typeof xe!=\"string\"||xe===\"\")&&(xe=\"utf8\"),!T.isEncoding(xe))throw new TypeError(\"Unknown encoding: \"+xe);var Se=Me(Le,xe)|0,lt=P(Se),Gt=lt.write(Le,xe);return Gt!==Se&&(lt=lt.slice(0,Gt)),lt}function G(Le){for(var xe=Le.length<0?0:ae(Le.length)|0,Se=P(xe),lt=0;lt=M)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+M.toString(16)+\" bytes\");return Le|0}function _e(Le){return+Le!=Le&&(Le=0),T.alloc(+Le)}T.isBuffer=function(xe){return xe!=null&&xe._isBuffer===!0&&xe!==T.prototype},T.compare=function(xe,Se){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),Ne(Se,Uint8Array)&&(Se=T.from(Se,Se.offset,Se.byteLength)),!T.isBuffer(xe)||!T.isBuffer(Se))throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');if(xe===Se)return 0;for(var lt=xe.length,Gt=Se.length,Vt=0,ar=Math.min(lt,Gt);VtGt.length?(T.isBuffer(ar)||(ar=T.from(ar)),ar.copy(Gt,Vt)):Uint8Array.prototype.set.call(Gt,ar,Vt);else if(T.isBuffer(ar))ar.copy(Gt,Vt);else throw new TypeError('\"list\" argument must be an Array of Buffers');Vt+=ar.length}return Gt};function Me(Le,xe){if(T.isBuffer(Le))return Le.length;if(ArrayBuffer.isView(Le)||Ne(Le,ArrayBuffer))return Le.byteLength;if(typeof Le!=\"string\")throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+A(Le));var Se=Le.length,lt=arguments.length>2&&arguments[2]===!0;if(!lt&&Se===0)return 0;for(var Gt=!1;;)switch(xe){case\"ascii\":case\"latin1\":case\"binary\":return Se;case\"utf8\":case\"utf-8\":return _r(Le).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return Se*2;case\"hex\":return Se>>>1;case\"base64\":return Nr(Le).length;default:if(Gt)return lt?-1:_r(Le).length;xe=(\"\"+xe).toLowerCase(),Gt=!0}}T.byteLength=Me;function ke(Le,xe,Se){var lt=!1;if((xe===void 0||xe<0)&&(xe=0),xe>this.length||((Se===void 0||Se>this.length)&&(Se=this.length),Se<=0)||(Se>>>=0,xe>>>=0,Se<=xe))return\"\";for(Le||(Le=\"utf8\");;)switch(Le){case\"hex\":return rt(this,xe,Se);case\"utf8\":case\"utf-8\":return ce(this,xe,Se);case\"ascii\":return ct(this,xe,Se);case\"latin1\":case\"binary\":return qt(this,xe,Se);case\"base64\":return Re(this,xe,Se);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return ot(this,xe,Se);default:if(lt)throw new TypeError(\"Unknown encoding: \"+Le);Le=(Le+\"\").toLowerCase(),lt=!0}}T.prototype._isBuffer=!0;function ge(Le,xe,Se){var lt=Le[xe];Le[xe]=Le[Se],Le[Se]=lt}T.prototype.swap16=function(){var xe=this.length;if(xe%2!==0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var Se=0;SeSe&&(xe+=\" ... \"),\"\"},C&&(T.prototype[C]=T.prototype.inspect),T.prototype.compare=function(xe,Se,lt,Gt,Vt){if(Ne(xe,Uint8Array)&&(xe=T.from(xe,xe.offset,xe.byteLength)),!T.isBuffer(xe))throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type '+A(xe));if(Se===void 0&&(Se=0),lt===void 0&&(lt=xe?xe.length:0),Gt===void 0&&(Gt=0),Vt===void 0&&(Vt=this.length),Se<0||lt>xe.length||Gt<0||Vt>this.length)throw new RangeError(\"out of range index\");if(Gt>=Vt&&Se>=lt)return 0;if(Gt>=Vt)return-1;if(Se>=lt)return 1;if(Se>>>=0,lt>>>=0,Gt>>>=0,Vt>>>=0,this===xe)return 0;for(var ar=Vt-Gt,Qr=lt-Se,ai=Math.min(ar,Qr),jr=this.slice(Gt,Vt),ri=xe.slice(Se,lt),bi=0;bi2147483647?Se=2147483647:Se<-2147483648&&(Se=-2147483648),Se=+Se,Ye(Se)&&(Se=Gt?0:Le.length-1),Se<0&&(Se=Le.length+Se),Se>=Le.length){if(Gt)return-1;Se=Le.length-1}else if(Se<0)if(Gt)Se=0;else return-1;if(typeof xe==\"string\"&&(xe=T.from(xe,lt)),T.isBuffer(xe))return xe.length===0?-1:Te(Le,xe,Se,lt,Gt);if(typeof xe==\"number\")return xe=xe&255,typeof Uint8Array.prototype.indexOf==\"function\"?Gt?Uint8Array.prototype.indexOf.call(Le,xe,Se):Uint8Array.prototype.lastIndexOf.call(Le,xe,Se):Te(Le,[xe],Se,lt,Gt);throw new TypeError(\"val must be string, number or Buffer\")}function Te(Le,xe,Se,lt,Gt){var Vt=1,ar=Le.length,Qr=xe.length;if(lt!==void 0&&(lt=String(lt).toLowerCase(),lt===\"ucs2\"||lt===\"ucs-2\"||lt===\"utf16le\"||lt===\"utf-16le\")){if(Le.length<2||xe.length<2)return-1;Vt=2,ar/=2,Qr/=2,Se/=2}function ai(Wi,Ni){return Vt===1?Wi[Ni]:Wi.readUInt16BE(Ni*Vt)}var jr;if(Gt){var ri=-1;for(jr=Se;jrar&&(Se=ar-Qr),jr=Se;jr>=0;jr--){for(var bi=!0,nn=0;nnGt&&(lt=Gt)):lt=Gt;var Vt=xe.length;lt>Vt/2&&(lt=Vt/2);var ar;for(ar=0;ar>>0,isFinite(lt)?(lt=lt>>>0,Gt===void 0&&(Gt=\"utf8\")):(Gt=lt,lt=void 0);else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");var Vt=this.length-Se;if((lt===void 0||lt>Vt)&&(lt=Vt),xe.length>0&&(lt<0||Se<0)||Se>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");Gt||(Gt=\"utf8\");for(var ar=!1;;)switch(Gt){case\"hex\":return Ee(this,xe,Se,lt);case\"utf8\":case\"utf-8\":return Ae(this,xe,Se,lt);case\"ascii\":case\"latin1\":case\"binary\":return ze(this,xe,Se,lt);case\"base64\":return Ce(this,xe,Se,lt);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return me(this,xe,Se,lt);default:if(ar)throw new TypeError(\"Unknown encoding: \"+Gt);Gt=(\"\"+Gt).toLowerCase(),ar=!0}},T.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};function Re(Le,xe,Se){return xe===0&&Se===Le.length?L.fromByteArray(Le):L.fromByteArray(Le.slice(xe,Se))}function ce(Le,xe,Se){Se=Math.min(Le.length,Se);for(var lt=[],Gt=xe;Gt239?4:Vt>223?3:Vt>191?2:1;if(Gt+Qr<=Se){var ai=void 0,jr=void 0,ri=void 0,bi=void 0;switch(Qr){case 1:Vt<128&&(ar=Vt);break;case 2:ai=Le[Gt+1],(ai&192)===128&&(bi=(Vt&31)<<6|ai&63,bi>127&&(ar=bi));break;case 3:ai=Le[Gt+1],jr=Le[Gt+2],(ai&192)===128&&(jr&192)===128&&(bi=(Vt&15)<<12|(ai&63)<<6|jr&63,bi>2047&&(bi<55296||bi>57343)&&(ar=bi));break;case 4:ai=Le[Gt+1],jr=Le[Gt+2],ri=Le[Gt+3],(ai&192)===128&&(jr&192)===128&&(ri&192)===128&&(bi=(Vt&15)<<18|(ai&63)<<12|(jr&63)<<6|ri&63,bi>65535&&bi<1114112&&(ar=bi))}}ar===null?(ar=65533,Qr=1):ar>65535&&(ar-=65536,lt.push(ar>>>10&1023|55296),ar=56320|ar&1023),lt.push(ar),Gt+=Qr}return nt(lt)}var Ge=4096;function nt(Le){var xe=Le.length;if(xe<=Ge)return String.fromCharCode.apply(String,Le);for(var Se=\"\",lt=0;ltlt)&&(Se=lt);for(var Gt=\"\",Vt=xe;Vtlt&&(xe=lt),Se<0?(Se+=lt,Se<0&&(Se=0)):Se>lt&&(Se=lt),SeSe)throw new RangeError(\"Trying to access beyond buffer length\")}T.prototype.readUintLE=T.prototype.readUIntLE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe+--Se],Vt=1;Se>0&&(Vt*=256);)Gt+=this[xe+--Se]*Vt;return Gt},T.prototype.readUint8=T.prototype.readUInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]},T.prototype.readUint16LE=T.prototype.readUInt16LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]|this[xe+1]<<8},T.prototype.readUint16BE=T.prototype.readUInt16BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,2,this.length),this[xe]<<8|this[xe+1]},T.prototype.readUint32LE=T.prototype.readUInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),(this[xe]|this[xe+1]<<8|this[xe+2]<<16)+this[xe+3]*16777216},T.prototype.readUint32BE=T.prototype.readUInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]*16777216+(this[xe+1]<<16|this[xe+2]<<8|this[xe+3])},T.prototype.readBigUInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,24),Vt=this[++xe]+this[++xe]*Math.pow(2,8)+this[++xe]*Math.pow(2,16)+lt*Math.pow(2,24);return BigInt(Gt)+(BigInt(Vt)<>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=Se*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe],Vt=this[++xe]*Math.pow(2,24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+lt;return(BigInt(Gt)<>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=this[xe],Vt=1,ar=0;++ar=Vt&&(Gt-=Math.pow(2,8*Se)),Gt},T.prototype.readIntBE=function(xe,Se,lt){xe=xe>>>0,Se=Se>>>0,lt||Rt(xe,Se,this.length);for(var Gt=Se,Vt=1,ar=this[xe+--Gt];Gt>0&&(Vt*=256);)ar+=this[xe+--Gt]*Vt;return Vt*=128,ar>=Vt&&(ar-=Math.pow(2,8*Se)),ar},T.prototype.readInt8=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,1,this.length),this[xe]&128?(255-this[xe]+1)*-1:this[xe]},T.prototype.readInt16LE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe]|this[xe+1]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt16BE=function(xe,Se){xe=xe>>>0,Se||Rt(xe,2,this.length);var lt=this[xe+1]|this[xe]<<8;return lt&32768?lt|4294901760:lt},T.prototype.readInt32LE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]|this[xe+1]<<8|this[xe+2]<<16|this[xe+3]<<24},T.prototype.readInt32BE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),this[xe]<<24|this[xe+1]<<16|this[xe+2]<<8|this[xe+3]},T.prototype.readBigInt64LE=Xe(function(xe){xe=xe>>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=this[xe+4]+this[xe+5]*Math.pow(2,8)+this[xe+6]*Math.pow(2,16)+(lt<<24);return(BigInt(Gt)<>>0,dt(xe,\"offset\");var Se=this[xe],lt=this[xe+7];(Se===void 0||lt===void 0)&&Ht(xe,this.length-8);var Gt=(Se<<24)+this[++xe]*Math.pow(2,16)+this[++xe]*Math.pow(2,8)+this[++xe];return(BigInt(Gt)<>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!0,23,4)},T.prototype.readFloatBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,4,this.length),_.read(this,xe,!1,23,4)},T.prototype.readDoubleLE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!0,52,8)},T.prototype.readDoubleBE=function(xe,Se){return xe=xe>>>0,Se||Rt(xe,8,this.length),_.read(this,xe,!1,52,8)};function kt(Le,xe,Se,lt,Gt,Vt){if(!T.isBuffer(Le))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(xe>Gt||xeLe.length)throw new RangeError(\"Index out of range\")}T.prototype.writeUintLE=T.prototype.writeUIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=1,Qr=0;for(this[Se]=xe&255;++Qr>>0,lt=lt>>>0,!Gt){var Vt=Math.pow(2,8*lt)-1;kt(this,xe,Se,lt,Vt,0)}var ar=lt-1,Qr=1;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)this[Se+ar]=xe/Qr&255;return Se+lt},T.prototype.writeUint8=T.prototype.writeUInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,255,0),this[Se]=xe&255,Se+1},T.prototype.writeUint16LE=T.prototype.writeUInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeUint16BE=T.prototype.writeUInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,65535,0),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeUint32LE=T.prototype.writeUInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se+3]=xe>>>24,this[Se+2]=xe>>>16,this[Se+1]=xe>>>8,this[Se]=xe&255,Se+4},T.prototype.writeUint32BE=T.prototype.writeUInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,4294967295,0),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4};function Ct(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt,Vt=Vt>>8,Le[Se++]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,ar=ar>>8,Le[Se++]=ar,Se}function Yt(Le,xe,Se,lt,Gt){Et(xe,lt,Gt,Le,Se,7);var Vt=Number(xe&BigInt(4294967295));Le[Se+7]=Vt,Vt=Vt>>8,Le[Se+6]=Vt,Vt=Vt>>8,Le[Se+5]=Vt,Vt=Vt>>8,Le[Se+4]=Vt;var ar=Number(xe>>BigInt(32)&BigInt(4294967295));return Le[Se+3]=ar,ar=ar>>8,Le[Se+2]=ar,ar=ar>>8,Le[Se+1]=ar,ar=ar>>8,Le[Se]=ar,Se+8}T.prototype.writeBigUInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeBigUInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,BigInt(0),BigInt(\"0xffffffffffffffff\"))}),T.prototype.writeIntLE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=0,Qr=1,ai=0;for(this[Se]=xe&255;++ar>0)-ai&255;return Se+lt},T.prototype.writeIntBE=function(xe,Se,lt,Gt){if(xe=+xe,Se=Se>>>0,!Gt){var Vt=Math.pow(2,8*lt-1);kt(this,xe,Se,lt,Vt-1,-Vt)}var ar=lt-1,Qr=1,ai=0;for(this[Se+ar]=xe&255;--ar>=0&&(Qr*=256);)xe<0&&ai===0&&this[Se+ar+1]!==0&&(ai=1),this[Se+ar]=(xe/Qr>>0)-ai&255;return Se+lt},T.prototype.writeInt8=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,1,127,-128),xe<0&&(xe=255+xe+1),this[Se]=xe&255,Se+1},T.prototype.writeInt16LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe&255,this[Se+1]=xe>>>8,Se+2},T.prototype.writeInt16BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,2,32767,-32768),this[Se]=xe>>>8,this[Se+1]=xe&255,Se+2},T.prototype.writeInt32LE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),this[Se]=xe&255,this[Se+1]=xe>>>8,this[Se+2]=xe>>>16,this[Se+3]=xe>>>24,Se+4},T.prototype.writeInt32BE=function(xe,Se,lt){return xe=+xe,Se=Se>>>0,lt||kt(this,xe,Se,4,2147483647,-2147483648),xe<0&&(xe=4294967295+xe+1),this[Se]=xe>>>24,this[Se+1]=xe>>>16,this[Se+2]=xe>>>8,this[Se+3]=xe&255,Se+4},T.prototype.writeBigInt64LE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Ct(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))}),T.prototype.writeBigInt64BE=Xe(function(xe){var Se=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Yt(this,xe,Se,-BigInt(\"0x8000000000000000\"),BigInt(\"0x7fffffffffffffff\"))});function xr(Le,xe,Se,lt,Gt,Vt){if(Se+lt>Le.length)throw new RangeError(\"Index out of range\");if(Se<0)throw new RangeError(\"Index out of range\")}function er(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,4,34028234663852886e22,-34028234663852886e22),_.write(Le,xe,Se,lt,23,4),Se+4}T.prototype.writeFloatLE=function(xe,Se,lt){return er(this,xe,Se,!0,lt)},T.prototype.writeFloatBE=function(xe,Se,lt){return er(this,xe,Se,!1,lt)};function Ke(Le,xe,Se,lt,Gt){return xe=+xe,Se=Se>>>0,Gt||xr(Le,xe,Se,8,17976931348623157e292,-17976931348623157e292),_.write(Le,xe,Se,lt,52,8),Se+8}T.prototype.writeDoubleLE=function(xe,Se,lt){return Ke(this,xe,Se,!0,lt)},T.prototype.writeDoubleBE=function(xe,Se,lt){return Ke(this,xe,Se,!1,lt)},T.prototype.copy=function(xe,Se,lt,Gt){if(!T.isBuffer(xe))throw new TypeError(\"argument should be a Buffer\");if(lt||(lt=0),!Gt&&Gt!==0&&(Gt=this.length),Se>=xe.length&&(Se=xe.length),Se||(Se=0),Gt>0&&Gt=this.length)throw new RangeError(\"Index out of range\");if(Gt<0)throw new RangeError(\"sourceEnd out of bounds\");Gt>this.length&&(Gt=this.length),xe.length-Se>>0,lt=lt===void 0?this.length:lt>>>0,xe||(xe=0);var ar;if(typeof xe==\"number\")for(ar=Se;arMath.pow(2,32)?Gt=Lt(String(Se)):typeof Se==\"bigint\"&&(Gt=String(Se),(Se>Math.pow(BigInt(2),BigInt(32))||Se<-Math.pow(BigInt(2),BigInt(32)))&&(Gt=Lt(Gt)),Gt+=\"n\"),lt+=\" It must be \".concat(xe,\". Received \").concat(Gt),lt},RangeError);function Lt(Le){for(var xe=\"\",Se=Le.length,lt=Le[0]===\"-\"?1:0;Se>=lt+4;Se-=3)xe=\"_\".concat(Le.slice(Se-3,Se)).concat(xe);return\"\".concat(Le.slice(0,Se)).concat(xe)}function St(Le,xe,Se){dt(xe,\"offset\"),(Le[xe]===void 0||Le[xe+Se]===void 0)&&Ht(xe,Le.length-(Se+1))}function Et(Le,xe,Se,lt,Gt,Vt){if(Le>Se||Le3?xe===0||xe===BigInt(0)?Qr=\">= 0\".concat(ar,\" and < 2\").concat(ar,\" ** \").concat((Vt+1)*8).concat(ar):Qr=\">= -(2\".concat(ar,\" ** \").concat((Vt+1)*8-1).concat(ar,\") and < 2 ** \")+\"\".concat((Vt+1)*8-1).concat(ar):Qr=\">= \".concat(xe).concat(ar,\" and <= \").concat(Se).concat(ar),new xt.ERR_OUT_OF_RANGE(\"value\",Qr,Le)}St(lt,Gt,Vt)}function dt(Le,xe){if(typeof Le!=\"number\")throw new xt.ERR_INVALID_ARG_TYPE(xe,\"number\",Le)}function Ht(Le,xe,Se){throw Math.floor(Le)!==Le?(dt(Le,Se),new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\"an integer\",Le)):xe<0?new xt.ERR_BUFFER_OUT_OF_BOUNDS:new xt.ERR_OUT_OF_RANGE(Se||\"offset\",\">= \".concat(Se?1:0,\" and <= \").concat(xe),Le)}var $t=/[^+/0-9A-Za-z-_]/g;function fr(Le){if(Le=Le.split(\"=\")[0],Le=Le.trim().replace($t,\"\"),Le.length<2)return\"\";for(;Le.length%4!==0;)Le=Le+\"=\";return Le}function _r(Le,xe){xe=xe||1/0;for(var Se,lt=Le.length,Gt=null,Vt=[],ar=0;ar55295&&Se<57344){if(!Gt){if(Se>56319){(xe-=3)>-1&&Vt.push(239,191,189);continue}else if(ar+1===lt){(xe-=3)>-1&&Vt.push(239,191,189);continue}Gt=Se;continue}if(Se<56320){(xe-=3)>-1&&Vt.push(239,191,189),Gt=Se;continue}Se=(Gt-55296<<10|Se-56320)+65536}else Gt&&(xe-=3)>-1&&Vt.push(239,191,189);if(Gt=null,Se<128){if((xe-=1)<0)break;Vt.push(Se)}else if(Se<2048){if((xe-=2)<0)break;Vt.push(Se>>6|192,Se&63|128)}else if(Se<65536){if((xe-=3)<0)break;Vt.push(Se>>12|224,Se>>6&63|128,Se&63|128)}else if(Se<1114112){if((xe-=4)<0)break;Vt.push(Se>>18|240,Se>>12&63|128,Se>>6&63|128,Se&63|128)}else throw new Error(\"Invalid code point\")}return Vt}function Br(Le){for(var xe=[],Se=0;Se>8,Gt=Se%256,Vt.push(Gt),Vt.push(lt);return Vt}function Nr(Le){return L.toByteArray(fr(Le))}function ut(Le,xe,Se,lt){var Gt;for(Gt=0;Gt=xe.length||Gt>=Le.length);++Gt)xe[Gt+Se]=Le[Gt];return Gt}function Ne(Le,xe){return Le instanceof xe||Le!=null&&Le.constructor!=null&&Le.constructor.name!=null&&Le.constructor.name===xe.name}function Ye(Le){return Le!==Le}var Ve=function(){for(var Le=\"0123456789abcdef\",xe=new Array(256),Se=0;Se<16;++Se)for(var lt=Se*16,Gt=0;Gt<16;++Gt)xe[lt+Gt]=Le[Se]+Le[Gt];return xe}();function Xe(Le){return typeof BigInt==\"undefined\"?ht:Le}function ht(){throw new Error(\"BigInt not supported\")}},9216:function(i){\"use strict\";i.exports=l,i.exports.isMobile=l,i.exports.default=l;var a=/(android|bb\\d+|meego).+mobile|armv7l|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,o=/CrOS/,s=/android|ipad|playbook|silk/i;function l(u){u||(u={});var c=u.ua;if(!c&&typeof navigator!=\"undefined\"&&(c=navigator.userAgent),c&&c.headers&&typeof c.headers[\"user-agent\"]==\"string\"&&(c=c.headers[\"user-agent\"]),typeof c!=\"string\")return!1;var f=a.test(c)&&!o.test(c)||!!u.tablet&&s.test(c);return!f&&u.tablet&&u.featureDetect&&navigator&&navigator.maxTouchPoints>1&&c.indexOf(\"Macintosh\")!==-1&&c.indexOf(\"Safari\")!==-1&&(f=!0),f}},6296:function(i,a,o){\"use strict\";i.exports=h;var s=o(7261),l=o(9977),u=o(1811);function c(d,v){this._controllerNames=Object.keys(d),this._controllerList=this._controllerNames.map(function(x){return d[x]}),this._mode=v,this._active=d[v],this._active||(this._mode=\"turntable\",this._active=d.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var f=c.prototype;f.flush=function(d){for(var v=this._controllerList,x=0;x0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var L=k.indexOf(\"=\");L===-1&&(L=A);var _=L===A?0:4-L%4;return[L,_]}function d(k){var A=h(k),L=A[0],_=A[1];return(L+_)*3/4-_}function v(k,A,L){return(A+L)*3/4-L}function x(k){var A,L=h(k),_=L[0],C=L[1],M=new l(v(k,_,C)),p=0,P=C>0?_-4:_,T;for(T=0;T>16&255,M[p++]=A>>8&255,M[p++]=A&255;return C===2&&(A=s[k.charCodeAt(T)]<<2|s[k.charCodeAt(T+1)]>>4,M[p++]=A&255),C===1&&(A=s[k.charCodeAt(T)]<<10|s[k.charCodeAt(T+1)]<<4|s[k.charCodeAt(T+2)]>>2,M[p++]=A>>8&255,M[p++]=A&255),M}function b(k){return o[k>>18&63]+o[k>>12&63]+o[k>>6&63]+o[k&63]}function g(k,A,L){for(var _,C=[],M=A;MP?P:p+M));return _===1?(A=k[L-1],C.push(o[A>>2]+o[A<<4&63]+\"==\")):_===2&&(A=(k[L-2]<<8)+k[L-1],C.push(o[A>>10]+o[A>>4&63]+o[A<<2&63]+\"=\")),C.join(\"\")}},3865:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).add(c[0].mul(u[1])),u[1].mul(c[1]))}},1318:function(i){\"use strict\";i.exports=a;function a(o,s){return o[0].mul(s[1]).cmp(s[0].mul(o[1]))}},8697:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]),u[1].mul(c[0]))}},7842:function(i,a,o){\"use strict\";var s=o(6330),l=o(1533),u=o(2651),c=o(6768),f=o(869),h=o(8697);i.exports=d;function d(v,x){if(s(v))return x?h(v,d(x)):[v[0].clone(),v[1].clone()];var b=0,g,E;if(l(v))g=v.clone();else if(typeof v==\"string\")g=c(v);else{if(v===0)return[u(0),u(1)];if(v===Math.floor(v))g=u(v);else{for(;v!==Math.floor(v);)v=v*Math.pow(2,256),b-=256;g=u(v)}}if(s(x))g.mul(x[1]),E=x[0].clone();else if(l(x))E=x.clone();else if(typeof x==\"string\")E=c(x);else if(!x)E=u(1);else if(x===Math.floor(x))E=u(x);else{for(;x!==Math.floor(x);)x=x*Math.pow(2,256),b+=256;E=u(x)}return b>0?g=g.ushln(b):b<0&&(E=E.ushln(-b)),f(g,E)}},6330:function(i,a,o){\"use strict\";var s=o(1533);i.exports=l;function l(u){return Array.isArray(u)&&u.length===2&&s(u[0])&&s(u[1])}},5716:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u.cmp(new s(0))}},1369:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){var c=u.length,f=u.words,h=0;if(c===1)h=f[0];else if(c===2)h=f[0]+f[1]*67108864;else for(var d=0;d20?52:h+32}},1533:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return u&&typeof u==\"object\"&&!!u.words}},2651:function(i,a,o){\"use strict\";var s=o(6859),l=o(2361);i.exports=u;function u(c){var f=l.exponent(c);return f<52?new s(c):new s(c*Math.pow(2,52-f)).ushln(f-52)}},869:function(i,a,o){\"use strict\";var s=o(2651),l=o(5716);i.exports=u;function u(c,f){var h=l(c),d=l(f);if(h===0)return[s(0),s(1)];if(d===0)return[s(0),s(0)];d<0&&(c=c.neg(),f=f.neg());var v=c.gcd(f);return v.cmpn(1)?[c.div(v),f.div(v)]:[c,f]}},6768:function(i,a,o){\"use strict\";var s=o(6859);i.exports=l;function l(u){return new s(u)}},6504:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[0]),u[1].mul(c[1]))}},7721:function(i,a,o){\"use strict\";var s=o(5716);i.exports=l;function l(u){return s(u[0])*s(u[1])}},5572:function(i,a,o){\"use strict\";var s=o(869);i.exports=l;function l(u,c){return s(u[0].mul(c[1]).sub(u[1].mul(c[0])),u[1].mul(c[1]))}},946:function(i,a,o){\"use strict\";var s=o(1369),l=o(4025);i.exports=u;function u(c){var f=c[0],h=c[1];if(f.cmpn(0)===0)return 0;var d=f.abs().divmod(h.abs()),v=d.div,x=s(v),b=d.mod,g=f.negative!==h.negative?-1:1;if(b.cmpn(0)===0)return g*x;if(x){var E=l(x)+4,k=s(b.ushln(E).divRound(h));return g*(x+k*Math.pow(2,-E))}else{var A=h.bitLength()-b.bitLength()+53,k=s(b.ushln(A).divRound(h));return A<1023?g*k*Math.pow(2,-A):(k*=Math.pow(2,-1023),g*k*Math.pow(2,1023-A))}}},2478:function(i){\"use strict\";function a(f,h,d,v,x){for(var b=x+1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k>=0?(b=g,x=g-1):v=g+1}return b}function o(f,h,d,v,x){for(var b=x+1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k>0?(b=g,x=g-1):v=g+1}return b}function s(f,h,d,v,x){for(var b=v-1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k<0?(b=g,v=g+1):x=g-1}return b}function l(f,h,d,v,x){for(var b=v-1;v<=x;){var g=v+x>>>1,E=f[g],k=d!==void 0?d(E,h):E-h;k<=0?(b=g,v=g+1):x=g-1}return b}function u(f,h,d,v,x){for(;v<=x;){var b=v+x>>>1,g=f[b],E=d!==void 0?d(g,h):g-h;if(E===0)return b;E<=0?v=b+1:x=b-1}return-1}function c(f,h,d,v,x,b){return typeof d==\"function\"?b(f,h,d,v===void 0?0:v|0,x===void 0?f.length-1:x|0):b(f,h,void 0,d===void 0?0:d|0,v===void 0?f.length-1:v|0)}i.exports={ge:function(f,h,d,v,x){return c(f,h,d,v,x,a)},gt:function(f,h,d,v,x){return c(f,h,d,v,x,o)},lt:function(f,h,d,v,x){return c(f,h,d,v,x,s)},le:function(f,h,d,v,x){return c(f,h,d,v,x,l)},eq:function(f,h,d,v,x){return c(f,h,d,v,x,u)}}},8828:function(i,a){\"use strict\";\"use restrict\";var o=32;a.INT_BITS=o,a.INT_MAX=2147483647,a.INT_MIN=-1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},6859:function(i,a,o){i=o.nmd(i),function(s,l){\"use strict\";function u(G,N){if(!G)throw new Error(N||\"Assertion failed\")}function c(G,N){G.super_=N;var W=function(){};W.prototype=N.prototype,G.prototype=new W,G.prototype.constructor=G}function f(G,N,W){if(f.isBN(G))return G;this.negative=0,this.words=null,this.length=0,this.red=null,G!==null&&((N===\"le\"||N===\"be\")&&(W=N,N=10),this._init(G||0,N||10,W||\"be\"))}typeof s==\"object\"?s.exports=f:l.BN=f,f.BN=f,f.wordSize=26;var h;try{typeof window!=\"undefined\"&&typeof window.Buffer!=\"undefined\"?h=window.Buffer:h=o(7790).Buffer}catch(G){}f.isBN=function(N){return N instanceof f?!0:N!==null&&typeof N==\"object\"&&N.constructor.wordSize===f.wordSize&&Array.isArray(N.words)},f.max=function(N,W){return N.cmp(W)>0?N:W},f.min=function(N,W){return N.cmp(W)<0?N:W},f.prototype._init=function(N,W,re){if(typeof N==\"number\")return this._initNumber(N,W,re);if(typeof N==\"object\")return this._initArray(N,W,re);W===\"hex\"&&(W=16),u(W===(W|0)&&W>=2&&W<=36),N=N.toString().replace(/\\s+/g,\"\");var ae=0;N[0]===\"-\"&&(ae++,this.negative=1),ae=0;ae-=3)Me=N[ae]|N[ae-1]<<8|N[ae-2]<<16,this.words[_e]|=Me<>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);else if(re===\"le\")for(ae=0,_e=0;ae>>26-ke&67108863,ke+=24,ke>=26&&(ke-=26,_e++);return this.strip()};function d(G,N){var W=G.charCodeAt(N);return W>=65&&W<=70?W-55:W>=97&&W<=102?W-87:W-48&15}function v(G,N,W){var re=d(G,W);return W-1>=N&&(re|=d(G,W-1)<<4),re}f.prototype._parseHex=function(N,W,re){this.length=Math.ceil((N.length-W)/6),this.words=new Array(this.length);for(var ae=0;ae=W;ae-=2)ke=v(N,W,ae)<<_e,this.words[Me]|=ke&67108863,_e>=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8;else{var ge=N.length-W;for(ae=ge%2===0?W+1:W;ae=18?(_e-=18,Me+=1,this.words[Me]|=ke>>>26):_e+=8}this.strip()};function x(G,N,W,re){for(var ae=0,_e=Math.min(G.length,W),Me=N;Me<_e;Me++){var ke=G.charCodeAt(Me)-48;ae*=re,ke>=49?ae+=ke-49+10:ke>=17?ae+=ke-17+10:ae+=ke}return ae}f.prototype._parseBase=function(N,W,re){this.words=[0],this.length=1;for(var ae=0,_e=1;_e<=67108863;_e*=W)ae++;ae--,_e=_e/W|0;for(var Me=N.length-re,ke=Me%ae,ge=Math.min(Me,Me-ke)+re,ie=0,Te=re;Te1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},f.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},f.prototype.inspect=function(){return(this.red?\"\"};var b=[\"\",\"0\",\"00\",\"000\",\"0000\",\"00000\",\"000000\",\"0000000\",\"00000000\",\"000000000\",\"0000000000\",\"00000000000\",\"000000000000\",\"0000000000000\",\"00000000000000\",\"000000000000000\",\"0000000000000000\",\"00000000000000000\",\"000000000000000000\",\"0000000000000000000\",\"00000000000000000000\",\"000000000000000000000\",\"0000000000000000000000\",\"00000000000000000000000\",\"000000000000000000000000\",\"0000000000000000000000000\"],g=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],E=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];f.prototype.toString=function(N,W){N=N||10,W=W|0||1;var re;if(N===16||N===\"hex\"){re=\"\";for(var ae=0,_e=0,Me=0;Me>>24-ae&16777215,_e!==0||Me!==this.length-1?re=b[6-ge.length]+ge+re:re=ge+re,ae+=2,ae>=26&&(ae-=26,Me--)}for(_e!==0&&(re=_e.toString(16)+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}if(N===(N|0)&&N>=2&&N<=36){var ie=g[N],Te=E[N];re=\"\";var Ee=this.clone();for(Ee.negative=0;!Ee.isZero();){var Ae=Ee.modn(Te).toString(N);Ee=Ee.idivn(Te),Ee.isZero()?re=Ae+re:re=b[ie-Ae.length]+Ae+re}for(this.isZero()&&(re=\"0\"+re);re.length%W!==0;)re=\"0\"+re;return this.negative!==0&&(re=\"-\"+re),re}u(!1,\"Base should be between 2 and 36\")},f.prototype.toNumber=function(){var N=this.words[0];return this.length===2?N+=this.words[1]*67108864:this.length===3&&this.words[2]===1?N+=4503599627370496+this.words[1]*67108864:this.length>2&&u(!1,\"Number can only safely store up to 53 bits\"),this.negative!==0?-N:N},f.prototype.toJSON=function(){return this.toString(16)},f.prototype.toBuffer=function(N,W){return u(typeof h!=\"undefined\"),this.toArrayLike(h,N,W)},f.prototype.toArray=function(N,W){return this.toArrayLike(Array,N,W)},f.prototype.toArrayLike=function(N,W,re){var ae=this.byteLength(),_e=re||Math.max(1,ae);u(ae<=_e,\"byte array longer than desired length\"),u(_e>0,\"Requested array length <= 0\"),this.strip();var Me=W===\"le\",ke=new N(_e),ge,ie,Te=this.clone();if(Me){for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[ie]=ge;for(;ie<_e;ie++)ke[ie]=0}else{for(ie=0;ie<_e-ae;ie++)ke[ie]=0;for(ie=0;!Te.isZero();ie++)ge=Te.andln(255),Te.iushrn(8),ke[_e-ie-1]=ge}return ke},Math.clz32?f.prototype._countBits=function(N){return 32-Math.clz32(N)}:f.prototype._countBits=function(N){var W=N,re=0;return W>=4096&&(re+=13,W>>>=13),W>=64&&(re+=7,W>>>=7),W>=8&&(re+=4,W>>>=4),W>=2&&(re+=2,W>>>=2),re+W},f.prototype._zeroBits=function(N){if(N===0)return 26;var W=N,re=0;return W&8191||(re+=13,W>>>=13),W&127||(re+=7,W>>>=7),W&15||(re+=4,W>>>=4),W&3||(re+=2,W>>>=2),W&1||re++,re},f.prototype.bitLength=function(){var N=this.words[this.length-1],W=this._countBits(N);return(this.length-1)*26+W};function k(G){for(var N=new Array(G.bitLength()),W=0;W>>ae}return N}f.prototype.zeroBits=function(){if(this.isZero())return 0;for(var N=0,W=0;WN.length?this.clone().ior(N):N.clone().ior(this)},f.prototype.uor=function(N){return this.length>N.length?this.clone().iuor(N):N.clone().iuor(this)},f.prototype.iuand=function(N){var W;this.length>N.length?W=N:W=this;for(var re=0;reN.length?this.clone().iand(N):N.clone().iand(this)},f.prototype.uand=function(N){return this.length>N.length?this.clone().iuand(N):N.clone().iuand(this)},f.prototype.iuxor=function(N){var W,re;this.length>N.length?(W=this,re=N):(W=N,re=this);for(var ae=0;aeN.length?this.clone().ixor(N):N.clone().ixor(this)},f.prototype.uxor=function(N){return this.length>N.length?this.clone().iuxor(N):N.clone().iuxor(this)},f.prototype.inotn=function(N){u(typeof N==\"number\"&&N>=0);var W=Math.ceil(N/26)|0,re=N%26;this._expand(W),re>0&&W--;for(var ae=0;ae0&&(this.words[ae]=~this.words[ae]&67108863>>26-re),this.strip()},f.prototype.notn=function(N){return this.clone().inotn(N)},f.prototype.setn=function(N,W){u(typeof N==\"number\"&&N>=0);var re=N/26|0,ae=N%26;return this._expand(re+1),W?this.words[re]=this.words[re]|1<N.length?(re=this,ae=N):(re=N,ae=this);for(var _e=0,Me=0;Me>>26;for(;_e!==0&&Me>>26;if(this.length=re.length,_e!==0)this.words[this.length]=_e,this.length++;else if(re!==this)for(;MeN.length?this.clone().iadd(N):N.clone().iadd(this)},f.prototype.isub=function(N){if(N.negative!==0){N.negative=0;var W=this.iadd(N);return N.negative=1,W._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(N),this.negative=1,this._normSign();var re=this.cmp(N);if(re===0)return this.negative=0,this.length=1,this.words[0]=0,this;var ae,_e;re>0?(ae=this,_e=N):(ae=N,_e=this);for(var Me=0,ke=0;ke<_e.length;ke++)W=(ae.words[ke]|0)-(_e.words[ke]|0)+Me,Me=W>>26,this.words[ke]=W&67108863;for(;Me!==0&&ke>26,this.words[ke]=W&67108863;if(Me===0&&ke>>26,Ee=ge&67108863,Ae=Math.min(ie,N.length-1),ze=Math.max(0,ie-G.length+1);ze<=Ae;ze++){var Ce=ie-ze|0;ae=G.words[Ce]|0,_e=N.words[ze]|0,Me=ae*_e+Ee,Te+=Me/67108864|0,Ee=Me&67108863}W.words[ie]=Ee|0,ge=Te|0}return ge!==0?W.words[ie]=ge|0:W.length--,W.strip()}var L=function(N,W,re){var ae=N.words,_e=W.words,Me=re.words,ke=0,ge,ie,Te,Ee=ae[0]|0,Ae=Ee&8191,ze=Ee>>>13,Ce=ae[1]|0,me=Ce&8191,Re=Ce>>>13,ce=ae[2]|0,Ge=ce&8191,nt=ce>>>13,ct=ae[3]|0,qt=ct&8191,rt=ct>>>13,ot=ae[4]|0,Rt=ot&8191,kt=ot>>>13,Ct=ae[5]|0,Yt=Ct&8191,xr=Ct>>>13,er=ae[6]|0,Ke=er&8191,xt=er>>>13,bt=ae[7]|0,Lt=bt&8191,St=bt>>>13,Et=ae[8]|0,dt=Et&8191,Ht=Et>>>13,$t=ae[9]|0,fr=$t&8191,_r=$t>>>13,Br=_e[0]|0,Or=Br&8191,Nr=Br>>>13,ut=_e[1]|0,Ne=ut&8191,Ye=ut>>>13,Ve=_e[2]|0,Xe=Ve&8191,ht=Ve>>>13,Le=_e[3]|0,xe=Le&8191,Se=Le>>>13,lt=_e[4]|0,Gt=lt&8191,Vt=lt>>>13,ar=_e[5]|0,Qr=ar&8191,ai=ar>>>13,jr=_e[6]|0,ri=jr&8191,bi=jr>>>13,nn=_e[7]|0,Wi=nn&8191,Ni=nn>>>13,_n=_e[8]|0,$i=_n&8191,zn=_n>>>13,Wn=_e[9]|0,It=Wn&8191,ft=Wn>>>13;re.negative=N.negative^W.negative,re.length=19,ge=Math.imul(Ae,Or),ie=Math.imul(Ae,Nr),ie=ie+Math.imul(ze,Or)|0,Te=Math.imul(ze,Nr);var jt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jt>>>26)|0,jt&=67108863,ge=Math.imul(me,Or),ie=Math.imul(me,Nr),ie=ie+Math.imul(Re,Or)|0,Te=Math.imul(Re,Nr),ge=ge+Math.imul(Ae,Ne)|0,ie=ie+Math.imul(Ae,Ye)|0,ie=ie+Math.imul(ze,Ne)|0,Te=Te+Math.imul(ze,Ye)|0;var Zt=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zt>>>26)|0,Zt&=67108863,ge=Math.imul(Ge,Or),ie=Math.imul(Ge,Nr),ie=ie+Math.imul(nt,Or)|0,Te=Math.imul(nt,Nr),ge=ge+Math.imul(me,Ne)|0,ie=ie+Math.imul(me,Ye)|0,ie=ie+Math.imul(Re,Ne)|0,Te=Te+Math.imul(Re,Ye)|0,ge=ge+Math.imul(Ae,Xe)|0,ie=ie+Math.imul(Ae,ht)|0,ie=ie+Math.imul(ze,Xe)|0,Te=Te+Math.imul(ze,ht)|0;var yr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(yr>>>26)|0,yr&=67108863,ge=Math.imul(qt,Or),ie=Math.imul(qt,Nr),ie=ie+Math.imul(rt,Or)|0,Te=Math.imul(rt,Nr),ge=ge+Math.imul(Ge,Ne)|0,ie=ie+Math.imul(Ge,Ye)|0,ie=ie+Math.imul(nt,Ne)|0,Te=Te+Math.imul(nt,Ye)|0,ge=ge+Math.imul(me,Xe)|0,ie=ie+Math.imul(me,ht)|0,ie=ie+Math.imul(Re,Xe)|0,Te=Te+Math.imul(Re,ht)|0,ge=ge+Math.imul(Ae,xe)|0,ie=ie+Math.imul(Ae,Se)|0,ie=ie+Math.imul(ze,xe)|0,Te=Te+Math.imul(ze,Se)|0;var Fr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fr>>>26)|0,Fr&=67108863,ge=Math.imul(Rt,Or),ie=Math.imul(Rt,Nr),ie=ie+Math.imul(kt,Or)|0,Te=Math.imul(kt,Nr),ge=ge+Math.imul(qt,Ne)|0,ie=ie+Math.imul(qt,Ye)|0,ie=ie+Math.imul(rt,Ne)|0,Te=Te+Math.imul(rt,Ye)|0,ge=ge+Math.imul(Ge,Xe)|0,ie=ie+Math.imul(Ge,ht)|0,ie=ie+Math.imul(nt,Xe)|0,Te=Te+Math.imul(nt,ht)|0,ge=ge+Math.imul(me,xe)|0,ie=ie+Math.imul(me,Se)|0,ie=ie+Math.imul(Re,xe)|0,Te=Te+Math.imul(Re,Se)|0,ge=ge+Math.imul(Ae,Gt)|0,ie=ie+Math.imul(Ae,Vt)|0,ie=ie+Math.imul(ze,Gt)|0,Te=Te+Math.imul(ze,Vt)|0;var Zr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Zr>>>26)|0,Zr&=67108863,ge=Math.imul(Yt,Or),ie=Math.imul(Yt,Nr),ie=ie+Math.imul(xr,Or)|0,Te=Math.imul(xr,Nr),ge=ge+Math.imul(Rt,Ne)|0,ie=ie+Math.imul(Rt,Ye)|0,ie=ie+Math.imul(kt,Ne)|0,Te=Te+Math.imul(kt,Ye)|0,ge=ge+Math.imul(qt,Xe)|0,ie=ie+Math.imul(qt,ht)|0,ie=ie+Math.imul(rt,Xe)|0,Te=Te+Math.imul(rt,ht)|0,ge=ge+Math.imul(Ge,xe)|0,ie=ie+Math.imul(Ge,Se)|0,ie=ie+Math.imul(nt,xe)|0,Te=Te+Math.imul(nt,Se)|0,ge=ge+Math.imul(me,Gt)|0,ie=ie+Math.imul(me,Vt)|0,ie=ie+Math.imul(Re,Gt)|0,Te=Te+Math.imul(Re,Vt)|0,ge=ge+Math.imul(Ae,Qr)|0,ie=ie+Math.imul(Ae,ai)|0,ie=ie+Math.imul(ze,Qr)|0,Te=Te+Math.imul(ze,ai)|0;var Vr=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Vr>>>26)|0,Vr&=67108863,ge=Math.imul(Ke,Or),ie=Math.imul(Ke,Nr),ie=ie+Math.imul(xt,Or)|0,Te=Math.imul(xt,Nr),ge=ge+Math.imul(Yt,Ne)|0,ie=ie+Math.imul(Yt,Ye)|0,ie=ie+Math.imul(xr,Ne)|0,Te=Te+Math.imul(xr,Ye)|0,ge=ge+Math.imul(Rt,Xe)|0,ie=ie+Math.imul(Rt,ht)|0,ie=ie+Math.imul(kt,Xe)|0,Te=Te+Math.imul(kt,ht)|0,ge=ge+Math.imul(qt,xe)|0,ie=ie+Math.imul(qt,Se)|0,ie=ie+Math.imul(rt,xe)|0,Te=Te+Math.imul(rt,Se)|0,ge=ge+Math.imul(Ge,Gt)|0,ie=ie+Math.imul(Ge,Vt)|0,ie=ie+Math.imul(nt,Gt)|0,Te=Te+Math.imul(nt,Vt)|0,ge=ge+Math.imul(me,Qr)|0,ie=ie+Math.imul(me,ai)|0,ie=ie+Math.imul(Re,Qr)|0,Te=Te+Math.imul(Re,ai)|0,ge=ge+Math.imul(Ae,ri)|0,ie=ie+Math.imul(Ae,bi)|0,ie=ie+Math.imul(ze,ri)|0,Te=Te+Math.imul(ze,bi)|0;var gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(gi>>>26)|0,gi&=67108863,ge=Math.imul(Lt,Or),ie=Math.imul(Lt,Nr),ie=ie+Math.imul(St,Or)|0,Te=Math.imul(St,Nr),ge=ge+Math.imul(Ke,Ne)|0,ie=ie+Math.imul(Ke,Ye)|0,ie=ie+Math.imul(xt,Ne)|0,Te=Te+Math.imul(xt,Ye)|0,ge=ge+Math.imul(Yt,Xe)|0,ie=ie+Math.imul(Yt,ht)|0,ie=ie+Math.imul(xr,Xe)|0,Te=Te+Math.imul(xr,ht)|0,ge=ge+Math.imul(Rt,xe)|0,ie=ie+Math.imul(Rt,Se)|0,ie=ie+Math.imul(kt,xe)|0,Te=Te+Math.imul(kt,Se)|0,ge=ge+Math.imul(qt,Gt)|0,ie=ie+Math.imul(qt,Vt)|0,ie=ie+Math.imul(rt,Gt)|0,Te=Te+Math.imul(rt,Vt)|0,ge=ge+Math.imul(Ge,Qr)|0,ie=ie+Math.imul(Ge,ai)|0,ie=ie+Math.imul(nt,Qr)|0,Te=Te+Math.imul(nt,ai)|0,ge=ge+Math.imul(me,ri)|0,ie=ie+Math.imul(me,bi)|0,ie=ie+Math.imul(Re,ri)|0,Te=Te+Math.imul(Re,bi)|0,ge=ge+Math.imul(Ae,Wi)|0,ie=ie+Math.imul(Ae,Ni)|0,ie=ie+Math.imul(ze,Wi)|0,Te=Te+Math.imul(ze,Ni)|0;var Si=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Si>>>26)|0,Si&=67108863,ge=Math.imul(dt,Or),ie=Math.imul(dt,Nr),ie=ie+Math.imul(Ht,Or)|0,Te=Math.imul(Ht,Nr),ge=ge+Math.imul(Lt,Ne)|0,ie=ie+Math.imul(Lt,Ye)|0,ie=ie+Math.imul(St,Ne)|0,Te=Te+Math.imul(St,Ye)|0,ge=ge+Math.imul(Ke,Xe)|0,ie=ie+Math.imul(Ke,ht)|0,ie=ie+Math.imul(xt,Xe)|0,Te=Te+Math.imul(xt,ht)|0,ge=ge+Math.imul(Yt,xe)|0,ie=ie+Math.imul(Yt,Se)|0,ie=ie+Math.imul(xr,xe)|0,Te=Te+Math.imul(xr,Se)|0,ge=ge+Math.imul(Rt,Gt)|0,ie=ie+Math.imul(Rt,Vt)|0,ie=ie+Math.imul(kt,Gt)|0,Te=Te+Math.imul(kt,Vt)|0,ge=ge+Math.imul(qt,Qr)|0,ie=ie+Math.imul(qt,ai)|0,ie=ie+Math.imul(rt,Qr)|0,Te=Te+Math.imul(rt,ai)|0,ge=ge+Math.imul(Ge,ri)|0,ie=ie+Math.imul(Ge,bi)|0,ie=ie+Math.imul(nt,ri)|0,Te=Te+Math.imul(nt,bi)|0,ge=ge+Math.imul(me,Wi)|0,ie=ie+Math.imul(me,Ni)|0,ie=ie+Math.imul(Re,Wi)|0,Te=Te+Math.imul(Re,Ni)|0,ge=ge+Math.imul(Ae,$i)|0,ie=ie+Math.imul(Ae,zn)|0,ie=ie+Math.imul(ze,$i)|0,Te=Te+Math.imul(ze,zn)|0;var Mi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Mi>>>26)|0,Mi&=67108863,ge=Math.imul(fr,Or),ie=Math.imul(fr,Nr),ie=ie+Math.imul(_r,Or)|0,Te=Math.imul(_r,Nr),ge=ge+Math.imul(dt,Ne)|0,ie=ie+Math.imul(dt,Ye)|0,ie=ie+Math.imul(Ht,Ne)|0,Te=Te+Math.imul(Ht,Ye)|0,ge=ge+Math.imul(Lt,Xe)|0,ie=ie+Math.imul(Lt,ht)|0,ie=ie+Math.imul(St,Xe)|0,Te=Te+Math.imul(St,ht)|0,ge=ge+Math.imul(Ke,xe)|0,ie=ie+Math.imul(Ke,Se)|0,ie=ie+Math.imul(xt,xe)|0,Te=Te+Math.imul(xt,Se)|0,ge=ge+Math.imul(Yt,Gt)|0,ie=ie+Math.imul(Yt,Vt)|0,ie=ie+Math.imul(xr,Gt)|0,Te=Te+Math.imul(xr,Vt)|0,ge=ge+Math.imul(Rt,Qr)|0,ie=ie+Math.imul(Rt,ai)|0,ie=ie+Math.imul(kt,Qr)|0,Te=Te+Math.imul(kt,ai)|0,ge=ge+Math.imul(qt,ri)|0,ie=ie+Math.imul(qt,bi)|0,ie=ie+Math.imul(rt,ri)|0,Te=Te+Math.imul(rt,bi)|0,ge=ge+Math.imul(Ge,Wi)|0,ie=ie+Math.imul(Ge,Ni)|0,ie=ie+Math.imul(nt,Wi)|0,Te=Te+Math.imul(nt,Ni)|0,ge=ge+Math.imul(me,$i)|0,ie=ie+Math.imul(me,zn)|0,ie=ie+Math.imul(Re,$i)|0,Te=Te+Math.imul(Re,zn)|0,ge=ge+Math.imul(Ae,It)|0,ie=ie+Math.imul(Ae,ft)|0,ie=ie+Math.imul(ze,It)|0,Te=Te+Math.imul(ze,ft)|0;var Pi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Pi>>>26)|0,Pi&=67108863,ge=Math.imul(fr,Ne),ie=Math.imul(fr,Ye),ie=ie+Math.imul(_r,Ne)|0,Te=Math.imul(_r,Ye),ge=ge+Math.imul(dt,Xe)|0,ie=ie+Math.imul(dt,ht)|0,ie=ie+Math.imul(Ht,Xe)|0,Te=Te+Math.imul(Ht,ht)|0,ge=ge+Math.imul(Lt,xe)|0,ie=ie+Math.imul(Lt,Se)|0,ie=ie+Math.imul(St,xe)|0,Te=Te+Math.imul(St,Se)|0,ge=ge+Math.imul(Ke,Gt)|0,ie=ie+Math.imul(Ke,Vt)|0,ie=ie+Math.imul(xt,Gt)|0,Te=Te+Math.imul(xt,Vt)|0,ge=ge+Math.imul(Yt,Qr)|0,ie=ie+Math.imul(Yt,ai)|0,ie=ie+Math.imul(xr,Qr)|0,Te=Te+Math.imul(xr,ai)|0,ge=ge+Math.imul(Rt,ri)|0,ie=ie+Math.imul(Rt,bi)|0,ie=ie+Math.imul(kt,ri)|0,Te=Te+Math.imul(kt,bi)|0,ge=ge+Math.imul(qt,Wi)|0,ie=ie+Math.imul(qt,Ni)|0,ie=ie+Math.imul(rt,Wi)|0,Te=Te+Math.imul(rt,Ni)|0,ge=ge+Math.imul(Ge,$i)|0,ie=ie+Math.imul(Ge,zn)|0,ie=ie+Math.imul(nt,$i)|0,Te=Te+Math.imul(nt,zn)|0,ge=ge+Math.imul(me,It)|0,ie=ie+Math.imul(me,ft)|0,ie=ie+Math.imul(Re,It)|0,Te=Te+Math.imul(Re,ft)|0;var Gi=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Gi>>>26)|0,Gi&=67108863,ge=Math.imul(fr,Xe),ie=Math.imul(fr,ht),ie=ie+Math.imul(_r,Xe)|0,Te=Math.imul(_r,ht),ge=ge+Math.imul(dt,xe)|0,ie=ie+Math.imul(dt,Se)|0,ie=ie+Math.imul(Ht,xe)|0,Te=Te+Math.imul(Ht,Se)|0,ge=ge+Math.imul(Lt,Gt)|0,ie=ie+Math.imul(Lt,Vt)|0,ie=ie+Math.imul(St,Gt)|0,Te=Te+Math.imul(St,Vt)|0,ge=ge+Math.imul(Ke,Qr)|0,ie=ie+Math.imul(Ke,ai)|0,ie=ie+Math.imul(xt,Qr)|0,Te=Te+Math.imul(xt,ai)|0,ge=ge+Math.imul(Yt,ri)|0,ie=ie+Math.imul(Yt,bi)|0,ie=ie+Math.imul(xr,ri)|0,Te=Te+Math.imul(xr,bi)|0,ge=ge+Math.imul(Rt,Wi)|0,ie=ie+Math.imul(Rt,Ni)|0,ie=ie+Math.imul(kt,Wi)|0,Te=Te+Math.imul(kt,Ni)|0,ge=ge+Math.imul(qt,$i)|0,ie=ie+Math.imul(qt,zn)|0,ie=ie+Math.imul(rt,$i)|0,Te=Te+Math.imul(rt,zn)|0,ge=ge+Math.imul(Ge,It)|0,ie=ie+Math.imul(Ge,ft)|0,ie=ie+Math.imul(nt,It)|0,Te=Te+Math.imul(nt,ft)|0;var Ki=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ki>>>26)|0,Ki&=67108863,ge=Math.imul(fr,xe),ie=Math.imul(fr,Se),ie=ie+Math.imul(_r,xe)|0,Te=Math.imul(_r,Se),ge=ge+Math.imul(dt,Gt)|0,ie=ie+Math.imul(dt,Vt)|0,ie=ie+Math.imul(Ht,Gt)|0,Te=Te+Math.imul(Ht,Vt)|0,ge=ge+Math.imul(Lt,Qr)|0,ie=ie+Math.imul(Lt,ai)|0,ie=ie+Math.imul(St,Qr)|0,Te=Te+Math.imul(St,ai)|0,ge=ge+Math.imul(Ke,ri)|0,ie=ie+Math.imul(Ke,bi)|0,ie=ie+Math.imul(xt,ri)|0,Te=Te+Math.imul(xt,bi)|0,ge=ge+Math.imul(Yt,Wi)|0,ie=ie+Math.imul(Yt,Ni)|0,ie=ie+Math.imul(xr,Wi)|0,Te=Te+Math.imul(xr,Ni)|0,ge=ge+Math.imul(Rt,$i)|0,ie=ie+Math.imul(Rt,zn)|0,ie=ie+Math.imul(kt,$i)|0,Te=Te+Math.imul(kt,zn)|0,ge=ge+Math.imul(qt,It)|0,ie=ie+Math.imul(qt,ft)|0,ie=ie+Math.imul(rt,It)|0,Te=Te+Math.imul(rt,ft)|0;var ka=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(ka>>>26)|0,ka&=67108863,ge=Math.imul(fr,Gt),ie=Math.imul(fr,Vt),ie=ie+Math.imul(_r,Gt)|0,Te=Math.imul(_r,Vt),ge=ge+Math.imul(dt,Qr)|0,ie=ie+Math.imul(dt,ai)|0,ie=ie+Math.imul(Ht,Qr)|0,Te=Te+Math.imul(Ht,ai)|0,ge=ge+Math.imul(Lt,ri)|0,ie=ie+Math.imul(Lt,bi)|0,ie=ie+Math.imul(St,ri)|0,Te=Te+Math.imul(St,bi)|0,ge=ge+Math.imul(Ke,Wi)|0,ie=ie+Math.imul(Ke,Ni)|0,ie=ie+Math.imul(xt,Wi)|0,Te=Te+Math.imul(xt,Ni)|0,ge=ge+Math.imul(Yt,$i)|0,ie=ie+Math.imul(Yt,zn)|0,ie=ie+Math.imul(xr,$i)|0,Te=Te+Math.imul(xr,zn)|0,ge=ge+Math.imul(Rt,It)|0,ie=ie+Math.imul(Rt,ft)|0,ie=ie+Math.imul(kt,It)|0,Te=Te+Math.imul(kt,ft)|0;var jn=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jn>>>26)|0,jn&=67108863,ge=Math.imul(fr,Qr),ie=Math.imul(fr,ai),ie=ie+Math.imul(_r,Qr)|0,Te=Math.imul(_r,ai),ge=ge+Math.imul(dt,ri)|0,ie=ie+Math.imul(dt,bi)|0,ie=ie+Math.imul(Ht,ri)|0,Te=Te+Math.imul(Ht,bi)|0,ge=ge+Math.imul(Lt,Wi)|0,ie=ie+Math.imul(Lt,Ni)|0,ie=ie+Math.imul(St,Wi)|0,Te=Te+Math.imul(St,Ni)|0,ge=ge+Math.imul(Ke,$i)|0,ie=ie+Math.imul(Ke,zn)|0,ie=ie+Math.imul(xt,$i)|0,Te=Te+Math.imul(xt,zn)|0,ge=ge+Math.imul(Yt,It)|0,ie=ie+Math.imul(Yt,ft)|0,ie=ie+Math.imul(xr,It)|0,Te=Te+Math.imul(xr,ft)|0;var la=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(la>>>26)|0,la&=67108863,ge=Math.imul(fr,ri),ie=Math.imul(fr,bi),ie=ie+Math.imul(_r,ri)|0,Te=Math.imul(_r,bi),ge=ge+Math.imul(dt,Wi)|0,ie=ie+Math.imul(dt,Ni)|0,ie=ie+Math.imul(Ht,Wi)|0,Te=Te+Math.imul(Ht,Ni)|0,ge=ge+Math.imul(Lt,$i)|0,ie=ie+Math.imul(Lt,zn)|0,ie=ie+Math.imul(St,$i)|0,Te=Te+Math.imul(St,zn)|0,ge=ge+Math.imul(Ke,It)|0,ie=ie+Math.imul(Ke,ft)|0,ie=ie+Math.imul(xt,It)|0,Te=Te+Math.imul(xt,ft)|0;var Fa=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Fa>>>26)|0,Fa&=67108863,ge=Math.imul(fr,Wi),ie=Math.imul(fr,Ni),ie=ie+Math.imul(_r,Wi)|0,Te=Math.imul(_r,Ni),ge=ge+Math.imul(dt,$i)|0,ie=ie+Math.imul(dt,zn)|0,ie=ie+Math.imul(Ht,$i)|0,Te=Te+Math.imul(Ht,zn)|0,ge=ge+Math.imul(Lt,It)|0,ie=ie+Math.imul(Lt,ft)|0,ie=ie+Math.imul(St,It)|0,Te=Te+Math.imul(St,ft)|0;var Ra=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(Ra>>>26)|0,Ra&=67108863,ge=Math.imul(fr,$i),ie=Math.imul(fr,zn),ie=ie+Math.imul(_r,$i)|0,Te=Math.imul(_r,zn),ge=ge+Math.imul(dt,It)|0,ie=ie+Math.imul(dt,ft)|0,ie=ie+Math.imul(Ht,It)|0,Te=Te+Math.imul(Ht,ft)|0;var jo=(ke+ge|0)+((ie&8191)<<13)|0;ke=(Te+(ie>>>13)|0)+(jo>>>26)|0,jo&=67108863,ge=Math.imul(fr,It),ie=Math.imul(fr,ft),ie=ie+Math.imul(_r,It)|0,Te=Math.imul(_r,ft);var oa=(ke+ge|0)+((ie&8191)<<13)|0;return ke=(Te+(ie>>>13)|0)+(oa>>>26)|0,oa&=67108863,Me[0]=jt,Me[1]=Zt,Me[2]=yr,Me[3]=Fr,Me[4]=Zr,Me[5]=Vr,Me[6]=gi,Me[7]=Si,Me[8]=Mi,Me[9]=Pi,Me[10]=Gi,Me[11]=Ki,Me[12]=ka,Me[13]=jn,Me[14]=la,Me[15]=Fa,Me[16]=Ra,Me[17]=jo,Me[18]=oa,ke!==0&&(Me[19]=ke,re.length++),re};Math.imul||(L=A);function _(G,N,W){W.negative=N.negative^G.negative,W.length=G.length+N.length;for(var re=0,ae=0,_e=0;_e>>26)|0,ae+=Me>>>26,Me&=67108863}W.words[_e]=ke,re=Me,Me=ae}return re!==0?W.words[_e]=re:W.length--,W.strip()}function C(G,N,W){var re=new M;return re.mulp(G,N,W)}f.prototype.mulTo=function(N,W){var re,ae=this.length+N.length;return this.length===10&&N.length===10?re=L(this,N,W):ae<63?re=A(this,N,W):ae<1024?re=_(this,N,W):re=C(this,N,W),re};function M(G,N){this.x=G,this.y=N}M.prototype.makeRBT=function(N){for(var W=new Array(N),re=f.prototype._countBits(N)-1,ae=0;ae>=1;return ae},M.prototype.permute=function(N,W,re,ae,_e,Me){for(var ke=0;ke>>1)_e++;return 1<<_e+1+ae},M.prototype.conjugate=function(N,W,re){if(!(re<=1))for(var ae=0;ae>>13,re[2*Me+1]=_e&8191,_e=_e>>>13;for(Me=2*W;Me>=26,W+=ae/67108864|0,W+=_e>>>26,this.words[re]=_e&67108863}return W!==0&&(this.words[re]=W,this.length++),this},f.prototype.muln=function(N){return this.clone().imuln(N)},f.prototype.sqr=function(){return this.mul(this)},f.prototype.isqr=function(){return this.imul(this.clone())},f.prototype.pow=function(N){var W=k(N);if(W.length===0)return new f(1);for(var re=this,ae=0;ae=0);var W=N%26,re=(N-W)/26,ae=67108863>>>26-W<<26-W,_e;if(W!==0){var Me=0;for(_e=0;_e>>26-W}Me&&(this.words[_e]=Me,this.length++)}if(re!==0){for(_e=this.length-1;_e>=0;_e--)this.words[_e+re]=this.words[_e];for(_e=0;_e=0);var ae;W?ae=(W-W%26)/26:ae=0;var _e=N%26,Me=Math.min((N-_e)/26,this.length),ke=67108863^67108863>>>_e<<_e,ge=re;if(ae-=Me,ae=Math.max(0,ae),ge){for(var ie=0;ieMe)for(this.length-=Me,ie=0;ie=0&&(Te!==0||ie>=ae);ie--){var Ee=this.words[ie]|0;this.words[ie]=Te<<26-_e|Ee>>>_e,Te=Ee&ke}return ge&&Te!==0&&(ge.words[ge.length++]=Te),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},f.prototype.ishrn=function(N,W,re){return u(this.negative===0),this.iushrn(N,W,re)},f.prototype.shln=function(N){return this.clone().ishln(N)},f.prototype.ushln=function(N){return this.clone().iushln(N)},f.prototype.shrn=function(N){return this.clone().ishrn(N)},f.prototype.ushrn=function(N){return this.clone().iushrn(N)},f.prototype.testn=function(N){u(typeof N==\"number\"&&N>=0);var W=N%26,re=(N-W)/26,ae=1<=0);var W=N%26,re=(N-W)/26;if(u(this.negative===0,\"imaskn works only with positive numbers\"),this.length<=re)return this;if(W!==0&&re++,this.length=Math.min(re,this.length),W!==0){var ae=67108863^67108863>>>W<=67108864;W++)this.words[W]-=67108864,W===this.length-1?this.words[W+1]=1:this.words[W+1]++;return this.length=Math.max(this.length,W+1),this},f.prototype.isubn=function(N){if(u(typeof N==\"number\"),u(N<67108864),N<0)return this.iaddn(-N);if(this.negative!==0)return this.negative=0,this.iaddn(N),this.negative=1,this;if(this.words[0]-=N,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var W=0;W>26)-(ge/67108864|0),this.words[_e+re]=Me&67108863}for(;_e>26,this.words[_e+re]=Me&67108863;if(ke===0)return this.strip();for(u(ke===-1),ke=0,_e=0;_e>26,this.words[_e]=Me&67108863;return this.negative=1,this.strip()},f.prototype._wordDiv=function(N,W){var re=this.length-N.length,ae=this.clone(),_e=N,Me=_e.words[_e.length-1]|0,ke=this._countBits(Me);re=26-ke,re!==0&&(_e=_e.ushln(re),ae.iushln(re),Me=_e.words[_e.length-1]|0);var ge=ae.length-_e.length,ie;if(W!==\"mod\"){ie=new f(null),ie.length=ge+1,ie.words=new Array(ie.length);for(var Te=0;Te=0;Ae--){var ze=(ae.words[_e.length+Ae]|0)*67108864+(ae.words[_e.length+Ae-1]|0);for(ze=Math.min(ze/Me|0,67108863),ae._ishlnsubmul(_e,ze,Ae);ae.negative!==0;)ze--,ae.negative=0,ae._ishlnsubmul(_e,1,Ae),ae.isZero()||(ae.negative^=1);ie&&(ie.words[Ae]=ze)}return ie&&ie.strip(),ae.strip(),W!==\"div\"&&re!==0&&ae.iushrn(re),{div:ie||null,mod:ae}},f.prototype.divmod=function(N,W,re){if(u(!N.isZero()),this.isZero())return{div:new f(0),mod:new f(0)};var ae,_e,Me;return this.negative!==0&&N.negative===0?(Me=this.neg().divmod(N,W),W!==\"mod\"&&(ae=Me.div.neg()),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.iadd(N)),{div:ae,mod:_e}):this.negative===0&&N.negative!==0?(Me=this.divmod(N.neg(),W),W!==\"mod\"&&(ae=Me.div.neg()),{div:ae,mod:Me.mod}):this.negative&N.negative?(Me=this.neg().divmod(N.neg(),W),W!==\"div\"&&(_e=Me.mod.neg(),re&&_e.negative!==0&&_e.isub(N)),{div:Me.div,mod:_e}):N.length>this.length||this.cmp(N)<0?{div:new f(0),mod:this}:N.length===1?W===\"div\"?{div:this.divn(N.words[0]),mod:null}:W===\"mod\"?{div:null,mod:new f(this.modn(N.words[0]))}:{div:this.divn(N.words[0]),mod:new f(this.modn(N.words[0]))}:this._wordDiv(N,W)},f.prototype.div=function(N){return this.divmod(N,\"div\",!1).div},f.prototype.mod=function(N){return this.divmod(N,\"mod\",!1).mod},f.prototype.umod=function(N){return this.divmod(N,\"mod\",!0).mod},f.prototype.divRound=function(N){var W=this.divmod(N);if(W.mod.isZero())return W.div;var re=W.div.negative!==0?W.mod.isub(N):W.mod,ae=N.ushrn(1),_e=N.andln(1),Me=re.cmp(ae);return Me<0||_e===1&&Me===0?W.div:W.div.negative!==0?W.div.isubn(1):W.div.iaddn(1)},f.prototype.modn=function(N){u(N<=67108863);for(var W=(1<<26)%N,re=0,ae=this.length-1;ae>=0;ae--)re=(W*re+(this.words[ae]|0))%N;return re},f.prototype.idivn=function(N){u(N<=67108863);for(var W=0,re=this.length-1;re>=0;re--){var ae=(this.words[re]|0)+W*67108864;this.words[re]=ae/N|0,W=ae%N}return this.strip()},f.prototype.divn=function(N){return this.clone().idivn(N)},f.prototype.egcd=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=new f(0),ke=new f(1),ge=0;W.isEven()&&re.isEven();)W.iushrn(1),re.iushrn(1),++ge;for(var ie=re.clone(),Te=W.clone();!W.isZero();){for(var Ee=0,Ae=1;!(W.words[0]&Ae)&&Ee<26;++Ee,Ae<<=1);if(Ee>0)for(W.iushrn(Ee);Ee-- >0;)(ae.isOdd()||_e.isOdd())&&(ae.iadd(ie),_e.isub(Te)),ae.iushrn(1),_e.iushrn(1);for(var ze=0,Ce=1;!(re.words[0]&Ce)&&ze<26;++ze,Ce<<=1);if(ze>0)for(re.iushrn(ze);ze-- >0;)(Me.isOdd()||ke.isOdd())&&(Me.iadd(ie),ke.isub(Te)),Me.iushrn(1),ke.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(Me),_e.isub(ke)):(re.isub(W),Me.isub(ae),ke.isub(_e))}return{a:Me,b:ke,gcd:re.iushln(ge)}},f.prototype._invmp=function(N){u(N.negative===0),u(!N.isZero());var W=this,re=N.clone();W.negative!==0?W=W.umod(N):W=W.clone();for(var ae=new f(1),_e=new f(0),Me=re.clone();W.cmpn(1)>0&&re.cmpn(1)>0;){for(var ke=0,ge=1;!(W.words[0]&ge)&&ke<26;++ke,ge<<=1);if(ke>0)for(W.iushrn(ke);ke-- >0;)ae.isOdd()&&ae.iadd(Me),ae.iushrn(1);for(var ie=0,Te=1;!(re.words[0]&Te)&&ie<26;++ie,Te<<=1);if(ie>0)for(re.iushrn(ie);ie-- >0;)_e.isOdd()&&_e.iadd(Me),_e.iushrn(1);W.cmp(re)>=0?(W.isub(re),ae.isub(_e)):(re.isub(W),_e.isub(ae))}var Ee;return W.cmpn(1)===0?Ee=ae:Ee=_e,Ee.cmpn(0)<0&&Ee.iadd(N),Ee},f.prototype.gcd=function(N){if(this.isZero())return N.abs();if(N.isZero())return this.abs();var W=this.clone(),re=N.clone();W.negative=0,re.negative=0;for(var ae=0;W.isEven()&&re.isEven();ae++)W.iushrn(1),re.iushrn(1);do{for(;W.isEven();)W.iushrn(1);for(;re.isEven();)re.iushrn(1);var _e=W.cmp(re);if(_e<0){var Me=W;W=re,re=Me}else if(_e===0||re.cmpn(1)===0)break;W.isub(re)}while(!0);return re.iushln(ae)},f.prototype.invm=function(N){return this.egcd(N).a.umod(N)},f.prototype.isEven=function(){return(this.words[0]&1)===0},f.prototype.isOdd=function(){return(this.words[0]&1)===1},f.prototype.andln=function(N){return this.words[0]&N},f.prototype.bincn=function(N){u(typeof N==\"number\");var W=N%26,re=(N-W)/26,ae=1<>>26,ke&=67108863,this.words[Me]=ke}return _e!==0&&(this.words[Me]=_e,this.length++),this},f.prototype.isZero=function(){return this.length===1&&this.words[0]===0},f.prototype.cmpn=function(N){var W=N<0;if(this.negative!==0&&!W)return-1;if(this.negative===0&&W)return 1;this.strip();var re;if(this.length>1)re=1;else{W&&(N=-N),u(N<=67108863,\"Number is too big\");var ae=this.words[0]|0;re=ae===N?0:aeN.length)return 1;if(this.length=0;re--){var ae=this.words[re]|0,_e=N.words[re]|0;if(ae!==_e){ae<_e?W=-1:ae>_e&&(W=1);break}}return W},f.prototype.gtn=function(N){return this.cmpn(N)===1},f.prototype.gt=function(N){return this.cmp(N)===1},f.prototype.gten=function(N){return this.cmpn(N)>=0},f.prototype.gte=function(N){return this.cmp(N)>=0},f.prototype.ltn=function(N){return this.cmpn(N)===-1},f.prototype.lt=function(N){return this.cmp(N)===-1},f.prototype.lten=function(N){return this.cmpn(N)<=0},f.prototype.lte=function(N){return this.cmp(N)<=0},f.prototype.eqn=function(N){return this.cmpn(N)===0},f.prototype.eq=function(N){return this.cmp(N)===0},f.red=function(N){return new H(N)},f.prototype.toRed=function(N){return u(!this.red,\"Already a number in reduction context\"),u(this.negative===0,\"red works only with positives\"),N.convertTo(this)._forceRed(N)},f.prototype.fromRed=function(){return u(this.red,\"fromRed works only with numbers in reduction context\"),this.red.convertFrom(this)},f.prototype._forceRed=function(N){return this.red=N,this},f.prototype.forceRed=function(N){return u(!this.red,\"Already a number in reduction context\"),this._forceRed(N)},f.prototype.redAdd=function(N){return u(this.red,\"redAdd works only with red numbers\"),this.red.add(this,N)},f.prototype.redIAdd=function(N){return u(this.red,\"redIAdd works only with red numbers\"),this.red.iadd(this,N)},f.prototype.redSub=function(N){return u(this.red,\"redSub works only with red numbers\"),this.red.sub(this,N)},f.prototype.redISub=function(N){return u(this.red,\"redISub works only with red numbers\"),this.red.isub(this,N)},f.prototype.redShl=function(N){return u(this.red,\"redShl works only with red numbers\"),this.red.shl(this,N)},f.prototype.redMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.mul(this,N)},f.prototype.redIMul=function(N){return u(this.red,\"redMul works only with red numbers\"),this.red._verify2(this,N),this.red.imul(this,N)},f.prototype.redSqr=function(){return u(this.red,\"redSqr works only with red numbers\"),this.red._verify1(this),this.red.sqr(this)},f.prototype.redISqr=function(){return u(this.red,\"redISqr works only with red numbers\"),this.red._verify1(this),this.red.isqr(this)},f.prototype.redSqrt=function(){return u(this.red,\"redSqrt works only with red numbers\"),this.red._verify1(this),this.red.sqrt(this)},f.prototype.redInvm=function(){return u(this.red,\"redInvm works only with red numbers\"),this.red._verify1(this),this.red.invm(this)},f.prototype.redNeg=function(){return u(this.red,\"redNeg works only with red numbers\"),this.red._verify1(this),this.red.neg(this)},f.prototype.redPow=function(N){return u(this.red&&!N.red,\"redPow(normalNum)\"),this.red._verify1(this),this.red.pow(this,N)};var p={k256:null,p224:null,p192:null,p25519:null};function P(G,N){this.name=G,this.p=new f(N,16),this.n=this.p.bitLength(),this.k=new f(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}P.prototype._tmp=function(){var N=new f(null);return N.words=new Array(Math.ceil(this.n/13)),N},P.prototype.ireduce=function(N){var W=N,re;do this.split(W,this.tmp),W=this.imulK(W),W=W.iadd(this.tmp),re=W.bitLength();while(re>this.n);var ae=re0?W.isub(this.p):W.strip!==void 0?W.strip():W._strip(),W},P.prototype.split=function(N,W){N.iushrn(this.n,0,W)},P.prototype.imulK=function(N){return N.imul(this.k)};function T(){P.call(this,\"k256\",\"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\")}c(T,P),T.prototype.split=function(N,W){for(var re=4194303,ae=Math.min(N.length,9),_e=0;_e>>22,Me=ke}Me>>>=22,N.words[_e-10]=Me,Me===0&&N.length>10?N.length-=10:N.length-=9},T.prototype.imulK=function(N){N.words[N.length]=0,N.words[N.length+1]=0,N.length+=2;for(var W=0,re=0;re>>=26,N.words[re]=_e,W=ae}return W!==0&&(N.words[N.length++]=W),N},f._prime=function(N){if(p[N])return p[N];var W;if(N===\"k256\")W=new T;else if(N===\"p224\")W=new F;else if(N===\"p192\")W=new q;else if(N===\"p25519\")W=new V;else throw new Error(\"Unknown prime \"+N);return p[N]=W,W};function H(G){if(typeof G==\"string\"){var N=f._prime(G);this.m=N.p,this.prime=N}else u(G.gtn(1),\"modulus must be greater than 1\"),this.m=G,this.prime=null}H.prototype._verify1=function(N){u(N.negative===0,\"red works only with positives\"),u(N.red,\"red works only with red numbers\")},H.prototype._verify2=function(N,W){u((N.negative|W.negative)===0,\"red works only with positives\"),u(N.red&&N.red===W.red,\"red works only with red numbers\")},H.prototype.imod=function(N){return this.prime?this.prime.ireduce(N)._forceRed(this):N.umod(this.m)._forceRed(this)},H.prototype.neg=function(N){return N.isZero()?N.clone():this.m.sub(N)._forceRed(this)},H.prototype.add=function(N,W){this._verify2(N,W);var re=N.add(W);return re.cmp(this.m)>=0&&re.isub(this.m),re._forceRed(this)},H.prototype.iadd=function(N,W){this._verify2(N,W);var re=N.iadd(W);return re.cmp(this.m)>=0&&re.isub(this.m),re},H.prototype.sub=function(N,W){this._verify2(N,W);var re=N.sub(W);return re.cmpn(0)<0&&re.iadd(this.m),re._forceRed(this)},H.prototype.isub=function(N,W){this._verify2(N,W);var re=N.isub(W);return re.cmpn(0)<0&&re.iadd(this.m),re},H.prototype.shl=function(N,W){return this._verify1(N),this.imod(N.ushln(W))},H.prototype.imul=function(N,W){return this._verify2(N,W),this.imod(N.imul(W))},H.prototype.mul=function(N,W){return this._verify2(N,W),this.imod(N.mul(W))},H.prototype.isqr=function(N){return this.imul(N,N.clone())},H.prototype.sqr=function(N){return this.mul(N,N)},H.prototype.sqrt=function(N){if(N.isZero())return N.clone();var W=this.m.andln(3);if(u(W%2===1),W===3){var re=this.m.add(new f(1)).iushrn(2);return this.pow(N,re)}for(var ae=this.m.subn(1),_e=0;!ae.isZero()&&ae.andln(1)===0;)_e++,ae.iushrn(1);u(!ae.isZero());var Me=new f(1).toRed(this),ke=Me.redNeg(),ge=this.m.subn(1).iushrn(1),ie=this.m.bitLength();for(ie=new f(2*ie*ie).toRed(this);this.pow(ie,ge).cmp(ke)!==0;)ie.redIAdd(ke);for(var Te=this.pow(ie,ae),Ee=this.pow(N,ae.addn(1).iushrn(1)),Ae=this.pow(N,ae),ze=_e;Ae.cmp(Me)!==0;){for(var Ce=Ae,me=0;Ce.cmp(Me)!==0;me++)Ce=Ce.redSqr();u(me=0;_e--){for(var Te=W.words[_e],Ee=ie-1;Ee>=0;Ee--){var Ae=Te>>Ee&1;if(Me!==ae[0]&&(Me=this.sqr(Me)),Ae===0&&ke===0){ge=0;continue}ke<<=1,ke|=Ae,ge++,!(ge!==re&&(_e!==0||Ee!==0))&&(Me=this.mul(Me,ae[ke]),ge=0,ke=0)}ie=26}return Me},H.prototype.convertTo=function(N){var W=N.umod(this.m);return W===N?W.clone():W},H.prototype.convertFrom=function(N){var W=N.clone();return W.red=null,W},f.mont=function(N){return new X(N)};function X(G){H.call(this,G),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new f(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}c(X,H),X.prototype.convertTo=function(N){return this.imod(N.ushln(this.shift))},X.prototype.convertFrom=function(N){var W=this.imod(N.mul(this.rinv));return W.red=null,W},X.prototype.imul=function(N,W){if(N.isZero()||W.isZero())return N.words[0]=0,N.length=1,N;var re=N.imul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.mul=function(N,W){if(N.isZero()||W.isZero())return new f(0)._forceRed(this);var re=N.mul(W),ae=re.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),_e=re.isub(ae).iushrn(this.shift),Me=_e;return _e.cmp(this.m)>=0?Me=_e.isub(this.m):_e.cmpn(0)<0&&(Me=_e.iadd(this.m)),Me._forceRed(this)},X.prototype.invm=function(N){var W=this.imod(N._invmp(this.m).mul(this.r2));return W._forceRed(this)}}(i,this)},6204:function(i){\"use strict\";i.exports=a;function a(o){var s,l,u,c=o.length,f=0;for(s=0;s>>1;if(!(M<=0)){var p,P=s.mallocDouble(2*M*_),T=s.mallocInt32(_);if(_=f(E,M,P,T),_>0){if(M===1&&L)l.init(_),p=l.sweepComplete(M,A,0,_,P,T,0,_,P,T);else{var F=s.mallocDouble(2*M*C),q=s.mallocInt32(C);C=f(k,M,F,q),C>0&&(l.init(_+C),M===1?p=l.sweepBipartite(M,A,0,_,P,T,0,C,F,q):p=u(M,A,L,_,P,T,C,F,q),s.free(F),s.free(q))}s.free(P),s.free(T)}return p}}}var d;function v(E,k){d.push([E,k])}function x(E){return d=[],h(E,E,v,!0),d}function b(E,k){return d=[],h(E,k,v,!1),d}function g(E,k,A){switch(arguments.length){case 1:return x(E);case 2:return typeof k==\"function\"?h(E,E,k,!0):b(E,k);case 3:return h(E,k,A,!1);default:throw new Error(\"box-intersect: Invalid arguments\")}}},2455:function(i,a){\"use strict\";function o(){function u(h,d,v,x,b,g,E,k,A,L,_){for(var C=2*h,M=x,p=C*x;MA-k?u(h,d,v,x,b,g,E,k,A,L,_):c(h,d,v,x,b,g,E,k,A,L,_)}return f}function s(){function u(v,x,b,g,E,k,A,L,_,C,M){for(var p=2*v,P=g,T=p*g;PC-_?g?u(v,x,b,E,k,A,L,_,C,M,p):c(v,x,b,E,k,A,L,_,C,M,p):g?f(v,x,b,E,k,A,L,_,C,M,p):h(v,x,b,E,k,A,L,_,C,M,p)}return d}function l(u){return u?o():s()}a.partial=l(!1),a.full=l(!0)},7150:function(i,a,o){\"use strict\";i.exports=G;var s=o(1888),l=o(8828),u=o(2455),c=u.partial,f=u.full,h=o(855),d=o(3545),v=o(8105),x=128,b=1<<22,g=1<<22,E=v(\"!(lo>=p0)&&!(p1>=hi)\"),k=v(\"lo===p0\"),A=v(\"lo0;){Te-=1;var ze=Te*M,Ce=T[ze],me=T[ze+1],Re=T[ze+2],ce=T[ze+3],Ge=T[ze+4],nt=T[ze+5],ct=Te*p,qt=F[ct],rt=F[ct+1],ot=nt&1,Rt=!!(nt&16),kt=_e,Ct=Me,Yt=ge,xr=ie;if(ot&&(kt=ge,Ct=ie,Yt=_e,xr=Me),!(nt&2&&(Re=A(N,Ce,me,Re,kt,Ct,rt),me>=Re))&&!(nt&4&&(me=L(N,Ce,me,Re,kt,Ct,qt),me>=Re))){var er=Re-me,Ke=Ge-ce;if(Rt){if(N*er*(er+Ke)v&&b[C+d]>L;--_,C-=E){for(var M=C,p=C+E,P=0;P>>1,L=2*h,_=A,C=b[L*A+d];E=F?(_=T,C=F):P>=V?(_=p,C=P):(_=q,C=V):F>=V?(_=T,C=F):V>=P?(_=p,C=P):(_=q,C=V);for(var G=L*(k-1),N=L*_,H=0;H=p0)&&!(p1>=hi)\":d};function o(v){return a[v]}function s(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p];if(F===A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function l(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p];if(Fq;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function u(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function c(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+P];if(F<=A)if(M===T)M+=1,C+=L;else{for(var q=0;L>q;++q){var V=E[_+q];E[_+q]=E[C],E[C++]=V}var H=k[T];k[T]=k[M],k[M++]=H}}return M}function f(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p],q=E[_+P];if(F<=A&&A<=q)if(M===T)M+=1,C+=L;else{for(var V=0;L>V;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function h(v,x,b,g,E,k,A){for(var L=2*v,_=L*b,C=_,M=b,p=x,P=v+x,T=b;g>T;++T,_+=L){var F=E[_+p],q=E[_+P];if(FV;++V){var H=E[_+V];E[_+V]=E[C],E[C++]=H}var X=k[T];k[T]=k[M],k[M++]=X}}return M}function d(v,x,b,g,E,k,A,L){for(var _=2*v,C=_*b,M=C,p=b,P=x,T=v+x,F=b;g>F;++F,C+=_){var q=E[C+P],V=E[C+T];if(!(q>=A)&&!(L>=V))if(p===F)p+=1,M+=_;else{for(var H=0;_>H;++H){var X=E[C+H];E[C+H]=E[M],E[M++]=X}var G=k[F];k[F]=k[p],k[p++]=G}}return p}},4192:function(i){\"use strict\";i.exports=o;var a=32;function o(x,b){b<=4*a?s(0,b-1,x):v(0,b-1,x)}function s(x,b,g){for(var E=2*(x+1),k=x+1;k<=b;++k){for(var A=g[E++],L=g[E++],_=k,C=E-2;_-- >x;){var M=g[C-2],p=g[C-1];if(Mg[b+1]:!0}function d(x,b,g,E){x*=2;var k=E[x];return k>1,_=L-E,C=L+E,M=k,p=_,P=L,T=C,F=A,q=x+1,V=b-1,H=0;h(M,p,g)&&(H=M,M=p,p=H),h(T,F,g)&&(H=T,T=F,F=H),h(M,P,g)&&(H=M,M=P,P=H),h(p,P,g)&&(H=p,p=P,P=H),h(M,T,g)&&(H=M,M=T,T=H),h(P,T,g)&&(H=P,P=T,T=H),h(p,F,g)&&(H=p,p=F,F=H),h(p,P,g)&&(H=p,p=P,P=H),h(T,F,g)&&(H=T,T=F,F=H);for(var X=g[2*p],G=g[2*p+1],N=g[2*T],W=g[2*T+1],re=2*M,ae=2*P,_e=2*F,Me=2*k,ke=2*L,ge=2*A,ie=0;ie<2;++ie){var Te=g[re+ie],Ee=g[ae+ie],Ae=g[_e+ie];g[Me+ie]=Te,g[ke+ie]=Ee,g[ge+ie]=Ae}u(_,x,g),u(C,b,g);for(var ze=q;ze<=V;++ze)if(d(ze,X,G,g))ze!==q&&l(ze,q,g),++q;else if(!d(ze,N,W,g))for(;;)if(d(V,N,W,g)){d(V,X,G,g)?(c(ze,q,V,g),++q,--V):(l(ze,V,g),--V);break}else{if(--V>>1;u(E,Ee);for(var Ae=0,ze=0,ke=0;ke=c)Ce=Ce-c|0,A(v,x,ze--,Ce);else if(Ce>=0)A(h,d,Ae--,Ce);else if(Ce<=-c){Ce=-Ce-c|0;for(var me=0;me>>1;u(E,Ee);for(var Ae=0,ze=0,Ce=0,ke=0;ke>1===E[2*ke+3]>>1&&(Re=2,ke+=1),me<0){for(var ce=-(me>>1)-1,Ge=0;Ge>1)-1;Re===0?A(h,d,Ae--,ce):Re===1?A(v,x,ze--,ce):Re===2&&A(b,g,Ce--,ce)}}}function M(P,T,F,q,V,H,X,G,N,W,re,ae){var _e=0,Me=2*P,ke=T,ge=T+P,ie=1,Te=1;q?Te=c:ie=c;for(var Ee=V;Ee>>1;u(E,me);for(var Re=0,Ee=0;Ee=c?(Ge=!q,Ae-=c):(Ge=!!q,Ae-=1),Ge)L(h,d,Re++,Ae);else{var nt=ae[Ae],ct=Me*Ae,qt=re[ct+T+1],rt=re[ct+T+1+P];e:for(var ot=0;ot>>1;u(E,Ae);for(var ze=0,ge=0;ge=c)h[ze++]=ie-c;else{ie-=1;var me=re[ie],Re=_e*ie,ce=W[Re+T+1],Ge=W[Re+T+1+P];e:for(var nt=0;nt=0;--nt)if(h[nt]===ie){for(var ot=nt+1;ot0;){for(var k=d.pop(),b=d.pop(),A=-1,L=-1,g=x[b],C=1;C=0||(h.flip(b,k),u(f,h,d,A,b,L),u(f,h,d,b,L,A),u(f,h,d,L,k,A),u(f,h,d,k,A,L))}}},5023:function(i,a,o){\"use strict\";var s=o(2478);i.exports=d;function l(v,x,b,g,E,k,A){this.cells=v,this.neighbor=x,this.flags=g,this.constraint=b,this.active=E,this.next=k,this.boundary=A}var u=l.prototype;function c(v,x){return v[0]-x[0]||v[1]-x[1]||v[2]-x[2]}u.locate=function(){var v=[0,0,0];return function(x,b,g){var E=x,k=b,A=g;return b0||A.length>0;){for(;k.length>0;){var p=k.pop();if(L[p]!==-E){L[p]=E;for(var P=_[p],T=0;T<3;++T){var F=M[3*p+T];F>=0&&L[F]===0&&(C[3*p+T]?A.push(F):(k.push(F),L[F]=E))}}}var q=A;A=k,k=q,A.length=0,E=-E}var V=h(_,L,x);return b?V.concat(g.boundary):V}},8902:function(i,a,o){\"use strict\";var s=o(2478),l=o(3250)[3],u=0,c=1,f=2;i.exports=A;function h(L,_,C,M,p){this.a=L,this.b=_,this.idx=C,this.lowerIds=M,this.upperIds=p}function d(L,_,C,M){this.a=L,this.b=_,this.type=C,this.idx=M}function v(L,_){var C=L.a[0]-_.a[0]||L.a[1]-_.a[1]||L.type-_.type;return C||L.type!==u&&(C=l(L.a,L.b,_.b),C)?C:L.idx-_.idx}function x(L,_){return l(L.a,L.b,_)}function b(L,_,C,M,p){for(var P=s.lt(_,M,x),T=s.gt(_,M,x),F=P;F1&&l(C[V[X-2]],C[V[X-1]],M)>0;)L.push([V[X-1],V[X-2],p]),X-=1;V.length=X,V.push(p);for(var H=q.upperIds,X=H.length;X>1&&l(C[H[X-2]],C[H[X-1]],M)<0;)L.push([H[X-2],H[X-1],p]),X-=1;H.length=X,H.push(p)}}function g(L,_){var C;return L.a[0]<_.a[0]?C=l(L.a,L.b,_.a):C=l(_.b,_.a,L.a),C||(_.b[0]q[0]&&p.push(new d(q,F,f,P),new d(F,q,c,P))}p.sort(v);for(var V=p[0].a[0]-(1+Math.abs(p[0].a[0]))*Math.pow(2,-52),H=[new h([V,1],[V,0],-1,[],[],[],[])],X=[],P=0,G=p.length;P=0}}(),u.removeTriangle=function(h,d,v){var x=this.stars;c(x[h],d,v),c(x[d],v,h),c(x[v],h,d)},u.addTriangle=function(h,d,v){var x=this.stars;x[h].push(d,v),x[d].push(v,h),x[v].push(h,d)},u.opposite=function(h,d){for(var v=this.stars[d],x=1,b=v.length;x=0;--N){var Te=X[N];W=Te[0];var Ee=V[W],Ae=Ee[0],ze=Ee[1],Ce=q[Ae],me=q[ze];if((Ce[0]-me[0]||Ce[1]-me[1])<0){var Re=Ae;Ae=ze,ze=Re}Ee[0]=Ae;var ce=Ee[1]=Te[1],Ge;for(G&&(Ge=Ee[2]);N>0&&X[N-1][0]===W;){var Te=X[--N],nt=Te[1];G?V.push([ce,nt,Ge]):V.push([ce,nt]),ce=nt}G?V.push([ce,ze,Ge]):V.push([ce,ze])}return re}function _(q,V,H){for(var X=V.length,G=new s(X),N=[],W=0;WV[2]?1:0)}function p(q,V,H){if(q.length!==0){if(V)for(var X=0;X0||W.length>0}function F(q,V,H){var X;if(H){X=V;for(var G=new Array(V.length),N=0;NL+1)throw new Error(k+\" map requires nshades to be at least size \"+E.length);Array.isArray(d.alpha)?d.alpha.length!==2?_=[1,1]:_=d.alpha.slice():typeof d.alpha==\"number\"?_=[d.alpha,d.alpha]:_=[1,1],v=E.map(function(F){return Math.round(F.index*L)}),_[0]=Math.min(Math.max(_[0],0),1),_[1]=Math.min(Math.max(_[1],0),1);var M=E.map(function(F,q){var V=E[q].index,H=E[q].rgb.slice();return H.length===4&&H[3]>=0&&H[3]<=1||(H[3]=_[0]+(_[1]-_[0])*V),H}),p=[];for(C=0;C=0}function d(v,x,b,g){var E=s(x,b,g);if(E===0){var k=l(s(v,x,b)),A=l(s(v,x,g));if(k===A){if(k===0){var L=h(v,x,b),_=h(v,x,g);return L===_?0:L?1:-1}return 0}else{if(A===0)return k>0||h(v,x,g)?-1:1;if(k===0)return A>0||h(v,x,b)?1:-1}return l(A-k)}var C=s(v,x,b);if(C>0)return E>0&&s(v,x,g)>0?1:-1;if(C<0)return E>0||s(v,x,g)>0?1:-1;var M=s(v,x,g);return M>0||h(v,x,b)?1:-1}},8572:function(i){\"use strict\";i.exports=function(o){return o<0?-1:o>0?1:0}},8507:function(i){i.exports=s;var a=Math.min;function o(l,u){return l-u}function s(l,u){var c=l.length,f=l.length-u.length;if(f)return f;switch(c){case 0:return 0;case 1:return l[0]-u[0];case 2:return l[0]+l[1]-u[0]-u[1]||a(l[0],l[1])-a(u[0],u[1]);case 3:var h=l[0]+l[1],d=u[0]+u[1];if(f=h+l[2]-(d+u[2]),f)return f;var v=a(l[0],l[1]),x=a(u[0],u[1]);return a(v,l[2])-a(x,u[2])||a(v+l[2],h)-a(x+u[2],d);case 4:var b=l[0],g=l[1],E=l[2],k=l[3],A=u[0],L=u[1],_=u[2],C=u[3];return b+g+E+k-(A+L+_+C)||a(b,g,E,k)-a(A,L,_,C,A)||a(b+g,b+E,b+k,g+E,g+k,E+k)-a(A+L,A+_,A+C,L+_,L+C,_+C)||a(b+g+E,b+g+k,b+E+k,g+E+k)-a(A+L+_,A+L+C,A+_+C,L+_+C);default:for(var M=l.slice().sort(o),p=u.slice().sort(o),P=0;Po[l][0]&&(l=u);return sl?[[l],[s]]:[[s]]}},4750:function(i,a,o){\"use strict\";i.exports=l;var s=o(3090);function l(u){var c=s(u),f=c.length;if(f<=2)return[];for(var h=new Array(f),d=c[f-1],v=0;v=d[A]&&(k+=1);g[E]=k}}return h}function f(h,d){try{return s(h,!0)}catch(g){var v=l(h);if(v.length<=d)return[];var x=u(h,v),b=s(x,!0);return c(b,v)}}},4769:function(i){\"use strict\";function a(s,l,u,c,f,h){var d=6*f*f-6*f,v=3*f*f-4*f+1,x=-6*f*f+6*f,b=3*f*f-2*f;if(s.length){h||(h=new Array(s.length));for(var g=s.length-1;g>=0;--g)h[g]=d*s[g]+v*l[g]+x*u[g]+b*c[g];return h}return d*s+v*l+x*u[g]+b*c}function o(s,l,u,c,f,h){var d=f-1,v=f*f,x=d*d,b=(1+2*f)*x,g=f*x,E=v*(3-2*f),k=v*d;if(s.length){h||(h=new Array(s.length));for(var A=s.length-1;A>=0;--A)h[A]=b*s[A]+g*l[A]+E*u[A]+k*c[A];return h}return b*s+g*l+E*u+k*c}i.exports=o,i.exports.derivative=a},7642:function(i,a,o){\"use strict\";var s=o(8954),l=o(1682);i.exports=h;function u(d,v){this.point=d,this.index=v}function c(d,v){for(var x=d.point,b=v.point,g=x.length,E=0;E=2)return!1;H[G]=N}return!0}):V=V.filter(function(H){for(var X=0;X<=b;++X){var G=P[H[X]];if(G<0)return!1;H[X]=G}return!0}),b&1)for(var k=0;k>>31},i.exports.exponent=function(E){var k=i.exports.hi(E);return(k<<1>>>21)-1023},i.exports.fraction=function(E){var k=i.exports.lo(E),A=i.exports.hi(E),L=A&(1<<20)-1;return A&2146435072&&(L+=1048576),[k,L]},i.exports.denormalized=function(E){var k=i.exports.hi(E);return!(k&2146435072)}},1338:function(i){\"use strict\";function a(l,u,c){var f=l[c]|0;if(f<=0)return[];var h=new Array(f),d;if(c===l.length-1)for(d=0;d0)return o(l|0,u);break;case\"object\":if(typeof l.length==\"number\")return a(l,u,0);break}return[]}i.exports=s},3134:function(i,a,o){\"use strict\";i.exports=l;var s=o(1682);function l(u,c){var f=u.length;if(typeof c!=\"number\"){c=0;for(var h=0;h=b-1)for(var C=k.length-1,p=v-x[b-1],M=0;M=b-1)for(var _=k.length-1,C=v-x[b-1],M=0;M=0;--b)if(v[--x])return!1;return!0},f.jump=function(v){var x=this.lastT(),b=this.dimension;if(!(v0;--M)g.push(u(L[M-1],_[M-1],arguments[M])),E.push(0)}},f.push=function(v){var x=this.lastT(),b=this.dimension;if(!(v1e-6?1/A:0;this._time.push(v);for(var p=b;p>0;--p){var P=u(_[p-1],C[p-1],arguments[p]);g.push(P),E.push((P-g[k++])*M)}}},f.set=function(v){var x=this.dimension;if(!(v0;--L)b.push(u(k[L-1],A[L-1],arguments[L])),g.push(0)}},f.move=function(v){var x=this.lastT(),b=this.dimension;if(!(v<=x||arguments.length!==b+1)){var g=this._state,E=this._velocity,k=g.length-this.dimension,A=this.bounds,L=A[0],_=A[1],C=v-x,M=C>1e-6?1/C:0;this._time.push(v);for(var p=b;p>0;--p){var P=arguments[p];g.push(u(L[p-1],_[p-1],g[k++]+P)),E.push(P*M)}}},f.idle=function(v){var x=this.lastT();if(!(v=0;--M)g.push(u(L[M],_[M],g[k]+C*E[k])),E.push(0),k+=1}};function h(v){for(var x=new Array(v),b=0;b=0;--q){var p=P[q];T[q]<=0?P[q]=new s(p._color,p.key,p.value,P[q+1],p.right,p._count+1):P[q]=new s(p._color,p.key,p.value,p.left,P[q+1],p._count+1)}for(var q=P.length-1;q>1;--q){var V=P[q-1],p=P[q];if(V._color===o||p._color===o)break;var H=P[q-2];if(H.left===V)if(V.left===p){var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.left=V.right,V._color=o,V.right=H,P[q-2]=V,P[q-1]=p,c(H),c(V),q>=3){var G=P[q-3];G.left===H?G.left=V:G.right=V}break}}else{var X=H.right;if(X&&X._color===a)V._color=o,H.right=u(o,X),H._color=a,q-=1;else{if(V.right=p.left,H._color=a,H.left=p.right,p._color=o,p.left=V,p.right=H,P[q-2]=p,P[q-1]=V,c(H),c(V),c(p),q>=3){var G=P[q-3];G.left===H?G.left=p:G.right=p}break}}else if(V.right===p){var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(H._color=a,H.right=V.left,V._color=o,V.left=H,P[q-2]=V,P[q-1]=p,c(H),c(V),q>=3){var G=P[q-3];G.right===H?G.right=V:G.left=V}break}}else{var X=H.left;if(X&&X._color===a)V._color=o,H.left=u(o,X),H._color=a,q-=1;else{if(V.left=p.right,H._color=a,H.right=p.left,p._color=o,p.right=V,p.left=H,P[q-2]=p,P[q-1]=V,c(H),c(V),c(p),q>=3){var G=P[q-3];G.right===H?G.right=p:G.left=p}break}}}return P[0]._color=o,new f(M,P[0])};function d(_,C){if(C.left){var M=d(_,C.left);if(M)return M}var M=_(C.key,C.value);if(M)return M;if(C.right)return d(_,C.right)}function v(_,C,M,p){var P=C(_,p.key);if(P<=0){if(p.left){var T=v(_,C,M,p.left);if(T)return T}var T=M(p.key,p.value);if(T)return T}if(p.right)return v(_,C,M,p.right)}function x(_,C,M,p,P){var T=M(_,P.key),F=M(C,P.key),q;if(T<=0&&(P.left&&(q=x(_,C,M,p,P.left),q)||F>0&&(q=p(P.key,P.value),q)))return q;if(F>0&&P.right)return x(_,C,M,p,P.right)}h.forEach=function(C,M,p){if(this.root)switch(arguments.length){case 1:return d(C,this.root);case 2:return v(M,this._compare,C,this.root);case 3:return this._compare(M,p)>=0?void 0:x(M,p,this._compare,C,this.root)}},Object.defineProperty(h,\"begin\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.left;return new b(this,_)}}),Object.defineProperty(h,\"end\",{get:function(){for(var _=[],C=this.root;C;)_.push(C),C=C.right;return new b(this,_)}}),h.at=function(_){if(_<0)return new b(this,[]);for(var C=this.root,M=[];;){if(M.push(C),C.left){if(_=C.right._count)break;C=C.right}else break}return new b(this,[])},h.ge=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T<=0&&(P=p.length),T<=0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.gt=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T<0&&(P=p.length),T<0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.lt=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T>0&&(P=p.length),T<=0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.le=function(_){for(var C=this._compare,M=this.root,p=[],P=0;M;){var T=C(_,M.key);p.push(M),T>=0&&(P=p.length),T<0?M=M.left:M=M.right}return p.length=P,new b(this,p)},h.find=function(_){for(var C=this._compare,M=this.root,p=[];M;){var P=C(_,M.key);if(p.push(M),P===0)return new b(this,p);P<=0?M=M.left:M=M.right}return new b(this,[])},h.remove=function(_){var C=this.find(_);return C?C.remove():this},h.get=function(_){for(var C=this._compare,M=this.root;M;){var p=C(_,M.key);if(p===0)return M.value;p<=0?M=M.left:M=M.right}};function b(_,C){this.tree=_,this._stack=C}var g=b.prototype;Object.defineProperty(g,\"valid\",{get:function(){return this._stack.length>0}}),Object.defineProperty(g,\"node\",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),g.clone=function(){return new b(this.tree,this._stack.slice())};function E(_,C){_.key=C.key,_.value=C.value,_.left=C.left,_.right=C.right,_._color=C._color,_._count=C._count}function k(_){for(var C,M,p,P,T=_.length-1;T>=0;--T){if(C=_[T],T===0){C._color=o;return}if(M=_[T-1],M.left===C){if(p=M.right,p.right&&p.right._color===a){if(p=M.right=l(p),P=p.right=l(p.right),M.right=p.left,p.left=M,p.right=P,p._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(p),T>1){var F=_[T-2];F.left===M?F.left=p:F.right=p}_[T-1]=p;return}else if(p.left&&p.left._color===a){if(p=M.right=l(p),P=p.left=l(p.left),M.right=P.left,p.left=P.right,P.left=M,P.right=p,P._color=M._color,M._color=o,p._color=o,C._color=o,c(M),c(p),c(P),T>1){var F=_[T-2];F.left===M?F.left=P:F.right=P}_[T-1]=P;return}if(p._color===o)if(M._color===a){M._color=o,M.right=u(a,p);return}else{M.right=u(a,p);continue}else{if(p=l(p),M.right=p.left,p.left=M,p._color=M._color,M._color=a,c(M),c(p),T>1){var F=_[T-2];F.left===M?F.left=p:F.right=p}_[T-1]=p,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}else{if(p=M.left,p.left&&p.left._color===a){if(p=M.left=l(p),P=p.left=l(p.left),M.left=p.right,p.right=M,p.left=P,p._color=M._color,C._color=o,M._color=o,P._color=o,c(M),c(p),T>1){var F=_[T-2];F.right===M?F.right=p:F.left=p}_[T-1]=p;return}else if(p.right&&p.right._color===a){if(p=M.left=l(p),P=p.right=l(p.right),M.left=P.right,p.right=P.left,P.right=M,P.left=p,P._color=M._color,M._color=o,p._color=o,C._color=o,c(M),c(p),c(P),T>1){var F=_[T-2];F.right===M?F.right=P:F.left=P}_[T-1]=P;return}if(p._color===o)if(M._color===a){M._color=o,M.left=u(a,p);return}else{M.left=u(a,p);continue}else{if(p=l(p),M.left=p.right,p.right=M,p._color=M._color,M._color=a,c(M),c(p),T>1){var F=_[T-2];F.right===M?F.right=p:F.left=p}_[T-1]=p,_[T]=M,T+1<_.length?_[T+1]=C:_.push(C),T=T+2}}}}g.remove=function(){var _=this._stack;if(_.length===0)return this.tree;var C=new Array(_.length),M=_[_.length-1];C[C.length-1]=new s(M._color,M.key,M.value,M.left,M.right,M._count);for(var p=_.length-2;p>=0;--p){var M=_[p];M.left===_[p+1]?C[p]=new s(M._color,M.key,M.value,C[p+1],M.right,M._count):C[p]=new s(M._color,M.key,M.value,M.left,C[p+1],M._count)}if(M=C[C.length-1],M.left&&M.right){var P=C.length;for(M=M.left;M.right;)C.push(M),M=M.right;var T=C[P-1];C.push(new s(M._color,T.key,T.value,M.left,M.right,M._count)),C[P-1].key=M.key,C[P-1].value=M.value;for(var p=C.length-2;p>=P;--p)M=C[p],C[p]=new s(M._color,M.key,M.value,M.left,C[p+1],M._count);C[P-1].left=C[P]}if(M=C[C.length-1],M._color===a){var F=C[C.length-2];F.left===M?F.left=null:F.right===M&&(F.right=null),C.pop();for(var p=0;p0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(g,\"value\",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(g,\"index\",{get:function(){var _=0,C=this._stack;if(C.length===0){var M=this.tree.root;return M?M._count:0}else C[C.length-1].left&&(_=C[C.length-1].left._count);for(var p=C.length-2;p>=0;--p)C[p+1]===C[p].right&&(++_,C[p].left&&(_+=C[p].left._count));return _},enumerable:!0}),g.next=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.right)for(C=C.right;C;)_.push(C),C=C.left;else for(_.pop();_.length>0&&_[_.length-1].right===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(g,\"hasNext\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].right)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].left===_[C])return!0;return!1}}),g.update=function(_){var C=this._stack;if(C.length===0)throw new Error(\"Can't update empty node!\");var M=new Array(C.length),p=C[C.length-1];M[M.length-1]=new s(p._color,p.key,_,p.left,p.right,p._count);for(var P=C.length-2;P>=0;--P)p=C[P],p.left===C[P+1]?M[P]=new s(p._color,p.key,p.value,M[P+1],p.right,p._count):M[P]=new s(p._color,p.key,p.value,p.left,M[P+1],p._count);return new f(this.tree._compare,M[0])},g.prev=function(){var _=this._stack;if(_.length!==0){var C=_[_.length-1];if(C.left)for(C=C.left;C;)_.push(C),C=C.right;else for(_.pop();_.length>0&&_[_.length-1].left===C;)C=_[_.length-1],_.pop()}},Object.defineProperty(g,\"hasPrev\",{get:function(){var _=this._stack;if(_.length===0)return!1;if(_[_.length-1].left)return!0;for(var C=_.length-1;C>0;--C)if(_[C-1].right===_[C])return!0;return!1}});function A(_,C){return _C?1:0}function L(_){return new f(_||A,null)}},3837:function(i,a,o){\"use strict\";i.exports=q;var s=o(4935),l=o(501),u=o(5304),c=o(6429),f=o(6444),h=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),d=ArrayBuffer,v=DataView;function x(V){return d.isView(V)&&!(V instanceof v)}function b(V){return Array.isArray(V)||x(V)}function g(V,H){return V[0]=H[0],V[1]=H[1],V[2]=H[2],V}function E(V){this.gl=V,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\"],this.tickFontWeight=[\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=[\"auto\",\"auto\",\"auto\"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\"],this.labelFontWeight=[\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=[\"auto\",\"auto\",\"auto\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=u(V)}var k=E.prototype;k.update=function(V){V=V||{};function H(Ae,ze,Ce){if(Ce in V){var me=V[Ce],Re=this[Ce],ce;(Ae?b(me)&&b(me[0]):b(me))?this[Ce]=ce=[ze(me[0]),ze(me[1]),ze(me[2])]:this[Ce]=ce=[ze(me),ze(me),ze(me)];for(var Ge=0;Ge<3;++Ge)if(ce[Ge]!==Re[Ge])return!0}return!1}var X=H.bind(this,!1,Number),G=H.bind(this,!1,Boolean),N=H.bind(this,!1,String),W=H.bind(this,!0,function(Ae){if(b(Ae)){if(Ae.length===3)return[+Ae[0],+Ae[1],+Ae[2],1];if(Ae.length===4)return[+Ae[0],+Ae[1],+Ae[2],+Ae[3]]}return[0,0,0,1]}),re,ae=!1,_e=!1;if(\"bounds\"in V)for(var Me=V.bounds,ke=0;ke<2;++ke)for(var ge=0;ge<3;++ge)Me[ke][ge]!==this.bounds[ke][ge]&&(_e=!0),this.bounds[ke][ge]=Me[ke][ge];if(\"ticks\"in V){re=V.ticks,ae=!0,this.autoTicks=!1;for(var ke=0;ke<3;++ke)this.tickSpacing[ke]=0}else X(\"tickSpacing\")&&(this.autoTicks=!0,_e=!0);if(this._firstInit&&(\"ticks\"in V||\"tickSpacing\"in V||(this.autoTicks=!0),_e=!0,ae=!0,this._firstInit=!1),_e&&this.autoTicks&&(re=f.create(this.bounds,this.tickSpacing),ae=!0),ae){for(var ke=0;ke<3;++ke)re[ke].sort(function(ze,Ce){return ze.x-Ce.x});f.equal(re,this.ticks)?ae=!1:this.ticks=re}G(\"tickEnable\"),N(\"tickFont\")&&(ae=!0),N(\"tickFontStyle\")&&(ae=!0),N(\"tickFontWeight\")&&(ae=!0),N(\"tickFontVariant\")&&(ae=!0),X(\"tickSize\"),X(\"tickAngle\"),X(\"tickPad\"),W(\"tickColor\");var ie=N(\"labels\");N(\"labelFont\")&&(ie=!0),N(\"labelFontStyle\")&&(ie=!0),N(\"labelFontWeight\")&&(ie=!0),N(\"labelFontVariant\")&&(ie=!0),G(\"labelEnable\"),X(\"labelSize\"),X(\"labelPad\"),W(\"labelColor\"),G(\"lineEnable\"),G(\"lineMirror\"),X(\"lineWidth\"),W(\"lineColor\"),G(\"lineTickEnable\"),G(\"lineTickMirror\"),X(\"lineTickLength\"),X(\"lineTickWidth\"),W(\"lineTickColor\"),G(\"gridEnable\"),X(\"gridWidth\"),W(\"gridColor\"),G(\"zeroEnable\"),W(\"zeroLineColor\"),X(\"zeroLineWidth\"),G(\"backgroundEnable\"),W(\"backgroundColor\");var Te=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],Ee=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(ie||ae)&&this._text.update(this.bounds,this.labels,Te,this.ticks,Ee):this._text=s(this.gl,this.bounds,this.labels,Te,this.ticks,Ee),this._lines&&ae&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=l(this.gl,this.bounds,this.ticks))};function A(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}var L=[new A,new A,new A];function _(V,H,X,G,N){for(var W=V.primalOffset,re=V.primalMinor,ae=V.mirrorOffset,_e=V.mirrorMinor,Me=G[H],ke=0;ke<3;++ke)if(H!==ke){var ge=W,ie=ae,Te=re,Ee=_e;Me&1<0?(Te[ke]=-1,Ee[ke]=0):(Te[ke]=0,Ee[ke]=1)}}var C=[0,0,0],M={model:h,view:h,projection:h,_ortho:!1};k.isOpaque=function(){return!0},k.isTransparent=function(){return!1},k.drawTransparent=function(V){};var p=0,P=[0,0,0],T=[0,0,0],F=[0,0,0];k.draw=function(V){V=V||M;for(var Ce=this.gl,H=V.model||h,X=V.view||h,G=V.projection||h,N=this.bounds,W=V._ortho||!1,re=c(H,X,G,N,W),ae=re.cubeEdges,_e=re.axis,Me=X[12],ke=X[13],ge=X[14],ie=X[15],Te=W?2:1,Ee=Te*this.pixelRatio*(G[3]*Me+G[7]*ke+G[11]*ge+G[15]*ie)/Ce.drawingBufferHeight,Ae=0;Ae<3;++Ae)this.lastCubeProps.cubeEdges[Ae]=ae[Ae],this.lastCubeProps.axis[Ae]=_e[Ae];for(var ze=L,Ae=0;Ae<3;++Ae)_(L[Ae],Ae,this.bounds,ae,_e);for(var Ce=this.gl,me=C,Ae=0;Ae<3;++Ae)this.backgroundEnable[Ae]?me[Ae]=_e[Ae]:me[Ae]=0;this._background.draw(H,X,G,N,me,this.backgroundColor),this._lines.bind(H,X,G,this);for(var Ae=0;Ae<3;++Ae){var Re=[0,0,0];_e[Ae]>0?Re[Ae]=N[1][Ae]:Re[Ae]=N[0][Ae];for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.gridEnable[Ge]&&this._lines.drawGrid(Ge,nt,this.bounds,Re,this.gridColor[Ge],this.gridWidth[Ge]*this.pixelRatio)}for(var ce=0;ce<2;++ce){var Ge=(Ae+1+ce)%3,nt=(Ae+1+(ce^1))%3;this.zeroEnable[nt]&&Math.min(N[0][nt],N[1][nt])<=0&&Math.max(N[0][nt],N[1][nt])>=0&&this._lines.drawZero(Ge,nt,this.bounds,Re,this.zeroLineColor[nt],this.zeroLineWidth[nt]*this.pixelRatio)}}for(var Ae=0;Ae<3;++Ae){this.lineEnable[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].primalOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio),this.lineMirror[Ae]&&this._lines.drawAxisLine(Ae,this.bounds,ze[Ae].mirrorOffset,this.lineColor[Ae],this.lineWidth[Ae]*this.pixelRatio);for(var ct=g(P,ze[Ae].primalMinor),qt=g(T,ze[Ae].mirrorMinor),rt=this.lineTickLength,ce=0;ce<3;++ce){var ot=Ee/H[5*ce];ct[ce]*=rt[ce]*ot,qt[ce]*=rt[ce]*ot}this.lineTickEnable[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].primalOffset,ct,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio),this.lineTickMirror[Ae]&&this._lines.drawAxisTicks(Ae,ze[Ae].mirrorOffset,qt,this.lineTickColor[Ae],this.lineTickWidth[Ae]*this.pixelRatio)}this._lines.unbind(),this._text.bind(H,X,G,this.pixelRatio);var Rt,kt=.5,Ct,Yt;function xr(St){Yt=[0,0,0],Yt[St]=1}function er(St,Et,dt){var Ht=(St+1)%3,$t=(St+2)%3,fr=Et[Ht],_r=Et[$t],Br=dt[Ht],Or=dt[$t];if(fr>0&&Or>0){xr(Ht);return}else if(fr>0&&Or<0){xr(Ht);return}else if(fr<0&&Or>0){xr(Ht);return}else if(fr<0&&Or<0){xr(Ht);return}else if(_r>0&&Br>0){xr($t);return}else if(_r>0&&Br<0){xr($t);return}else if(_r<0&&Br>0){xr($t);return}else if(_r<0&&Br<0){xr($t);return}}for(var Ae=0;Ae<3;++Ae){for(var Ke=ze[Ae].primalMinor,xt=ze[Ae].mirrorMinor,bt=g(F,ze[Ae].primalOffset),ce=0;ce<3;++ce)this.lineTickEnable[Ae]&&(bt[ce]+=Ee*Ke[ce]*Math.max(this.lineTickLength[ce],0)/H[5*ce]);var Lt=[0,0,0];if(Lt[Ae]=1,this.tickEnable[Ae]){this.tickAngle[Ae]===-3600?(this.tickAngle[Ae]=0,this.tickAlign[Ae]=\"auto\"):this.tickAlign[Ae]=-1,Ct=1,Rt=[this.tickAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=p:Rt[0]=parseInt(\"\"+Rt[0]),Yt=[0,0,0],er(Ae,Ke,xt);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.tickPad[ce]/H[5*ce];this._text.drawTicks(Ae,this.tickSize[Ae],this.tickAngle[Ae],bt,this.tickColor[Ae],Lt,Yt,Rt)}if(this.labelEnable[Ae]){Ct=0,Yt=[0,0,0],this.labels[Ae].length>4&&(xr(Ae),Ct=1),Rt=[this.labelAlign[Ae],kt,Ct],Rt[0]===\"auto\"?Rt[0]=p:Rt[0]=parseInt(\"\"+Rt[0]);for(var ce=0;ce<3;++ce)bt[ce]+=Ee*Ke[ce]*this.labelPad[ce]/H[5*ce];bt[Ae]+=.5*(N[0][Ae]+N[1][Ae]),this._text.drawLabel(Ae,this.labelSize[Ae],this.labelAngle[Ae],bt,this.labelColor[Ae],[0,0,0],Yt,Rt)}}this._text.unbind()},k.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null};function q(V,H){var X=new E(V);return X.update(H),X}},5304:function(i,a,o){\"use strict\";i.exports=h;var s=o(2762),l=o(8116),u=o(1879).bg;function c(d,v,x,b){this.gl=d,this.buffer=v,this.vao=x,this.shader=b}var f=c.prototype;f.draw=function(d,v,x,b,g,E){for(var k=!1,A=0;A<3;++A)k=k||g[A];if(k){var L=this.gl;L.enable(L.POLYGON_OFFSET_FILL),L.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:d,view:v,projection:x,bounds:b,enable:g,colors:E},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),L.disable(L.POLYGON_OFFSET_FILL)}},f.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()};function h(d){for(var v=[],x=[],b=0,g=0;g<3;++g)for(var E=(g+1)%3,k=(g+2)%3,A=[0,0,0],L=[0,0,0],_=-1;_<=1;_+=2){x.push(b,b+2,b+1,b+1,b+2,b+3),A[g]=_,L[g]=_;for(var C=-1;C<=1;C+=2){A[E]=C;for(var M=-1;M<=1;M+=2)A[k]=M,v.push(A[0],A[1],A[2],L[0],L[1],L[2]),b+=1}var p=E;E=k,k=p}var P=s(d,new Float32Array(v)),T=s(d,new Uint16Array(x),d.ELEMENT_ARRAY_BUFFER),F=l(d,[{buffer:P,type:d.FLOAT,size:3,offset:0,stride:24},{buffer:P,type:d.FLOAT,size:3,offset:12,stride:24}],T),q=u(d);return q.attributes.position.location=0,q.attributes.normal.location=1,new c(d,P,F,q)}},6429:function(i,a,o){\"use strict\";i.exports=_;var s=o(8828),l=o(6760),u=o(5202),c=o(3250),f=new Array(16),h=new Array(8),d=new Array(8),v=new Array(3),x=[0,0,0];(function(){for(var C=0;C<8;++C)h[C]=[1,1,1,1],d[C]=[1,1,1]})();function b(C,M,p){for(var P=0;P<4;++P){C[P]=p[12+P];for(var T=0;T<3;++T)C[P]+=M[T]*p[4*T+P]}}var g=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function E(C){for(var M=0;M_e&&(X|=1<_e){X|=1<d[q][1])&&(ze=q);for(var Ce=-1,q=0;q<3;++q){var me=ze^1<d[Re][0]&&(Re=me)}}var ce=k;ce[0]=ce[1]=ce[2]=0,ce[s.log2(Ce^ze)]=ze&Ce,ce[s.log2(ze^Re)]=zeℜvar Ge=Re^7;Ge===X||Ge===Ae?(Ge=Ce^7,ce[s.log2(Re^Ge)]=Ge&Re):ce[s.log2(Ce^Ge)]=Ge&Ce;for(var nt=A,ct=X,W=0;W<3;++W)ct&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n", + " b - PI :\n", + " b;\n", + "}\n", + "\n", + "float look_horizontal_or_vertical(float a, float ratio) {\n", + " // ratio controls the ratio between being horizontal to (vertical + horizontal)\n", + " // if ratio is set to 0.5 then it is 50%, 50%.\n", + " // when using a higher ratio e.g. 0.75 the result would\n", + " // likely be more horizontal than vertical.\n", + "\n", + " float b = positive_angle(a);\n", + "\n", + " return\n", + " (b < ( ratio) * HALF_PI) ? 0.0 :\n", + " (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n", + " (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n", + " (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n", + " 0.0;\n", + "}\n", + "\n", + "float roundTo(float a, float b) {\n", + " return float(b * floor((a + 0.5 * b) / b));\n", + "}\n", + "\n", + "float look_round_n_directions(float a, int n) {\n", + " float b = positive_angle(a);\n", + " float div = TWO_PI / float(n);\n", + " float c = roundTo(b, div);\n", + " return look_upwards(c);\n", + "}\n", + "\n", + "float applyAlignOption(float rawAngle, float delta) {\n", + " return\n", + " (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n", + " (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n", + " (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n", + " (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n", + " (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n", + " rawAngle; // otherwise return back raw input angle\n", + "}\n", + "\n", + "bool isAxisTitle = (axis.x == 0.0) &&\n", + " (axis.y == 0.0) &&\n", + " (axis.z == 0.0);\n", + "\n", + "void main() {\n", + " //Compute world offset\n", + " float axisDistance = position.z;\n", + " vec3 dataPosition = axisDistance * axis + offset;\n", + "\n", + " float beta = angle; // i.e. user defined attributes for each tick\n", + "\n", + " float axisAngle;\n", + " float clipAngle;\n", + " float flip;\n", + "\n", + " if (enableAlign) {\n", + " axisAngle = (isAxisTitle) ? HALF_PI :\n", + " computeViewAngle(dataPosition, dataPosition + axis);\n", + " clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n", + "\n", + " axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n", + " clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n", + "\n", + " flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n", + " vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n", + "\n", + " beta += applyAlignOption(clipAngle, flip * PI);\n", + " }\n", + "\n", + " //Compute plane offset\n", + " vec2 planeCoord = position.xy * pixelScale;\n", + "\n", + " mat2 planeXform = scale * mat2(\n", + " cos(beta), sin(beta),\n", + " -sin(beta), cos(beta)\n", + " );\n", + "\n", + " vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n", + "\n", + " //Compute clip position\n", + " vec3 clipPosition = project(dataPosition);\n", + "\n", + " //Apply text offset in clip coordinates\n", + " clipPosition += vec3(viewOffset, 0.0);\n", + "\n", + " //Done\n", + " gl_Position = vec4(clipPosition, 1.0);\n", + "}\n", + "`]),h=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec4 color;\n", + "void main() {\n", + " gl_FragColor = color;\n", + "}`]);a.Q=function(x){return l(x,f,h,null,[{name:\"position\",type:\"vec3\"}])};var d=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec3 normal;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 enable;\n", + "uniform vec3 bounds[2];\n", + "\n", + "varying vec3 colorChannel;\n", + "\n", + "void main() {\n", + "\n", + " vec3 signAxis = sign(bounds[1] - bounds[0]);\n", + "\n", + " vec3 realNormal = signAxis * normal;\n", + "\n", + " if(dot(realNormal, enable) > 0.0) {\n", + " vec3 minRange = min(bounds[0], bounds[1]);\n", + " vec3 maxRange = max(bounds[0], bounds[1]);\n", + " vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n", + " gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n", + " } else {\n", + " gl_Position = vec4(0,0,0,0);\n", + " }\n", + "\n", + " colorChannel = abs(realNormal);\n", + "}\n", + "`]),v=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec4 colors[3];\n", + "\n", + "varying vec3 colorChannel;\n", + "\n", + "void main() {\n", + " gl_FragColor = colorChannel.x * colors[0] +\n", + " colorChannel.y * colors[1] +\n", + " colorChannel.z * colors[2];\n", + "}`]);a.bg=function(x){return l(x,d,v,null,[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}])}},4935:function(i,a,o){\"use strict\";i.exports=E;var s=o(2762),l=o(8116),u=o(4359),c=o(1879).Q,f=window||process.global||{},h=f.__TEXT_CACHE||{};f.__TEXT_CACHE={};var d=3;function v(k,A,L,_){this.gl=k,this.shader=A,this.buffer=L,this.vao=_,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var x=v.prototype,b=[0,0];x.bind=function(k,A,L,_){this.vao.bind(),this.shader.bind();var C=this.shader.uniforms;C.model=k,C.view=A,C.projection=L,C.pixelScale=_,b[0]=this.gl.drawingBufferWidth,b[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=b},x.unbind=function(){this.vao.unbind()},x.update=function(k,A,L,_,C){var M=[];function p(W,re,ae,_e,Me,ke){var ge=[ae.style,ae.weight,ae.variant,ae.family].join(\"_\"),ie=h[ge];ie||(ie=h[ge]={});var Te=ie[re];Te||(Te=ie[re]=g(re,{triangles:!0,font:ae.family,fontStyle:ae.style,fontWeight:ae.weight,fontVariant:ae.variant,textAlign:\"center\",textBaseline:\"middle\",lineSpacing:Me,styletags:ke}));for(var Ee=(_e||12)/12,Ae=Te.positions,ze=Te.cells,Ce=0,me=ze.length;Ce=0;--ce){var Ge=Ae[Re[ce]];M.push(Ee*Ge[0],-Ee*Ge[1],W)}}for(var P=[0,0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0],V=1.25,H={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},X=0;X<3;++X){F[X]=M.length/d|0,p(.5*(k[0][X]+k[1][X]),A[X],L[X],12,V,H),q[X]=(M.length/d|0)-F[X],P[X]=M.length/d|0;for(var G=0;G<_[X].length;++G)if(_[X][G].text){var N={family:_[X][G].font||C[X].family,style:C[X].fontStyle||C[X].style,weight:C[X].fontWeight||C[X].weight,variant:C[X].fontVariant||C[X].variant};p(_[X][G].x,_[X][G].text,N,_[X][G].fontSize||12,V,H)}T[X]=(M.length/d|0)-P[X]}this.buffer.update(M),this.tickOffset=P,this.tickCount=T,this.labelOffset=F,this.labelCount=q},x.drawTicks=function(k,A,L,_,C,M,p,P){this.tickCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.tickCount[k],this.tickOffset[k]))},x.drawLabel=function(k,A,L,_,C,M,p,P){this.labelCount[k]&&(this.shader.uniforms.axis=M,this.shader.uniforms.color=C,this.shader.uniforms.angle=L,this.shader.uniforms.scale=A,this.shader.uniforms.offset=_,this.shader.uniforms.alignDir=p,this.shader.uniforms.alignOpt=P,this.vao.draw(this.gl.TRIANGLES,this.labelCount[k],this.labelOffset[k]))},x.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()};function g(k,A){try{return u(k,A)}catch(L){return console.warn('error vectorizing text:\"'+k+'\" error:',L),{cells:[],positions:[]}}}function E(k,A,L,_,C,M){var p=s(k),P=l(k,[{buffer:p,size:3}]),T=c(k);T.attributes.position.location=0;var F=new v(k,T,p,P);return F.update(A,L,_,C,M),F}},6444:function(i,a){\"use strict\";a.create=s,a.equal=l;function o(u,c){var f=u+\"\",h=f.indexOf(\".\"),d=0;h>=0&&(d=f.length-h-1);var v=Math.pow(10,d),x=Math.round(u*c*v),b=x+\"\";if(b.indexOf(\"e\")>=0)return b;var g=x/v,E=x%v;x<0?(g=-Math.ceil(g)|0,E=-E|0):(g=Math.floor(g)|0,E=E|0);var k=\"\"+g;if(x<0&&(k=\"-\"+k),d){for(var A=\"\"+E;A.length=u[0][h];--x)d.push({x:x*c[h],text:o(c[h],x)});f.push(d)}return f}function l(u,c){for(var f=0;f<3;++f){if(u[f].length!==c[f].length)return!1;for(var h=0;hk)throw new Error(\"gl-buffer: If resizing buffer, must not specify offset\");return g.bufferSubData(E,_,L),k}function v(g,E){for(var k=s.malloc(g.length,E),A=g.length,L=0;L=0;--A){if(E[A]!==k)return!1;k*=g[A]}return!0}h.update=function(g,E){if(typeof E!=\"number\"&&(E=-1),this.bind(),typeof g==\"object\"&&typeof g.shape!=\"undefined\"){var k=g.dtype;if(c.indexOf(k)<0&&(k=\"float32\"),this.type===this.gl.ELEMENT_ARRAY_BUFFER){var A=gl.getExtension(\"OES_element_index_uint\");A&&k!==\"uint16\"?k=\"uint32\":k=\"uint16\"}if(k===g.dtype&&x(g.shape,g.stride))g.offset===0&&g.data.length===g.shape[0]?this.length=d(this.gl,this.type,this.length,this.usage,g.data,E):this.length=d(this.gl,this.type,this.length,this.usage,g.data.subarray(g.offset,g.shape[0]),E);else{var L=s.malloc(g.size,k),_=u(L,g.shape);l.assign(_,g),E<0?this.length=d(this.gl,this.type,this.length,this.usage,L,E):this.length=d(this.gl,this.type,this.length,this.usage,L.subarray(0,g.size),E),s.free(L)}}else if(Array.isArray(g)){var C;this.type===this.gl.ELEMENT_ARRAY_BUFFER?C=v(g,\"uint16\"):C=v(g,\"float32\"),E<0?this.length=d(this.gl,this.type,this.length,this.usage,C,E):this.length=d(this.gl,this.type,this.length,this.usage,C.subarray(0,g.length),E),s.free(C)}else if(typeof g==\"object\"&&typeof g.length==\"number\")this.length=d(this.gl,this.type,this.length,this.usage,g,E);else if(typeof g==\"number\"||g===void 0){if(E>=0)throw new Error(\"gl-buffer: Cannot specify offset when resizing buffer\");g=g|0,g<=0&&(g=1),this.gl.bufferData(this.type,g|0,this.usage),this.length=g}else throw new Error(\"gl-buffer: Invalid data type\")};function b(g,E,k,A){if(k=k||g.ARRAY_BUFFER,A=A||g.DYNAMIC_DRAW,k!==g.ARRAY_BUFFER&&k!==g.ELEMENT_ARRAY_BUFFER)throw new Error(\"gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER\");if(A!==g.DYNAMIC_DRAW&&A!==g.STATIC_DRAW&&A!==g.STREAM_DRAW)throw new Error(\"gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW\");var L=g.createBuffer(),_=new f(g,k,L,0,A);return _.update(E),_}i.exports=b},6405:function(i,a,o){\"use strict\";var s=o(2931);i.exports=function(u,c){var f=u.positions,h=u.vectors,d={positions:[],vertexIntensity:[],vertexIntensityBounds:u.vertexIntensityBounds,vectors:[],cells:[],coneOffset:u.coneOffset,colormap:u.colormap};if(u.positions.length===0)return c&&(c[0]=[0,0,0],c[1]=[0,0,0]),d;for(var v=0,x=1/0,b=-1/0,g=1/0,E=-1/0,k=1/0,A=-1/0,L=null,_=null,C=[],M=1/0,p=!1,P=u.coneSizemode===\"raw\",T=0;Tv&&(v=s.length(q)),T&&!P){var V=2*s.distance(L,F)/(s.length(_)+s.length(q));V?(M=Math.min(M,V),p=!1):p=!0}p||(L=F,_=q),C.push(q)}var H=[x,g,k],X=[b,E,A];c&&(c[0]=H,c[1]=X),v===0&&(v=1);var G=1/v;isFinite(M)||(M=1),d.vectorScale=M;var N=u.coneSize||(P?1:.5);u.absoluteConeSize&&(N=u.absoluteConeSize*G),d.coneScale=N;for(var T=0,W=0;T=1},g.isTransparent=function(){return this.opacity<1},g.pickSlots=1,g.setPickBase=function(C){this.pickId=C};function E(C){for(var M=v({colormap:C,nshades:256,format:\"rgba\"}),p=new Uint8Array(256*4),P=0;P<256;++P){for(var T=M[P],F=0;F<3;++F)p[4*P+F]=T[F];p[4*P+3]=T[3]*255}return d(p,[256,256,4],[4,0,1])}function k(C){for(var M=C.length,p=new Array(M),P=0;P0){var W=this.triShader;W.bind(),W.uniforms=V,this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}},g.drawPick=function(C){C=C||{};for(var M=this.gl,p=C.model||x,P=C.view||x,T=C.projection||x,F=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],q=0;q<3;++q)F[0][q]=Math.max(F[0][q],this.clipBounds[0][q]),F[1][q]=Math.min(F[1][q],this.clipBounds[1][q]);this._model=[].slice.call(p),this._view=[].slice.call(P),this._projection=[].slice.call(T),this._resolution=[M.drawingBufferWidth,M.drawingBufferHeight];var V={model:p,view:P,projection:T,clipBounds:F,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},H=this.pickShader;H.bind(),H.uniforms=V,this.triangleCount>0&&(this.triangleVAO.bind(),M.drawArrays(M.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind())},g.pick=function(C){if(!C||C.id!==this.pickId)return null;var M=C.value[0]+256*C.value[1]+65536*C.value[2],p=this.cells[M],P=this.positions[p[1]].slice(0,3),T={position:P,dataCoordinate:P,index:Math.floor(p[1]/48)};return this.traceType===\"cone\"?T.index=Math.floor(p[1]/48):this.traceType===\"streamtube\"&&(T.intensity=this.intensity[p[1]],T.velocity=this.vectors[p[1]].slice(0,3),T.divergence=this.vectors[p[1]][3],T.index=M),T},g.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()};function A(C,M){var p=s(C,M.meshShader.vertex,M.meshShader.fragment,null,M.meshShader.attributes);return p.attributes.position.location=0,p.attributes.color.location=2,p.attributes.uv.location=3,p.attributes.vector.location=4,p}function L(C,M){var p=s(C,M.pickShader.vertex,M.pickShader.fragment,null,M.pickShader.attributes);return p.attributes.position.location=0,p.attributes.id.location=1,p.attributes.vector.location=4,p}function _(C,M,p){var P=p.shaders;arguments.length===1&&(M=C,C=M.gl);var T=A(C,P),F=L(C,P),q=c(C,d(new Uint8Array([255,255,255,255]),[1,1,4]));q.generateMipmap(),q.minFilter=C.LINEAR_MIPMAP_LINEAR,q.magFilter=C.LINEAR;var V=l(C),H=l(C),X=l(C),G=l(C),N=l(C),W=u(C,[{buffer:V,type:C.FLOAT,size:4},{buffer:N,type:C.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:X,type:C.FLOAT,size:4},{buffer:G,type:C.FLOAT,size:2},{buffer:H,type:C.FLOAT,size:4}]),re=new b(C,q,T,F,V,H,N,X,G,W,p.traceType||\"cone\");return re.update(M),re}i.exports=_},614:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 getOrthogonalVector(vec3 v) {\n", + " // Return up-vector for only-z vector.\n", + " // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n", + " // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n", + " // Assign z = 0, x = -b, y = a:\n", + " // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n", + " if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n", + " return normalize(vec3(-v.y, v.x, 0.0));\n", + " } else {\n", + " return normalize(vec3(0.0, v.z, -v.y));\n", + " }\n", + "}\n", + "\n", + "// Calculate the cone vertex and normal at the given index.\n", + "//\n", + "// The returned vertex is for a cone with its top at origin and height of 1.0,\n", + "// pointing in the direction of the vector attribute.\n", + "//\n", + "// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n", + "// These vertices are used to make up the triangles of the cone by the following:\n", + "// segment + 0 top vertex\n", + "// segment + 1 perimeter vertex a+1\n", + "// segment + 2 perimeter vertex a\n", + "// segment + 3 center base vertex\n", + "// segment + 4 perimeter vertex a\n", + "// segment + 5 perimeter vertex a+1\n", + "// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n", + "// To go from index to segment, floor(index / 6)\n", + "// To go from segment to angle, 2*pi * (segment/segmentCount)\n", + "// To go from index to segment index, index - (segment*6)\n", + "//\n", + "vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n", + "\n", + " const float segmentCount = 8.0;\n", + "\n", + " float index = rawIndex - floor(rawIndex /\n", + " (segmentCount * 6.0)) *\n", + " (segmentCount * 6.0);\n", + "\n", + " float segment = floor(0.001 + index/6.0);\n", + " float segmentIndex = index - (segment*6.0);\n", + "\n", + " normal = -normalize(d);\n", + "\n", + " if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n", + " return mix(vec3(0.0), -d, coneOffset);\n", + " }\n", + "\n", + " float nextAngle = (\n", + " (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n", + " (segmentIndex > 4.99 && segmentIndex < 5.01)\n", + " ) ? 1.0 : 0.0;\n", + " float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n", + "\n", + " vec3 v1 = mix(d, vec3(0.0), coneOffset);\n", + " vec3 v2 = v1 - d;\n", + "\n", + " vec3 u = getOrthogonalVector(d);\n", + " vec3 v = normalize(cross(u, d));\n", + "\n", + " vec3 x = u * cos(angle) * length(d)*0.25;\n", + " vec3 y = v * sin(angle) * length(d)*0.25;\n", + " vec3 v3 = v2 + x + y;\n", + " if (segmentIndex < 3.0) {\n", + " vec3 tx = u * sin(angle);\n", + " vec3 ty = v * -cos(angle);\n", + " vec3 tangent = tx + ty;\n", + " normal = normalize(cross(v3 - v1, tangent));\n", + " }\n", + "\n", + " if (segmentIndex == 0.0) {\n", + " return mix(d, vec3(0.0), coneOffset);\n", + " }\n", + " return v3;\n", + "}\n", + "\n", + "attribute vec3 vector;\n", + "attribute vec4 color, position;\n", + "attribute vec2 uv;\n", + "\n", + "uniform float vectorScale, coneScale, coneOffset;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 eyePosition, lightPosition;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " // Scale the vector magnitude to stay constant with\n", + " // model & view changes.\n", + " vec3 normal;\n", + " vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n", + " vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n", + "\n", + " //Lighting geometry parameters\n", + " vec4 cameraCoordinate = view * conePosition;\n", + " cameraCoordinate.xyz /= cameraCoordinate.w;\n", + " f_lightDirection = lightPosition - cameraCoordinate.xyz;\n", + " f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n", + " f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n", + "\n", + " // vec4 m_position = model * vec4(conePosition, 1.0);\n", + " vec4 t_position = view * conePosition;\n", + " gl_Position = projection * t_position;\n", + "\n", + " f_color = color;\n", + " f_data = conePosition.xyz;\n", + " f_position = position.xyz;\n", + " f_uv = uv;\n", + "}\n", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float beckmannDistribution(float x, float roughness) {\n", + " float NdotH = max(x, 0.0001);\n", + " float cos2Alpha = NdotH * NdotH;\n", + " float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n", + " float roughness2 = roughness * roughness;\n", + " float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n", + " return exp(tan2Alpha / roughness2) / denom;\n", + "}\n", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + " vec3 N = normalize(f_normal);\n", + " vec3 L = normalize(f_lightDirection);\n", + " vec3 V = normalize(f_eyeDirection);\n", + "\n", + " if(gl_FrontFacing) {\n", + " N = -N;\n", + " }\n", + "\n", + " float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n", + " float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n", + "\n", + " vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n", + " vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n", + "\n", + " gl_FragColor = litColor * opacity;\n", + "}\n", + "`]),c=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 getOrthogonalVector(vec3 v) {\n", + " // Return up-vector for only-z vector.\n", + " // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n", + " // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n", + " // Assign z = 0, x = -b, y = a:\n", + " // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n", + " if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n", + " return normalize(vec3(-v.y, v.x, 0.0));\n", + " } else {\n", + " return normalize(vec3(0.0, v.z, -v.y));\n", + " }\n", + "}\n", + "\n", + "// Calculate the cone vertex and normal at the given index.\n", + "//\n", + "// The returned vertex is for a cone with its top at origin and height of 1.0,\n", + "// pointing in the direction of the vector attribute.\n", + "//\n", + "// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n", + "// These vertices are used to make up the triangles of the cone by the following:\n", + "// segment + 0 top vertex\n", + "// segment + 1 perimeter vertex a+1\n", + "// segment + 2 perimeter vertex a\n", + "// segment + 3 center base vertex\n", + "// segment + 4 perimeter vertex a\n", + "// segment + 5 perimeter vertex a+1\n", + "// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n", + "// To go from index to segment, floor(index / 6)\n", + "// To go from segment to angle, 2*pi * (segment/segmentCount)\n", + "// To go from index to segment index, index - (segment*6)\n", + "//\n", + "vec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n", + "\n", + " const float segmentCount = 8.0;\n", + "\n", + " float index = rawIndex - floor(rawIndex /\n", + " (segmentCount * 6.0)) *\n", + " (segmentCount * 6.0);\n", + "\n", + " float segment = floor(0.001 + index/6.0);\n", + " float segmentIndex = index - (segment*6.0);\n", + "\n", + " normal = -normalize(d);\n", + "\n", + " if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n", + " return mix(vec3(0.0), -d, coneOffset);\n", + " }\n", + "\n", + " float nextAngle = (\n", + " (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n", + " (segmentIndex > 4.99 && segmentIndex < 5.01)\n", + " ) ? 1.0 : 0.0;\n", + " float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n", + "\n", + " vec3 v1 = mix(d, vec3(0.0), coneOffset);\n", + " vec3 v2 = v1 - d;\n", + "\n", + " vec3 u = getOrthogonalVector(d);\n", + " vec3 v = normalize(cross(u, d));\n", + "\n", + " vec3 x = u * cos(angle) * length(d)*0.25;\n", + " vec3 y = v * sin(angle) * length(d)*0.25;\n", + " vec3 v3 = v2 + x + y;\n", + " if (segmentIndex < 3.0) {\n", + " vec3 tx = u * sin(angle);\n", + " vec3 ty = v * -cos(angle);\n", + " vec3 tangent = tx + ty;\n", + " normal = normalize(cross(v3 - v1, tangent));\n", + " }\n", + "\n", + " if (segmentIndex == 0.0) {\n", + " return mix(d, vec3(0.0), coneOffset);\n", + " }\n", + " return v3;\n", + "}\n", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform float vectorScale, coneScale, coneOffset;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " vec3 normal;\n", + " vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n", + " vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n", + " gl_Position = projection * (view * conePosition);\n", + " f_id = id;\n", + " f_position = position.xyz;\n", + "}\n", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec3\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec3\"}]}},737:function(i){i.exports={0:\"NONE\",1:\"ONE\",2:\"LINE_LOOP\",3:\"LINE_STRIP\",4:\"TRIANGLES\",5:\"TRIANGLE_STRIP\",6:\"TRIANGLE_FAN\",256:\"DEPTH_BUFFER_BIT\",512:\"NEVER\",513:\"LESS\",514:\"EQUAL\",515:\"LEQUAL\",516:\"GREATER\",517:\"NOTEQUAL\",518:\"GEQUAL\",519:\"ALWAYS\",768:\"SRC_COLOR\",769:\"ONE_MINUS_SRC_COLOR\",770:\"SRC_ALPHA\",771:\"ONE_MINUS_SRC_ALPHA\",772:\"DST_ALPHA\",773:\"ONE_MINUS_DST_ALPHA\",774:\"DST_COLOR\",775:\"ONE_MINUS_DST_COLOR\",776:\"SRC_ALPHA_SATURATE\",1024:\"STENCIL_BUFFER_BIT\",1028:\"FRONT\",1029:\"BACK\",1032:\"FRONT_AND_BACK\",1280:\"INVALID_ENUM\",1281:\"INVALID_VALUE\",1282:\"INVALID_OPERATION\",1285:\"OUT_OF_MEMORY\",1286:\"INVALID_FRAMEBUFFER_OPERATION\",2304:\"CW\",2305:\"CCW\",2849:\"LINE_WIDTH\",2884:\"CULL_FACE\",2885:\"CULL_FACE_MODE\",2886:\"FRONT_FACE\",2928:\"DEPTH_RANGE\",2929:\"DEPTH_TEST\",2930:\"DEPTH_WRITEMASK\",2931:\"DEPTH_CLEAR_VALUE\",2932:\"DEPTH_FUNC\",2960:\"STENCIL_TEST\",2961:\"STENCIL_CLEAR_VALUE\",2962:\"STENCIL_FUNC\",2963:\"STENCIL_VALUE_MASK\",2964:\"STENCIL_FAIL\",2965:\"STENCIL_PASS_DEPTH_FAIL\",2966:\"STENCIL_PASS_DEPTH_PASS\",2967:\"STENCIL_REF\",2968:\"STENCIL_WRITEMASK\",2978:\"VIEWPORT\",3024:\"DITHER\",3042:\"BLEND\",3088:\"SCISSOR_BOX\",3089:\"SCISSOR_TEST\",3106:\"COLOR_CLEAR_VALUE\",3107:\"COLOR_WRITEMASK\",3317:\"UNPACK_ALIGNMENT\",3333:\"PACK_ALIGNMENT\",3379:\"MAX_TEXTURE_SIZE\",3386:\"MAX_VIEWPORT_DIMS\",3408:\"SUBPIXEL_BITS\",3410:\"RED_BITS\",3411:\"GREEN_BITS\",3412:\"BLUE_BITS\",3413:\"ALPHA_BITS\",3414:\"DEPTH_BITS\",3415:\"STENCIL_BITS\",3553:\"TEXTURE_2D\",4352:\"DONT_CARE\",4353:\"FASTEST\",4354:\"NICEST\",5120:\"BYTE\",5121:\"UNSIGNED_BYTE\",5122:\"SHORT\",5123:\"UNSIGNED_SHORT\",5124:\"INT\",5125:\"UNSIGNED_INT\",5126:\"FLOAT\",5386:\"INVERT\",5890:\"TEXTURE\",6401:\"STENCIL_INDEX\",6402:\"DEPTH_COMPONENT\",6406:\"ALPHA\",6407:\"RGB\",6408:\"RGBA\",6409:\"LUMINANCE\",6410:\"LUMINANCE_ALPHA\",7680:\"KEEP\",7681:\"REPLACE\",7682:\"INCR\",7683:\"DECR\",7936:\"VENDOR\",7937:\"RENDERER\",7938:\"VERSION\",9728:\"NEAREST\",9729:\"LINEAR\",9984:\"NEAREST_MIPMAP_NEAREST\",9985:\"LINEAR_MIPMAP_NEAREST\",9986:\"NEAREST_MIPMAP_LINEAR\",9987:\"LINEAR_MIPMAP_LINEAR\",10240:\"TEXTURE_MAG_FILTER\",10241:\"TEXTURE_MIN_FILTER\",10242:\"TEXTURE_WRAP_S\",10243:\"TEXTURE_WRAP_T\",10497:\"REPEAT\",10752:\"POLYGON_OFFSET_UNITS\",16384:\"COLOR_BUFFER_BIT\",32769:\"CONSTANT_COLOR\",32770:\"ONE_MINUS_CONSTANT_COLOR\",32771:\"CONSTANT_ALPHA\",32772:\"ONE_MINUS_CONSTANT_ALPHA\",32773:\"BLEND_COLOR\",32774:\"FUNC_ADD\",32777:\"BLEND_EQUATION_RGB\",32778:\"FUNC_SUBTRACT\",32779:\"FUNC_REVERSE_SUBTRACT\",32819:\"UNSIGNED_SHORT_4_4_4_4\",32820:\"UNSIGNED_SHORT_5_5_5_1\",32823:\"POLYGON_OFFSET_FILL\",32824:\"POLYGON_OFFSET_FACTOR\",32854:\"RGBA4\",32855:\"RGB5_A1\",32873:\"TEXTURE_BINDING_2D\",32926:\"SAMPLE_ALPHA_TO_COVERAGE\",32928:\"SAMPLE_COVERAGE\",32936:\"SAMPLE_BUFFERS\",32937:\"SAMPLES\",32938:\"SAMPLE_COVERAGE_VALUE\",32939:\"SAMPLE_COVERAGE_INVERT\",32968:\"BLEND_DST_RGB\",32969:\"BLEND_SRC_RGB\",32970:\"BLEND_DST_ALPHA\",32971:\"BLEND_SRC_ALPHA\",33071:\"CLAMP_TO_EDGE\",33170:\"GENERATE_MIPMAP_HINT\",33189:\"DEPTH_COMPONENT16\",33306:\"DEPTH_STENCIL_ATTACHMENT\",33635:\"UNSIGNED_SHORT_5_6_5\",33648:\"MIRRORED_REPEAT\",33901:\"ALIASED_POINT_SIZE_RANGE\",33902:\"ALIASED_LINE_WIDTH_RANGE\",33984:\"TEXTURE0\",33985:\"TEXTURE1\",33986:\"TEXTURE2\",33987:\"TEXTURE3\",33988:\"TEXTURE4\",33989:\"TEXTURE5\",33990:\"TEXTURE6\",33991:\"TEXTURE7\",33992:\"TEXTURE8\",33993:\"TEXTURE9\",33994:\"TEXTURE10\",33995:\"TEXTURE11\",33996:\"TEXTURE12\",33997:\"TEXTURE13\",33998:\"TEXTURE14\",33999:\"TEXTURE15\",34e3:\"TEXTURE16\",34001:\"TEXTURE17\",34002:\"TEXTURE18\",34003:\"TEXTURE19\",34004:\"TEXTURE20\",34005:\"TEXTURE21\",34006:\"TEXTURE22\",34007:\"TEXTURE23\",34008:\"TEXTURE24\",34009:\"TEXTURE25\",34010:\"TEXTURE26\",34011:\"TEXTURE27\",34012:\"TEXTURE28\",34013:\"TEXTURE29\",34014:\"TEXTURE30\",34015:\"TEXTURE31\",34016:\"ACTIVE_TEXTURE\",34024:\"MAX_RENDERBUFFER_SIZE\",34041:\"DEPTH_STENCIL\",34055:\"INCR_WRAP\",34056:\"DECR_WRAP\",34067:\"TEXTURE_CUBE_MAP\",34068:\"TEXTURE_BINDING_CUBE_MAP\",34069:\"TEXTURE_CUBE_MAP_POSITIVE_X\",34070:\"TEXTURE_CUBE_MAP_NEGATIVE_X\",34071:\"TEXTURE_CUBE_MAP_POSITIVE_Y\",34072:\"TEXTURE_CUBE_MAP_NEGATIVE_Y\",34073:\"TEXTURE_CUBE_MAP_POSITIVE_Z\",34074:\"TEXTURE_CUBE_MAP_NEGATIVE_Z\",34076:\"MAX_CUBE_MAP_TEXTURE_SIZE\",34338:\"VERTEX_ATTRIB_ARRAY_ENABLED\",34339:\"VERTEX_ATTRIB_ARRAY_SIZE\",34340:\"VERTEX_ATTRIB_ARRAY_STRIDE\",34341:\"VERTEX_ATTRIB_ARRAY_TYPE\",34342:\"CURRENT_VERTEX_ATTRIB\",34373:\"VERTEX_ATTRIB_ARRAY_POINTER\",34466:\"NUM_COMPRESSED_TEXTURE_FORMATS\",34467:\"COMPRESSED_TEXTURE_FORMATS\",34660:\"BUFFER_SIZE\",34661:\"BUFFER_USAGE\",34816:\"STENCIL_BACK_FUNC\",34817:\"STENCIL_BACK_FAIL\",34818:\"STENCIL_BACK_PASS_DEPTH_FAIL\",34819:\"STENCIL_BACK_PASS_DEPTH_PASS\",34877:\"BLEND_EQUATION_ALPHA\",34921:\"MAX_VERTEX_ATTRIBS\",34922:\"VERTEX_ATTRIB_ARRAY_NORMALIZED\",34930:\"MAX_TEXTURE_IMAGE_UNITS\",34962:\"ARRAY_BUFFER\",34963:\"ELEMENT_ARRAY_BUFFER\",34964:\"ARRAY_BUFFER_BINDING\",34965:\"ELEMENT_ARRAY_BUFFER_BINDING\",34975:\"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING\",35040:\"STREAM_DRAW\",35044:\"STATIC_DRAW\",35048:\"DYNAMIC_DRAW\",35632:\"FRAGMENT_SHADER\",35633:\"VERTEX_SHADER\",35660:\"MAX_VERTEX_TEXTURE_IMAGE_UNITS\",35661:\"MAX_COMBINED_TEXTURE_IMAGE_UNITS\",35663:\"SHADER_TYPE\",35664:\"FLOAT_VEC2\",35665:\"FLOAT_VEC3\",35666:\"FLOAT_VEC4\",35667:\"INT_VEC2\",35668:\"INT_VEC3\",35669:\"INT_VEC4\",35670:\"BOOL\",35671:\"BOOL_VEC2\",35672:\"BOOL_VEC3\",35673:\"BOOL_VEC4\",35674:\"FLOAT_MAT2\",35675:\"FLOAT_MAT3\",35676:\"FLOAT_MAT4\",35678:\"SAMPLER_2D\",35680:\"SAMPLER_CUBE\",35712:\"DELETE_STATUS\",35713:\"COMPILE_STATUS\",35714:\"LINK_STATUS\",35715:\"VALIDATE_STATUS\",35716:\"INFO_LOG_LENGTH\",35717:\"ATTACHED_SHADERS\",35718:\"ACTIVE_UNIFORMS\",35719:\"ACTIVE_UNIFORM_MAX_LENGTH\",35720:\"SHADER_SOURCE_LENGTH\",35721:\"ACTIVE_ATTRIBUTES\",35722:\"ACTIVE_ATTRIBUTE_MAX_LENGTH\",35724:\"SHADING_LANGUAGE_VERSION\",35725:\"CURRENT_PROGRAM\",36003:\"STENCIL_BACK_REF\",36004:\"STENCIL_BACK_VALUE_MASK\",36005:\"STENCIL_BACK_WRITEMASK\",36006:\"FRAMEBUFFER_BINDING\",36007:\"RENDERBUFFER_BINDING\",36048:\"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE\",36049:\"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME\",36050:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL\",36051:\"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE\",36053:\"FRAMEBUFFER_COMPLETE\",36054:\"FRAMEBUFFER_INCOMPLETE_ATTACHMENT\",36055:\"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT\",36057:\"FRAMEBUFFER_INCOMPLETE_DIMENSIONS\",36061:\"FRAMEBUFFER_UNSUPPORTED\",36064:\"COLOR_ATTACHMENT0\",36096:\"DEPTH_ATTACHMENT\",36128:\"STENCIL_ATTACHMENT\",36160:\"FRAMEBUFFER\",36161:\"RENDERBUFFER\",36162:\"RENDERBUFFER_WIDTH\",36163:\"RENDERBUFFER_HEIGHT\",36164:\"RENDERBUFFER_INTERNAL_FORMAT\",36168:\"STENCIL_INDEX8\",36176:\"RENDERBUFFER_RED_SIZE\",36177:\"RENDERBUFFER_GREEN_SIZE\",36178:\"RENDERBUFFER_BLUE_SIZE\",36179:\"RENDERBUFFER_ALPHA_SIZE\",36180:\"RENDERBUFFER_DEPTH_SIZE\",36181:\"RENDERBUFFER_STENCIL_SIZE\",36194:\"RGB565\",36336:\"LOW_FLOAT\",36337:\"MEDIUM_FLOAT\",36338:\"HIGH_FLOAT\",36339:\"LOW_INT\",36340:\"MEDIUM_INT\",36341:\"HIGH_INT\",36346:\"SHADER_COMPILER\",36347:\"MAX_VERTEX_UNIFORM_VECTORS\",36348:\"MAX_VARYING_VECTORS\",36349:\"MAX_FRAGMENT_UNIFORM_VECTORS\",37440:\"UNPACK_FLIP_Y_WEBGL\",37441:\"UNPACK_PREMULTIPLY_ALPHA_WEBGL\",37442:\"CONTEXT_LOST_WEBGL\",37443:\"UNPACK_COLORSPACE_CONVERSION_WEBGL\",37444:\"BROWSER_DEFAULT_WEBGL\"}},5171:function(i,a,o){var s=o(737);i.exports=function(u){return s[u]}},9165:function(i,a,o){\"use strict\";i.exports=b;var s=o(2762),l=o(8116),u=o(3436),c=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(g,E,k,A){this.gl=g,this.shader=A,this.buffer=E,this.vao=k,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var h=f.prototype;h.isOpaque=function(){return!this.hasAlpha},h.isTransparent=function(){return this.hasAlpha},h.drawTransparent=h.draw=function(g){var E=this.gl,k=this.shader.uniforms;this.shader.bind();var A=k.view=g.view||c,L=k.projection=g.projection||c;k.model=g.model||c,k.clipBounds=this.clipBounds,k.opacity=this.opacity;var _=A[12],C=A[13],M=A[14],p=A[15],P=g._ortho||!1,T=P?2:1,F=T*this.pixelRatio*(L[3]*_+L[7]*C+L[11]*M+L[15]*p)/E.drawingBufferHeight;this.vao.bind();for(var q=0;q<3;++q)E.lineWidth(this.lineWidth[q]*this.pixelRatio),k.capSize=this.capSize[q]*F,this.lineCount[q]&&E.drawArrays(E.LINES,this.lineOffset[q],this.lineCount[q]);this.vao.unbind()};function d(g,E){for(var k=0;k<3;++k)g[0][k]=Math.min(g[0][k],E[k]),g[1][k]=Math.max(g[1][k],E[k])}var v=function(){for(var g=new Array(3),E=0;E<3;++E){for(var k=[],A=1;A<=2;++A)for(var L=-1;L<=1;L+=2){var _=(A+E)%3,C=[0,0,0];C[_]=L,k.push(C)}g[E]=k}return g}();function x(g,E,k,A){for(var L=v[A],_=0;_0){var V=P.slice();V[M]+=F[1][M],L.push(P[0],P[1],P[2],q[0],q[1],q[2],q[3],0,0,0,V[0],V[1],V[2],q[0],q[1],q[2],q[3],0,0,0),d(this.bounds,V),C+=2+x(L,V,q,M)}}}this.lineCount[M]=C-this.lineOffset[M]}this.buffer.update(L)}},h.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()};function b(g){var E=g.gl,k=s(E),A=l(E,[{buffer:k,type:E.FLOAT,size:3,offset:0,stride:40},{buffer:k,type:E.FLOAT,size:4,offset:12,stride:40},{buffer:k,type:E.FLOAT,size:3,offset:28,stride:40}]),L=u(E);L.attributes.position.location=0,L.attributes.color.location=1,L.attributes.offset.location=2;var _=new f(E,k,A,L);return _.update(g),_}},3436:function(i,a,o){\"use strict\";var s=o(3236),l=o(9405),u=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position, offset;\n", + "attribute vec4 color;\n", + "uniform mat4 model, view, projection;\n", + "uniform float capSize;\n", + "varying vec4 fragColor;\n", + "varying vec3 fragPosition;\n", + "\n", + "void main() {\n", + " vec4 worldPosition = model * vec4(position, 1.0);\n", + " worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n", + " gl_Position = projection * (view * worldPosition);\n", + " fragColor = color;\n", + " fragPosition = position;\n", + "}`]),c=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float opacity;\n", + "varying vec3 fragPosition;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + " if (\n", + " outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n", + " fragColor.a * opacity == 0.\n", + " ) discard;\n", + "\n", + " gl_FragColor = opacity * fragColor;\n", + "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"offset\",type:\"vec3\"}])}},2260:function(i,a,o){\"use strict\";var s=o(7766);i.exports=C;var l=null,u,c,f,h;function d(M){var p=M.getParameter(M.FRAMEBUFFER_BINDING),P=M.getParameter(M.RENDERBUFFER_BINDING),T=M.getParameter(M.TEXTURE_BINDING_2D);return[p,P,T]}function v(M,p){M.bindFramebuffer(M.FRAMEBUFFER,p[0]),M.bindRenderbuffer(M.RENDERBUFFER,p[1]),M.bindTexture(M.TEXTURE_2D,p[2])}function x(M,p){var P=M.getParameter(p.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(P+1);for(var T=0;T<=P;++T){for(var F=new Array(P),q=0;q1&&H.drawBuffersWEBGL(l[V]);var re=P.getExtension(\"WEBGL_depth_texture\");re?X?M.depth=g(P,F,q,re.UNSIGNED_INT_24_8_WEBGL,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G&&(M.depth=g(P,F,q,P.UNSIGNED_SHORT,P.DEPTH_COMPONENT,P.DEPTH_ATTACHMENT)):G&&X?M._depth_rb=E(P,F,q,P.DEPTH_STENCIL,P.DEPTH_STENCIL_ATTACHMENT):G?M._depth_rb=E(P,F,q,P.DEPTH_COMPONENT16,P.DEPTH_ATTACHMENT):X&&(M._depth_rb=E(P,F,q,P.STENCIL_INDEX,P.STENCIL_ATTACHMENT));var ae=P.checkFramebufferStatus(P.FRAMEBUFFER);if(ae!==P.FRAMEBUFFER_COMPLETE){M._destroyed=!0,P.bindFramebuffer(P.FRAMEBUFFER,null),P.deleteFramebuffer(M.handle),M.handle=null,M.depth&&(M.depth.dispose(),M.depth=null),M._depth_rb&&(P.deleteRenderbuffer(M._depth_rb),M._depth_rb=null);for(var W=0;WF||P<0||P>F)throw new Error(\"gl-fbo: Can't resize FBO, invalid dimensions\");M._shape[0]=p,M._shape[1]=P;for(var q=d(T),V=0;Vq||P<0||P>q)throw new Error(\"gl-fbo: Parameters are too large for FBO\");T=T||{};var V=1;if(\"color\"in T){if(V=Math.max(T.color|0,0),V<0)throw new Error(\"gl-fbo: Must specify a nonnegative number of colors\");if(V>1)if(F){if(V>M.getParameter(F.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error(\"gl-fbo: Context does not support \"+V+\" draw buffers\")}else throw new Error(\"gl-fbo: Multiple draw buffer extension not supported\")}var H=M.UNSIGNED_BYTE,X=M.getExtension(\"OES_texture_float\");if(T.float&&V>0){if(!X)throw new Error(\"gl-fbo: Context does not support floating point textures\");H=M.FLOAT}else T.preferFloat&&V>0&&X&&(H=M.FLOAT);var G=!0;\"depth\"in T&&(G=!!T.depth);var N=!1;return\"stencil\"in T&&(N=!!T.stencil),new A(M,p,P,H,V,G,N,F)}},2992:function(i,a,o){var s=o(3387).sprintf,l=o(5171),u=o(1848),c=o(1085);i.exports=f;function f(h,d,v){\"use strict\";var x=u(d)||\"of unknown name (see npm glsl-shader-name)\",b=\"unknown type\";v!==void 0&&(b=v===l.FRAGMENT_SHADER?\"fragment\":\"vertex\");for(var g=s(`Error compiling %s shader %s:\n", + "`,b,x),E=s(\"%s%s\",g,h),k=h.split(`\n", + "`),A={},L=0;L max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform sampler2D dashTexture;\n", + "uniform float dashScale;\n", + "uniform float opacity;\n", + "\n", + "varying vec3 worldPosition;\n", + "varying float pixelArcLength;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + " if (\n", + " outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n", + " fragColor.a * opacity == 0.\n", + " ) discard;\n", + "\n", + " float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n", + " if(dashWeight < 0.5) {\n", + " discard;\n", + " }\n", + " gl_FragColor = fragColor * opacity;\n", + "}\n", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "#define FLOAT_MAX 1.70141184e38\n", + "#define FLOAT_MIN 1.17549435e-38\n", + "\n", + "// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\n", + "vec4 packFloat(float v) {\n", + " float av = abs(v);\n", + "\n", + " //Handle special cases\n", + " if(av < FLOAT_MIN) {\n", + " return vec4(0.0, 0.0, 0.0, 0.0);\n", + " } else if(v > FLOAT_MAX) {\n", + " return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n", + " } else if(v < -FLOAT_MAX) {\n", + " return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n", + " }\n", + "\n", + " vec4 c = vec4(0,0,0,0);\n", + "\n", + " //Compute exponent and mantissa\n", + " float e = floor(log2(av));\n", + " float m = av * pow(2.0, -e) - 1.0;\n", + "\n", + " //Unpack mantissa\n", + " c[1] = floor(128.0 * m);\n", + " m -= c[1] / 128.0;\n", + " c[2] = floor(32768.0 * m);\n", + " m -= c[2] / 32768.0;\n", + " c[3] = floor(8388608.0 * m);\n", + "\n", + " //Unpack exponent\n", + " float ebias = e + 127.0;\n", + " c[0] = floor(ebias / 2.0);\n", + " ebias -= c[0] * 2.0;\n", + " c[1] += floor(ebias) * 128.0;\n", + "\n", + " //Unpack sign bit\n", + " c[0] += 128.0 * step(0.0, -v);\n", + "\n", + " //Scale back to range\n", + " return c / 255.0;\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform float pickId;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec3 worldPosition;\n", + "varying float pixelArcLength;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n", + "}`]),h=[{name:\"position\",type:\"vec3\"},{name:\"nextPosition\",type:\"vec3\"},{name:\"arcLength\",type:\"float\"},{name:\"lineWidth\",type:\"float\"},{name:\"color\",type:\"vec4\"}];a.createShader=function(d){return l(d,u,c,null,h)},a.createPickShader=function(d){return l(d,u,f,null,h)}},5714:function(i,a,o){\"use strict\";i.exports=M;var s=o(2762),l=o(8116),u=o(7766),c=new Uint8Array(4),f=new Float32Array(c.buffer);function h(p,P,T,F){return c[0]=F,c[1]=T,c[2]=P,c[3]=p,f[0]}var d=o(2478),v=o(9618),x=o(7319),b=x.createShader,g=x.createPickShader,E=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(p,P){for(var T=0,F=0;F<3;++F){var q=p[F]-P[F];T+=q*q}return Math.sqrt(T)}function A(p){for(var P=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],T=0;T<3;++T)P[0][T]=Math.max(p[0][T],P[0][T]),P[1][T]=Math.min(p[1][T],P[1][T]);return P}function L(p,P,T,F){this.arcLength=p,this.position=P,this.index=T,this.dataCoordinate=F}function _(p,P,T,F,q,V){this.gl=p,this.shader=P,this.pickShader=T,this.buffer=F,this.vao=q,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=V,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var C=_.prototype;C.isTransparent=function(){return this.hasAlpha},C.isOpaque=function(){return!this.hasAlpha},C.pickSlots=1,C.setPickBase=function(p){this.pickId=p},C.drawTransparent=C.draw=function(p){if(this.vertexCount){var P=this.gl,T=this.shader,F=this.vao;T.bind(),T.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,clipBounds:A(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.drawPick=function(p){if(this.vertexCount){var P=this.gl,T=this.pickShader,F=this.vao;T.bind(),T.uniforms={model:p.model||E,view:p.view||E,projection:p.projection||E,pickId:this.pickId,clipBounds:A(this.clipBounds),screenShape:[P.drawingBufferWidth,P.drawingBufferHeight],pixelRatio:this.pixelRatio},F.bind(),F.draw(P.TRIANGLE_STRIP,this.vertexCount),F.unbind()}},C.update=function(p){var P,T;this.dirty=!0;var F=!!p.connectGaps;\"dashScale\"in p&&(this.dashScale=p.dashScale),this.hasAlpha=!1,\"opacity\"in p&&(this.opacity=+p.opacity,this.opacity<1&&(this.hasAlpha=!0));var q=[],V=[],H=[],X=0,G=0,N=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],W=p.position||p.positions;if(W){var re=p.color||p.colors||[0,0,0,1],ae=p.lineWidth||1,_e=!1;e:for(P=1;P0){for(var ge=0;ge<24;++ge)q.push(q[q.length-12]);G+=2,_e=!0}continue e}N[0][T]=Math.min(N[0][T],Me[T],ke[T]),N[1][T]=Math.max(N[1][T],Me[T],ke[T])}var ie,Te;Array.isArray(re[0])?(ie=re.length>P-1?re[P-1]:re.length>0?re[re.length-1]:[0,0,0,1],Te=re.length>P?re[P]:re.length>0?re[re.length-1]:[0,0,0,1]):ie=Te=re,ie.length===3&&(ie=[ie[0],ie[1],ie[2],1]),Te.length===3&&(Te=[Te[0],Te[1],Te[2],1]),!this.hasAlpha&&ie[3]<1&&(this.hasAlpha=!0);var Ee;Array.isArray(ae)?Ee=ae.length>P-1?ae[P-1]:ae.length>0?ae[ae.length-1]:[0,0,0,1]:Ee=ae;var Ae=X;if(X+=k(Me,ke),_e){for(T=0;T<2;++T)q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3]);G+=2,_e=!1}q.push(Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,Ee,ie[0],ie[1],ie[2],ie[3],Me[0],Me[1],Me[2],ke[0],ke[1],ke[2],Ae,-Ee,ie[0],ie[1],ie[2],ie[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,-Ee,Te[0],Te[1],Te[2],Te[3],ke[0],ke[1],ke[2],Me[0],Me[1],Me[2],X,Ee,Te[0],Te[1],Te[2],Te[3]),G+=4}}if(this.buffer.update(q),V.push(X),H.push(W[W.length-1].slice()),this.bounds=N,this.vertexCount=G,this.points=H,this.arcLength=V,\"dashes\"in p){var ze=p.dashes,Ce=ze.slice();for(Ce.unshift(0),P=1;P1.0001)return null;T+=P[L]}return Math.abs(T-1)>.001?null:[_,h(v,P),P]}},840:function(i,a,o){var s=o(3236),l=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position, normal;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "\n", + "uniform mat4 model\n", + " , view\n", + " , projection\n", + " , inverseModel;\n", + "uniform vec3 eyePosition\n", + " , lightPosition;\n", + "\n", + "varying vec3 f_normal\n", + " , f_lightDirection\n", + " , f_eyeDirection\n", + " , f_data;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "vec4 project(vec3 p) {\n", + " return projection * (view * (model * vec4(p, 1.0)));\n", + "}\n", + "\n", + "void main() {\n", + " gl_Position = project(position);\n", + "\n", + " //Lighting geometry parameters\n", + " vec4 cameraCoordinate = view * vec4(position , 1.0);\n", + " cameraCoordinate.xyz /= cameraCoordinate.w;\n", + " f_lightDirection = lightPosition - cameraCoordinate.xyz;\n", + " f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n", + " f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n", + "\n", + " f_color = color;\n", + " f_data = position;\n", + " f_uv = uv;\n", + "}\n", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float beckmannDistribution(float x, float roughness) {\n", + " float NdotH = max(x, 0.0001);\n", + " float cos2Alpha = NdotH * NdotH;\n", + " float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n", + " float roughness2 = roughness * roughness;\n", + " float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n", + " return exp(tan2Alpha / roughness2) / denom;\n", + "}\n", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness\n", + " , fresnel\n", + " , kambient\n", + " , kdiffuse\n", + " , kspecular;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal\n", + " , f_lightDirection\n", + " , f_eyeDirection\n", + " , f_data;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (f_color.a == 0.0 ||\n", + " outOfRange(clipBounds[0], clipBounds[1], f_data)\n", + " ) discard;\n", + "\n", + " vec3 N = normalize(f_normal);\n", + " vec3 L = normalize(f_lightDirection);\n", + " vec3 V = normalize(f_eyeDirection);\n", + "\n", + " if(gl_FrontFacing) {\n", + " N = -N;\n", + " }\n", + "\n", + " float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n", + " //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n", + "\n", + " float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n", + "\n", + " vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n", + " vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n", + "\n", + " gl_FragColor = litColor * f_color.a;\n", + "}\n", + "`]),c=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec3 f_data;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " f_color = color;\n", + " f_data = position;\n", + " f_uv = uv;\n", + "}`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform sampler2D texture;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec3 f_data;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n", + "\n", + " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", + "}`]),h=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 uv;\n", + "attribute float pointSize;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n", + "\n", + " gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n", + " } else {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " }\n", + " gl_PointSize = pointSize;\n", + " f_color = color;\n", + " f_uv = uv;\n", + "}`]),d=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform sampler2D texture;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n", + " if(dot(pointR, pointR) > 0.25) {\n", + " discard;\n", + " }\n", + " gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n", + "}`]),v=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " f_id = id;\n", + " f_position = position;\n", + "}`]),x=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]),b=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute float pointSize;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n", + "\n", + " gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n", + " } else {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + " gl_PointSize = pointSize;\n", + " }\n", + " f_id = id;\n", + " f_position = position;\n", + "}`]),g=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec3 position;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "\n", + "void main() {\n", + " gl_Position = projection * (view * (model * vec4(position, 1.0)));\n", + "}`]),E=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform vec3 contourColor;\n", + "\n", + "void main() {\n", + " gl_FragColor = vec4(contourColor, 1.0);\n", + "}\n", + "`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.wireShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"}]},a.pointShader={vertex:h,fragment:d,attributes:[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"pointSize\",type:\"float\"}]},a.pickShader={vertex:v,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"id\",type:\"vec4\"}]},a.pointPickShader={vertex:b,fragment:x,attributes:[{name:\"position\",type:\"vec3\"},{name:\"pointSize\",type:\"float\"},{name:\"id\",type:\"vec4\"}]},a.contourShader={vertex:g,fragment:E,attributes:[{name:\"position\",type:\"vec3\"}]}},7201:function(i,a,o){\"use strict\";var s=1e-6,l=1e-6,u=o(9405),c=o(2762),f=o(8116),h=o(7766),d=o(8406),v=o(6760),x=o(7608),b=o(9618),g=o(6729),E=o(7765),k=o(1888),A=o(840),L=o(7626),_=A.meshShader,C=A.wireShader,M=A.pointShader,p=A.pickShader,P=A.pointPickShader,T=A.contourShader,F=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function q(ge,ie,Te,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St){this.gl=ge,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=ie,this.dirty=!0,this.triShader=Te,this.lineShader=Ee,this.pointShader=Ae,this.pickShader=ze,this.pointPickShader=Ce,this.contourShader=me,this.trianglePositions=Re,this.triangleColors=Ge,this.triangleNormals=ct,this.triangleUVs=nt,this.triangleIds=ce,this.triangleVAO=qt,this.triangleCount=0,this.lineWidth=1,this.edgePositions=rt,this.edgeColors=Rt,this.edgeUVs=kt,this.edgeIds=ot,this.edgeVAO=Ct,this.edgeCount=0,this.pointPositions=Yt,this.pointColors=er,this.pointUVs=Ke,this.pointSizes=xt,this.pointIds=xr,this.pointVAO=bt,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=Lt,this.contourVAO=St,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=F,this._view=F,this._projection=F,this._resolution=[1,1]}var V=q.prototype;V.isOpaque=function(){return!this.hasAlpha},V.isTransparent=function(){return this.hasAlpha},V.pickSlots=1,V.setPickBase=function(ge){this.pickId=ge};function H(ge,ie){if(!ie||!ie.length)return 1;for(var Te=0;Tege&&Te>0){var Ee=(ie[Te][0]-ge)/(ie[Te][0]-ie[Te-1][0]);return ie[Te][1]*(1-Ee)+Ee*ie[Te-1][1]}}return 1}function X(ge,ie){for(var Te=g({colormap:ge,nshades:256,format:\"rgba\"}),Ee=new Uint8Array(256*4),Ae=0;Ae<256;++Ae){for(var ze=Te[Ae],Ce=0;Ce<3;++Ce)Ee[4*Ae+Ce]=ze[Ce];ie?Ee[4*Ae+3]=255*H(Ae/255,ie):Ee[4*Ae+3]=255*ze[3]}return b(Ee,[256,256,4],[4,0,1])}function G(ge){for(var ie=ge.length,Te=new Array(ie),Ee=0;Ee0){var ct=this.triShader;ct.bind(),ct.uniforms=me,this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()}if(this.edgeCount>0&&this.lineWidth>0){var ct=this.lineShader;ct.bind(),ct.uniforms=me,this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()}if(this.pointCount>0){var ct=this.pointShader;ct.bind(),ct.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}if(this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0){var ct=this.contourShader;ct.bind(),ct.uniforms=me,this.contourVAO.bind(),ie.drawArrays(ie.LINES,0,this.contourCount),this.contourVAO.unbind()}},V.drawPick=function(ge){ge=ge||{};for(var ie=this.gl,Te=ge.model||F,Ee=ge.view||F,Ae=ge.projection||F,ze=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],Ce=0;Ce<3;++Ce)ze[0][Ce]=Math.max(ze[0][Ce],this.clipBounds[0][Ce]),ze[1][Ce]=Math.min(ze[1][Ce],this.clipBounds[1][Ce]);this._model=[].slice.call(Te),this._view=[].slice.call(Ee),this._projection=[].slice.call(Ae),this._resolution=[ie.drawingBufferWidth,ie.drawingBufferHeight];var me={model:Te,view:Ee,projection:Ae,clipBounds:ze,pickId:this.pickId/255},Re=this.pickShader;if(Re.bind(),Re.uniforms=me,this.triangleCount>0&&(this.triangleVAO.bind(),ie.drawArrays(ie.TRIANGLES,0,this.triangleCount*3),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),ie.lineWidth(this.lineWidth*this.pixelRatio),ie.drawArrays(ie.LINES,0,this.edgeCount*2),this.edgeVAO.unbind()),this.pointCount>0){var Re=this.pointPickShader;Re.bind(),Re.uniforms=me,this.pointVAO.bind(),ie.drawArrays(ie.POINTS,0,this.pointCount),this.pointVAO.unbind()}},V.pick=function(ge){if(!ge||ge.id!==this.pickId)return null;for(var ie=ge.value[0]+256*ge.value[1]+65536*ge.value[2],Te=this.cells[ie],Ee=this.positions,Ae=new Array(Te.length),ze=0;zeMath.abs(p))g.rotate(F,0,0,-M*P*Math.PI*_.rotateSpeed/window.innerWidth);else if(!_._ortho){var q=-_.zoomSpeed*T*p/window.innerHeight*(F-g.lastT())/20;g.pan(F,0,0,k*(Math.exp(q)-1))}}},!0)},_.enableMouseListeners(),_}},799:function(i,a,o){var s=o(3236),l=o(9405),u=s([`precision mediump float;\n", + "#define GLSLIFY 1\n", + "attribute vec2 position;\n", + "varying vec2 uv;\n", + "void main() {\n", + " uv = position;\n", + " gl_Position = vec4(position, 0, 1);\n", + "}`]),c=s([`precision mediump float;\n", + "#define GLSLIFY 1\n", + "\n", + "uniform sampler2D accumBuffer;\n", + "varying vec2 uv;\n", + "\n", + "void main() {\n", + " vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n", + " gl_FragColor = min(vec4(1,1,1,1), accum);\n", + "}`]);i.exports=function(f){return l(f,u,c,null,[{name:\"position\",type:\"vec2\"}])}},4100:function(i,a,o){\"use strict\";var s=o(4437),l=o(3837),u=o(5445),c=o(4449),f=o(3589),h=o(2260),d=o(7169),v=o(351),x=o(4772),b=o(4040),g=o(799),E=o(9216)({tablet:!0,featureDetect:!0});i.exports={createScene:C,createCamera:s};function k(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function A(p,P){var T=null;try{T=p.getContext(\"webgl\",P),T||(T=p.getContext(\"experimental-webgl\",P))}catch(F){return null}return T}function L(p){var P=Math.round(Math.log(Math.abs(p))/Math.log(10));if(P<0){var T=Math.round(Math.pow(10,-P));return Math.ceil(p*T)/T}else if(P>0){var T=Math.round(Math.pow(10,P));return Math.ceil(p/T)*T}return Math.ceil(p)}function _(p){return typeof p==\"boolean\"?p:!0}function C(p){p=p||{},p.camera=p.camera||{};var P=p.canvas;if(!P)if(P=document.createElement(\"canvas\"),p.container){var T=p.container;T.appendChild(P)}else document.body.appendChild(P);var F=p.gl;if(F||(p.glOptions&&(E=!!p.glOptions.preserveDrawingBuffer),F=A(P,p.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:E})),!F)throw new Error(\"webgl not supported\");var q=p.bounds||[[-10,-10,-10],[10,10,10]],V=new k,H=h(F,F.drawingBufferWidth,F.drawingBufferHeight,{preferFloat:!E}),X=g(F),G=p.cameraObject&&p.cameraObject._ortho===!0||p.camera.projection&&p.camera.projection.type===\"orthographic\"||!1,N={eye:p.camera.eye||[2,0,0],center:p.camera.center||[0,0,0],up:p.camera.up||[0,1,0],zoomMin:p.camera.zoomMax||.1,zoomMax:p.camera.zoomMin||100,mode:p.camera.mode||\"turntable\",_ortho:G},W=p.axes||{},re=l(F,W);re.enable=!W.disable;var ae=p.spikes||{},_e=c(F,ae),Me=[],ke=[],ge=[],ie=[],Te=!0,Ce=!0,Ee=new Array(16),Ae=new Array(16),ze={view:null,projection:Ee,model:Ae,_ortho:!1},Ce=!0,me=[F.drawingBufferWidth,F.drawingBufferHeight],Re=p.cameraObject||s(P,N),ce={gl:F,contextLost:!1,pixelRatio:p.pixelRatio||1,canvas:P,selection:V,camera:Re,axes:re,axesPixels:null,spikes:_e,bounds:q,objects:Me,shape:me,aspect:p.aspectRatio||[1,1,1],pickRadius:p.pickRadius||10,zNear:p.zNear||.01,zFar:p.zFar||1e3,fovy:p.fovy||Math.PI/4,clearColor:p.clearColor||[0,0,0,0],autoResize:_(p.autoResize),autoBounds:_(p.autoBounds),autoScale:!!p.autoScale,autoCenter:_(p.autoCenter),clipToBounds:_(p.clipToBounds),snapToData:!!p.snapToData,onselect:p.onselect||null,onrender:p.onrender||null,onclick:p.onclick||null,cameraParams:ze,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(Yt){this.aspect[0]=Yt.x,this.aspect[1]=Yt.y,this.aspect[2]=Yt.z,Ce=!0},setBounds:function(Yt,xr){this.bounds[0][Yt]=xr.min,this.bounds[1][Yt]=xr.max},setClearColor:function(Yt){this.clearColor=Yt},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},Ge=[F.drawingBufferWidth/ce.pixelRatio|0,F.drawingBufferHeight/ce.pixelRatio|0];function nt(){if(!ce._stopped&&ce.autoResize){var Yt=P.parentNode,xr=1,er=1;Yt&&Yt!==document.body?(xr=Yt.clientWidth,er=Yt.clientHeight):(xr=window.innerWidth,er=window.innerHeight);var Ke=Math.ceil(xr*ce.pixelRatio)|0,xt=Math.ceil(er*ce.pixelRatio)|0;if(Ke!==P.width||xt!==P.height){P.width=Ke,P.height=xt;var bt=P.style;bt.position=bt.position||\"absolute\",bt.left=\"0px\",bt.top=\"0px\",bt.width=xr+\"px\",bt.height=er+\"px\",Te=!0}}}ce.autoResize&&nt(),window.addEventListener(\"resize\",nt);function ct(){for(var Yt=Me.length,xr=ie.length,er=0;er0&&ge[xr-1]===0;)ge.pop(),ie.pop().dispose()}ce.update=function(Yt){ce._stopped||(Yt=Yt||{},Te=!0,Ce=!0)},ce.add=function(Yt){ce._stopped||(Yt.axes=re,Me.push(Yt),ke.push(-1),Te=!0,Ce=!0,ct())},ce.remove=function(Yt){if(!ce._stopped){var xr=Me.indexOf(Yt);xr<0||(Me.splice(xr,1),ke.pop(),Te=!0,Ce=!0,ct())}},ce.dispose=function(){if(!ce._stopped&&(ce._stopped=!0,window.removeEventListener(\"resize\",nt),P.removeEventListener(\"webglcontextlost\",qt),ce.mouseListener.enabled=!1,!ce.contextLost)){re.dispose(),_e.dispose();for(var Yt=0;YtV.distance)continue;for(var dt=0;dt1e-6?(E=Math.acos(k),A=Math.sin(E),L=Math.sin((1-u)*E)/A,_=Math.sin(u*E)/A):(L=1-u,_=u),o[0]=L*c+_*v,o[1]=L*f+_*x,o[2]=L*h+_*b,o[3]=L*d+_*g,o}},5964:function(i){\"use strict\";i.exports=function(a){return!a&&a!==0?\"\":a.toString()}},9366:function(i,a,o){\"use strict\";var s=o(4359);i.exports=u;var l={};function u(c,f,h){var d=[f.style,f.weight,f.variant,f.family].join(\"_\"),v=l[d];if(v||(v=l[d]={}),c in v)return v[c];var x={textAlign:\"center\",textBaseline:\"middle\",lineHeight:1,font:f.family,fontStyle:f.style,fontWeight:f.weight,fontVariant:f.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}};x.triangles=!0;var b=s(c,x);x.triangles=!1;var g=s(c,x),E,k;if(h&&h!==1){for(E=0;E max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform vec4 highlightId;\n", + "uniform float highlightScale;\n", + "uniform mat4 model, view, projection;\n", + "uniform vec3 clipBounds[2];\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n", + "\n", + " gl_Position = vec4(0,0,0,0);\n", + " } else {\n", + " float scale = 1.0;\n", + " if(distance(highlightId, id) < 0.0001) {\n", + " scale = highlightScale;\n", + " }\n", + "\n", + " vec4 worldPosition = model * vec4(position, 1);\n", + " vec4 viewPosition = view * worldPosition;\n", + " viewPosition = viewPosition / viewPosition.w;\n", + " vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n", + "\n", + " gl_Position = clipPosition;\n", + " interpColor = color;\n", + " pickId = id;\n", + " dataCoordinate = position;\n", + " }\n", + "}`]),c=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform vec2 screenSize;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float highlightScale, pixelRatio;\n", + "uniform vec4 highlightId;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n", + "\n", + " gl_Position = vec4(0,0,0,0);\n", + " } else {\n", + " float scale = pixelRatio;\n", + " if(distance(highlightId.bgr, id.bgr) < 0.001) {\n", + " scale *= highlightScale;\n", + " }\n", + "\n", + " vec4 worldPosition = model * vec4(position, 1.0);\n", + " vec4 viewPosition = view * worldPosition;\n", + " vec4 clipPosition = projection * viewPosition;\n", + " clipPosition /= clipPosition.w;\n", + "\n", + " gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n", + " interpColor = color;\n", + " pickId = id;\n", + " dataCoordinate = position;\n", + " }\n", + "}`]),f=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "attribute vec3 position;\n", + "attribute vec4 color;\n", + "attribute vec2 glyph;\n", + "attribute vec4 id;\n", + "\n", + "uniform float highlightScale;\n", + "uniform vec4 highlightId;\n", + "uniform vec3 axes[2];\n", + "uniform mat4 model, view, projection;\n", + "uniform vec2 screenSize;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float scale, pixelRatio;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n", + "\n", + " gl_Position = vec4(0,0,0,0);\n", + " } else {\n", + " float lscale = pixelRatio * scale;\n", + " if(distance(highlightId, id) < 0.0001) {\n", + " lscale *= highlightScale;\n", + " }\n", + "\n", + " vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n", + " vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n", + " vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n", + "\n", + " gl_Position = clipPosition;\n", + " interpColor = color;\n", + " pickId = id;\n", + " dataCoordinate = dataPosition;\n", + " }\n", + "}\n", + "`]),h=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 fragClipBounds[2];\n", + "uniform float opacity;\n", + "\n", + "varying vec4 interpColor;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (\n", + " outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n", + " interpColor.a * opacity == 0.\n", + " ) discard;\n", + " gl_FragColor = interpColor * opacity;\n", + "}\n", + "`]),d=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 fragClipBounds[2];\n", + "uniform float pickGroup;\n", + "\n", + "varying vec4 pickId;\n", + "varying vec3 dataCoordinate;\n", + "\n", + "void main() {\n", + " if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n", + "\n", + " gl_FragColor = vec4(pickGroup, pickId.bgr);\n", + "}`]),v=[{name:\"position\",type:\"vec3\"},{name:\"color\",type:\"vec4\"},{name:\"glyph\",type:\"vec2\"},{name:\"id\",type:\"vec4\"}],x={vertex:u,fragment:h,attributes:v},b={vertex:c,fragment:h,attributes:v},g={vertex:f,fragment:h,attributes:v},E={vertex:u,fragment:d,attributes:v},k={vertex:c,fragment:d,attributes:v},A={vertex:f,fragment:d,attributes:v};function L(_,C){var M=s(_,C),p=M.attributes;return p.position.location=0,p.color.location=1,p.glyph.location=2,p.id.location=3,M}a.createPerspective=function(_){return L(_,x)},a.createOrtho=function(_){return L(_,b)},a.createProject=function(_){return L(_,g)},a.createPickPerspective=function(_){return L(_,E)},a.createPickOrtho=function(_){return L(_,k)},a.createPickProject=function(_){return L(_,A)}},8418:function(i,a,o){\"use strict\";var s=o(5219),l=o(2762),u=o(8116),c=o(1888),f=o(6760),h=o(1283),d=o(9366),v=o(5964),x=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],b=ArrayBuffer,g=DataView;function E(Ae){return b.isView(Ae)&&!(Ae instanceof g)}function k(Ae){return Array.isArray(Ae)||E(Ae)}i.exports=Ee;function A(Ae,ze){var Ce=Ae[0],me=Ae[1],Re=Ae[2],ce=Ae[3];return Ae[0]=ze[0]*Ce+ze[4]*me+ze[8]*Re+ze[12]*ce,Ae[1]=ze[1]*Ce+ze[5]*me+ze[9]*Re+ze[13]*ce,Ae[2]=ze[2]*Ce+ze[6]*me+ze[10]*Re+ze[14]*ce,Ae[3]=ze[3]*Ce+ze[7]*me+ze[11]*Re+ze[15]*ce,Ae}function L(Ae,ze,Ce,me){return A(me,me,Ce),A(me,me,ze),A(me,me,Ae)}function _(Ae,ze){this.index=Ae,this.dataCoordinate=this.position=ze}function C(Ae){return Ae===!0||Ae>1?1:Ae}function M(Ae,ze,Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot){this.gl=Ae,this.pixelRatio=1,this.shader=ze,this.orthoShader=Ce,this.projectShader=me,this.pointBuffer=Re,this.colorBuffer=ce,this.glyphBuffer=Ge,this.idBuffer=nt,this.vao=ct,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[.6666666666666666,.6666666666666666,.6666666666666666],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=qt,this.pickOrthoShader=rt,this.pickProjectShader=ot,this.points=[],this._selectResult=new _(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}var p=M.prototype;p.pickSlots=1,p.setPickBase=function(Ae){this.pickId=Ae},p.isTransparent=function(){if(this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&this.projectHasAlpha)return!0;return!1},p.isOpaque=function(){if(!this.hasAlpha)return!0;for(var Ae=0;Ae<3;++Ae)if(this.axesProject[Ae]&&!this.projectHasAlpha)return!0;return!1};var P=[0,0],T=[0,0,0],F=[0,0,0],q=[0,0,0,1],V=[0,0,0,1],H=x.slice(),X=[0,0,0],G=[[0,0,0],[0,0,0]];function N(Ae){return Ae[0]=Ae[1]=Ae[2]=0,Ae}function W(Ae,ze){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[3]=1,Ae}function re(Ae,ze,Ce,me){return Ae[0]=ze[0],Ae[1]=ze[1],Ae[2]=ze[2],Ae[Ce]=me,Ae}function ae(Ae){for(var ze=G,Ce=0;Ce<2;++Ce)for(var me=0;me<3;++me)ze[Ce][me]=Math.max(Math.min(Ae[Ce][me],1e8),-1e8);return ze}function _e(Ae,ze,Ce,me){var Re=ze.axesProject,ce=ze.gl,Ge=Ae.uniforms,nt=Ce.model||x,ct=Ce.view||x,qt=Ce.projection||x,rt=ze.axesBounds,ot=ae(ze.clipBounds),Rt;ze.axes&&ze.axes.lastCubeProps?Rt=ze.axes.lastCubeProps.axis:Rt=[1,1,1],P[0]=2/ce.drawingBufferWidth,P[1]=2/ce.drawingBufferHeight,Ae.bind(),Ge.view=ct,Ge.projection=qt,Ge.screenSize=P,Ge.highlightId=ze.highlightId,Ge.highlightScale=ze.highlightScale,Ge.clipBounds=ot,Ge.pickGroup=ze.pickId/255,Ge.pixelRatio=me;for(var kt=0;kt<3;++kt)if(Re[kt]){Ge.scale=ze.projectScale[kt],Ge.opacity=ze.projectOpacity[kt];for(var Ct=H,Yt=0;Yt<16;++Yt)Ct[Yt]=0;for(var Yt=0;Yt<4;++Yt)Ct[5*Yt]=1;Ct[5*kt]=0,Rt[kt]<0?Ct[12+kt]=rt[0][kt]:Ct[12+kt]=rt[1][kt],f(Ct,nt,Ct),Ge.model=Ct;var xr=(kt+1)%3,er=(kt+2)%3,Ke=N(T),xt=N(F);Ke[xr]=1,xt[er]=1;var bt=L(qt,ct,nt,W(q,Ke)),Lt=L(qt,ct,nt,W(V,xt));if(Math.abs(bt[1])>Math.abs(Lt[1])){var St=bt;bt=Lt,Lt=St,St=Ke,Ke=xt,xt=St;var Et=xr;xr=er,er=Et}bt[0]<0&&(Ke[xr]=-1),Lt[1]>0&&(xt[er]=-1);for(var dt=0,Ht=0,Yt=0;Yt<4;++Yt)dt+=Math.pow(nt[4*xr+Yt],2),Ht+=Math.pow(nt[4*er+Yt],2);Ke[xr]/=Math.sqrt(dt),xt[er]/=Math.sqrt(Ht),Ge.axes[0]=Ke,Ge.axes[1]=xt,Ge.fragClipBounds[0]=re(X,ot[0],kt,-1e8),Ge.fragClipBounds[1]=re(X,ot[1],kt,1e8),ze.vao.bind(),ze.vao.draw(ce.TRIANGLES,ze.vertexCount),ze.lineWidth>0&&(ce.lineWidth(ze.lineWidth*me),ze.vao.draw(ce.LINES,ze.lineVertexCount,ze.vertexCount)),ze.vao.unbind()}}var Me=[-1e8,-1e8,-1e8],ke=[1e8,1e8,1e8],ge=[Me,ke];function ie(Ae,ze,Ce,me,Re,ce,Ge){var nt=Ce.gl;if((ce===Ce.projectHasAlpha||Ge)&&_e(ze,Ce,me,Re),ce===Ce.hasAlpha||Ge){Ae.bind();var ct=Ae.uniforms;ct.model=me.model||x,ct.view=me.view||x,ct.projection=me.projection||x,P[0]=2/nt.drawingBufferWidth,P[1]=2/nt.drawingBufferHeight,ct.screenSize=P,ct.highlightId=Ce.highlightId,ct.highlightScale=Ce.highlightScale,ct.fragClipBounds=ge,ct.clipBounds=Ce.axes.bounds,ct.opacity=Ce.opacity,ct.pickGroup=Ce.pickId/255,ct.pixelRatio=Re,Ce.vao.bind(),Ce.vao.draw(nt.TRIANGLES,Ce.vertexCount),Ce.lineWidth>0&&(nt.lineWidth(Ce.lineWidth*Re),Ce.vao.draw(nt.LINES,Ce.lineVertexCount,Ce.vertexCount)),Ce.vao.unbind()}}p.draw=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!1,!1)},p.drawTransparent=function(Ae){var ze=this.useOrtho?this.orthoShader:this.shader;ie(ze,this.projectShader,this,Ae,this.pixelRatio,!0,!1)},p.drawPick=function(Ae){var ze=this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader;ie(ze,this.pickProjectShader,this,Ae,1,!0,!0)},p.pick=function(Ae){if(!Ae||Ae.id!==this.pickId)return null;var ze=Ae.value[2]+(Ae.value[1]<<8)+(Ae.value[0]<<16);if(ze>=this.pointCount||ze<0)return null;var Ce=this.points[ze],me=this._selectResult;me.index=ze;for(var Re=0;Re<3;++Re)me.position[Re]=me.dataCoordinate[Re]=Ce[Re];return me},p.highlight=function(Ae){if(!Ae)this.highlightId=[1,1,1,1];else{var ze=Ae.index,Ce=ze&255,me=ze>>8&255,Re=ze>>16&255;this.highlightId=[Ce/255,me/255,Re/255,0]}};function Te(Ae,ze,Ce,me){var Re;k(Ae)?ze0){var Nr=0,ut=er,Ne=[0,0,0,1],Ye=[0,0,0,1],Ve=k(Rt)&&k(Rt[0]),Xe=k(Yt)&&k(Yt[0]);e:for(var me=0;me0?1-Ht[0][0]:Vt<0?1+Ht[1][0]:1,ar*=ar>0?1-Ht[0][1]:ar<0?1+Ht[1][1]:1;for(var Qr=[Vt,ar],nn=Et.cells||[],Wi=Et.positions||[],Lt=0;Ltthis.buffer.length){l.free(this.buffer);for(var k=this.buffer=l.mallocUint8(c(E*g*4)),A=0;Ak)for(g=k;gE)for(g=E;g=0){for(var G=X.type.charAt(X.type.length-1)|0,N=new Array(G),W=0;W=0;)re+=1;V[H]=re}var ae=new Array(k.length);function _e(){_.program=c.program(C,_._vref,_._fref,q,V);for(var Me=0;Me=0){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);f(v,x,M[0],g,p,E,_)}else if(C.indexOf(\"mat\")>=0){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new s(\"\",\"Invalid data type for attribute \"+_+\": \"+C);h(v,x,M,g,p,E,_)}else throw new s(\"\",\"Unknown data type for attribute \"+_+\": \"+C);break}}return E}},3327:function(i,a,o){\"use strict\";var s=o(216),l=o(8866);i.exports=f;function u(h){return function(){return h}}function c(h,d){for(var v=new Array(h),x=0;x4)throw new l(\"\",\"Invalid data type\");switch(re.charAt(0)){case\"b\":case\"i\":h[\"uniform\"+ae+\"iv\"](x[V],H);break;case\"v\":h[\"uniform\"+ae+\"fv\"](x[V],H);break;default:throw new l(\"\",\"Unrecognized data type for vector \"+name+\": \"+re)}}else if(re.indexOf(\"mat\")===0&&re.length===4){if(ae=re.charCodeAt(re.length-1)-48,ae<2||ae>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+re);h[\"uniformMatrix\"+ae+\"fv\"](x[V],!1,H);break}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+re)}}}}}function E(C,M){if(typeof M!=\"object\")return[[C,M]];var p=[];for(var P in M){var T=M[P],F=C;parseInt(P)+\"\"===P?F+=\"[\"+P+\"]\":F+=\".\"+P,typeof T==\"object\"?p.push.apply(p,E(F,T)):p.push([F,T])}return p}function k(C){switch(C){case\"bool\":return!1;case\"int\":case\"sampler2D\":case\"samplerCube\":return 0;case\"float\":return 0;default:var M=C.indexOf(\"vec\");if(0<=M&&M<=1&&C.length===4+M){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new l(\"\",\"Invalid data type\");return C.charAt(0)===\"b\"?c(p,!1):c(p,0)}else if(C.indexOf(\"mat\")===0&&C.length===4){var p=C.charCodeAt(C.length-1)-48;if(p<2||p>4)throw new l(\"\",\"Invalid uniform dimension type for matrix \"+name+\": \"+C);return c(p*p,0)}else throw new l(\"\",\"Unknown uniform data type for \"+name+\": \"+C)}}function A(C,M,p){if(typeof p==\"object\"){var P=L(p);Object.defineProperty(C,M,{get:u(P),set:g(p),enumerable:!0,configurable:!1})}else x[p]?Object.defineProperty(C,M,{get:b(p),set:g(p),enumerable:!0,configurable:!1}):C[M]=k(v[p].type)}function L(C){var M;if(Array.isArray(C)){M=new Array(C.length);for(var p=0;p1){v[0]in h||(h[v[0]]=[]),h=h[v[0]];for(var x=1;x1)for(var E=0;E 0 U ||b|| > 0.\n", + " // Assign z = 0, x = -b, y = a:\n", + " // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n", + " if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n", + " return normalize(vec3(-v.y, v.x, 0.0));\n", + " } else {\n", + " return normalize(vec3(0.0, v.z, -v.y));\n", + " }\n", + "}\n", + "\n", + "// Calculate the tube vertex and normal at the given index.\n", + "//\n", + "// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n", + "//\n", + "// Each tube segment is made up of a ring of vertices.\n", + "// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n", + "// The indexes of tube segments run from 0 to 8.\n", + "//\n", + "vec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n", + " float segmentCount = 8.0;\n", + "\n", + " float angle = 2.0 * 3.14159 * (index / segmentCount);\n", + "\n", + " vec3 u = getOrthogonalVector(d);\n", + " vec3 v = normalize(cross(u, d));\n", + "\n", + " vec3 x = u * cos(angle) * length(d);\n", + " vec3 y = v * sin(angle) * length(d);\n", + " vec3 v3 = x + y;\n", + "\n", + " normal = normalize(v3);\n", + "\n", + " return v3;\n", + "}\n", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 color, position;\n", + "attribute vec2 uv;\n", + "\n", + "uniform float vectorScale, tubeScale;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 eyePosition, lightPosition;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " // Scale the vector magnitude to stay constant with\n", + " // model & view changes.\n", + " vec3 normal;\n", + " vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n", + " vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n", + "\n", + " //Lighting geometry parameters\n", + " vec4 cameraCoordinate = view * tubePosition;\n", + " cameraCoordinate.xyz /= cameraCoordinate.w;\n", + " f_lightDirection = lightPosition - cameraCoordinate.xyz;\n", + " f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n", + " f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n", + "\n", + " // vec4 m_position = model * vec4(tubePosition, 1.0);\n", + " vec4 t_position = view * tubePosition;\n", + " gl_Position = projection * t_position;\n", + "\n", + " f_color = color;\n", + " f_data = tubePosition.xyz;\n", + " f_position = position.xyz;\n", + " f_uv = uv;\n", + "}\n", + "`]),u=s([`#extension GL_OES_standard_derivatives : enable\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float beckmannDistribution(float x, float roughness) {\n", + " float NdotH = max(x, 0.0001);\n", + " float cos2Alpha = NdotH * NdotH;\n", + " float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n", + " float roughness2 = roughness * roughness;\n", + " float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n", + " return exp(tan2Alpha / roughness2) / denom;\n", + "}\n", + "\n", + "float cookTorranceSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness,\n", + " float fresnel) {\n", + "\n", + " float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n", + " float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n", + "\n", + " //Half angle vector\n", + " vec3 H = normalize(lightDirection + viewDirection);\n", + "\n", + " //Geometric term\n", + " float NdotH = max(dot(surfaceNormal, H), 0.0);\n", + " float VdotH = max(dot(viewDirection, H), 0.000001);\n", + " float LdotH = max(dot(lightDirection, H), 0.000001);\n", + " float G1 = (2.0 * NdotH * VdotN) / VdotH;\n", + " float G2 = (2.0 * NdotH * LdotN) / LdotH;\n", + " float G = min(1.0, min(G1, G2));\n", + " \n", + " //Distribution term\n", + " float D = beckmannDistribution(NdotH, roughness);\n", + "\n", + " //Fresnel term\n", + " float F = pow(1.0 - VdotN, fresnel);\n", + "\n", + " //Multiply terms and done\n", + " return G * F * D / max(3.14159265 * VdotN, 0.000001);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform sampler2D texture;\n", + "\n", + "varying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\n", + "varying vec4 f_color;\n", + "varying vec2 f_uv;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + " vec3 N = normalize(f_normal);\n", + " vec3 L = normalize(f_lightDirection);\n", + " vec3 V = normalize(f_eyeDirection);\n", + "\n", + " if(gl_FrontFacing) {\n", + " N = -N;\n", + " }\n", + "\n", + " float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n", + " float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n", + "\n", + " vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n", + " vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n", + "\n", + " gl_FragColor = litColor * opacity;\n", + "}\n", + "`]),c=s([`precision highp float;\n", + "\n", + "precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "vec3 getOrthogonalVector(vec3 v) {\n", + " // Return up-vector for only-z vector.\n", + " // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n", + " // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n", + " // Assign z = 0, x = -b, y = a:\n", + " // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n", + " if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n", + " return normalize(vec3(-v.y, v.x, 0.0));\n", + " } else {\n", + " return normalize(vec3(0.0, v.z, -v.y));\n", + " }\n", + "}\n", + "\n", + "// Calculate the tube vertex and normal at the given index.\n", + "//\n", + "// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n", + "//\n", + "// Each tube segment is made up of a ring of vertices.\n", + "// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n", + "// The indexes of tube segments run from 0 to 8.\n", + "//\n", + "vec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n", + " float segmentCount = 8.0;\n", + "\n", + " float angle = 2.0 * 3.14159 * (index / segmentCount);\n", + "\n", + " vec3 u = getOrthogonalVector(d);\n", + " vec3 v = normalize(cross(u, d));\n", + "\n", + " vec3 x = u * cos(angle) * length(d);\n", + " vec3 y = v * sin(angle) * length(d);\n", + " vec3 v3 = x + y;\n", + "\n", + " normal = normalize(v3);\n", + "\n", + " return v3;\n", + "}\n", + "\n", + "attribute vec4 vector;\n", + "attribute vec4 position;\n", + "attribute vec4 id;\n", + "\n", + "uniform mat4 model, view, projection;\n", + "uniform float tubeScale;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " vec3 normal;\n", + " vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n", + " vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n", + "\n", + " gl_Position = projection * (view * tubePosition);\n", + " f_id = id;\n", + " f_position = position.xyz;\n", + "}\n", + "`]),f=s([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying vec3 f_position;\n", + "varying vec4 f_id;\n", + "\n", + "void main() {\n", + " if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n", + "\n", + " gl_FragColor = vec4(pickId, f_id.xyz);\n", + "}`]);a.meshShader={vertex:l,fragment:u,attributes:[{name:\"position\",type:\"vec4\"},{name:\"color\",type:\"vec4\"},{name:\"uv\",type:\"vec2\"},{name:\"vector\",type:\"vec4\"}]},a.pickShader={vertex:c,fragment:f,attributes:[{name:\"position\",type:\"vec4\"},{name:\"id\",type:\"vec4\"},{name:\"vector\",type:\"vec4\"}]}},7815:function(i,a,o){\"use strict\";var s=o(2931),l=o(9970),u=[\"xyz\",\"xzy\",\"yxz\",\"yzx\",\"zxy\",\"zyx\"],c=function(A,L,_,C){for(var M=A.points,p=A.velocities,P=A.divergences,T=[],F=[],q=[],V=[],H=[],X=[],G=0,N=0,W=l.create(),re=l.create(),ae=8,_e=0;_e0)for(var ie=0;ieL)return C-1}return C},d=function(A,L,_){return A_?_:A},v=function(A,L,_){var C=L.vectors,M=L.meshgrid,p=A[0],P=A[1],T=A[2],F=M[0].length,q=M[1].length,V=M[2].length,H=h(M[0],p),X=h(M[1],P),G=h(M[2],T),N=H+1,W=X+1,re=G+1;if(H=d(H,0,F-1),N=d(N,0,F-1),X=d(X,0,q-1),W=d(W,0,q-1),G=d(G,0,V-1),re=d(re,0,V-1),H<0||X<0||G<0||N>F-1||W>q-1||re>V-1)return s.create();var ae=M[0][H],_e=M[0][N],Me=M[1][X],ke=M[1][W],ge=M[2][G],ie=M[2][re],Te=(p-ae)/(_e-ae),Ee=(P-Me)/(ke-Me),Ae=(T-ge)/(ie-ge);isFinite(Te)||(Te=.5),isFinite(Ee)||(Ee=.5),isFinite(Ae)||(Ae=.5);var ze,Ce,me,Re,ce,Ge;switch(_.reversedX&&(H=F-1-H,N=F-1-N),_.reversedY&&(X=q-1-X,W=q-1-W),_.reversedZ&&(G=V-1-G,re=V-1-re),_.filled){case 5:ce=G,Ge=re,me=X*V,Re=W*V,ze=H*V*q,Ce=N*V*q;break;case 4:ce=G,Ge=re,ze=H*V,Ce=N*V,me=X*V*F,Re=W*V*F;break;case 3:me=X,Re=W,ce=G*q,Ge=re*q,ze=H*q*V,Ce=N*q*V;break;case 2:me=X,Re=W,ze=H*q,Ce=N*q,ce=G*q*F,Ge=re*q*F;break;case 1:ze=H,Ce=N,ce=G*F,Ge=re*F,me=X*F*V,Re=W*F*V;break;default:ze=H,Ce=N,me=X*F,Re=W*F,ce=G*F*q,Ge=re*F*q;break}var nt=C[ze+me+ce],ct=C[ze+me+Ge],qt=C[ze+Re+ce],rt=C[ze+Re+Ge],ot=C[Ce+me+ce],Rt=C[Ce+me+Ge],kt=C[Ce+Re+ce],Ct=C[Ce+Re+Ge],Yt=s.create(),xr=s.create(),er=s.create(),Ke=s.create();s.lerp(Yt,nt,ot,Te),s.lerp(xr,ct,Rt,Te),s.lerp(er,qt,kt,Te),s.lerp(Ke,rt,Ct,Te);var xt=s.create(),bt=s.create();s.lerp(xt,Yt,er,Ee),s.lerp(bt,xr,Ke,Ee);var Lt=s.create();return s.lerp(Lt,xt,bt,Ae),Lt},x=function(A,L){var _=L[0],C=L[1],M=L[2];return A[0]=_<0?-_:_,A[1]=C<0?-C:C,A[2]=M<0?-M:M,A},b=function(A){var L=1/0;A.sort(function(p,P){return p-P});for(var _=A.length,C=1;C<_;C++){var M=Math.abs(A[C]-A[C-1]);MN||CtW||Ytre)},_e=s.distance(L[0],L[1]),Me=10*_e/C,ke=Me*Me,ge=1,ie=0,Te=_.length;Te>1&&(ge=g(_));for(var Ee=0;Eeie&&(ie=nt),ce.push(nt),V.push({points:ze,velocities:Ce,divergences:ce});for(var ct=0;ctke&&s.scale(qt,qt,Me/Math.sqrt(rt)),s.add(qt,qt,Ae),me=F(qt),s.squaredDistance(Re,qt)-ke>-1e-4*ke){ze.push(qt),Re=qt,Ce.push(me);var Ge=q(qt,me),nt=s.length(Ge);isFinite(nt)&&nt>ie&&(ie=nt),ce.push(nt)}Ae=qt}}var ot=f(V,A.colormap,ie,ge);return p?ot.tubeScale=p:(ie===0&&(ie=1),ot.tubeScale=M*.5*ge/ie),ot};var E=o(6740),k=o(6405).createMesh;i.exports.createTubeMesh=function(A,L){return k(A,L,{shaders:E,traceType:\"streamtube\"})}},990:function(i,a,o){var s=o(9405),l=o(3236),u=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec4 uv;\n", + "attribute vec3 f;\n", + "attribute vec3 normal;\n", + "\n", + "uniform vec3 objectOffset;\n", + "uniform mat4 model, view, projection, inverseModel;\n", + "uniform vec3 lightPosition, eyePosition;\n", + "uniform sampler2D colormap;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " vec3 localCoordinate = vec3(uv.zw, f.x);\n", + " worldCoordinate = objectOffset + localCoordinate;\n", + " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", + " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(localCoordinate, 1.0);\n", + " vec4 clipPosition = projection * (view * worldPosition);\n", + " gl_Position = clipPosition;\n", + " kill = f.y;\n", + " value = f.z;\n", + " planeCoordinate = uv.xy;\n", + "\n", + " vColor = texture2D(colormap, vec2(value, value));\n", + "\n", + " //Lighting geometry parameters\n", + " vec4 cameraCoordinate = view * worldPosition;\n", + " cameraCoordinate.xyz /= cameraCoordinate.w;\n", + " lightDirection = lightPosition - cameraCoordinate.xyz;\n", + " eyeDirection = eyePosition - cameraCoordinate.xyz;\n", + " surfaceNormal = normalize((vec4(normal,0) * inverseModel).xyz);\n", + "}\n", + "`]),c=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "float beckmannDistribution(float x, float roughness) {\n", + " float NdotH = max(x, 0.0001);\n", + " float cos2Alpha = NdotH * NdotH;\n", + " float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n", + " float roughness2 = roughness * roughness;\n", + " float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n", + " return exp(tan2Alpha / roughness2) / denom;\n", + "}\n", + "\n", + "float beckmannSpecular(\n", + " vec3 lightDirection,\n", + " vec3 viewDirection,\n", + " vec3 surfaceNormal,\n", + " float roughness) {\n", + " return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n", + "}\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec3 lowerBound, upperBound;\n", + "uniform float contourTint;\n", + "uniform vec4 contourColor;\n", + "uniform sampler2D colormap;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\n", + "uniform float vertexColor;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " if (\n", + " kill > 0.0 ||\n", + " vColor.a == 0.0 ||\n", + " outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n", + " ) discard;\n", + "\n", + " vec3 N = normalize(surfaceNormal);\n", + " vec3 V = normalize(eyeDirection);\n", + " vec3 L = normalize(lightDirection);\n", + "\n", + " if(gl_FrontFacing) {\n", + " N = -N;\n", + " }\n", + "\n", + " float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n", + " float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n", + "\n", + " //decide how to interpolate color \\u2014 in vertex or in fragment\n", + " vec4 surfaceColor =\n", + " step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n", + " step(.5, vertexColor) * vColor;\n", + "\n", + " vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n", + "\n", + " gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n", + "}\n", + "`]),f=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute vec4 uv;\n", + "attribute float f;\n", + "\n", + "uniform vec3 objectOffset;\n", + "uniform mat3 permutation;\n", + "uniform mat4 model, view, projection;\n", + "uniform float height, zOffset;\n", + "uniform sampler2D colormap;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 lightDirection, eyeDirection, surfaceNormal;\n", + "varying vec4 vColor;\n", + "\n", + "void main() {\n", + " vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n", + " worldCoordinate = objectOffset + dataCoordinate;\n", + " mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n", + " vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\n", + "\n", + " vec4 clipPosition = projection * (view * worldPosition);\n", + " clipPosition.z += zOffset;\n", + "\n", + " gl_Position = clipPosition;\n", + " value = f + objectOffset.z;\n", + " kill = -1.0;\n", + " planeCoordinate = uv.zw;\n", + "\n", + " vColor = texture2D(colormap, vec2(value, value));\n", + "\n", + " //Don't do lighting for contours\n", + " surfaceNormal = vec3(1,0,0);\n", + " eyeDirection = vec3(0,1,0);\n", + " lightDirection = vec3(0,0,1);\n", + "}\n", + "`]),h=l([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "bool outOfRange(float a, float b, float p) {\n", + " return ((p > max(a, b)) || \n", + " (p < min(a, b)));\n", + "}\n", + "\n", + "bool outOfRange(vec2 a, vec2 b, vec2 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y));\n", + "}\n", + "\n", + "bool outOfRange(vec3 a, vec3 b, vec3 p) {\n", + " return (outOfRange(a.x, b.x, p.x) ||\n", + " outOfRange(a.y, b.y, p.y) ||\n", + " outOfRange(a.z, b.z, p.z));\n", + "}\n", + "\n", + "bool outOfRange(vec4 a, vec4 b, vec4 p) {\n", + " return outOfRange(a.xyz, b.xyz, p.xyz);\n", + "}\n", + "\n", + "uniform vec2 shape;\n", + "uniform vec3 clipBounds[2];\n", + "uniform float pickId;\n", + "\n", + "varying float value, kill;\n", + "varying vec3 worldCoordinate;\n", + "varying vec2 planeCoordinate;\n", + "varying vec3 surfaceNormal;\n", + "\n", + "vec2 splitFloat(float v) {\n", + " float vh = 255.0 * v;\n", + " float upper = floor(vh);\n", + " float lower = fract(vh);\n", + " return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n", + "}\n", + "\n", + "void main() {\n", + " if ((kill > 0.0) ||\n", + " (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n", + "\n", + " vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n", + " vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n", + " gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n", + "}\n", + "`]);a.createShader=function(d){var v=s(d,u,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createPickShader=function(d){var v=s(d,u,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"vec3\"},{name:\"normal\",type:\"vec3\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v.attributes.normal.location=2,v},a.createContourShader=function(d){var v=s(d,f,c,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v},a.createPickContourShader=function(d){var v=s(d,f,h,null,[{name:\"uv\",type:\"vec4\"},{name:\"f\",type:\"float\"}]);return v.attributes.uv.location=0,v.attributes.f.location=1,v}},9499:function(i,a,o){\"use strict\";i.exports=ze;var s=o(8828),l=o(2762),u=o(8116),c=o(7766),f=o(1888),h=o(6729),d=o(5298),v=o(9994),x=o(9618),b=o(3711),g=o(6760),E=o(7608),k=o(2478),A=o(6199),L=o(990),_=L.createShader,C=L.createContourShader,M=L.createPickShader,p=L.createPickContourShader,P=4*10,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],F=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],q=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];(function(){for(var Ce=0;Ce<3;++Ce){var me=q[Ce],Re=(Ce+1)%3,ce=(Ce+2)%3;me[Re+0]=1,me[ce+3]=1,me[Ce+6]=1}})();function V(Ce,me,Re,ce,Ge){this.position=Ce,this.index=me,this.uv=Re,this.level=ce,this.dataCoordinate=Ge}var H=256;function X(Ce,me,Re,ce,Ge,nt,ct,qt,rt,ot,Rt,kt,Ct,Yt,xr){this.gl=Ce,this.shape=me,this.bounds=Re,this.objectOffset=xr,this.intensityBounds=[],this._shader=ce,this._pickShader=Ge,this._coordinateBuffer=nt,this._vao=ct,this._colorMap=qt,this._contourShader=rt,this._contourPickShader=ot,this._contourBuffer=Rt,this._contourVAO=kt,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new V([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=Ct,this._dynamicVAO=Yt,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0]),x(f.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var G=X.prototype;G.genColormap=function(Ce,me){var Re=!1,ce=v([h({colormap:Ce,nshades:H,format:\"rgba\"}).map(function(Ge,nt){var ct=me?N(nt/255,me):Ge[3];return ct<1&&(Re=!0),[Ge[0],Ge[1],Ge[2],255*ct]})]);return d.divseq(ce,255),this.hasAlphaScale=Re,ce},G.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},G.isOpaque=function(){return!this.isTransparent()},G.pickSlots=1,G.setPickBase=function(Ce){this.pickId=Ce};function N(Ce,me){if(!me||!me.length)return 1;for(var Re=0;ReCe&&Re>0){var ce=(me[Re][0]-Ce)/(me[Re][0]-me[Re-1][0]);return me[Re][1]*(1-ce)+ce*me[Re-1][1]}}return 1}var W=[0,0,0],re={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function ae(Ce,me){var Re,ce,Ge,nt=me.axes&&me.axes.lastCubeProps.axis||W,ct=me.showSurface,qt=me.showContour;for(Re=0;Re<3;++Re)for(ct=ct||me.surfaceProject[Re],ce=0;ce<3;++ce)qt=qt||me.contourProject[Re][ce];for(Re=0;Re<3;++Re){var rt=re.projections[Re];for(ce=0;ce<16;++ce)rt[ce]=0;for(ce=0;ce<4;++ce)rt[5*ce]=1;rt[5*Re]=0,rt[12+Re]=me.axesBounds[+(nt[Re]>0)][Re],g(rt,Ce.model,rt);var ot=re.clipBounds[Re];for(Ge=0;Ge<2;++Ge)for(ce=0;ce<3;++ce)ot[Ge][ce]=Ce.clipBounds[Ge][ce];ot[0][Re]=-1e8,ot[1][Re]=1e8}return re.showSurface=ct,re.showContour=qt,re}var _e={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},Me=T.slice(),ke=[1,0,0,0,1,0,0,0,1];function ge(Ce,me){Ce=Ce||{};var Re=this.gl;Re.disable(Re.CULL_FACE),this._colorMap.bind(0);var ce=_e;ce.model=Ce.model||T,ce.view=Ce.view||T,ce.projection=Ce.projection||T,ce.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],ce.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],ce.objectOffset=this.objectOffset,ce.contourColor=this.contourColor[0],ce.inverseModel=E(ce.inverseModel,ce.model);for(var Ge=0;Ge<2;++Ge)for(var nt=ce.clipBounds[Ge],ct=0;ct<3;++ct)nt[ct]=Math.min(Math.max(this.clipBounds[Ge][ct],-1e8),1e8);ce.kambient=this.ambientLight,ce.kdiffuse=this.diffuseLight,ce.kspecular=this.specularLight,ce.roughness=this.roughness,ce.fresnel=this.fresnel,ce.opacity=this.opacity,ce.height=0,ce.permutation=ke,ce.vertexColor=this.vertexColor;var qt=Me;for(g(qt,ce.view,ce.model),g(qt,ce.projection,qt),E(qt,qt),Ge=0;Ge<3;++Ge)ce.eyePosition[Ge]=qt[12+Ge]/qt[15];var rt=qt[15];for(Ge=0;Ge<3;++Ge)rt+=this.lightPosition[Ge]*qt[4*Ge+3];for(Ge=0;Ge<3;++Ge){var ot=qt[12+Ge];for(ct=0;ct<3;++ct)ot+=qt[4*ct+Ge]*this.lightPosition[ct];ce.lightPosition[Ge]=ot/rt}var Rt=ae(ce,this);if(Rt.showSurface){for(this._shader.bind(),this._shader.uniforms=ce,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(Re.TRIANGLES,this._vertexCount),Ge=0;Ge<3;++Ge)!this.surfaceProject[Ge]||!this.vertexCount||(this._shader.uniforms.model=Rt.projections[Ge],this._shader.uniforms.clipBounds=Rt.clipBounds[Ge],this._vao.draw(Re.TRIANGLES,this._vertexCount));this._vao.unbind()}if(Rt.showContour){var kt=this._contourShader;ce.kambient=1,ce.kdiffuse=0,ce.kspecular=0,ce.opacity=1,kt.bind(),kt.uniforms=ce;var Ct=this._contourVAO;for(Ct.bind(),Ge=0;Ge<3;++Ge)for(kt.uniforms.permutation=q[Ge],Re.lineWidth(this.contourWidth[Ge]*this.pixelRatio),ct=0;ct>4)/16)/255,Ge=Math.floor(ce),nt=ce-Ge,ct=me[1]*(Ce.value[1]+(Ce.value[2]&15)/16)/255,qt=Math.floor(ct),rt=ct-qt;Ge+=1,qt+=1;var ot=Re.position;ot[0]=ot[1]=ot[2]=0;for(var Rt=0;Rt<2;++Rt)for(var kt=Rt?nt:1-nt,Ct=0;Ct<2;++Ct)for(var Yt=Ct?rt:1-rt,xr=Ge+Rt,er=qt+Ct,Ke=kt*Yt,xt=0;xt<3;++xt)ot[xt]+=this._field[xt].get(xr,er)*Ke;for(var bt=this._pickResult.level,Lt=0;Lt<3;++Lt)if(bt[Lt]=k.le(this.contourLevels[Lt],ot[Lt]),bt[Lt]<0)this.contourLevels[Lt].length>0&&(bt[Lt]=0);else if(bt[Lt]Math.abs(Et-ot[Lt])&&(bt[Lt]+=1)}for(Re.index[0]=nt<.5?Ge:Ge+1,Re.index[1]=rt<.5?qt:qt+1,Re.uv[0]=ce/me[0],Re.uv[1]=ct/me[1],xt=0;xt<3;++xt)Re.dataCoordinate[xt]=this._field[xt].get(Re.index[0],Re.index[1]);return Re},G.padField=function(Ce,me){var Re=me.shape.slice(),ce=Ce.shape.slice();d.assign(Ce.lo(1,1).hi(Re[0],Re[1]),me),d.assign(Ce.lo(1).hi(Re[0],1),me.hi(Re[0],1)),d.assign(Ce.lo(1,ce[1]-1).hi(Re[0],1),me.lo(0,Re[1]-1).hi(Re[0],1)),d.assign(Ce.lo(0,1).hi(1,Re[1]),me.hi(1)),d.assign(Ce.lo(ce[0]-1,1).hi(1,Re[1]),me.lo(Re[0]-1)),Ce.set(0,0,me.get(0,0)),Ce.set(0,ce[1]-1,me.get(0,Re[1]-1)),Ce.set(ce[0]-1,0,me.get(Re[0]-1,0)),Ce.set(ce[0]-1,ce[1]-1,me.get(Re[0]-1,Re[1]-1))};function Te(Ce,me){return Array.isArray(Ce)?[me(Ce[0]),me(Ce[1]),me(Ce[2])]:[me(Ce),me(Ce),me(Ce)]}function Ee(Ce){return Array.isArray(Ce)?Ce.length===3?[Ce[0],Ce[1],Ce[2],1]:[Ce[0],Ce[1],Ce[2],Ce[3]]:[0,0,0,1]}function Ae(Ce){if(Array.isArray(Ce)){if(Array.isArray(Ce))return[Ee(Ce[0]),Ee(Ce[1]),Ee(Ce[2])];var me=Ee(Ce);return[me.slice(),me.slice(),me.slice()]}}G.update=function(Ce){Ce=Ce||{},this.objectOffset=Ce.objectOffset||this.objectOffset,this.dirty=!0,\"contourWidth\"in Ce&&(this.contourWidth=Te(Ce.contourWidth,Number)),\"showContour\"in Ce&&(this.showContour=Te(Ce.showContour,Boolean)),\"showSurface\"in Ce&&(this.showSurface=!!Ce.showSurface),\"contourTint\"in Ce&&(this.contourTint=Te(Ce.contourTint,Boolean)),\"contourColor\"in Ce&&(this.contourColor=Ae(Ce.contourColor)),\"contourProject\"in Ce&&(this.contourProject=Te(Ce.contourProject,function(Gi){return Te(Gi,Boolean)})),\"surfaceProject\"in Ce&&(this.surfaceProject=Ce.surfaceProject),\"dynamicColor\"in Ce&&(this.dynamicColor=Ae(Ce.dynamicColor)),\"dynamicTint\"in Ce&&(this.dynamicTint=Te(Ce.dynamicTint,Number)),\"dynamicWidth\"in Ce&&(this.dynamicWidth=Te(Ce.dynamicWidth,Number)),\"opacity\"in Ce&&(this.opacity=Ce.opacity),\"opacityscale\"in Ce&&(this.opacityscale=Ce.opacityscale),\"colorBounds\"in Ce&&(this.colorBounds=Ce.colorBounds),\"vertexColor\"in Ce&&(this.vertexColor=Ce.vertexColor?1:0),\"colormap\"in Ce&&this._colorMap.setPixels(this.genColormap(Ce.colormap,this.opacityscale));var me=Ce.field||Ce.coords&&Ce.coords[2]||null,Re=!1;if(me||(this._field[2].shape[0]||this._field[2].shape[2]?me=this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):me=this._field[2].hi(0,0)),\"field\"in Ce||\"coords\"in Ce){var ce=(me.shape[0]+2)*(me.shape[1]+2);ce>this._field[2].data.length&&(f.freeFloat(this._field[2].data),this._field[2].data=f.mallocFloat(s.nextPow2(ce))),this._field[2]=x(this._field[2].data,[me.shape[0]+2,me.shape[1]+2]),this.padField(this._field[2],me),this.shape=me.shape.slice();for(var Ge=this.shape,nt=0;nt<2;++nt)this._field[2].size>this._field[nt].data.length&&(f.freeFloat(this._field[nt].data),this._field[nt].data=f.mallocFloat(this._field[2].size)),this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2]);if(Ce.coords){var ct=Ce.coords;if(!Array.isArray(ct)||ct.length!==3)throw new Error(\"gl-surface: invalid coordinates for x/y\");for(nt=0;nt<2;++nt){var qt=ct[nt];for(Ct=0;Ct<2;++Ct)if(qt.shape[Ct]!==Ge[Ct])throw new Error(\"gl-surface: coords have incorrect shape\");this.padField(this._field[nt],qt)}}else if(Ce.ticks){var rt=Ce.ticks;if(!Array.isArray(rt)||rt.length!==2)throw new Error(\"gl-surface: invalid ticks\");for(nt=0;nt<2;++nt){var ot=rt[nt];if((Array.isArray(ot)||ot.length)&&(ot=x(ot)),ot.shape[0]!==Ge[nt])throw new Error(\"gl-surface: invalid tick length\");var Rt=x(ot.data,Ge);Rt.stride[nt]=ot.stride[0],Rt.stride[nt^1]=0,this.padField(this._field[nt],Rt)}}else{for(nt=0;nt<2;++nt){var kt=[0,0];kt[nt]=1,this._field[nt]=x(this._field[nt].data,[Ge[0]+2,Ge[1]+2],kt,0)}this._field[0].set(0,0,0);for(var Ct=0;Ct0){for(var Mi=0;Mi<5;++Mi)ai.pop();Ve-=1}continue e}}}nn.push(Ve)}this._contourOffsets[jr]=bi,this._contourCounts[jr]=nn}var Pi=f.mallocFloat(ai.length);for(nt=0;ntV||F<0||F>V)throw new Error(\"gl-texture2d: Invalid texture size\");return P._shape=[T,F],P.bind(),q.texImage2D(q.TEXTURE_2D,0,P.format,T,F,0,P.format,P.type,null),P._mipLevels=[0],P}function g(P,T,F,q,V,H){this.gl=P,this.handle=T,this.format=V,this.type=H,this._shape=[F,q],this._mipLevels=[0],this._magFilter=P.NEAREST,this._minFilter=P.NEAREST,this._wrapS=P.CLAMP_TO_EDGE,this._wrapT=P.CLAMP_TO_EDGE,this._anisoSamples=1;var X=this,G=[this._wrapS,this._wrapT];Object.defineProperties(G,[{get:function(){return X._wrapS},set:function(W){return X.wrapS=W}},{get:function(){return X._wrapT},set:function(W){return X.wrapT=W}}]),this._wrapVector=G;var N=[this._shape[0],this._shape[1]];Object.defineProperties(N,[{get:function(){return X._shape[0]},set:function(W){return X.width=W}},{get:function(){return X._shape[1]},set:function(W){return X.height=W}}]),this._shapeVector=N}var E=g.prototype;Object.defineProperties(E,{minFilter:{get:function(){return this._minFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MIN_FILTER,P),this._minFilter=P}},magFilter:{get:function(){return this._magFilter},set:function(P){this.bind();var T=this.gl;if(this.type===T.FLOAT&&c.indexOf(P)>=0&&(T.getExtension(\"OES_texture_float_linear\")||(P=T.NEAREST)),f.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown filter mode \"+P);return T.texParameteri(T.TEXTURE_2D,T.TEXTURE_MAG_FILTER,P),this._magFilter=P}},mipSamples:{get:function(){return this._anisoSamples},set:function(P){var T=this._anisoSamples;if(this._anisoSamples=Math.max(P,1)|0,T!==this._anisoSamples){var F=this.gl.getExtension(\"EXT_texture_filter_anisotropic\");F&&this.gl.texParameterf(this.gl.TEXTURE_2D,F.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,P),this._wrapS=P}},wrapT:{get:function(){return this._wrapT},set:function(P){if(this.bind(),h.indexOf(P)<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,P),this._wrapT=P}},wrap:{get:function(){return this._wrapVector},set:function(P){if(Array.isArray(P)||(P=[P,P]),P.length!==2)throw new Error(\"gl-texture2d: Must specify wrap mode for rows and columns\");for(var T=0;T<2;++T)if(h.indexOf(P[T])<0)throw new Error(\"gl-texture2d: Unknown wrap mode \"+P);this._wrapS=P[0],this._wrapT=P[1];var F=this.gl;return this.bind(),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,this._wrapS),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,this._wrapT),P}},shape:{get:function(){return this._shapeVector},set:function(P){if(!Array.isArray(P))P=[P|0,P|0];else if(P.length!==2)throw new Error(\"gl-texture2d: Invalid texture shape\");return b(this,P[0]|0,P[1]|0),[P[0]|0,P[1]|0]}},width:{get:function(){return this._shape[0]},set:function(P){return P=P|0,b(this,P,this._shape[1]),P}},height:{get:function(){return this._shape[1]},set:function(P){return P=P|0,b(this,this._shape[0],P),P}}}),E.bind=function(P){var T=this.gl;return P!==void 0&&T.activeTexture(T.TEXTURE0+(P|0)),T.bindTexture(T.TEXTURE_2D,this.handle),P!==void 0?P|0:T.getParameter(T.ACTIVE_TEXTURE)-T.TEXTURE0},E.dispose=function(){this.gl.deleteTexture(this.handle)},E.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var P=Math.min(this._shape[0],this._shape[1]),T=0;P>0;++T,P>>>=1)this._mipLevels.indexOf(T)<0&&this._mipLevels.push(T)},E.setPixels=function(P,T,F,q){var V=this.gl;this.bind(),Array.isArray(T)?(q=F,F=T[1]|0,T=T[0]|0):(T=T||0,F=F||0),q=q||0;var H=v(P)?P:P.raw;if(H){var X=this._mipLevels.indexOf(q)<0;X?(V.texImage2D(V.TEXTURE_2D,0,this.format,this.format,this.type,H),this._mipLevels.push(q)):V.texSubImage2D(V.TEXTURE_2D,q,T,F,this.format,this.type,H)}else if(P.shape&&P.stride&&P.data){if(P.shape.length<2||T+P.shape[1]>this._shape[1]>>>q||F+P.shape[0]>this._shape[0]>>>q||T<0||F<0)throw new Error(\"gl-texture2d: Texture dimensions are out of bounds\");A(V,T,F,q,this.format,this.type,this._mipLevels,P)}else throw new Error(\"gl-texture2d: Unsupported data type\")};function k(P,T){return P.length===3?T[2]===1&&T[1]===P[0]*P[2]&&T[0]===P[2]:T[0]===1&&T[1]===P[0]}function A(P,T,F,q,V,H,X,G){var N=G.dtype,W=G.shape.slice();if(W.length<2||W.length>3)throw new Error(\"gl-texture2d: Invalid ndarray, must be 2d or 3d\");var re=0,ae=0,_e=k(W,G.stride.slice());N===\"float32\"?re=P.FLOAT:N===\"float64\"?(re=P.FLOAT,_e=!1,N=\"float32\"):N===\"uint8\"?re=P.UNSIGNED_BYTE:(re=P.UNSIGNED_BYTE,_e=!1,N=\"uint8\");var Me=1;if(W.length===2)ae=P.LUMINANCE,W=[W[0],W[1],1],G=s(G.data,W,[G.stride[0],G.stride[1],1],G.offset);else if(W.length===3){if(W[2]===1)ae=P.ALPHA;else if(W[2]===2)ae=P.LUMINANCE_ALPHA;else if(W[2]===3)ae=P.RGB;else if(W[2]===4)ae=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");Me=W[2]}else throw new Error(\"gl-texture2d: Invalid shape for texture\");if((ae===P.LUMINANCE||ae===P.ALPHA)&&(V===P.LUMINANCE||V===P.ALPHA)&&(ae=V),ae!==V)throw new Error(\"gl-texture2d: Incompatible texture format for setPixels\");var ke=G.size,ge=X.indexOf(q)<0;if(ge&&X.push(q),re===H&&_e)G.offset===0&&G.data.length===ke?ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data):ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,G.data.subarray(G.offset,G.offset+ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,G.data.subarray(G.offset,G.offset+ke));else{var ie;H===P.FLOAT?ie=u.mallocFloat32(ke):ie=u.mallocUint8(ke);var Te=s(ie,W,[W[2],W[2]*W[0],1]);re===P.FLOAT&&H===P.UNSIGNED_BYTE?x(Te,G):l.assign(Te,G),ge?P.texImage2D(P.TEXTURE_2D,q,V,W[0],W[1],0,V,H,ie.subarray(0,ke)):P.texSubImage2D(P.TEXTURE_2D,q,T,F,W[0],W[1],V,H,ie.subarray(0,ke)),H===P.FLOAT?u.freeFloat32(ie):u.freeUint8(ie)}}function L(P){var T=P.createTexture();return P.bindTexture(P.TEXTURE_2D,T),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MIN_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_MAG_FILTER,P.NEAREST),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_S,P.CLAMP_TO_EDGE),P.texParameteri(P.TEXTURE_2D,P.TEXTURE_WRAP_T,P.CLAMP_TO_EDGE),T}function _(P,T,F,q,V){var H=P.getParameter(P.MAX_TEXTURE_SIZE);if(T<0||T>H||F<0||F>H)throw new Error(\"gl-texture2d: Invalid texture shape\");if(V===P.FLOAT&&!P.getExtension(\"OES_texture_float\"))throw new Error(\"gl-texture2d: Floating point textures not supported on this platform\");var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,q,T,F,0,q,V,null),new g(P,X,T,F,q,V)}function C(P,T,F,q,V,H){var X=L(P);return P.texImage2D(P.TEXTURE_2D,0,V,V,H,T),new g(P,X,F,q,V,H)}function M(P,T){var F=T.dtype,q=T.shape.slice(),V=P.getParameter(P.MAX_TEXTURE_SIZE);if(q[0]<0||q[0]>V||q[1]<0||q[1]>V)throw new Error(\"gl-texture2d: Invalid texture size\");var H=k(q,T.stride.slice()),X=0;F===\"float32\"?X=P.FLOAT:F===\"float64\"?(X=P.FLOAT,H=!1,F=\"float32\"):F===\"uint8\"?X=P.UNSIGNED_BYTE:(X=P.UNSIGNED_BYTE,H=!1,F=\"uint8\");var G=0;if(q.length===2)G=P.LUMINANCE,q=[q[0],q[1],1],T=s(T.data,q,[T.stride[0],T.stride[1],1],T.offset);else if(q.length===3)if(q[2]===1)G=P.ALPHA;else if(q[2]===2)G=P.LUMINANCE_ALPHA;else if(q[2]===3)G=P.RGB;else if(q[2]===4)G=P.RGBA;else throw new Error(\"gl-texture2d: Invalid shape for pixel coords\");else throw new Error(\"gl-texture2d: Invalid shape for texture\");X===P.FLOAT&&!P.getExtension(\"OES_texture_float\")&&(X=P.UNSIGNED_BYTE,H=!1);var N,W,re=T.size;if(H)T.offset===0&&T.data.length===re?N=T.data:N=T.data.subarray(T.offset,T.offset+re);else{var ae=[q[2],q[2]*q[0],1];W=u.malloc(re,F);var _e=s(W,q,ae,0);(F===\"float32\"||F===\"float64\")&&X===P.UNSIGNED_BYTE?x(_e,T):l.assign(_e,T),N=W.subarray(0,re)}var Me=L(P);return P.texImage2D(P.TEXTURE_2D,0,G,q[0],q[1],0,G,X,N),H||u.free(W),new g(P,Me,q[0],q[1],G,X)}function p(P){if(arguments.length<=1)throw new Error(\"gl-texture2d: Missing arguments for texture2d constructor\");if(c||d(P),typeof arguments[1]==\"number\")return _(P,arguments[1],arguments[2],arguments[3]||P.RGBA,arguments[4]||P.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return _(P,arguments[1][0]|0,arguments[1][1]|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(typeof arguments[1]==\"object\"){var T=arguments[1],F=v(T)?T:T.raw;if(F)return C(P,F,T.width|0,T.height|0,arguments[2]||P.RGBA,arguments[3]||P.UNSIGNED_BYTE);if(T.shape&&T.data&&T.stride)return M(P,T)}throw new Error(\"gl-texture2d: Invalid arguments for texture2d constructor\")}},1433:function(i){\"use strict\";function a(o,s,l){s?s.bind():o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,null);var u=o.getParameter(o.MAX_VERTEX_ATTRIBS)|0;if(l){if(l.length>u)throw new Error(\"gl-vao: Too many vertex attributes\");for(var c=0;c1?0:Math.acos(x)}},9226:function(i){i.exports=a;function a(o,s){return o[0]=Math.ceil(s[0]),o[1]=Math.ceil(s[1]),o[2]=Math.ceil(s[2]),o}},3126:function(i){i.exports=a;function a(o){var s=new Float32Array(3);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s}},3990:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o}},1091:function(i){i.exports=a;function a(){var o=new Float32Array(3);return o[0]=0,o[1]=0,o[2]=0,o}},5911:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2];return o[0]=c*v-f*d,o[1]=f*h-u*v,o[2]=u*d-c*h,o}},5455:function(i,a,o){i.exports=o(7056)},7056:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return Math.sqrt(l*l+u*u+c*c)}},4008:function(i,a,o){i.exports=o(6690)},6690:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o}},244:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]}},2613:function(i){i.exports=1e-6},9922:function(i,a,o){i.exports=l;var s=o(2613);function l(u,c){var f=u[0],h=u[1],d=u[2],v=c[0],x=c[1],b=c[2];return Math.abs(f-v)<=s*Math.max(1,Math.abs(f),Math.abs(v))&&Math.abs(h-x)<=s*Math.max(1,Math.abs(h),Math.abs(x))&&Math.abs(d-b)<=s*Math.max(1,Math.abs(d),Math.abs(b))}},9265:function(i){i.exports=a;function a(o,s){return o[0]===s[0]&&o[1]===s[1]&&o[2]===s[2]}},2681:function(i){i.exports=a;function a(o,s){return o[0]=Math.floor(s[0]),o[1]=Math.floor(s[1]),o[2]=Math.floor(s[2]),o}},5137:function(i,a,o){i.exports=l;var s=o(1091)();function l(u,c,f,h,d,v){var x,b;for(c||(c=3),f||(f=0),h?b=Math.min(h*c+f,u.length):b=u.length,x=f;x0&&(f=1/Math.sqrt(f),o[0]=s[0]*f,o[1]=s[1]*f,o[2]=s[2]*f),o}},7636:function(i){i.exports=a;function a(o,s){s=s||1;var l=Math.random()*2*Math.PI,u=Math.random()*2-1,c=Math.sqrt(1-u*u)*s;return o[0]=Math.cos(l)*c,o[1]=Math.sin(l)*c,o[2]=u*s,o}},6894:function(i){i.exports=a;function a(o,s,l,u){var c=l[1],f=l[2],h=s[1]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=s[0],o[1]=c+h*x-d*v,o[2]=f+h*v+d*x,o}},109:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[2],h=s[0]-c,d=s[2]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+d*v+h*x,o[1]=s[1],o[2]=f+d*x-h*v,o}},8692:function(i){i.exports=a;function a(o,s,l,u){var c=l[0],f=l[1],h=s[0]-c,d=s[1]-f,v=Math.sin(u),x=Math.cos(u);return o[0]=c+h*x-d*v,o[1]=f+h*v+d*x,o[2]=s[2],o}},2447:function(i){i.exports=a;function a(o,s){return o[0]=Math.round(s[0]),o[1]=Math.round(s[1]),o[2]=Math.round(s[2]),o}},6621:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o}},8489:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o}},1463:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s,o[1]=l,o[2]=u,o}},6141:function(i,a,o){i.exports=o(2953)},5486:function(i,a,o){i.exports=o(3066)},2953:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2];return l*l+u*u+c*c}},3066:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2];return s*s+l*l+u*u}},2229:function(i,a,o){i.exports=o(6843)},6843:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o}},492:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2];return o[0]=u*l[0]+c*l[3]+f*l[6],o[1]=u*l[1]+c*l[4]+f*l[7],o[2]=u*l[2]+c*l[5]+f*l[8],o}},5673:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[3]*u+l[7]*c+l[11]*f+l[15];return h=h||1,o[0]=(l[0]*u+l[4]*c+l[8]*f+l[12])/h,o[1]=(l[1]*u+l[5]*c+l[9]*f+l[13])/h,o[2]=(l[2]*u+l[6]*c+l[10]*f+l[14])/h,o}},264:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,g=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+g*-v-E*-d,o[1]=g*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-g*-h,o}},4361:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]+l[0],o[1]=s[1]+l[1],o[2]=s[2]+l[2],o[3]=s[3]+l[3],o}},2335:function(i){i.exports=a;function a(o){var s=new Float32Array(4);return s[0]=o[0],s[1]=o[1],s[2]=o[2],s[3]=o[3],s}},2933:function(i){i.exports=a;function a(o,s){return o[0]=s[0],o[1]=s[1],o[2]=s[2],o[3]=s[3],o}},7536:function(i){i.exports=a;function a(){var o=new Float32Array(4);return o[0]=0,o[1]=0,o[2]=0,o[3]=0,o}},4691:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return Math.sqrt(l*l+u*u+c*c+f*f)}},1373:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]/l[0],o[1]=s[1]/l[1],o[2]=s[2]/l[2],o[3]=s[3]/l[3],o}},3750:function(i){i.exports=a;function a(o,s){return o[0]*s[0]+o[1]*s[1]+o[2]*s[2]+o[3]*s[3]}},3390:function(i){i.exports=a;function a(o,s,l,u){var c=new Float32Array(4);return c[0]=o,c[1]=s,c[2]=l,c[3]=u,c}},9970:function(i,a,o){i.exports={create:o(7536),clone:o(2335),fromValues:o(3390),copy:o(2933),set:o(4578),add:o(4361),subtract:o(6860),multiply:o(3576),divide:o(1373),min:o(2334),max:o(160),scale:o(9288),scaleAndAdd:o(4844),distance:o(4691),squaredDistance:o(7960),length:o(6808),squaredLength:o(483),negate:o(1498),inverse:o(4494),normalize:o(5177),dot:o(3750),lerp:o(2573),random:o(9131),transformMat4:o(5352),transformQuat:o(4041)}},4494:function(i){i.exports=a;function a(o,s){return o[0]=1/s[0],o[1]=1/s[1],o[2]=1/s[2],o[3]=1/s[3],o}},6808:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return Math.sqrt(s*s+l*l+u*u+c*c)}},2573:function(i){i.exports=a;function a(o,s,l,u){var c=s[0],f=s[1],h=s[2],d=s[3];return o[0]=c+u*(l[0]-c),o[1]=f+u*(l[1]-f),o[2]=h+u*(l[2]-h),o[3]=d+u*(l[3]-d),o}},160:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.max(s[0],l[0]),o[1]=Math.max(s[1],l[1]),o[2]=Math.max(s[2],l[2]),o[3]=Math.max(s[3],l[3]),o}},2334:function(i){i.exports=a;function a(o,s,l){return o[0]=Math.min(s[0],l[0]),o[1]=Math.min(s[1],l[1]),o[2]=Math.min(s[2],l[2]),o[3]=Math.min(s[3],l[3]),o}},3576:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l[0],o[1]=s[1]*l[1],o[2]=s[2]*l[2],o[3]=s[3]*l[3],o}},1498:function(i){i.exports=a;function a(o,s){return o[0]=-s[0],o[1]=-s[1],o[2]=-s[2],o[3]=-s[3],o}},5177:function(i){i.exports=a;function a(o,s){var l=s[0],u=s[1],c=s[2],f=s[3],h=l*l+u*u+c*c+f*f;return h>0&&(h=1/Math.sqrt(h),o[0]=l*h,o[1]=u*h,o[2]=c*h,o[3]=f*h),o}},9131:function(i,a,o){var s=o(5177),l=o(9288);i.exports=u;function u(c,f){return f=f||1,c[0]=Math.random(),c[1]=Math.random(),c[2]=Math.random(),c[3]=Math.random(),s(c,c),l(c,c,f),c}},9288:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]*l,o[1]=s[1]*l,o[2]=s[2]*l,o[3]=s[3]*l,o}},4844:function(i){i.exports=a;function a(o,s,l,u){return o[0]=s[0]+l[0]*u,o[1]=s[1]+l[1]*u,o[2]=s[2]+l[2]*u,o[3]=s[3]+l[3]*u,o}},4578:function(i){i.exports=a;function a(o,s,l,u,c){return o[0]=s,o[1]=l,o[2]=u,o[3]=c,o}},7960:function(i){i.exports=a;function a(o,s){var l=s[0]-o[0],u=s[1]-o[1],c=s[2]-o[2],f=s[3]-o[3];return l*l+u*u+c*c+f*f}},483:function(i){i.exports=a;function a(o){var s=o[0],l=o[1],u=o[2],c=o[3];return s*s+l*l+u*u+c*c}},6860:function(i){i.exports=a;function a(o,s,l){return o[0]=s[0]-l[0],o[1]=s[1]-l[1],o[2]=s[2]-l[2],o[3]=s[3]-l[3],o}},5352:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=s[3];return o[0]=l[0]*u+l[4]*c+l[8]*f+l[12]*h,o[1]=l[1]*u+l[5]*c+l[9]*f+l[13]*h,o[2]=l[2]*u+l[6]*c+l[10]*f+l[14]*h,o[3]=l[3]*u+l[7]*c+l[11]*f+l[15]*h,o}},4041:function(i){i.exports=a;function a(o,s,l){var u=s[0],c=s[1],f=s[2],h=l[0],d=l[1],v=l[2],x=l[3],b=x*u+d*f-v*c,g=x*c+v*u-h*f,E=x*f+h*c-d*u,k=-h*u-d*c-v*f;return o[0]=b*x+k*-h+g*-v-E*-d,o[1]=g*x+k*-d+E*-h-b*-v,o[2]=E*x+k*-v+b*-d-g*-h,o[3]=s[3],o}},1848:function(i,a,o){var s=o(4905),l=o(6468);i.exports=u;function u(c){for(var f=Array.isArray(c)?c:s(c),h=0;h0)continue;Lt=Ke.slice(0,1).join(\"\")}return Re(Lt),ke+=Lt.length,N=N.slice(Lt.length),N.length}while(!0)}function Ct(){return/[^a-fA-F0-9]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function Yt(){return X===\".\"||/[eE]/.test(X)?(N.push(X),H=k,G=X,q+1):X===\"x\"&&N.length===1&&N[0]===\"0\"?(H=p,N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function xr(){return X===\"f\"&&(N.push(X),G=X,q+=1),/[eE]/.test(X)||(X===\"-\"||X===\"+\")&&/[eE]/.test(G)?(N.push(X),G=X,q+1):/[^\\d]/.test(X)?(Re(N.join(\"\")),H=h,q):(N.push(X),G=X,q+1)}function er(){if(/[^\\d\\w_]/.test(X)){var Ke=N.join(\"\");return me[Ke]?H=_:Ce[Ke]?H=L:H=A,Re(N.join(\"\")),H=h,q}return N.push(X),G=X,q+1}}},3508:function(i,a,o){var s=o(6852);s=s.slice().filter(function(l){return!/^(gl\\_|texture)/.test(l)}),i.exports=s.concat([\"gl_VertexID\",\"gl_InstanceID\",\"gl_Position\",\"gl_PointSize\",\"gl_FragCoord\",\"gl_FrontFacing\",\"gl_FragDepth\",\"gl_PointCoord\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexUniformVectors\",\"gl_MaxVertexOutputVectors\",\"gl_MaxFragmentInputVectors\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxTextureImageUnits\",\"gl_MaxFragmentUniformVectors\",\"gl_MaxDrawBuffers\",\"gl_MinProgramTexelOffset\",\"gl_MaxProgramTexelOffset\",\"gl_DepthRangeParameters\",\"gl_DepthRange\",\"trunc\",\"round\",\"roundEven\",\"isnan\",\"isinf\",\"floatBitsToInt\",\"floatBitsToUint\",\"intBitsToFloat\",\"uintBitsToFloat\",\"packSnorm2x16\",\"unpackSnorm2x16\",\"packUnorm2x16\",\"unpackUnorm2x16\",\"packHalf2x16\",\"unpackHalf2x16\",\"outerProduct\",\"transpose\",\"determinant\",\"inverse\",\"texture\",\"textureSize\",\"textureProj\",\"textureLod\",\"textureOffset\",\"texelFetch\",\"texelFetchOffset\",\"textureProjOffset\",\"textureLodOffset\",\"textureProjLod\",\"textureProjLodOffset\",\"textureGrad\",\"textureGradOffset\",\"textureProjGrad\",\"textureProjGradOffset\"])},6852:function(i){i.exports=[\"abs\",\"acos\",\"all\",\"any\",\"asin\",\"atan\",\"ceil\",\"clamp\",\"cos\",\"cross\",\"dFdx\",\"dFdy\",\"degrees\",\"distance\",\"dot\",\"equal\",\"exp\",\"exp2\",\"faceforward\",\"floor\",\"fract\",\"gl_BackColor\",\"gl_BackLightModelProduct\",\"gl_BackLightProduct\",\"gl_BackMaterial\",\"gl_BackSecondaryColor\",\"gl_ClipPlane\",\"gl_ClipVertex\",\"gl_Color\",\"gl_DepthRange\",\"gl_DepthRangeParameters\",\"gl_EyePlaneQ\",\"gl_EyePlaneR\",\"gl_EyePlaneS\",\"gl_EyePlaneT\",\"gl_Fog\",\"gl_FogCoord\",\"gl_FogFragCoord\",\"gl_FogParameters\",\"gl_FragColor\",\"gl_FragCoord\",\"gl_FragData\",\"gl_FragDepth\",\"gl_FragDepthEXT\",\"gl_FrontColor\",\"gl_FrontFacing\",\"gl_FrontLightModelProduct\",\"gl_FrontLightProduct\",\"gl_FrontMaterial\",\"gl_FrontSecondaryColor\",\"gl_LightModel\",\"gl_LightModelParameters\",\"gl_LightModelProducts\",\"gl_LightProducts\",\"gl_LightSource\",\"gl_LightSourceParameters\",\"gl_MaterialParameters\",\"gl_MaxClipPlanes\",\"gl_MaxCombinedTextureImageUnits\",\"gl_MaxDrawBuffers\",\"gl_MaxFragmentUniformComponents\",\"gl_MaxLights\",\"gl_MaxTextureCoords\",\"gl_MaxTextureImageUnits\",\"gl_MaxTextureUnits\",\"gl_MaxVaryingFloats\",\"gl_MaxVertexAttribs\",\"gl_MaxVertexTextureImageUnits\",\"gl_MaxVertexUniformComponents\",\"gl_ModelViewMatrix\",\"gl_ModelViewMatrixInverse\",\"gl_ModelViewMatrixInverseTranspose\",\"gl_ModelViewMatrixTranspose\",\"gl_ModelViewProjectionMatrix\",\"gl_ModelViewProjectionMatrixInverse\",\"gl_ModelViewProjectionMatrixInverseTranspose\",\"gl_ModelViewProjectionMatrixTranspose\",\"gl_MultiTexCoord0\",\"gl_MultiTexCoord1\",\"gl_MultiTexCoord2\",\"gl_MultiTexCoord3\",\"gl_MultiTexCoord4\",\"gl_MultiTexCoord5\",\"gl_MultiTexCoord6\",\"gl_MultiTexCoord7\",\"gl_Normal\",\"gl_NormalMatrix\",\"gl_NormalScale\",\"gl_ObjectPlaneQ\",\"gl_ObjectPlaneR\",\"gl_ObjectPlaneS\",\"gl_ObjectPlaneT\",\"gl_Point\",\"gl_PointCoord\",\"gl_PointParameters\",\"gl_PointSize\",\"gl_Position\",\"gl_ProjectionMatrix\",\"gl_ProjectionMatrixInverse\",\"gl_ProjectionMatrixInverseTranspose\",\"gl_ProjectionMatrixTranspose\",\"gl_SecondaryColor\",\"gl_TexCoord\",\"gl_TextureEnvColor\",\"gl_TextureMatrix\",\"gl_TextureMatrixInverse\",\"gl_TextureMatrixInverseTranspose\",\"gl_TextureMatrixTranspose\",\"gl_Vertex\",\"greaterThan\",\"greaterThanEqual\",\"inversesqrt\",\"length\",\"lessThan\",\"lessThanEqual\",\"log\",\"log2\",\"matrixCompMult\",\"max\",\"min\",\"mix\",\"mod\",\"normalize\",\"not\",\"notEqual\",\"pow\",\"radians\",\"reflect\",\"refract\",\"sign\",\"sin\",\"smoothstep\",\"sqrt\",\"step\",\"tan\",\"texture2D\",\"texture2DLod\",\"texture2DProj\",\"texture2DProjLod\",\"textureCube\",\"textureCubeLod\",\"texture2DLodEXT\",\"texture2DProjLodEXT\",\"textureCubeLodEXT\",\"texture2DGradEXT\",\"texture2DProjGradEXT\",\"textureCubeGradEXT\"]},7932:function(i,a,o){var s=o(620);i.exports=s.slice().concat([\"layout\",\"centroid\",\"smooth\",\"case\",\"mat2x2\",\"mat2x3\",\"mat2x4\",\"mat3x2\",\"mat3x3\",\"mat3x4\",\"mat4x2\",\"mat4x3\",\"mat4x4\",\"uvec2\",\"uvec3\",\"uvec4\",\"samplerCubeShadow\",\"sampler2DArray\",\"sampler2DArrayShadow\",\"isampler2D\",\"isampler3D\",\"isamplerCube\",\"isampler2DArray\",\"usampler2D\",\"usampler3D\",\"usamplerCube\",\"usampler2DArray\",\"coherent\",\"restrict\",\"readonly\",\"writeonly\",\"resource\",\"atomic_uint\",\"noperspective\",\"patch\",\"sample\",\"subroutine\",\"common\",\"partition\",\"active\",\"filter\",\"image1D\",\"image2D\",\"image3D\",\"imageCube\",\"iimage1D\",\"iimage2D\",\"iimage3D\",\"iimageCube\",\"uimage1D\",\"uimage2D\",\"uimage3D\",\"uimageCube\",\"image1DArray\",\"image2DArray\",\"iimage1DArray\",\"iimage2DArray\",\"uimage1DArray\",\"uimage2DArray\",\"image1DShadow\",\"image2DShadow\",\"image1DArrayShadow\",\"image2DArrayShadow\",\"imageBuffer\",\"iimageBuffer\",\"uimageBuffer\",\"sampler1DArray\",\"sampler1DArrayShadow\",\"isampler1D\",\"isampler1DArray\",\"usampler1D\",\"usampler1DArray\",\"isampler2DRect\",\"usampler2DRect\",\"samplerBuffer\",\"isamplerBuffer\",\"usamplerBuffer\",\"sampler2DMS\",\"isampler2DMS\",\"usampler2DMS\",\"sampler2DMSArray\",\"isampler2DMSArray\",\"usampler2DMSArray\"])},620:function(i){i.exports=[\"precision\",\"highp\",\"mediump\",\"lowp\",\"attribute\",\"const\",\"uniform\",\"varying\",\"break\",\"continue\",\"do\",\"for\",\"while\",\"if\",\"else\",\"in\",\"out\",\"inout\",\"float\",\"int\",\"uint\",\"void\",\"bool\",\"true\",\"false\",\"discard\",\"return\",\"mat2\",\"mat3\",\"mat4\",\"vec2\",\"vec3\",\"vec4\",\"ivec2\",\"ivec3\",\"ivec4\",\"bvec2\",\"bvec3\",\"bvec4\",\"sampler1D\",\"sampler2D\",\"sampler3D\",\"samplerCube\",\"sampler1DShadow\",\"sampler2DShadow\",\"struct\",\"asm\",\"class\",\"union\",\"enum\",\"typedef\",\"template\",\"this\",\"packed\",\"goto\",\"switch\",\"default\",\"inline\",\"noinline\",\"volatile\",\"public\",\"static\",\"extern\",\"external\",\"interface\",\"long\",\"short\",\"double\",\"half\",\"fixed\",\"unsigned\",\"input\",\"output\",\"hvec2\",\"hvec3\",\"hvec4\",\"dvec2\",\"dvec3\",\"dvec4\",\"fvec2\",\"fvec3\",\"fvec4\",\"sampler2DRect\",\"sampler3DRect\",\"sampler2DRectShadow\",\"sizeof\",\"cast\",\"namespace\",\"using\"]},7827:function(i){i.exports=[\"<<=\",\">>=\",\"++\",\"--\",\"<<\",\">>\",\"<=\",\">=\",\"==\",\"!=\",\"&&\",\"||\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"&=\",\"^^\",\"^=\",\"|=\",\"(\",\")\",\"[\",\"]\",\".\",\"!\",\"~\",\"*\",\"/\",\"%\",\"+\",\"-\",\"<\",\">\",\"&\",\"^\",\"|\",\"?\",\":\",\"=\",\",\",\";\",\"{\",\"}\"]},4905:function(i,a,o){var s=o(5874);i.exports=l;function l(u,c){var f=s(c),h=[];return h=h.concat(f(u)),h=h.concat(f(null)),h}},3236:function(i){i.exports=function(a){typeof a==\"string\"&&(a=[a]);for(var o=[].slice.call(arguments,1),s=[],l=0;l>1,b=-7,g=l?c-1:0,E=l?-1:1,k=o[s+g];for(g+=E,f=k&(1<<-b)-1,k>>=-b,b+=d;b>0;f=f*256+o[s+g],g+=E,b-=8);for(h=f&(1<<-b)-1,f>>=-b,b+=u;b>0;h=h*256+o[s+g],g+=E,b-=8);if(f===0)f=1-x;else{if(f===v)return h?NaN:(k?-1:1)*(1/0);h=h+Math.pow(2,u),f=f-x}return(k?-1:1)*h*Math.pow(2,f-u)},a.write=function(o,s,l,u,c,f){var h,d,v,x=f*8-c-1,b=(1<>1,E=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,k=u?0:f-1,A=u?1:-1,L=s<0||s===0&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(d=isNaN(s)?1:0,h=b):(h=Math.floor(Math.log(s)/Math.LN2),s*(v=Math.pow(2,-h))<1&&(h--,v*=2),h+g>=1?s+=E/v:s+=E*Math.pow(2,1-g),s*v>=2&&(h++,v/=2),h+g>=b?(d=0,h=b):h+g>=1?(d=(s*v-1)*Math.pow(2,c),h=h+g):(d=s*Math.pow(2,g-1)*Math.pow(2,c),h=0));c>=8;o[l+k]=d&255,k+=A,d/=256,c-=8);for(h=h<0;o[l+k]=h&255,k+=A,h/=256,x-=8);o[l+k-A]|=L*128}},8954:function(i,a,o){\"use strict\";i.exports=g;var s=o(3250),l=o(6803).Fw;function u(E,k,A){this.vertices=E,this.adjacent=k,this.boundary=A,this.lastVisited=-1}u.prototype.flip=function(){var E=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=E;var k=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=k};function c(E,k,A){this.vertices=E,this.cell=k,this.index=A}function f(E,k){return l(E.vertices,k.vertices)}function h(E){return function(){var k=this.tuple;return E.apply(this,k)}}function d(E){var k=s[E+1];return k||(k=s),h(k)}var v=[];function x(E,k,A){this.dimension=E,this.vertices=k,this.simplices=A,this.interior=A.filter(function(C){return!C.boundary}),this.tuple=new Array(E+1);for(var L=0;L<=E;++L)this.tuple[L]=this.vertices[L];var _=v[E];_||(_=v[E]=d(E)),this.orient=_}var b=x.prototype;b.handleBoundaryDegeneracy=function(E,k){var A=this.dimension,L=this.vertices.length-1,_=this.tuple,C=this.vertices,M=[E];for(E.lastVisited=-L;M.length>0;){E=M.pop();for(var p=E.adjacent,P=0;P<=A;++P){var T=p[P];if(!(!T.boundary||T.lastVisited<=-L)){for(var F=T.vertices,q=0;q<=A;++q){var V=F[q];V<0?_[q]=k:_[q]=C[V]}var H=this.orient();if(H>0)return T;T.lastVisited=-L,H===0&&M.push(T)}}}return null},b.walk=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=k?this.interior.length*Math.random()|0:this.interior.length-1,p=this.interior[M];e:for(;!p.boundary;){for(var P=p.vertices,T=p.adjacent,F=0;F<=L;++F)C[F]=_[P[F]];p.lastVisited=A;for(var F=0;F<=L;++F){var q=T[F];if(!(q.lastVisited>=A)){var V=C[F];C[F]=E;var H=this.orient();if(C[F]=V,H<0){p=q;continue e}else q.boundary?q.lastVisited=-A:q.lastVisited=A}}return}return p},b.addPeaks=function(E,k){var A=this.vertices.length-1,L=this.dimension,_=this.vertices,C=this.tuple,M=this.interior,p=this.simplices,P=[k];k.lastVisited=A,k.vertices[k.vertices.indexOf(-1)]=A,k.boundary=!1,M.push(k);for(var T=[];P.length>0;){var k=P.pop(),F=k.vertices,q=k.adjacent,V=F.indexOf(A);if(!(V<0)){for(var H=0;H<=L;++H)if(H!==V){var X=q[H];if(!(!X.boundary||X.lastVisited>=A)){var G=X.vertices;if(X.lastVisited!==-A){for(var N=0,W=0;W<=L;++W)G[W]<0?(N=W,C[W]=E):C[W]=_[G[W]];var re=this.orient();if(re>0){G[N]=A,X.boundary=!1,M.push(X),P.push(X),X.lastVisited=A;continue}else X.lastVisited=-A}var ae=X.adjacent,_e=F.slice(),Me=q.slice(),ke=new u(_e,Me,!0);p.push(ke);var ge=ae.indexOf(k);if(!(ge<0)){ae[ge]=ke,Me[V]=X,_e[H]=-1,Me[H]=k,q[H]=ke,ke.flip();for(var W=0;W<=L;++W){var ie=_e[W];if(!(ie<0||ie===A)){for(var Te=new Array(L-1),Ee=0,Ae=0;Ae<=L;++Ae){var ze=_e[Ae];ze<0||Ae===W||(Te[Ee++]=ze)}T.push(new c(Te,ke,W))}}}}}}}T.sort(f);for(var H=0;H+1=0?M[P++]=p[F]:T=F&1;if(T===(E&1)){var q=M[0];M[0]=M[1],M[1]=q}k.push(M)}}return k};function g(E,k){var A=E.length;if(A===0)throw new Error(\"Must have at least d+1 points\");var L=E[0].length;if(A<=L)throw new Error(\"Must input at least d+1 points\");var _=E.slice(0,L+1),C=s.apply(void 0,_);if(C===0)throw new Error(\"Input not in general position\");for(var M=new Array(L+1),p=0;p<=L;++p)M[p]=p;C<0&&(M[0]=1,M[1]=0);for(var P=new u(M,new Array(L+1),!1),T=P.adjacent,F=new Array(L+2),p=0;p<=L;++p){for(var q=M.slice(),V=0;V<=L;++V)V===p&&(q[V]=-1);var H=q[0];q[0]=q[1],q[1]=H;var X=new u(q,new Array(L+1),!0);T[p]=X,F[p]=X}F[L+1]=P;for(var p=0;p<=L;++p)for(var q=T[p].vertices,G=T[p].adjacent,V=0;V<=L;++V){var N=q[V];if(N<0){G[V]=P;continue}for(var W=0;W<=L;++W)T[W].vertices.indexOf(N)<0&&(G[V]=T[W])}for(var re=new x(L,_,F),ae=!!k,p=L+1;p3*(F+1)?x(this,T):this.left.insert(T):this.left=C([T]);else if(T[0]>this.mid)this.right?4*(this.right.count+1)>3*(F+1)?x(this,T):this.right.insert(T):this.right=C([T]);else{var q=s.ge(this.leftPoints,T,L),V=s.ge(this.rightPoints,T,_);this.leftPoints.splice(q,0,T),this.rightPoints.splice(V,0,T)}},h.remove=function(T){var F=this.count-this.leftPoints;if(T[1]3*(F-1))return b(this,T);var V=this.left.remove(T);return V===c?(this.left=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else if(T[0]>this.mid){if(!this.right)return l;var H=this.left?this.left.count:0;if(4*H>3*(F-1))return b(this,T);var V=this.right.remove(T);return V===c?(this.right=null,this.count-=1,u):(V===u&&(this.count-=1),V)}else{if(this.count===1)return this.leftPoints[0]===T?c:l;if(this.leftPoints.length===1&&this.leftPoints[0]===T){if(this.left&&this.right){for(var X=this,G=this.left;G.right;)X=G,G=G.right;if(X===this)G.right=this.right;else{var N=this.left,V=this.right;X.count-=G.count,X.right=G.left,G.left=N,G.right=V}d(this,G),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?d(this,this.left):d(this,this.right);return u}for(var N=s.ge(this.leftPoints,T,L);N=0&&T[V][1]>=F;--V){var H=q(T[V]);if(H)return H}}function k(T,F){for(var q=0;qthis.mid){if(this.right){var q=this.right.queryPoint(T,F);if(q)return q}return E(this.rightPoints,T,F)}else return k(this.leftPoints,F)},h.queryInterval=function(T,F,q){if(Tthis.mid&&this.right){var V=this.right.queryInterval(T,F,q);if(V)return V}return Fthis.mid?E(this.rightPoints,T,q):k(this.leftPoints,q)};function A(T,F){return T-F}function L(T,F){var q=T[0]-F[0];return q||T[1]-F[1]}function _(T,F){var q=T[1]-F[1];return q||T[0]-F[0]}function C(T){if(T.length===0)return null;for(var F=[],q=0;q>1],H=[],X=[],G=[],q=0;q13)&&s!==32&&s!==133&&s!==160&&s!==5760&&s!==6158&&(s<8192||s>8205)&&s!==8232&&s!==8233&&s!==8239&&s!==8287&&s!==8288&&s!==12288&&s!==65279)return!1;return!0}},395:function(i){function a(o,s,l){return o*(1-l)+s*l}i.exports=a},2652:function(i,a,o){var s=o(4335),l=o(6864),u=o(1903),c=o(9921),f=o(7608),h=o(5665),d={length:o(1387),normalize:o(3536),dot:o(244),cross:o(5911)},v=l(),x=l(),b=[0,0,0,0],g=[[0,0,0],[0,0,0],[0,0,0]],E=[0,0,0];i.exports=function(C,M,p,P,T,F){if(M||(M=[0,0,0]),p||(p=[0,0,0]),P||(P=[0,0,0]),T||(T=[0,0,0,1]),F||(F=[0,0,0,1]),!s(v,C)||(u(x,v),x[3]=0,x[7]=0,x[11]=0,x[15]=1,Math.abs(c(x)<1e-8)))return!1;var q=v[3],V=v[7],H=v[11],X=v[12],G=v[13],N=v[14],W=v[15];if(q!==0||V!==0||H!==0){b[0]=q,b[1]=V,b[2]=H,b[3]=W;var re=f(x,x);if(!re)return!1;h(x,x),k(T,b,x)}else T[0]=T[1]=T[2]=0,T[3]=1;if(M[0]=X,M[1]=G,M[2]=N,A(g,v),p[0]=d.length(g[0]),d.normalize(g[0],g[0]),P[0]=d.dot(g[0],g[1]),L(g[1],g[1],g[0],1,-P[0]),p[1]=d.length(g[1]),d.normalize(g[1],g[1]),P[0]/=p[1],P[1]=d.dot(g[0],g[2]),L(g[2],g[2],g[0],1,-P[1]),P[2]=d.dot(g[1],g[2]),L(g[2],g[2],g[1],1,-P[2]),p[2]=d.length(g[2]),d.normalize(g[2],g[2]),P[1]/=p[2],P[2]/=p[2],d.cross(E,g[1],g[2]),d.dot(g[0],E)<0)for(var ae=0;ae<3;ae++)p[ae]*=-1,g[ae][0]*=-1,g[ae][1]*=-1,g[ae][2]*=-1;return F[0]=.5*Math.sqrt(Math.max(1+g[0][0]-g[1][1]-g[2][2],0)),F[1]=.5*Math.sqrt(Math.max(1-g[0][0]+g[1][1]-g[2][2],0)),F[2]=.5*Math.sqrt(Math.max(1-g[0][0]-g[1][1]+g[2][2],0)),F[3]=.5*Math.sqrt(Math.max(1+g[0][0]+g[1][1]+g[2][2],0)),g[2][1]>g[1][2]&&(F[0]=-F[0]),g[0][2]>g[2][0]&&(F[1]=-F[1]),g[1][0]>g[0][1]&&(F[2]=-F[2]),!0};function k(_,C,M){var p=C[0],P=C[1],T=C[2],F=C[3];return _[0]=M[0]*p+M[4]*P+M[8]*T+M[12]*F,_[1]=M[1]*p+M[5]*P+M[9]*T+M[13]*F,_[2]=M[2]*p+M[6]*P+M[10]*T+M[14]*F,_[3]=M[3]*p+M[7]*P+M[11]*T+M[15]*F,_}function A(_,C){_[0][0]=C[0],_[0][1]=C[1],_[0][2]=C[2],_[1][0]=C[4],_[1][1]=C[5],_[1][2]=C[6],_[2][0]=C[8],_[2][1]=C[9],_[2][2]=C[10]}function L(_,C,M,p,P){_[0]=C[0]*p+M[0]*P,_[1]=C[1]*p+M[1]*P,_[2]=C[2]*p+M[2]*P}},4335:function(i){i.exports=function(o,s){var l=s[15];if(l===0)return!1;for(var u=1/l,c=0;c<16;c++)o[c]=s[c]*u;return!0}},7442:function(i,a,o){var s=o(6658),l=o(7182),u=o(2652),c=o(9921),f=o(8648),h=b(),d=b(),v=b();i.exports=x;function x(k,A,L,_){if(c(A)===0||c(L)===0)return!1;var C=u(A,h.translate,h.scale,h.skew,h.perspective,h.quaternion),M=u(L,d.translate,d.scale,d.skew,d.perspective,d.quaternion);return!C||!M?!1:(s(v.translate,h.translate,d.translate,_),s(v.skew,h.skew,d.skew,_),s(v.scale,h.scale,d.scale,_),s(v.perspective,h.perspective,d.perspective,_),f(v.quaternion,h.quaternion,d.quaternion,_),l(k,v.translate,v.scale,v.skew,v.perspective,v.quaternion),!0)}function b(){return{translate:g(),scale:g(1),skew:g(),perspective:E(),quaternion:E()}}function g(k){return[k||0,k||0,k||0]}function E(){return[0,0,0,1]}},7182:function(i,a,o){var s={identity:o(7894),translate:o(7656),multiply:o(6760),create:o(6864),scale:o(2504),fromRotationTranslation:o(6743)},l=s.create(),u=s.create();i.exports=function(f,h,d,v,x,b){return s.identity(f),s.fromRotationTranslation(f,b,h),f[3]=x[0],f[7]=x[1],f[11]=x[2],f[15]=x[3],s.identity(u),v[2]!==0&&(u[9]=v[2],s.multiply(f,f,u)),v[1]!==0&&(u[9]=0,u[8]=v[1],s.multiply(f,f,u)),v[0]!==0&&(u[8]=0,u[4]=v[0],s.multiply(f,f,u)),s.scale(f,f,d),f}},1811:function(i,a,o){\"use strict\";var s=o(2478),l=o(7442),u=o(7608),c=o(5567),f=o(2408),h=o(7089),d=o(6582),v=o(7656),x=o(2504),b=o(3536),g=[0,0,0];i.exports=L;function E(_){this._components=_.slice(),this._time=[0],this.prevMatrix=_.slice(),this.nextMatrix=_.slice(),this.computedMatrix=_.slice(),this.computedInverse=_.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}var k=E.prototype;k.recalcMatrix=function(_){var C=this._time,M=s.le(C,_),p=this.computedMatrix;if(!(M<0)){var P=this._components;if(M===C.length-1)for(var T=16*M,F=0;F<16;++F)p[F]=P[T++];else{for(var q=C[M+1]-C[M],T=16*M,V=this.prevMatrix,H=!0,F=0;F<16;++F)V[F]=P[T++];for(var X=this.nextMatrix,F=0;F<16;++F)X[F]=P[T++],H=H&&V[F]===X[F];if(q<1e-6||H)for(var F=0;F<16;++F)p[F]=V[F];else l(p,V,X,(_-C[M])/q)}var G=this.computedUp;G[0]=p[1],G[1]=p[5],G[2]=p[9],b(G,G);var N=this.computedInverse;u(N,p);var W=this.computedEye,re=N[15];W[0]=N[12]/re,W[1]=N[13]/re,W[2]=N[14]/re;for(var ae=this.computedCenter,_e=Math.exp(this.computedRadius[0]),F=0;F<3;++F)ae[F]=W[F]-p[2+4*F]*_e}},k.idle=function(_){if(!(_1&&s(u[d[g-2]],u[d[g-1]],b)<=0;)g-=1,d.pop();for(d.push(x),g=v.length;g>1&&s(u[v[g-2]],u[v[g-1]],b)>=0;)g-=1,v.pop();v.push(x)}for(var E=new Array(v.length+d.length-2),k=0,f=0,A=d.length;f0;--L)E[k++]=v[L];return E}},351:function(i,a,o){\"use strict\";i.exports=l;var s=o(4687);function l(u,c){c||(c=u,u=window);var f=0,h=0,d=0,v={shift:!1,alt:!1,control:!1,meta:!1},x=!1;function b(T){var F=!1;return\"altKey\"in T&&(F=F||T.altKey!==v.alt,v.alt=!!T.altKey),\"shiftKey\"in T&&(F=F||T.shiftKey!==v.shift,v.shift=!!T.shiftKey),\"ctrlKey\"in T&&(F=F||T.ctrlKey!==v.control,v.control=!!T.ctrlKey),\"metaKey\"in T&&(F=F||T.metaKey!==v.meta,v.meta=!!T.metaKey),F}function g(T,F){var q=s.x(F),V=s.y(F);\"buttons\"in F&&(T=F.buttons|0),(T!==f||q!==h||V!==d||b(F))&&(f=T|0,h=q||0,d=V||0,c&&c(f,h,d,v))}function E(T){g(0,T)}function k(){(f||h||d||v.shift||v.alt||v.meta||v.control)&&(h=d=0,f=0,v.shift=v.alt=v.control=v.meta=!1,c&&c(0,0,0,v))}function A(T){b(T)&&c&&c(f,h,d,v)}function L(T){s.buttons(T)===0?g(0,T):g(f,T)}function _(T){g(f|s.buttons(T),T)}function C(T){g(f&~s.buttons(T),T)}function M(){x||(x=!0,u.addEventListener(\"mousemove\",L),u.addEventListener(\"mousedown\",_),u.addEventListener(\"mouseup\",C),u.addEventListener(\"mouseleave\",E),u.addEventListener(\"mouseenter\",E),u.addEventListener(\"mouseout\",E),u.addEventListener(\"mouseover\",E),u.addEventListener(\"blur\",k),u.addEventListener(\"keyup\",A),u.addEventListener(\"keydown\",A),u.addEventListener(\"keypress\",A),u!==window&&(window.addEventListener(\"blur\",k),window.addEventListener(\"keyup\",A),window.addEventListener(\"keydown\",A),window.addEventListener(\"keypress\",A)))}function p(){x&&(x=!1,u.removeEventListener(\"mousemove\",L),u.removeEventListener(\"mousedown\",_),u.removeEventListener(\"mouseup\",C),u.removeEventListener(\"mouseleave\",E),u.removeEventListener(\"mouseenter\",E),u.removeEventListener(\"mouseout\",E),u.removeEventListener(\"mouseover\",E),u.removeEventListener(\"blur\",k),u.removeEventListener(\"keyup\",A),u.removeEventListener(\"keydown\",A),u.removeEventListener(\"keypress\",A),u!==window&&(window.removeEventListener(\"blur\",k),window.removeEventListener(\"keyup\",A),window.removeEventListener(\"keydown\",A),window.removeEventListener(\"keypress\",A)))}M();var P={element:u};return Object.defineProperties(P,{enabled:{get:function(){return x},set:function(T){T?M():p()},enumerable:!0},buttons:{get:function(){return f},enumerable:!0},x:{get:function(){return h},enumerable:!0},y:{get:function(){return d},enumerable:!0},mods:{get:function(){return v},enumerable:!0}}),P}},24:function(i){var a={left:0,top:0};i.exports=o;function o(l,u,c){u=u||l.currentTarget||l.srcElement,Array.isArray(c)||(c=[0,0]);var f=l.clientX||0,h=l.clientY||0,d=s(u);return c[0]=f-d.left,c[1]=h-d.top,c}function s(l){return l===window||l===document||l===document.body?a:l.getBoundingClientRect()}},4687:function(i,a){\"use strict\";function o(c){if(typeof c==\"object\"){if(\"buttons\"in c)return c.buttons;if(\"which\"in c){var f=c.which;if(f===2)return 4;if(f===3)return 2;if(f>0)return 1<=0)return 1<0){if(Me=1,ie[Ee++]=v(M[F],k,A,L),F+=re,_>0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;for(F+=ae,Ee=0,ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,Me=2;Me0)for(_e=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L)),Ee+=1,F+=re,_e=2;_e<_;++_e)q=M[F],Ae=ie[Ee]=v(q,k,A,L),me=ie[Ee+ze],Ge=ie[Ee+Re],qt=ie[Ee+nt],(Ae!==me||Ae!==Ge||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,me,Ge,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,G,W,Ge,qt,k,A,L),qt!==me&&d(Te[Ee+ze],rt,W,H,qt,me,k,A,L)),Ee+=1,F+=re;Me&1&&(Ee=0),ot=ze,ze=Ce,Ce=ot,ot=Re,Re=ce,ce=ot,ot=nt,nt=ct,ct=ot,F+=ae}}b(Te),b(ie)}},\"false,1,0\":function(h,d,v,x,b){return function(E,k,A,L){var _=E.shape[0]|0,C=E.shape[1]|0,M=E.data,p=E.offset|0,P=E.stride[0]|0,T=E.stride[1]|0,F=p,q,V=-P|0,H=0,X=-T|0,G=0,N=-P-T|0,W=0,re=T|0,ae=P-T*C|0,_e=0,Me=0,ke=0,ge=2*C|0,ie=x(ge),Te=x(ge),Ee=0,Ae=0,ze=-1,Ce=-1,me=0,Re=-C|0,ce=C|0,Ge=0,nt=-C-1|0,ct=C-1|0,qt=0,rt=0,ot=0;for(Me=0;Me0){if(_e=1,ie[Ee++]=v(M[F],k,A,L),F+=re,C>0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++),Ee+=1,F+=re,Me=2;Me0)for(Me=1,q=M[F],Ae=ie[Ee]=v(q,k,A,L),Ge=ie[Ee+Re],me=ie[Ee+ze],qt=ie[Ee+nt],(Ae!==Ge||Ae!==me||Ae!==qt)&&(H=M[F+V],G=M[F+X],W=M[F+N],h(_e,Me,q,H,G,W,Ae,Ge,me,qt,k,A,L),rt=Te[Ee]=ke++,qt!==Ge&&d(Te[Ee+Re],rt,W,H,qt,Ge,k,A,L)),Ee+=1,F+=re,Me=2;Me 0\"),typeof f.vertex!=\"function\"&&h(\"Must specify vertex creation function\"),typeof f.cell!=\"function\"&&h(\"Must specify cell creation function\"),typeof f.phase!=\"function\"&&h(\"Must specify phase function\");for(var b=f.getters||[],g=new Array(v),E=0;E=0?g[E]=!0:g[E]=!1;return u(f.vertex,f.cell,f.phase,x,d,g)}},6199:function(i,a,o){\"use strict\";var s=o(1338),l={zero:function(L,_,C,M){var p=L[0],P=C[0];M|=0;var T=0,F=P;for(T=0;T2&&T[1]>2&&M(P.pick(-1,-1).lo(1,1).hi(T[0]-2,T[1]-2),p.pick(-1,-1,0).lo(1,1).hi(T[0]-2,T[1]-2),p.pick(-1,-1,1).lo(1,1).hi(T[0]-2,T[1]-2)),T[1]>2&&(C(P.pick(0,-1).lo(1).hi(T[1]-2),p.pick(0,-1,1).lo(1).hi(T[1]-2)),_(p.pick(0,-1,0).lo(1).hi(T[1]-2))),T[1]>2&&(C(P.pick(T[0]-1,-1).lo(1).hi(T[1]-2),p.pick(T[0]-1,-1,1).lo(1).hi(T[1]-2)),_(p.pick(T[0]-1,-1,0).lo(1).hi(T[1]-2))),T[0]>2&&(C(P.pick(-1,0).lo(1).hi(T[0]-2),p.pick(-1,0,0).lo(1).hi(T[0]-2)),_(p.pick(-1,0,1).lo(1).hi(T[0]-2))),T[0]>2&&(C(P.pick(-1,T[1]-1).lo(1).hi(T[0]-2),p.pick(-1,T[1]-1,0).lo(1).hi(T[0]-2)),_(p.pick(-1,T[1]-1,1).lo(1).hi(T[0]-2))),p.set(0,0,0,0),p.set(0,0,1,0),p.set(T[0]-1,0,0,0),p.set(T[0]-1,0,1,0),p.set(0,T[1]-1,0,0),p.set(0,T[1]-1,1,0),p.set(T[0]-1,T[1]-1,0,0),p.set(T[0]-1,T[1]-1,1,0),p}}function A(L){var _=L.join(),T=v[_];if(T)return T;for(var C=L.length,M=[b,g],p=1;p<=C;++p)M.push(E(p));var P=k,T=P.apply(void 0,M);return v[_]=T,T}i.exports=function(_,C,M){if(Array.isArray(M)||(typeof M==\"string\"?M=s(C.dimension,M):M=s(C.dimension,\"clamp\")),C.size===0)return _;if(C.dimension===0)return _.set(0),_;var p=A(M);return p(_,C)}},4317:function(i){\"use strict\";function a(c,f){var h=Math.floor(f),d=f-h,v=0<=h&&h0;){G<64?(_=G,G=0):(_=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(C=N,N=0):(C=64,N-=64),g=H+G*p+N*P,A=X+G*F+N*q;var W=0,re=0,ae=0,_e=T,Me=p-M*T,ke=P-_*p,ge=V,ie=F-M*V,Te=q-_*F;for(ae=0;ae0;){q<64?(_=q,q=0):(_=64,q-=64);for(var V=v[0]|0;V>0;){V<64?(L=V,V=0):(L=64,V-=64),g=T+q*M+V*C,A=F+q*P+V*p;var H=0,X=0,G=M,N=C-_*M,W=P,re=p-_*P;for(X=0;X0;){X<64?(C=X,X=0):(C=64,X-=64);for(var G=v[0]|0;G>0;){G<64?(L=G,G=0):(L=64,G-=64);for(var N=v[1]|0;N>0;){N<64?(_=N,N=0):(_=64,N-=64),g=V+X*P+G*M+N*p,A=H+X*q+G*T+N*F;var W=0,re=0,ae=0,_e=P,Me=M-C*P,ke=p-L*M,ge=q,ie=T-C*q,Te=F-L*T;for(ae=0;ae<_;++ae){for(re=0;reE;){W=0,re=H-_;t:for(G=0;G_e)break t;re+=T,W+=F}for(W=H,re=H-_,G=0;G>1,N=G-V,W=G+V,re=H,ae=N,_e=G,Me=W,ke=X,ge=k+1,ie=A-1,Te=!0,Ee,Ae,ze,Ce,me,Re,ce,Ge,nt,ct=0,qt=0,rt=0,ot,Rt,kt,Ct,Yt,xr,er,Ke,xt,bt,Lt,St,Et,dt,Ht,$t,fr=P,_r=b(fr),Br=b(fr);Rt=C*re,kt=C*ae,$t=_;e:for(ot=0;ot0){Ae=re,re=ae,ae=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=re,re=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*re,kt=C*Me,$t=_;e:for(ot=0;ot0){Ae=re,re=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*_e,kt=C*Me,$t=_;e:for(ot=0;ot0){Ae=_e,_e=Me,Me=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=ae,ae=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*ae,kt=C*_e,$t=_;e:for(ot=0;ot0){Ae=ae,ae=_e,_e=Ae;break e}if(rt<0)break e;$t+=F}Rt=C*Me,kt=C*ke,$t=_;e:for(ot=0;ot0){Ae=Me,Me=ke,ke=Ae;break e}if(rt<0)break e;$t+=F}for(Rt=C*re,kt=C*ae,Ct=C*_e,Yt=C*Me,xr=C*ke,er=C*H,Ke=C*G,xt=C*X,Ht=0,$t=_,ot=0;ot0)ie--;else if(rt<0){for(Rt=C*Re,kt=C*ge,Ct=C*ie,$t=_,ot=0;ot0)for(;;){ce=_+ie*C,Ht=0;e:for(ot=0;ot0){if(--ieX){e:for(;;){for(ce=_+ge*C,Ht=0,$t=_,ot=0;ot1&&E?A(g,E[0],E[1]):A(g)}var d={\"uint32,1,0\":function(x,b){return function(g){var E=g.data,k=g.offset|0,A=g.shape,L=g.stride,_=L[0]|0,C=A[0]|0,M=L[1]|0,p=A[1]|0,P=M,T=M,F=1;C<=32?x(0,C-1,E,k,_,M,C,p,P,T,F):b(0,C-1,E,k,_,M,C,p,P,T,F)}}};function v(x,b){var g=[b,x].join(\",\"),E=d[g],k=c(x,b),A=h(x,b,k);return E(k,A)}i.exports=v},446:function(i,a,o){\"use strict\";var s=o(7640),l={};function u(c){var f=c.order,h=c.dtype,d=[f,h],v=d.join(\":\"),x=l[v];return x||(l[v]=x=s(f,h)),x(c),c}i.exports=u},9618:function(i,a,o){var s=o(7163),l=typeof Float64Array!=\"undefined\";function u(b,g){return b[0]-g[0]}function c(){var b=this.stride,g=new Array(b.length),E;for(E=0;E=0&&(M=_|0,C+=P*M,p-=M),new k(this.data,p,P,C)},A.step=function(_){var C=this.shape[0],M=this.stride[0],p=this.offset,P=0,T=Math.ceil;return typeof _==\"number\"&&(P=_|0,P<0?(p+=M*(C-1),C=T(-C/P)):C=T(C/P),M*=P),new k(this.data,C,M,p)},A.transpose=function(_){_=_===void 0?0:_|0;var C=this.shape,M=this.stride;return new k(this.data,C[_],M[_],this.offset)},A.pick=function(_){var C=[],M=[],p=this.offset;typeof _==\"number\"&&_>=0?p=p+this.stride[0]*_|0:(C.push(this.shape[0]),M.push(this.stride[0]));var P=g[C.length+1];return P(this.data,C,M,p)},function(_,C,M,p){return new k(_,C[0],M[0],p)}},2:function(b,g,E){function k(L,_,C,M,p,P){this.data=L,this.shape=[_,C],this.stride=[M,p],this.offset=P|0}var A=k.prototype;return A.dtype=b,A.dimension=2,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(A,\"order\",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),A.set=function(_,C,M){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C,M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]=M},A.get=function(_,C){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C):this.data[this.offset+this.stride[0]*_+this.stride[1]*C]},A.index=function(_,C){return this.offset+this.stride[0]*_+this.stride[1]*C},A.hi=function(_,C){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,this.stride[0],this.stride[1],this.offset)},A.lo=function(_,C){var M=this.offset,p=0,P=this.shape[0],T=this.shape[1],F=this.stride[0],q=this.stride[1];return typeof _==\"number\"&&_>=0&&(p=_|0,M+=F*p,P-=p),typeof C==\"number\"&&C>=0&&(p=C|0,M+=q*p,T-=p),new k(this.data,P,T,F,q,M)},A.step=function(_,C){var M=this.shape[0],p=this.shape[1],P=this.stride[0],T=this.stride[1],F=this.offset,q=0,V=Math.ceil;return typeof _==\"number\"&&(q=_|0,q<0?(F+=P*(M-1),M=V(-M/q)):M=V(M/q),P*=q),typeof C==\"number\"&&(q=C|0,q<0?(F+=T*(p-1),p=V(-p/q)):p=V(p/q),T*=q),new k(this.data,M,p,P,T,F)},A.transpose=function(_,C){_=_===void 0?0:_|0,C=C===void 0?1:C|0;var M=this.shape,p=this.stride;return new k(this.data,M[_],M[C],p[_],p[C],this.offset)},A.pick=function(_,C){var M=[],p=[],P=this.offset;typeof _==\"number\"&&_>=0?P=P+this.stride[0]*_|0:(M.push(this.shape[0]),p.push(this.stride[0])),typeof C==\"number\"&&C>=0?P=P+this.stride[1]*C|0:(M.push(this.shape[1]),p.push(this.stride[1]));var T=g[M.length+1];return T(this.data,M,p,P)},function(_,C,M,p){return new k(_,C[0],C[1],M[0],M[1],p)}},3:function(b,g,E){function k(L,_,C,M,p,P,T,F){this.data=L,this.shape=[_,C,M],this.stride=[p,P,T],this.offset=F|0}var A=k.prototype;return A.dtype=b,A.dimension=3,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(A,\"order\",{get:function(){var _=Math.abs(this.stride[0]),C=Math.abs(this.stride[1]),M=Math.abs(this.stride[2]);return _>C?C>M?[2,1,0]:_>M?[1,2,0]:[1,0,2]:_>M?[2,0,1]:M>C?[0,1,2]:[0,2,1]}}),A.set=function(_,C,M,p){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M,p):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]=p},A.get=function(_,C,M){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M]},A.index=function(_,C,M){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M},A.hi=function(_,C,M){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,this.stride[0],this.stride[1],this.stride[2],this.offset)},A.lo=function(_,C,M){var p=this.offset,P=0,T=this.shape[0],F=this.shape[1],q=this.shape[2],V=this.stride[0],H=this.stride[1],X=this.stride[2];return typeof _==\"number\"&&_>=0&&(P=_|0,p+=V*P,T-=P),typeof C==\"number\"&&C>=0&&(P=C|0,p+=H*P,F-=P),typeof M==\"number\"&&M>=0&&(P=M|0,p+=X*P,q-=P),new k(this.data,T,F,q,V,H,X,p)},A.step=function(_,C,M){var p=this.shape[0],P=this.shape[1],T=this.shape[2],F=this.stride[0],q=this.stride[1],V=this.stride[2],H=this.offset,X=0,G=Math.ceil;return typeof _==\"number\"&&(X=_|0,X<0?(H+=F*(p-1),p=G(-p/X)):p=G(p/X),F*=X),typeof C==\"number\"&&(X=C|0,X<0?(H+=q*(P-1),P=G(-P/X)):P=G(P/X),q*=X),typeof M==\"number\"&&(X=M|0,X<0?(H+=V*(T-1),T=G(-T/X)):T=G(T/X),V*=X),new k(this.data,p,P,T,F,q,V,H)},A.transpose=function(_,C,M){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0;var p=this.shape,P=this.stride;return new k(this.data,p[_],p[C],p[M],P[_],P[C],P[M],this.offset)},A.pick=function(_,C,M){var p=[],P=[],T=this.offset;typeof _==\"number\"&&_>=0?T=T+this.stride[0]*_|0:(p.push(this.shape[0]),P.push(this.stride[0])),typeof C==\"number\"&&C>=0?T=T+this.stride[1]*C|0:(p.push(this.shape[1]),P.push(this.stride[1])),typeof M==\"number\"&&M>=0?T=T+this.stride[2]*M|0:(p.push(this.shape[2]),P.push(this.stride[2]));var F=g[p.length+1];return F(this.data,p,P,T)},function(_,C,M,p){return new k(_,C[0],C[1],C[2],M[0],M[1],M[2],p)}},4:function(b,g,E){function k(L,_,C,M,p,P,T,F,q,V){this.data=L,this.shape=[_,C,M,p],this.stride=[P,T,F,q],this.offset=V|0}var A=k.prototype;return A.dtype=b,A.dimension=4,Object.defineProperty(A,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(A,\"order\",{get:E}),A.set=function(_,C,M,p,P){return b===\"generic\"?this.data.set(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p,P):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p]=P},A.get=function(_,C,M,p){return b===\"generic\"?this.data.get(this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p):this.data[this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p]},A.index=function(_,C,M,p){return this.offset+this.stride[0]*_+this.stride[1]*C+this.stride[2]*M+this.stride[3]*p},A.hi=function(_,C,M,p){return new k(this.data,typeof _!=\"number\"||_<0?this.shape[0]:_|0,typeof C!=\"number\"||C<0?this.shape[1]:C|0,typeof M!=\"number\"||M<0?this.shape[2]:M|0,typeof p!=\"number\"||p<0?this.shape[3]:p|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},A.lo=function(_,C,M,p){var P=this.offset,T=0,F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.stride[0],G=this.stride[1],N=this.stride[2],W=this.stride[3];return typeof _==\"number\"&&_>=0&&(T=_|0,P+=X*T,F-=T),typeof C==\"number\"&&C>=0&&(T=C|0,P+=G*T,q-=T),typeof M==\"number\"&&M>=0&&(T=M|0,P+=N*T,V-=T),typeof p==\"number\"&&p>=0&&(T=p|0,P+=W*T,H-=T),new k(this.data,F,q,V,H,X,G,N,W,P)},A.step=function(_,C,M,p){var P=this.shape[0],T=this.shape[1],F=this.shape[2],q=this.shape[3],V=this.stride[0],H=this.stride[1],X=this.stride[2],G=this.stride[3],N=this.offset,W=0,re=Math.ceil;return typeof _==\"number\"&&(W=_|0,W<0?(N+=V*(P-1),P=re(-P/W)):P=re(P/W),V*=W),typeof C==\"number\"&&(W=C|0,W<0?(N+=H*(T-1),T=re(-T/W)):T=re(T/W),H*=W),typeof M==\"number\"&&(W=M|0,W<0?(N+=X*(F-1),F=re(-F/W)):F=re(F/W),X*=W),typeof p==\"number\"&&(W=p|0,W<0?(N+=G*(q-1),q=re(-q/W)):q=re(q/W),G*=W),new k(this.data,P,T,F,q,V,H,X,G,N)},A.transpose=function(_,C,M,p){_=_===void 0?0:_|0,C=C===void 0?1:C|0,M=M===void 0?2:M|0,p=p===void 0?3:p|0;var P=this.shape,T=this.stride;return new k(this.data,P[_],P[C],P[M],P[p],T[_],T[C],T[M],T[p],this.offset)},A.pick=function(_,C,M,p){var P=[],T=[],F=this.offset;typeof _==\"number\"&&_>=0?F=F+this.stride[0]*_|0:(P.push(this.shape[0]),T.push(this.stride[0])),typeof C==\"number\"&&C>=0?F=F+this.stride[1]*C|0:(P.push(this.shape[1]),T.push(this.stride[1])),typeof M==\"number\"&&M>=0?F=F+this.stride[2]*M|0:(P.push(this.shape[2]),T.push(this.stride[2])),typeof p==\"number\"&&p>=0?F=F+this.stride[3]*p|0:(P.push(this.shape[3]),T.push(this.stride[3]));var q=g[P.length+1];return q(this.data,P,T,F)},function(_,C,M,p){return new k(_,C[0],C[1],C[2],C[3],M[0],M[1],M[2],M[3],p)}},5:function(g,E,k){function A(_,C,M,p,P,T,F,q,V,H,X,G){this.data=_,this.shape=[C,M,p,P,T],this.stride=[F,q,V,H,X],this.offset=G|0}var L=A.prototype;return L.dtype=g,L.dimension=5,Object.defineProperty(L,\"size\",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(L,\"order\",{get:k}),L.set=function(C,M,p,P,T,F){return g===\"generic\"?this.data.set(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T,F):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T]=F},L.get=function(C,M,p,P,T){return g===\"generic\"?this.data.get(this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T):this.data[this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T]},L.index=function(C,M,p,P,T){return this.offset+this.stride[0]*C+this.stride[1]*M+this.stride[2]*p+this.stride[3]*P+this.stride[4]*T},L.hi=function(C,M,p,P,T){return new A(this.data,typeof C!=\"number\"||C<0?this.shape[0]:C|0,typeof M!=\"number\"||M<0?this.shape[1]:M|0,typeof p!=\"number\"||p<0?this.shape[2]:p|0,typeof P!=\"number\"||P<0?this.shape[3]:P|0,typeof T!=\"number\"||T<0?this.shape[4]:T|0,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},L.lo=function(C,M,p,P,T){var F=this.offset,q=0,V=this.shape[0],H=this.shape[1],X=this.shape[2],G=this.shape[3],N=this.shape[4],W=this.stride[0],re=this.stride[1],ae=this.stride[2],_e=this.stride[3],Me=this.stride[4];return typeof C==\"number\"&&C>=0&&(q=C|0,F+=W*q,V-=q),typeof M==\"number\"&&M>=0&&(q=M|0,F+=re*q,H-=q),typeof p==\"number\"&&p>=0&&(q=p|0,F+=ae*q,X-=q),typeof P==\"number\"&&P>=0&&(q=P|0,F+=_e*q,G-=q),typeof T==\"number\"&&T>=0&&(q=T|0,F+=Me*q,N-=q),new A(this.data,V,H,X,G,N,W,re,ae,_e,Me,F)},L.step=function(C,M,p,P,T){var F=this.shape[0],q=this.shape[1],V=this.shape[2],H=this.shape[3],X=this.shape[4],G=this.stride[0],N=this.stride[1],W=this.stride[2],re=this.stride[3],ae=this.stride[4],_e=this.offset,Me=0,ke=Math.ceil;return typeof C==\"number\"&&(Me=C|0,Me<0?(_e+=G*(F-1),F=ke(-F/Me)):F=ke(F/Me),G*=Me),typeof M==\"number\"&&(Me=M|0,Me<0?(_e+=N*(q-1),q=ke(-q/Me)):q=ke(q/Me),N*=Me),typeof p==\"number\"&&(Me=p|0,Me<0?(_e+=W*(V-1),V=ke(-V/Me)):V=ke(V/Me),W*=Me),typeof P==\"number\"&&(Me=P|0,Me<0?(_e+=re*(H-1),H=ke(-H/Me)):H=ke(H/Me),re*=Me),typeof T==\"number\"&&(Me=T|0,Me<0?(_e+=ae*(X-1),X=ke(-X/Me)):X=ke(X/Me),ae*=Me),new A(this.data,F,q,V,H,X,G,N,W,re,ae,_e)},L.transpose=function(C,M,p,P,T){C=C===void 0?0:C|0,M=M===void 0?1:M|0,p=p===void 0?2:p|0,P=P===void 0?3:P|0,T=T===void 0?4:T|0;var F=this.shape,q=this.stride;return new A(this.data,F[C],F[M],F[p],F[P],F[T],q[C],q[M],q[p],q[P],q[T],this.offset)},L.pick=function(C,M,p,P,T){var F=[],q=[],V=this.offset;typeof C==\"number\"&&C>=0?V=V+this.stride[0]*C|0:(F.push(this.shape[0]),q.push(this.stride[0])),typeof M==\"number\"&&M>=0?V=V+this.stride[1]*M|0:(F.push(this.shape[1]),q.push(this.stride[1])),typeof p==\"number\"&&p>=0?V=V+this.stride[2]*p|0:(F.push(this.shape[2]),q.push(this.stride[2])),typeof P==\"number\"&&P>=0?V=V+this.stride[3]*P|0:(F.push(this.shape[3]),q.push(this.stride[3])),typeof T==\"number\"&&T>=0?V=V+this.stride[4]*T|0:(F.push(this.shape[4]),q.push(this.stride[4]));var H=E[F.length+1];return H(this.data,F,q,V)},function(C,M,p,P){return new A(C,M[0],M[1],M[2],M[3],M[4],p[0],p[1],p[2],p[3],p[4],P)}}};function h(b,g){var E=g===-1?\"T\":String(g),k=f[E];return g===-1?k(b):g===0?k(b,v[b][0]):k(b,v[b],c)}function d(b){if(s(b))return\"buffer\";if(l)switch(Object.prototype.toString.call(b)){case\"[object Float64Array]\":return\"float64\";case\"[object Float32Array]\":return\"float32\";case\"[object Int8Array]\":return\"int8\";case\"[object Int16Array]\":return\"int16\";case\"[object Int32Array]\":return\"int32\";case\"[object Uint8ClampedArray]\":return\"uint8_clamped\";case\"[object Uint8Array]\":return\"uint8\";case\"[object Uint16Array]\":return\"uint16\";case\"[object Uint32Array]\":return\"uint32\";case\"[object BigInt64Array]\":return\"bigint64\";case\"[object BigUint64Array]\":return\"biguint64\"}return Array.isArray(b)?\"array\":\"generic\"}var v={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};function x(b,g,E,k){if(b===void 0){var p=v.array[0];return p([])}else typeof b==\"number\"&&(b=[b]);g===void 0&&(g=[b.length]);var A=g.length;if(E===void 0){E=new Array(A);for(var L=A-1,_=1;L>=0;--L)E[L]=_,_*=g[L]}if(k===void 0){k=0;for(var L=0;L>>0;i.exports=c;function c(f,h){if(isNaN(f)||isNaN(h))return NaN;if(f===h)return f;if(f===0)return h<0?-l:l;var d=s.hi(f),v=s.lo(f);return h>f==f>0?v===u?(d+=1,v=0):v+=1:v===0?(v=u,d-=1):v-=1,s.pack(v,d)}},8406:function(i,a){var o=1e-6,s=1e-6;a.vertexNormals=function(l,u,c){for(var f=u.length,h=new Array(f),d=c===void 0?o:c,v=0;vd)for(var F=h[g],q=1/Math.sqrt(M*P),T=0;T<3;++T){var V=(T+1)%3,H=(T+2)%3;F[T]+=q*(p[V]*C[H]-p[H]*C[V])}}for(var v=0;vd)for(var q=1/Math.sqrt(X),T=0;T<3;++T)F[T]*=q;else for(var T=0;T<3;++T)F[T]=0}return h},a.faceNormals=function(l,u,c){for(var f=l.length,h=new Array(f),d=c===void 0?s:c,v=0;vd?L=1/Math.sqrt(L):L=0;for(var g=0;g<3;++g)A[g]*=L;h[v]=A}return h}},4081:function(i){\"use strict\";i.exports=a;function a(o,s,l,u,c,f,h,d,v,x){var b=s+f+x;if(g>0){var g=Math.sqrt(b+1);o[0]=.5*(h-v)/g,o[1]=.5*(d-u)/g,o[2]=.5*(l-f)/g,o[3]=.5*g}else{var E=Math.max(s,f,x),g=Math.sqrt(2*E-b+1);s>=E?(o[0]=.5*g,o[1]=.5*(c+l)/g,o[2]=.5*(d+u)/g,o[3]=.5*(h-v)/g):f>=E?(o[0]=.5*(l+c)/g,o[1]=.5*g,o[2]=.5*(v+h)/g,o[3]=.5*(d-u)/g):(o[0]=.5*(u+d)/g,o[1]=.5*(h+v)/g,o[2]=.5*g,o[3]=.5*(l-c)/g)}return o}},9977:function(i,a,o){\"use strict\";i.exports=g;var s=o(9215),l=o(6582),u=o(7399),c=o(7608),f=o(4081);function h(E,k,A){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2))}function d(E,k,A,L){return Math.sqrt(Math.pow(E,2)+Math.pow(k,2)+Math.pow(A,2)+Math.pow(L,2))}function v(E,k){var A=k[0],L=k[1],_=k[2],C=k[3],M=d(A,L,_,C);M>1e-6?(E[0]=A/M,E[1]=L/M,E[2]=_/M,E[3]=C/M):(E[0]=E[1]=E[2]=0,E[3]=1)}function x(E,k,A){this.radius=s([A]),this.center=s(k),this.rotation=s(E),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var b=x.prototype;b.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},b.recalcMatrix=function(E){this.radius.curve(E),this.center.curve(E),this.rotation.curve(E);var k=this.computedRotation;v(k,k);var A=this.computedMatrix;u(A,k);var L=this.computedCenter,_=this.computedEye,C=this.computedUp,M=Math.exp(this.computedRadius[0]);_[0]=L[0]+M*A[2],_[1]=L[1]+M*A[6],_[2]=L[2]+M*A[10],C[0]=A[1],C[1]=A[5],C[2]=A[9];for(var p=0;p<3;++p){for(var P=0,T=0;T<3;++T)P+=A[p+4*T]*_[T];A[12+p]=-P}},b.getMatrix=function(E,k){this.recalcMatrix(E);var A=this.computedMatrix;if(k){for(var L=0;L<16;++L)k[L]=A[L];return k}return A},b.idle=function(E){this.center.idle(E),this.radius.idle(E),this.rotation.idle(E)},b.flush=function(E){this.center.flush(E),this.radius.flush(E),this.rotation.flush(E)},b.pan=function(E,k,A,L){k=k||0,A=A||0,L=L||0,this.recalcMatrix(E);var _=this.computedMatrix,C=_[1],M=_[5],p=_[9],P=h(C,M,p);C/=P,M/=P,p/=P;var T=_[0],F=_[4],q=_[8],V=T*C+F*M+q*p;T-=C*V,F-=M*V,q-=p*V;var H=h(T,F,q);T/=H,F/=H,q/=H;var X=_[2],G=_[6],N=_[10],W=X*C+G*M+N*p,re=X*T+G*F+N*q;X-=W*C+re*T,G-=W*M+re*F,N-=W*p+re*q;var ae=h(X,G,N);X/=ae,G/=ae,N/=ae;var _e=T*k+C*A,Me=F*k+M*A,ke=q*k+p*A;this.center.move(E,_e,Me,ke);var ge=Math.exp(this.computedRadius[0]);ge=Math.max(1e-4,ge+L),this.radius.set(E,Math.log(ge))},b.rotate=function(E,k,A,L){this.recalcMatrix(E),k=k||0,A=A||0;var _=this.computedMatrix,C=_[0],M=_[4],p=_[8],P=_[1],T=_[5],F=_[9],q=_[2],V=_[6],H=_[10],X=k*C+A*P,G=k*M+A*T,N=k*p+A*F,W=-(V*N-H*G),re=-(H*X-q*N),ae=-(q*G-V*X),_e=Math.sqrt(Math.max(0,1-Math.pow(W,2)-Math.pow(re,2)-Math.pow(ae,2))),Me=d(W,re,ae,_e);Me>1e-6?(W/=Me,re/=Me,ae/=Me,_e/=Me):(W=re=ae=0,_e=1);var ke=this.computedRotation,ge=ke[0],ie=ke[1],Te=ke[2],Ee=ke[3],Ae=ge*_e+Ee*W+ie*ae-Te*re,ze=ie*_e+Ee*re+Te*W-ge*ae,Ce=Te*_e+Ee*ae+ge*re-ie*W,me=Ee*_e-ge*W-ie*re-Te*ae;if(L){W=q,re=V,ae=H;var Re=Math.sin(L)/h(W,re,ae);W*=Re,re*=Re,ae*=Re,_e=Math.cos(k),Ae=Ae*_e+me*W+ze*ae-Ce*re,ze=ze*_e+me*re+Ce*W-Ae*ae,Ce=Ce*_e+me*ae+Ae*re-ze*W,me=me*_e-Ae*W-ze*re-Ce*ae}var ce=d(Ae,ze,Ce,me);ce>1e-6?(Ae/=ce,ze/=ce,Ce/=ce,me/=ce):(Ae=ze=Ce=0,me=1),this.rotation.set(E,Ae,ze,Ce,me)},b.lookAt=function(E,k,A,L){this.recalcMatrix(E),A=A||this.computedCenter,k=k||this.computedEye,L=L||this.computedUp;var _=this.computedMatrix;l(_,k,A,L);var C=this.computedRotation;f(C,_[0],_[1],_[2],_[4],_[5],_[6],_[8],_[9],_[10]),v(C,C),this.rotation.set(E,C[0],C[1],C[2],C[3]);for(var M=0,p=0;p<3;++p)M+=Math.pow(A[p]-k[p],2);this.radius.set(E,.5*Math.log(Math.max(M,1e-6))),this.center.set(E,A[0],A[1],A[2])},b.translate=function(E,k,A,L){this.center.move(E,k||0,A||0,L||0)},b.setMatrix=function(E,k){var A=this.computedRotation;f(A,k[0],k[1],k[2],k[4],k[5],k[6],k[8],k[9],k[10]),v(A,A),this.rotation.set(E,A[0],A[1],A[2],A[3]);var L=this.computedMatrix;c(L,k);var _=L[15];if(Math.abs(_)>1e-6){var C=L[12]/_,M=L[13]/_,p=L[14]/_;this.recalcMatrix(E);var P=Math.exp(this.computedRadius[0]);this.center.set(E,C-L[2]*P,M-L[6]*P,p-L[10]*P),this.radius.idle(E)}else this.center.idle(E),this.radius.idle(E)},b.setDistance=function(E,k){k>0&&this.radius.set(E,Math.log(k))},b.setDistanceLimits=function(E,k){E>0?E=Math.log(E):E=-1/0,k>0?k=Math.log(k):k=1/0,k=Math.max(k,E),this.radius.bounds[0][0]=E,this.radius.bounds[1][0]=k},b.getDistanceLimits=function(E){var k=this.radius.bounds;return E?(E[0]=Math.exp(k[0][0]),E[1]=Math.exp(k[1][0]),E):[Math.exp(k[0][0]),Math.exp(k[1][0])]},b.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},b.fromJSON=function(E){var k=this.lastT(),A=E.center;A&&this.center.set(k,A[0],A[1],A[2]);var L=E.rotation;L&&this.rotation.set(k,L[0],L[1],L[2],L[3]);var _=E.distance;_&&_>0&&this.radius.set(k,Math.log(_)),this.setDistanceLimits(E.zoomMin,E.zoomMax)};function g(E){E=E||{};var k=E.center||[0,0,0],A=E.rotation||[0,0,0,1],L=E.radius||1;k=[].slice.call(k,0,3),A=[].slice.call(A,0,4),v(A,A);var _=new x(A,k,Math.log(L));return _.setDistanceLimits(E.zoomMin,E.zoomMax),(\"eye\"in E||\"up\"in E)&&_.lookAt(0,E.eye,E.center,E.up),_}},1371:function(i,a,o){\"use strict\";var s=o(3233);i.exports=function(u,c,f){return f=typeof f!=\"undefined\"?f+\"\":\" \",s(f,c)+u}},3202:function(i){i.exports=function(o,s){s||(s=[0,\"\"]),o=String(o);var l=parseFloat(o,10);return s[0]=l,s[1]=o.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",s}},3088:function(i,a,o){\"use strict\";i.exports=l;var s=o(3140);function l(u,c){for(var f=c.length|0,h=u.length,d=[new Array(f),new Array(f)],v=0;v0){F=d[H][P][0],V=H;break}q=F[V^1];for(var X=0;X<2;++X)for(var G=d[X][P],N=0;N0&&(F=W,q=re,V=X)}return T||F&&g(F,V),q}function k(p,P){var T=d[P][p][0],F=[p];g(T,P);for(var q=T[P^1],V=P;;){for(;q!==p;)F.push(q),q=E(F[F.length-2],q,!1);if(d[0][p].length+d[1][p].length===0)break;var H=F[F.length-1],X=p,G=F[1],N=E(H,X,!0);if(s(c[H],c[X],c[G],c[N])<0)break;F.push(p),q=E(H,X)}return F}function A(p,P){return P[1]===P[P.length-1]}for(var v=0;v0;){var C=d[0][v].length,M=k(v,L);A(_,M)?_.push.apply(_,M):(_.length>0&&b.push(_),_=M)}_.length>0&&b.push(_)}return b}},5609:function(i,a,o){\"use strict\";i.exports=l;var s=o(3134);function l(u,c){for(var f=s(u,c.length),h=new Array(c.length),d=new Array(c.length),v=[],x=0;x0;){var g=v.pop();h[g]=!1;for(var E=f[g],x=0;x0}C=C.filter(M);for(var p=C.length,P=new Array(p),T=new Array(p),_=0;_0;){var ce=Ce.pop(),Ge=Me[ce];h(Ge,function(ot,Rt){return ot-Rt});var nt=Ge.length,ct=me[ce],qt;if(ct===0){var G=C[ce];qt=[G]}for(var _=0;_=0)&&(me[rt]=ct^1,Ce.push(rt),ct===0)){var G=C[rt];ze(G)||(G.reverse(),qt.push(G))}}ct===0&&Re.push(qt)}return Re}},5085:function(i,a,o){i.exports=E;var s=o(3250)[3],l=o(4209),u=o(3352),c=o(2478);function f(){return!0}function h(k){return function(A,L){var _=k[A];return _?!!_.queryPoint(L,f):!1}}function d(k){for(var A={},L=0;L0&&A[_]===L[0])C=k[_-1];else return 1;for(var M=1;C;){var p=C.key,P=s(L,p[0],p[1]);if(p[0][0]0)M=-1,C=C.right;else return 0;else if(P>0)C=C.left;else if(P<0)M=1,C=C.right;else return 0}return M}}function x(k){return 1}function b(k){return function(L){return k(L[0],L[1])?0:1}}function g(k,A){return function(_){return k(_[0],_[1])?0:A(_)}}function E(k){for(var A=k.length,L=[],_=[],C=0,M=0;M=x?(p=1,T=x+2*E+A):(p=-E/x,T=E*p+A)):(p=0,k>=0?(P=0,T=A):-k>=g?(P=1,T=g+2*k+A):(P=-k/g,T=k*P+A));else if(P<0)P=0,E>=0?(p=0,T=A):-E>=x?(p=1,T=x+2*E+A):(p=-E/x,T=E*p+A);else{var F=1/M;p*=F,P*=F,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A}else{var q,V,H,X;p<0?(q=b+E,V=g+k,V>q?(H=V-q,X=x-2*b+g,H>=X?(p=1,P=0,T=x+2*E+A):(p=H/X,P=1-p,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)):(p=0,V<=0?(P=1,T=g+2*k+A):k>=0?(P=0,T=A):(P=-k/g,T=k*P+A))):P<0?(q=b+k,V=x+E,V>q?(H=V-q,X=x-2*b+g,H>=X?(P=1,p=0,T=g+2*k+A):(P=H/X,p=1-P,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)):(P=0,V<=0?(p=1,T=x+2*E+A):E>=0?(p=0,T=A):(p=-E/x,T=E*p+A))):(H=g+k-b-E,H<=0?(p=0,P=1,T=g+2*k+A):(X=x-2*b+g,H>=X?(p=1,P=0,T=x+2*E+A):(p=H/X,P=1-p,T=p*(x*p+b*P+2*E)+P*(b*p+g*P+2*k)+A)))}for(var G=1-p-P,v=0;v0){var g=f[d-1];if(s(x,g)===0&&u(g)!==b){d-=1;continue}}f[d++]=x}}return f.length=d,f}},3233:function(i){\"use strict\";var a=\"\",o;i.exports=s;function s(l,u){if(typeof l!=\"string\")throw new TypeError(\"expected a string\");if(u===1)return l;if(u===2)return l+l;var c=l.length*u;if(o!==l||typeof o==\"undefined\")o=l,a=\"\";else if(a.length>=c)return a.substr(0,c);for(;c>a.length&&u>1;)u&1&&(a+=l),u>>=1,l+=l;return a+=l,a=a.substr(0,c),a}},3025:function(i,a,o){i.exports=o.g.performance&&o.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(i){\"use strict\";i.exports=a;function a(o){for(var s=o.length,l=o[o.length-1],u=s,c=s-2;c>=0;--c){var f=l,h=o[c];l=f+h;var d=l-f,v=h-d;v&&(o[--u]=l,l=v)}for(var x=0,c=u;c0){if(V<=0)return H;X=q+V}else if(q<0){if(V>=0)return H;X=-(q+V)}else return H;var G=d*X;return H>=G||H<=-G?H:k(P,T,F)},function(P,T,F,q){var V=P[0]-q[0],H=T[0]-q[0],X=F[0]-q[0],G=P[1]-q[1],N=T[1]-q[1],W=F[1]-q[1],re=P[2]-q[2],ae=T[2]-q[2],_e=F[2]-q[2],Me=H*W,ke=X*N,ge=X*G,ie=V*W,Te=V*N,Ee=H*G,Ae=re*(Me-ke)+ae*(ge-ie)+_e*(Te-Ee),ze=(Math.abs(Me)+Math.abs(ke))*Math.abs(re)+(Math.abs(ge)+Math.abs(ie))*Math.abs(ae)+(Math.abs(Te)+Math.abs(Ee))*Math.abs(_e),Ce=v*ze;return Ae>Ce||-Ae>Ce?Ae:A(P,T,F,q)}];function _(p){var P=L[p.length];return P||(P=L[p.length]=E(p.length)),P.apply(void 0,p)}function C(p,P,T,F,q,V,H){return function(G,N,W,re,ae){switch(arguments.length){case 0:case 1:return 0;case 2:return F(G,N);case 3:return q(G,N,W);case 4:return V(G,N,W,re);case 5:return H(G,N,W,re,ae)}for(var _e=new Array(arguments.length),Me=0;Me0&&x>0||v<0&&x<0)return!1;var b=s(h,c,f),g=s(d,c,f);return b>0&&g>0||b<0&&g<0?!1:v===0&&x===0&&b===0&&g===0?l(c,f,h,d):!0}},8545:function(i){\"use strict\";i.exports=o;function a(s,l){var u=s+l,c=u-s,f=u-c,h=l-c,d=s-f,v=d+h;return v?[v,u]:[u]}function o(s,l){var u=s.length|0,c=l.length|0;if(u===1&&c===1)return a(s[0],-l[0]);var f=u+c,h=new Array(f),d=0,v=0,x=0,b=Math.abs,g=s[v],E=b(g),k=-l[x],A=b(k),L,_;E=c?(L=g,v+=1,v=c?(L=g,v+=1,v>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,k=f[2*E+1];if(k===x)return E;x>1,X=d(P[H],T);X<=0?(X===0&&(V=H),F=H+1):X>0&&(q=H-1)}return V}s=g;function E(P,T){for(var F=new Array(P.length),q=0,V=F.length;q=P.length||d(P[Me],H)!==0););}return F}s=E;function k(P,T){if(!T)return E(b(L(P,0)),P,0);for(var F=new Array(T),q=0;q>>W&1&&N.push(V[W]);T.push(N)}return x(T)}s=A;function L(P,T){if(T<0)return[];for(var F=[],q=(1<0)-(u<0)},a.abs=function(u){var c=u>>o-1;return(u^c)-c},a.min=function(u,c){return c^(u^c)&-(u65535)<<4,u>>>=c,f=(u>255)<<3,u>>>=f,c|=f,f=(u>15)<<2,u>>>=f,c|=f,f=(u>3)<<1,u>>>=f,c|=f,c|u>>1},a.log10=function(u){return u>=1e9?9:u>=1e8?8:u>=1e7?7:u>=1e6?6:u>=1e5?5:u>=1e4?4:u>=1e3?3:u>=100?2:u>=10?1:0},a.popCount=function(u){return u=u-(u>>>1&1431655765),u=(u&858993459)+(u>>>2&858993459),(u+(u>>>4)&252645135)*16843009>>>24};function s(u){var c=32;return u&=-u,u&&c--,u&65535&&(c-=16),u&16711935&&(c-=8),u&252645135&&(c-=4),u&858993459&&(c-=2),u&1431655765&&(c-=1),c}a.countTrailingZeros=s,a.nextPow2=function(u){return u+=u===0,--u,u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u+1},a.prevPow2=function(u){return u|=u>>>1,u|=u>>>2,u|=u>>>4,u|=u>>>8,u|=u>>>16,u-(u>>>1)},a.parity=function(u){return u^=u>>>16,u^=u>>>8,u^=u>>>4,u&=15,27030>>>u&1};var l=new Array(256);(function(u){for(var c=0;c<256;++c){var f=c,h=c,d=7;for(f>>>=1;f;f>>>=1)h<<=1,h|=f&1,--d;u[c]=h<>>8&255]<<16|l[u>>>16&255]<<8|l[u>>>24&255]},a.interleave2=function(u,c){return u&=65535,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,c&=65535,c=(c|c<<8)&16711935,c=(c|c<<4)&252645135,c=(c|c<<2)&858993459,c=(c|c<<1)&1431655765,u|c<<1},a.deinterleave2=function(u,c){return u=u>>>c&1431655765,u=(u|u>>>1)&858993459,u=(u|u>>>2)&252645135,u=(u|u>>>4)&16711935,u=(u|u>>>16)&65535,u<<16>>16},a.interleave3=function(u,c,f){return u&=1023,u=(u|u<<16)&4278190335,u=(u|u<<8)&251719695,u=(u|u<<4)&3272356035,u=(u|u<<2)&1227133513,c&=1023,c=(c|c<<16)&4278190335,c=(c|c<<8)&251719695,c=(c|c<<4)&3272356035,c=(c|c<<2)&1227133513,u|=c<<1,f&=1023,f=(f|f<<16)&4278190335,f=(f|f<<8)&251719695,f=(f|f<<4)&3272356035,f=(f|f<<2)&1227133513,u|f<<2},a.deinterleave3=function(u,c){return u=u>>>c&1227133513,u=(u|u>>>2)&3272356035,u=(u|u>>>4)&251719695,u=(u|u>>>8)&4278190335,u=(u|u>>>16)&1023,u<<22>>22},a.nextCombination=function(u){var c=u|u-1;return c+1|(~c&-~c)-1>>>s(u)+1}},2014:function(i,a,o){\"use strict\";\"use restrict\";var s=o(3105),l=o(4623);function u(p){for(var P=0,T=Math.max,F=0,q=p.length;F>1,H=h(p[V],P);H<=0?(H===0&&(q=V),T=V+1):H>0&&(F=V-1)}return q}a.findCell=b;function g(p,P){for(var T=new Array(p.length),F=0,q=T.length;F=p.length||h(p[_e],V)!==0););}return T}a.incidence=g;function E(p,P){if(!P)return g(x(A(p,0)),p,0);for(var T=new Array(P),F=0;F>>N&1&&G.push(q[N]);P.push(G)}return v(P)}a.explode=k;function A(p,P){if(P<0)return[];for(var T=[],F=(1<>1:(ie>>1)-1}function F(ie){for(var Te=P(ie);;){var Ee=Te,Ae=2*ie+1,ze=2*(ie+1),Ce=ie;if(Ae0;){var Ee=T(ie);if(Ee>=0){var Ae=P(Ee);if(Te0){var ie=G[0];return p(0,re-1),re-=1,F(0),ie}return-1}function H(ie,Te){var Ee=G[ie];return E[Ee]===Te?ie:(E[Ee]=-1/0,q(ie),V(),E[Ee]=Te,re+=1,q(re-1))}function X(ie){if(!k[ie]){k[ie]=!0;var Te=b[ie],Ee=g[ie];b[Ee]>=0&&(b[Ee]=Te),g[Te]>=0&&(g[Te]=Ee),N[Te]>=0&&H(N[Te],M(Te)),N[Ee]>=0&&H(N[Ee],M(Ee))}}for(var G=[],N=new Array(v),A=0;A>1;A>=0;--A)F(A);for(;;){var ae=V();if(ae<0||E[ae]>d)break;X(ae)}for(var _e=[],A=0;A=0&&Ee>=0&&Te!==Ee){var Ae=N[Te],ze=N[Ee];Ae!==ze&&ge.push([Ae,ze])}}),l.unique(l.normalize(ge)),{positions:_e,edges:ge}}},1303:function(i,a,o){\"use strict\";i.exports=u;var s=o(3250);function l(c,f){var h,d;if(f[0][0]f[1][0])h=f[1],d=f[0];else{var v=Math.min(c[0][1],c[1][1]),x=Math.max(c[0][1],c[1][1]),b=Math.min(f[0][1],f[1][1]),g=Math.max(f[0][1],f[1][1]);return xg?v-g:x-g}var E,k;c[0][1]f[1][0])h=f[1],d=f[0];else return l(f,c);var v,x;if(c[0][0]c[1][0])v=c[1],x=c[0];else return-l(c,f);var b=s(h,d,x),g=s(h,d,v);if(b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;if(b=s(x,v,d),g=s(x,v,h),b<0){if(g<=0)return b}else if(b>0){if(g>=0)return b}else if(g)return g;return d[0]-x[0]}},4209:function(i,a,o){\"use strict\";i.exports=g;var s=o(2478),l=o(3840),u=o(3250),c=o(1303);function f(E,k,A){this.slabs=E,this.coordinates=k,this.horizontal=A}var h=f.prototype;function d(E,k){return E.y-k}function v(E,k){for(var A=null;E;){var L=E.key,_,C;L[0][0]0)if(k[0]!==L[1][0])A=E,E=E.right;else{var p=v(E.right,k);if(p)return p;E=E.left}else{if(k[0]!==L[1][0])return E;var p=v(E.right,k);if(p)return p;E=E.left}}return A}h.castUp=function(E){var k=s.le(this.coordinates,E[0]);if(k<0)return-1;var A=this.slabs[k],L=v(this.slabs[k],E),_=-1;if(L&&(_=L.value),this.coordinates[k]===E[0]){var C=null;if(L&&(C=L.key),k>0){var M=v(this.slabs[k-1],E);M&&(C?c(M.key,C)>0&&(C=M.key,_=M.value):(_=M.value,C=M.key))}var p=this.horizontal[k];if(p.length>0){var P=s.ge(p,E[1],d);if(P=p.length)return _;T=p[P]}}if(T.start)if(C){var F=u(C[0],C[1],[E[0],T.y]);C[0][0]>C[1][0]&&(F=-F),F>0&&(_=T.index)}else _=T.index;else T.y!==E[1]&&(_=T.index)}}}return _};function x(E,k,A,L){this.y=E,this.index=k,this.start=A,this.closed=L}function b(E,k,A,L){this.x=E,this.segment=k,this.create=A,this.index=L}function g(E){for(var k=E.length,A=2*k,L=new Array(A),_=0;_1&&(k=1);for(var A=1-k,L=v.length,_=new Array(L),C=0;C0||E>0&&_<0){var C=c(k,_,A,E);b.push(C),g.push(C.slice())}_<0?g.push(A.slice()):_>0?b.push(A.slice()):(b.push(A.slice()),g.push(A.slice())),E=_}return{positive:b,negative:g}}function h(v,x){for(var b=[],g=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A0||g>0&&L<0)&&b.push(c(E,L,k,g)),L>=0&&b.push(k.slice()),g=L}return b}function d(v,x){for(var b=[],g=u(v[v.length-1],x),E=v[v.length-1],k=v[0],A=0;A0||g>0&&L<0)&&b.push(c(E,L,k,g)),L<=0&&b.push(k.slice()),g=L}return b}},3387:function(i,a,o){var s;(function(){\"use strict\";var l={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\\x25]+/,modulo:/^\\x25{2}/,placeholder:/^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\\d]*)/i,key_access:/^\\.([a-z_][a-z_\\d]*)/i,index_access:/^\\[(\\d+)\\]/,sign:/^[+-]/};function u(v){return f(d(v),arguments)}function c(v,x){return u.apply(null,[v].concat(x||[]))}function f(v,x){var b=1,g=v.length,E,k=\"\",A,L,_,C,M,p,P,T;for(A=0;A=0),_.type){case\"b\":E=parseInt(E,10).toString(2);break;case\"c\":E=String.fromCharCode(parseInt(E,10));break;case\"d\":case\"i\":E=parseInt(E,10);break;case\"j\":E=JSON.stringify(E,null,_.width?parseInt(_.width):0);break;case\"e\":E=_.precision?parseFloat(E).toExponential(_.precision):parseFloat(E).toExponential();break;case\"f\":E=_.precision?parseFloat(E).toFixed(_.precision):parseFloat(E);break;case\"g\":E=_.precision?String(Number(E.toPrecision(_.precision))):parseFloat(E);break;case\"o\":E=(parseInt(E,10)>>>0).toString(8);break;case\"s\":E=String(E),E=_.precision?E.substring(0,_.precision):E;break;case\"t\":E=String(!!E),E=_.precision?E.substring(0,_.precision):E;break;case\"T\":E=Object.prototype.toString.call(E).slice(8,-1).toLowerCase(),E=_.precision?E.substring(0,_.precision):E;break;case\"u\":E=parseInt(E,10)>>>0;break;case\"v\":E=E.valueOf(),E=_.precision?E.substring(0,_.precision):E;break;case\"x\":E=(parseInt(E,10)>>>0).toString(16);break;case\"X\":E=(parseInt(E,10)>>>0).toString(16).toUpperCase();break}l.json.test(_.type)?k+=E:(l.number.test(_.type)&&(!P||_.sign)?(T=P?\"+\":\"-\",E=E.toString().replace(l.sign,\"\")):T=\"\",M=_.pad_char?_.pad_char===\"0\"?\"0\":_.pad_char.charAt(1):\" \",p=_.width-(T+E).length,C=_.width&&p>0?M.repeat(p):\"\",k+=_.align?T+E+C:M===\"0\"?T+C+E:C+T+E)}return k}var h=Object.create(null);function d(v){if(h[v])return h[v];for(var x=v,b,g=[],E=0;x;){if((b=l.text.exec(x))!==null)g.push(b[0]);else if((b=l.modulo.exec(x))!==null)g.push(\"%\");else if((b=l.placeholder.exec(x))!==null){if(b[2]){E|=1;var k=[],A=b[2],L=[];if((L=l.key.exec(A))!==null)for(k.push(L[1]);(A=A.substring(L[0].length))!==\"\";)if((L=l.key_access.exec(A))!==null)k.push(L[1]);else if((L=l.index_access.exec(A))!==null)k.push(L[1]);else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");else throw new SyntaxError(\"[sprintf] failed to parse named argument key\");b[2]=k}else E|=2;if(E===3)throw new Error(\"[sprintf] mixing positional and named placeholders is not (yet) supported\");g.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError(\"[sprintf] unexpected placeholder\");x=x.substring(b[0].length)}return h[v]=g}a.sprintf=u,a.vsprintf=c,typeof window!=\"undefined\"&&(window.sprintf=u,window.vsprintf=c,s=function(){return{sprintf:u,vsprintf:c}}.call(a,o,a,i),s!==void 0&&(i.exports=s))})()},3711:function(i,a,o){\"use strict\";i.exports=d;var s=o(2640),l=o(781),u={\"2d\":function(v,x,b){var g=v({order:x,scalarArguments:3,getters:b===\"generic\"?[0]:void 0,phase:function(k,A,L,_){return k>_|0},vertex:function(k,A,L,_,C,M,p,P,T,F,q,V,H){var X=(p<<0)+(P<<1)+(T<<2)+(F<<3)|0;if(!(X===0||X===15))switch(X){case 0:q.push([k-.5,A-.5]);break;case 1:q.push([k-.25-.25*(_+L-2*H)/(L-_),A-.25-.25*(C+L-2*H)/(L-C)]);break;case 2:q.push([k-.75-.25*(-_-L+2*H)/(_-L),A-.25-.25*(M+_-2*H)/(_-M)]);break;case 3:q.push([k-.5,A-.5-.5*(C+L+M+_-4*H)/(L-C+_-M)]);break;case 4:q.push([k-.25-.25*(M+C-2*H)/(C-M),A-.75-.25*(-C-L+2*H)/(C-L)]);break;case 5:q.push([k-.5-.5*(_+L+M+C-4*H)/(L-_+C-M),A-.5]);break;case 6:q.push([k-.5-.25*(-_-L+M+C)/(_-L+C-M),A-.5-.25*(-C-L+M+_)/(C-L+_-M)]);break;case 7:q.push([k-.75-.25*(M+C-2*H)/(C-M),A-.75-.25*(M+_-2*H)/(_-M)]);break;case 8:q.push([k-.75-.25*(-M-C+2*H)/(M-C),A-.75-.25*(-M-_+2*H)/(M-_)]);break;case 9:q.push([k-.5-.25*(_+L+-M-C)/(L-_+M-C),A-.5-.25*(C+L+-M-_)/(L-C+M-_)]);break;case 10:q.push([k-.5-.5*(-_-L+-M-C+4*H)/(_-L+M-C),A-.5]);break;case 11:q.push([k-.25-.25*(-M-C+2*H)/(M-C),A-.75-.25*(C+L-2*H)/(L-C)]);break;case 12:q.push([k-.5,A-.5-.5*(-C-L+-M-_+4*H)/(C-L+M-_)]);break;case 13:q.push([k-.75-.25*(_+L-2*H)/(L-_),A-.25-.25*(-M-_+2*H)/(M-_)]);break;case 14:q.push([k-.25-.25*(-_-L+2*H)/(_-L),A-.25-.25*(-C-L+2*H)/(C-L)]);break;case 15:q.push([k-.5,A-.5]);break}},cell:function(k,A,L,_,C,M,p,P,T){C?P.push([k,A]):P.push([A,k])}});return function(E,k){var A=[],L=[];return g(E,A,L,k),{positions:A,cells:L}}}};function c(v,x){var b=v.length+\"d\",g=u[b];if(g)return g(s,v,x)}function f(v,x){for(var b=l(v,x),g=b.length,E=new Array(g),k=new Array(g),A=0;AMath.max(_,C)?M[2]=1:_>Math.max(L,C)?M[0]=1:M[1]=1;for(var p=0,P=0,T=0;T<3;++T)p+=A[T]*A[T],P+=M[T]*A[T];for(var T=0;T<3;++T)M[T]-=P/p*A[T];return f(M,M),M}function b(A,L,_,C,M,p,P,T){this.center=s(_),this.up=s(C),this.right=s(M),this.radius=s([p]),this.angle=s([P,T]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(A,L),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var F=0;F<16;++F)this.computedMatrix[F]=.5;this.recalcMatrix(0)}var g=b.prototype;g.setDistanceLimits=function(A,L){A>0?A=Math.log(A):A=-1/0,L>0?L=Math.log(L):L=1/0,L=Math.max(L,A),this.radius.bounds[0][0]=A,this.radius.bounds[1][0]=L},g.getDistanceLimits=function(A){var L=this.radius.bounds[0];return A?(A[0]=Math.exp(L[0][0]),A[1]=Math.exp(L[1][0]),A):[Math.exp(L[0][0]),Math.exp(L[1][0])]},g.recalcMatrix=function(A){this.center.curve(A),this.up.curve(A),this.right.curve(A),this.radius.curve(A),this.angle.curve(A);for(var L=this.computedUp,_=this.computedRight,C=0,M=0,p=0;p<3;++p)M+=L[p]*_[p],C+=L[p]*L[p];for(var P=Math.sqrt(C),T=0,p=0;p<3;++p)_[p]-=L[p]*M/C,T+=_[p]*_[p],L[p]/=P;for(var F=Math.sqrt(T),p=0;p<3;++p)_[p]/=F;var q=this.computedToward;c(q,L,_),f(q,q);for(var V=Math.exp(this.computedRadius[0]),H=this.computedAngle[0],X=this.computedAngle[1],G=Math.cos(H),N=Math.sin(H),W=Math.cos(X),re=Math.sin(X),ae=this.computedCenter,_e=G*W,Me=N*W,ke=re,ge=-G*re,ie=-N*re,Te=W,Ee=this.computedEye,Ae=this.computedMatrix,p=0;p<3;++p){var ze=_e*_[p]+Me*q[p]+ke*L[p];Ae[4*p+1]=ge*_[p]+ie*q[p]+Te*L[p],Ae[4*p+2]=ze,Ae[4*p+3]=0}var Ce=Ae[1],me=Ae[5],Re=Ae[9],ce=Ae[2],Ge=Ae[6],nt=Ae[10],ct=me*nt-Re*Ge,qt=Re*ce-Ce*nt,rt=Ce*Ge-me*ce,ot=d(ct,qt,rt);ct/=ot,qt/=ot,rt/=ot,Ae[0]=ct,Ae[4]=qt,Ae[8]=rt;for(var p=0;p<3;++p)Ee[p]=ae[p]+Ae[2+4*p]*V;for(var p=0;p<3;++p){for(var T=0,Rt=0;Rt<3;++Rt)T+=Ae[p+4*Rt]*Ee[Rt];Ae[12+p]=-T}Ae[15]=1},g.getMatrix=function(A,L){this.recalcMatrix(A);var _=this.computedMatrix;if(L){for(var C=0;C<16;++C)L[C]=_[C];return L}return _};var E=[0,0,0];g.rotate=function(A,L,_,C){if(this.angle.move(A,L,_),C){this.recalcMatrix(A);var M=this.computedMatrix;E[0]=M[2],E[1]=M[6],E[2]=M[10];for(var p=this.computedUp,P=this.computedRight,T=this.computedToward,F=0;F<3;++F)M[4*F]=p[F],M[4*F+1]=P[F],M[4*F+2]=T[F];u(M,M,C,E);for(var F=0;F<3;++F)p[F]=M[4*F],P[F]=M[4*F+1];this.up.set(A,p[0],p[1],p[2]),this.right.set(A,P[0],P[1],P[2])}},g.pan=function(A,L,_,C){L=L||0,_=_||0,C=C||0,this.recalcMatrix(A);var M=this.computedMatrix,p=Math.exp(this.computedRadius[0]),P=M[1],T=M[5],F=M[9],q=d(P,T,F);P/=q,T/=q,F/=q;var V=M[0],H=M[4],X=M[8],G=V*P+H*T+X*F;V-=P*G,H-=T*G,X-=F*G;var N=d(V,H,X);V/=N,H/=N,X/=N;var W=V*L+P*_,re=H*L+T*_,ae=X*L+F*_;this.center.move(A,W,re,ae);var _e=Math.exp(this.computedRadius[0]);_e=Math.max(1e-4,_e+C),this.radius.set(A,Math.log(_e))},g.translate=function(A,L,_,C){this.center.move(A,L||0,_||0,C||0)},g.setMatrix=function(A,L,_,C){var M=1;typeof _==\"number\"&&(M=_|0),(M<0||M>3)&&(M=1);var p=(M+2)%3,P=(M+1)%3;L||(this.recalcMatrix(A),L=this.computedMatrix);var T=L[M],F=L[M+4],q=L[M+8];if(C){var H=Math.abs(T),X=Math.abs(F),G=Math.abs(q),N=Math.max(H,X,G);H===N?(T=T<0?-1:1,F=q=0):G===N?(q=q<0?-1:1,T=F=0):(F=F<0?-1:1,T=q=0)}else{var V=d(T,F,q);T/=V,F/=V,q/=V}var W=L[p],re=L[p+4],ae=L[p+8],_e=W*T+re*F+ae*q;W-=T*_e,re-=F*_e,ae-=q*_e;var Me=d(W,re,ae);W/=Me,re/=Me,ae/=Me;var ke=F*ae-q*re,ge=q*W-T*ae,ie=T*re-F*W,Te=d(ke,ge,ie);ke/=Te,ge/=Te,ie/=Te,this.center.jump(A,er,Ke,xt),this.radius.idle(A),this.up.jump(A,T,F,q),this.right.jump(A,W,re,ae);var Ee,Ae;if(M===2){var ze=L[1],Ce=L[5],me=L[9],Re=ze*W+Ce*re+me*ae,ce=ze*ke+Ce*ge+me*ie;qt<0?Ee=-Math.PI/2:Ee=Math.PI/2,Ae=Math.atan2(ce,Re)}else{var Ge=L[2],nt=L[6],ct=L[10],qt=Ge*T+nt*F+ct*q,rt=Ge*W+nt*re+ct*ae,ot=Ge*ke+nt*ge+ct*ie;Ee=Math.asin(v(qt)),Ae=Math.atan2(ot,rt)}this.angle.jump(A,Ae,Ee),this.recalcMatrix(A);var Rt=L[2],kt=L[6],Ct=L[10],Yt=this.computedMatrix;l(Yt,L);var xr=Yt[15],er=Yt[12]/xr,Ke=Yt[13]/xr,xt=Yt[14]/xr,bt=Math.exp(this.computedRadius[0]);this.center.jump(A,er-Rt*bt,Ke-kt*bt,xt-Ct*bt)},g.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},g.idle=function(A){this.center.idle(A),this.up.idle(A),this.right.idle(A),this.radius.idle(A),this.angle.idle(A)},g.flush=function(A){this.center.flush(A),this.up.flush(A),this.right.flush(A),this.radius.flush(A),this.angle.flush(A)},g.setDistance=function(A,L){L>0&&this.radius.set(A,Math.log(L))},g.lookAt=function(A,L,_,C){this.recalcMatrix(A),L=L||this.computedEye,_=_||this.computedCenter,C=C||this.computedUp;var M=C[0],p=C[1],P=C[2],T=d(M,p,P);if(!(T<1e-6)){M/=T,p/=T,P/=T;var F=L[0]-_[0],q=L[1]-_[1],V=L[2]-_[2],H=d(F,q,V);if(!(H<1e-6)){F/=H,q/=H,V/=H;var X=this.computedRight,G=X[0],N=X[1],W=X[2],re=M*G+p*N+P*W;G-=re*M,N-=re*p,W-=re*P;var ae=d(G,N,W);if(!(ae<.01&&(G=p*V-P*q,N=P*F-M*V,W=M*q-p*F,ae=d(G,N,W),ae<1e-6))){G/=ae,N/=ae,W/=ae,this.up.set(A,M,p,P),this.right.set(A,G,N,W),this.center.set(A,_[0],_[1],_[2]),this.radius.set(A,Math.log(H));var _e=p*W-P*N,Me=P*G-M*W,ke=M*N-p*G,ge=d(_e,Me,ke);_e/=ge,Me/=ge,ke/=ge;var ie=M*F+p*q+P*V,Te=G*F+N*q+W*V,Ee=_e*F+Me*q+ke*V,Ae=Math.asin(v(ie)),ze=Math.atan2(Ee,Te),Ce=this.angle._state,me=Ce[Ce.length-1],Re=Ce[Ce.length-2];me=me%(2*Math.PI);var ce=Math.abs(me+2*Math.PI-ze),Ge=Math.abs(me-ze),nt=Math.abs(me-2*Math.PI-ze);ce0?W.pop():new ArrayBuffer(G)}a.mallocArrayBuffer=E;function k(X){return new Uint8Array(E(X),0,X)}a.mallocUint8=k;function A(X){return new Uint16Array(E(2*X),0,X)}a.mallocUint16=A;function L(X){return new Uint32Array(E(4*X),0,X)}a.mallocUint32=L;function _(X){return new Int8Array(E(X),0,X)}a.mallocInt8=_;function C(X){return new Int16Array(E(2*X),0,X)}a.mallocInt16=C;function M(X){return new Int32Array(E(4*X),0,X)}a.mallocInt32=M;function p(X){return new Float32Array(E(4*X),0,X)}a.mallocFloat32=a.mallocFloat=p;function P(X){return new Float64Array(E(8*X),0,X)}a.mallocFloat64=a.mallocDouble=P;function T(X){return c?new Uint8ClampedArray(E(X),0,X):k(X)}a.mallocUint8Clamped=T;function F(X){return f?new BigUint64Array(E(8*X),0,X):null}a.mallocBigUint64=F;function q(X){return h?new BigInt64Array(E(8*X),0,X):null}a.mallocBigInt64=q;function V(X){return new DataView(E(X),0,X)}a.mallocDataView=V;function H(X){X=s.nextPow2(X);var G=s.log2(X),N=x[G];return N.length>0?N.pop():new u(X)}a.mallocBuffer=H,a.clearCache=function(){for(var G=0;G<32;++G)d.UINT8[G].length=0,d.UINT16[G].length=0,d.UINT32[G].length=0,d.INT8[G].length=0,d.INT16[G].length=0,d.INT32[G].length=0,d.FLOAT[G].length=0,d.DOUBLE[G].length=0,d.BIGUINT64[G].length=0,d.BIGINT64[G].length=0,d.UINT8C[G].length=0,v[G].length=0,x[G].length=0}},1755:function(i){\"use strict\";\"use restrict\";i.exports=a;function a(s){this.roots=new Array(s),this.ranks=new Array(s);for(var l=0;l\",W=\"\",re=N.length,ae=W.length,_e=H[0]===E||H[0]===L,Me=0,ke=-ae;Me>-1&&(Me=X.indexOf(N,Me),!(Me===-1||(ke=X.indexOf(W,Me+re),ke===-1)||ke<=Me));){for(var ge=Me;ge=ke)G[ge]=null,X=X.substr(0,ge)+\" \"+X.substr(ge+1);else if(G[ge]!==null){var ie=G[ge].indexOf(H[0]);ie===-1?G[ge]+=H:_e&&(G[ge]=G[ge].substr(0,ie+1)+(1+parseInt(G[ge][ie+1]))+G[ge].substr(ie+2))}var Te=Me+re,Ee=X.substr(Te,ke-Te),Ae=Ee.indexOf(N);Ae!==-1?Me=Ae:Me=ke+ae}return G}function M(V,H,X){for(var G=H.textAlign||\"start\",N=H.textBaseline||\"alphabetic\",W=[1<<30,1<<30],re=[0,0],ae=V.length,_e=0;_e/g,`\n", + "`):X=X.replace(/\\/g,\" \");var re=\"\",ae=[];for(me=0;me-1?parseInt(Ke[1+Lt]):0,dt=St>-1?parseInt(xt[1+St]):0;Et!==dt&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,dt-Et),bt=bt.replace(\"?px \",rt())),ce+=.25*ie*(dt-Et)}if(W.superscripts===!0){var Ht=Ke.indexOf(E),$t=xt.indexOf(E),fr=Ht>-1?parseInt(Ke[1+Ht]):0,_r=$t>-1?parseInt(xt[1+$t]):0;fr!==_r&&(bt=bt.replace(rt(),\"?px \"),Ge*=Math.pow(.75,_r-fr),bt=bt.replace(\"?px \",rt())),ce-=.25*ie*(_r-fr)}if(W.bolds===!0){var Br=Ke.indexOf(v)>-1,Or=xt.indexOf(v)>-1;!Br&&Or&&(Nr?bt=bt.replace(\"italic \",\"italic bold \"):bt=\"bold \"+bt),Br&&!Or&&(bt=bt.replace(\"bold \",\"\"))}if(W.italics===!0){var Nr=Ke.indexOf(b)>-1,ut=xt.indexOf(b)>-1;!Nr&&ut&&(bt=\"italic \"+bt),Nr&&!ut&&(bt=bt.replace(\"italic \",\"\"))}H.font=bt}for(Ce=0;Ce0&&(N=G.size),G.lineSpacing&&G.lineSpacing>0&&(W=G.lineSpacing),G.styletags&&G.styletags.breaklines&&(re.breaklines=!!G.styletags.breaklines),G.styletags&&G.styletags.bolds&&(re.bolds=!!G.styletags.bolds),G.styletags&&G.styletags.italics&&(re.italics=!!G.styletags.italics),G.styletags&&G.styletags.subscripts&&(re.subscripts=!!G.styletags.subscripts),G.styletags&&G.styletags.superscripts&&(re.superscripts=!!G.styletags.superscripts)),X.font=[G.fontStyle,G.fontVariant,G.fontWeight,N+\"px\",G.font].filter(function(_e){return _e}).join(\" \"),X.textAlign=\"start\",X.textBaseline=\"alphabetic\",X.direction=\"ltr\";var ae=p(H,X,V,N,W,re);return F(ae,G,N)}},1538:function(i){(function(){\"use strict\";if(typeof ses!=\"undefined\"&&ses.ok&&!ses.ok())return;function o(T){T.permitHostObjects___&&T.permitHostObjects___(o)}typeof ses!=\"undefined\"&&(ses.weakMapPermitHostObjects=o);var s=!1;if(typeof WeakMap==\"function\"){var l=WeakMap;if(!(typeof navigator!=\"undefined\"&&/Firefox/.test(navigator.userAgent))){var u=new l,c=Object.freeze({});if(u.set(c,1),u.get(c)!==1)s=!0;else{i.exports=WeakMap;return}}}var f=Object.prototype.hasOwnProperty,h=Object.getOwnPropertyNames,d=Object.defineProperty,v=Object.isExtensible,x=\"weakmap:\",b=x+\"ident:\"+Math.random()+\"___\";if(typeof crypto!=\"undefined\"&&typeof crypto.getRandomValues==\"function\"&&typeof ArrayBuffer==\"function\"&&typeof Uint8Array==\"function\"){var g=new ArrayBuffer(25),E=new Uint8Array(g);crypto.getRandomValues(E),b=x+\"rand:\"+Array.prototype.map.call(E,function(T){return(T%36).toString(36)}).join(\"\")+\"___\"}function k(T){return!(T.substr(0,x.length)==x&&T.substr(T.length-3)===\"___\")}if(d(Object,\"getOwnPropertyNames\",{value:function(F){return h(F).filter(k)}}),\"getPropertyNames\"in Object){var A=Object.getPropertyNames;d(Object,\"getPropertyNames\",{value:function(F){return A(F).filter(k)}})}function L(T){if(T!==Object(T))throw new TypeError(\"Not an object: \"+T);var F=T[b];if(F&&F.key===T)return F;if(v(T)){F={key:T};try{return d(T,b,{value:F,writable:!1,enumerable:!1,configurable:!1}),F}catch(q){return}}}(function(){var T=Object.freeze;d(Object,\"freeze\",{value:function(H){return L(H),T(H)}});var F=Object.seal;d(Object,\"seal\",{value:function(H){return L(H),F(H)}});var q=Object.preventExtensions;d(Object,\"preventExtensions\",{value:function(H){return L(H),q(H)}})})();function _(T){return T.prototype=null,Object.freeze(T)}var C=!1;function M(){!C&&typeof console!=\"undefined\"&&(C=!0,console.warn(\"WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future.\"))}var p=0,P=function(){this instanceof P||M();var T=[],F=[],q=p++;function V(N,W){var re,ae=L(N);return ae?q in ae?ae[q]:W:(re=T.indexOf(N),re>=0?F[re]:W)}function H(N){var W=L(N);return W?q in W:T.indexOf(N)>=0}function X(N,W){var re,ae=L(N);return ae?ae[q]=W:(re=T.indexOf(N),re>=0?F[re]=W:(re=T.length,F[re]=W,T[re]=N)),this}function G(N){var W=L(N),re,ae;return W?q in W&&delete W[q]:(re=T.indexOf(N),re<0?!1:(ae=T.length-1,T[re]=void 0,F[re]=F[ae],T[re]=T[ae],T.length=ae,F.length=ae,!0))}return Object.create(P.prototype,{get___:{value:_(V)},has___:{value:_(H)},set___:{value:_(X)},delete___:{value:_(G)}})};P.prototype=Object.create(Object.prototype,{get:{value:function(F,q){return this.get___(F,q)},writable:!0,configurable:!0},has:{value:function(F){return this.has___(F)},writable:!0,configurable:!0},set:{value:function(F,q){return this.set___(F,q)},writable:!0,configurable:!0},delete:{value:function(F){return this.delete___(F)},writable:!0,configurable:!0}}),typeof l==\"function\"?function(){s&&typeof Proxy!=\"undefined\"&&(Proxy=void 0);function T(){this instanceof P||M();var F=new l,q=void 0,V=!1;function H(W,re){return q?F.has(W)?F.get(W):q.get___(W,re):F.get(W,re)}function X(W){return F.has(W)||(q?q.has___(W):!1)}var G;s?G=function(W,re){return F.set(W,re),F.has(W)||(q||(q=new P),q.set(W,re)),this}:G=function(W,re){if(V)try{F.set(W,re)}catch(ae){q||(q=new P),q.set___(W,re)}else F.set(W,re);return this};function N(W){var re=!!F.delete(W);return q&&q.delete___(W)||re}return Object.create(P.prototype,{get___:{value:_(H)},has___:{value:_(X)},set___:{value:_(G)},delete___:{value:_(N)},permitHostObjects___:{value:_(function(W){if(W===o)V=!0;else throw new Error(\"bogus call to permitHostObjects___\")})}})}T.prototype=P.prototype,i.exports=T,Object.defineProperty(WeakMap.prototype,\"constructor\",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():(typeof Proxy!=\"undefined\"&&(Proxy=void 0),i.exports=P)})()},236:function(i,a,o){var s=o(8284);i.exports=l;function l(){var u={};return function(c){if((typeof c!=\"object\"||c===null)&&typeof c!=\"function\")throw new Error(\"Weakmap-shim: Key must be object\");var f=c.valueOf(u);return f&&f.identity===u?f:s(c,u)}}},8284:function(i){i.exports=a;function a(o,s){var l={identity:s},u=o.valueOf;return Object.defineProperty(o,\"valueOf\",{value:function(c){return c!==s?u.apply(this,arguments):l},writable:!0}),l}},606:function(i,a,o){var s=o(236);i.exports=l;function l(){var u=s();return{get:function(c,f){var h=u(c);return h.hasOwnProperty(\"value\")?h.value:f},set:function(c,f){return u(c).value=f,this},has:function(c){return\"value\"in u(c)},delete:function(c){return delete u(c).value}}}},3349:function(i){\"use strict\";function a(){return function(f,h,d,v,x,b){var g=f[0],E=d[0],k=[0],A=E;v|=0;var L=0,_=E;for(L=0;L=0!=M>=0&&x.push(k[0]+.5+.5*(C+M)/(C-M))}v+=_,++k[0]}}}function o(){return a()}var s=o;function l(f){var h={};return function(v,x,b){var g=v.dtype,E=v.order,k=[g,E.join()].join(),A=h[k];return A||(h[k]=A=f([g,E])),A(v.shape.slice(0),v.data,v.stride,v.offset|0,x,b)}}function u(f){return l(s.bind(void 0,f))}function c(f){return u({funcName:f.funcName})}i.exports=c({funcName:\"zeroCrossings\"})},781:function(i,a,o){\"use strict\";i.exports=l;var s=o(3349);function l(u,c){var f=[];return c=+c||0,s(u.hi(u.shape[0]-1),f,c),f}},7790:function(){}},t={};function r(i){var a=t[i];if(a!==void 0)return a.exports;var o=t[i]={id:i,loaded:!1,exports:{}};return e[i].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}(function(){r.g=function(){if(typeof globalThis==\"object\")return globalThis;try{return this||new Function(\"return this\")()}catch(i){if(typeof window==\"object\")return window}}()})(),function(){r.nmd=function(i){return i.paths=[],i.children||(i.children=[]),i}}();var n=r(1964);aLe.exports=n})()});var sLe=ye((Xdr,oLe)=>{\"use strict\";oLe.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var fLe=ye((Ydr,cLe)=>{\"use strict\";var lLe=sLe();cLe.exports=Q6t;var uLe={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function Q6t(e){var t,r=[],n=1,i;if(typeof e==\"string\")if(e=e.toLowerCase(),lLe[e])r=lLe[e].slice(),i=\"rgb\";else if(e===\"transparent\")n=0,i=\"rgb\",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(e)){var a=e.slice(1),o=a.length,s=o<=4;n=1,s?(r=[parseInt(a[0]+a[0],16),parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16)],o===4&&(n=parseInt(a[3]+a[3],16)/255)):(r=[parseInt(a[0]+a[1],16),parseInt(a[2]+a[3],16),parseInt(a[4]+a[5],16)],o===8&&(n=parseInt(a[6]+a[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),i=\"rgb\"}else if(t=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\\s*\\(([^\\)]*)\\)/.exec(e)){var l=t[1],u=l===\"rgb\",a=l.replace(/a$/,\"\");i=a;var o=a===\"cmyk\"?4:a===\"gray\"?1:3;r=t[2].trim().split(/\\s*[,\\/]\\s*|\\s+/).map(function(h,d){if(/%$/.test(h))return d===o?parseFloat(h)/100:a===\"rgb\"?parseFloat(h)*255/100:parseFloat(h);if(a[d]===\"h\"){if(/deg$/.test(h))return parseFloat(h);if(uLe[h]!==void 0)return uLe[h]}return parseFloat(h)}),l===a&&r.push(1),n=u||r[o]===void 0?1:r[o],r=r.slice(0,o)}else e.length>10&&/[0-9](?:\\s|\\/)/.test(e)&&(r=e.match(/([0-9]+)/g).map(function(c){return parseFloat(c)}),i=e.match(/([a-z])/ig).join(\"\").toLowerCase());else isNaN(e)?Array.isArray(e)||e.length?(r=[e[0],e[1],e[2]],i=\"rgb\",n=e.length===4?e[3]:1):e instanceof Object&&(e.r!=null||e.red!=null||e.R!=null?(i=\"rgb\",r=[e.r||e.red||e.R||0,e.g||e.green||e.G||0,e.b||e.blue||e.B||0]):(i=\"hsl\",r=[e.h||e.hue||e.H||0,e.s||e.saturation||e.S||0,e.l||e.lightness||e.L||e.b||e.brightness]),n=e.a||e.alpha||e.opacity||1,e.opacity!=null&&(n/=100)):(i=\"rgb\",r=[e>>>16,(e&65280)>>>8,e&255]);return{space:i,values:r,alpha:n}}});var dLe=ye((Kdr,hLe)=>{\"use strict\";hLe.exports={name:\"rgb\",min:[0,0,0],max:[255,255,255],channel:[\"red\",\"green\",\"blue\"],alias:[\"RGB\"]}});var pLe=ye((Jdr,vLe)=>{\"use strict\";var eLt=dLe();vLe.exports={name:\"hsl\",min:[0,0,0],max:[360,100,100],channel:[\"hue\",\"saturation\",\"lightness\"],alias:[\"HSL\"],rgb:function(e){var t=e[0]/360,r=e[1]/100,n=e[2]/100,i,a,o,s,l;if(r===0)return l=n*255,[l,l,l];n<.5?a=n*(1+r):a=n+r-n*r,i=2*n-a,s=[0,0,0];for(var u=0;u<3;u++)o=t+1/3*-(u-1),o<0?o++:o>1&&o--,6*o<1?l=i+(a-i)*6*o:2*o<1?l=a:3*o<2?l=i+(a-i)*(2/3-o)*6:l=i,s[u]=l*255;return s}};eLt.hsl=function(e){var t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),a=Math.max(t,r,n),o=a-i,s,l,u;return a===i?s=0:t===a?s=(r-n)/o:r===a?s=2+(n-t)/o:n===a&&(s=4+(t-r)/o),s=Math.min(s*60,360),s<0&&(s+=360),u=(i+a)/2,a===i?l=0:u<=.5?l=o/(a+i):l=o/(2-a-i),[s,l*100,u*100]}});var O5=ye(($dr,gLe)=>{gLe.exports=tLt;function tLt(e,t,r){return tr?r:e:et?t:e}});var rZ=ye((Qdr,mLe)=>{\"use strict\";var rLt=fLe(),iLt=pLe(),VD=O5();mLe.exports=function(t){var r,n,i,a=rLt(t);return a.space?(r=Array(3),r[0]=VD(a.values[0],0,255),r[1]=VD(a.values[1],0,255),r[2]=VD(a.values[2],0,255),a.space[0]===\"h\"&&(r=iLt.rgb(r)),r.push(VD(a.alpha,0,1)),r):[]}});var HD=ye((evr,yLe)=>{yLe.exports=function(e){switch(e){case\"int8\":return Int8Array;case\"int16\":return Int16Array;case\"int32\":return Int32Array;case\"uint8\":return Uint8Array;case\"uint16\":return Uint16Array;case\"uint32\":return Uint32Array;case\"float32\":return Float32Array;case\"float64\":return Float64Array;case\"array\":return Array;case\"uint8_clamped\":return Uint8ClampedArray}}});var J_=ye((tvr,_Le)=>{\"use strict\";var nLt=rZ(),GD=O5(),aLt=HD();_Le.exports=function(t,r){(r===\"float\"||!r)&&(r=\"array\"),r===\"uint\"&&(r=\"uint8\"),r===\"uint_clamped\"&&(r=\"uint8_clamped\");var n=aLt(r),i=new n(4),a=r!==\"uint8\"&&r!==\"uint8_clamped\";return(!t.length||typeof t==\"string\")&&(t=nLt(t),t[0]/=255,t[1]/=255,t[2]/=255),oLt(t)?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:255,a&&(i[0]/=255,i[1]/=255,i[2]/=255,i[3]/=255),i):(a?(i[0]=t[0],i[1]=t[1],i[2]=t[2],i[3]=t[3]!=null?t[3]:1):(i[0]=GD(Math.floor(t[0]*255),0,255),i[1]=GD(Math.floor(t[1]*255),0,255),i[2]=GD(Math.floor(t[2]*255),0,255),i[3]=t[3]==null?255:GD(Math.floor(t[3]*255),0,255)),i)};function oLt(e){return!!(e instanceof Uint8Array||e instanceof Uint8ClampedArray||Array.isArray(e)&&(e[0]>1||e[0]===0)&&(e[1]>1||e[1]===0)&&(e[2]>1||e[2]===0)&&(!e[3]||e[3]>1))}});var Jy=ye((rvr,xLe)=>{\"use strict\";var sLt=J_();function lLt(e){return e?sLt(e):[0,0,0,1]}xLe.exports=lLt});var $y=ye((ivr,ELe)=>{\"use strict\";var SLe=uo(),uLt=id(),jD=J_(),WD=Mu(),cLt=dh().defaultLine,bLe=vv().isArrayOrTypedArray,iZ=jD(cLt),MLe=1;function wLe(e,t){var r=e;return r[3]*=t,r}function TLe(e){if(SLe(e))return iZ;var t=jD(e);return t.length?t:iZ}function ALe(e){return SLe(e)?e:MLe}function fLt(e,t,r){var n=e.color;n&&n._inputArray&&(n=n._inputArray);var i=bLe(n),a=bLe(t),o=WD.extractOpts(e),s=[],l,u,c,f,h;if(o.colorscale!==void 0?l=WD.makeColorScaleFuncFromTrace(e):l=TLe,i?u=function(v,x){return v[x]===void 0?iZ:jD(l(v[x]))}:u=TLe,a?c=function(v,x){return v[x]===void 0?MLe:ALe(v[x])}:c=ALe,i||a)for(var d=0;d{\"use strict\";kLe.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}});var ZD=ye((avr,CLe)=>{\"use strict\";CLe.exports={circle:\"\\u25CF\",\"circle-open\":\"\\u25CB\",square:\"\\u25A0\",\"square-open\":\"\\u25A1\",diamond:\"\\u25C6\",\"diamond-open\":\"\\u25C7\",cross:\"+\",x:\"\\u274C\"}});var PLe=ye((ovr,LLe)=>{\"use strict\";var dLt=ba();function aZ(e,t,r,n){if(!t||!t.visible)return null;for(var i=dLt.getComponentMethod(\"errorbars\",\"makeComputeError\")(t),a=new Array(e.length),o=0;o0){var f=n.c2l(u);n._lowerLogErrorBound||(n._lowerLogErrorBound=f),n._lowerErrorBound=Math.min(n._lowerLogErrorBound,f)}}else a[o]=[-s[0]*r,s[1]*r]}return a}function vLt(e){for(var t=0;t{\"use strict\";var gLt=Rd().gl_line3d,ILe=Rd().gl_scatter3d,mLt=Rd().gl_error3d,yLt=Rd().gl_mesh3d,_Lt=Rd().delaunay_triangulate,Qy=Mr(),qLe=Jy(),XD=$y().formatColor,xLt=S3(),oZ=nZ(),bLt=ZD(),wLt=Qa(),TLt=rp().appendArrayPointValue,ALt=PLe();function OLe(e,t){this.scene=e,this.uid=t,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode=\"\",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var lZ=OLe.prototype;lZ.handlePick=function(e){if(e.object&&(e.object===this.linePlot||e.object===this.delaunayMesh||e.object===this.textMarkers||e.object===this.scatterPlot)){var t=e.index=e.data.index;return e.object.highlight&&e.object.highlight(null),this.scatterPlot&&(e.object=this.scatterPlot,this.scatterPlot.highlight(e.data)),e.textLabel=\"\",this.textLabels&&(Qy.isArrayOrTypedArray(this.textLabels)?(this.textLabels[t]||this.textLabels[t]===0)&&(e.textLabel=this.textLabels[t]):e.textLabel=this.textLabels),e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]],!0}};function SLt(e,t,r){var n=(r+1)%3,i=(r+2)%3,a=[],o=[],s;for(s=0;s-1?-1:e.indexOf(\"right\")>-1?1:0}function DLe(e){return e==null?0:e.indexOf(\"top\")>-1?-1:e.indexOf(\"bottom\")>-1?1:0}function ELt(e){var t=0,r=0,n=[t,r];if(Array.isArray(e))for(var i=0;i=0){var u=SLt(s.position,s.delaunayColor,s.delaunayAxis);u.opacity=e.opacity,this.delaunayMesh?this.delaunayMesh.update(u):(u.gl=t,this.delaunayMesh=yLt(u),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)};lZ.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())};function PLt(e,t){var r=new OLe(e,t.uid);return r.update(t),r}BLe.exports=PLt});var dZ=ye((lvr,HLe)=>{\"use strict\";var e1=Uc(),ILt=Su(),hZ=Kl(),uZ=Oc().axisHoverFormat,RLt=Wo().hovertemplateAttrs,DLt=Wo().texttemplateAttrs,ULe=vl(),zLt=nZ(),FLt=ZD(),Yg=no().extendFlat,qLt=Bu().overrideAll,VLe=X1(),OLt=e1.line,N2=e1.marker,BLt=N2.line,NLt=Yg({width:OLt.width,dash:{valType:\"enumerated\",values:VLe(zLt),dflt:\"solid\"}},hZ(\"line\"));function cZ(e){return{show:{valType:\"boolean\",dflt:!1},opacity:{valType:\"number\",min:0,max:1,dflt:1},scale:{valType:\"number\",min:0,max:10,dflt:2/3}}}var fZ=HLe.exports=qLt({x:e1.x,y:e1.y,z:{valType:\"data_array\"},text:Yg({},e1.text,{}),texttemplate:DLt({},{}),hovertext:Yg({},e1.hovertext,{}),hovertemplate:RLt(),xhoverformat:uZ(\"x\"),yhoverformat:uZ(\"y\"),zhoverformat:uZ(\"z\"),mode:Yg({},e1.mode,{dflt:\"lines+markers\"}),surfaceaxis:{valType:\"enumerated\",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:\"color\"},projection:{x:cZ(\"x\"),y:cZ(\"y\"),z:cZ(\"z\")},connectgaps:e1.connectgaps,line:NLt,marker:Yg({symbol:{valType:\"enumerated\",values:VLe(FLt),dflt:\"circle\",arrayOk:!0},size:Yg({},N2.size,{dflt:8}),sizeref:N2.sizeref,sizemin:N2.sizemin,sizemode:N2.sizemode,opacity:Yg({},N2.opacity,{arrayOk:!1}),colorbar:N2.colorbar,line:Yg({width:Yg({},BLt.width,{arrayOk:!1})},hZ(\"marker.line\"))},hZ(\"marker\")),textposition:Yg({},e1.textposition,{dflt:\"top center\"}),textfont:ILt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,variantValues:[\"normal\",\"small-caps\"]}),opacity:ULe.opacity,hoverinfo:Yg({},ULe.hoverinfo)},\"calc\",\"nested\");fZ.x.editType=fZ.y.editType=fZ.z.editType=\"calc+clearAxisTypes\"});var WLe=ye((uvr,jLe)=>{\"use strict\";var GLe=ba(),ULt=Mr(),vZ=lu(),VLt=$p(),HLt=R0(),GLt=D0(),jLt=dZ();jLe.exports=function(t,r,n,i){function a(d,v){return ULt.coerce(t,r,jLt,d,v)}var o=WLt(t,r,a,i);if(!o){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),a(\"mode\"),vZ.hasMarkers(r)&&VLt(t,r,n,i,a,{noSelect:!0,noAngle:!0}),vZ.hasLines(r)&&(a(\"connectgaps\"),HLt(t,r,n,i,a)),vZ.hasText(r)&&(a(\"texttemplate\"),GLt(t,r,i,a,{noSelect:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}));var s=(r.line||{}).color,l=(r.marker||{}).color;a(\"surfaceaxis\")>=0&&a(\"surfacecolor\",s||l);for(var u=[\"x\",\"y\",\"z\"],c=0;c<3;++c){var f=\"projection.\"+u[c];a(f+\".show\")&&(a(f+\".opacity\"),a(f+\".scale\"))}var h=GLe.getComponentMethod(\"errorbars\",\"supplyDefaults\");h(t,r,s||l||n,{axis:\"z\"}),h(t,r,s||l||n,{axis:\"y\",inherit:\"z\"}),h(t,r,s||l||n,{axis:\"x\",inherit:\"z\"})};function WLt(e,t,r,n){var i=0,a=r(\"x\"),o=r(\"y\"),s=r(\"z\"),l=GLe.getComponentMethod(\"calendars\",\"handleTraceDefaults\");return l(e,t,[\"x\",\"y\",\"z\"],n),a&&o&&s&&(i=Math.min(a.length,o.length,s.length),t._length=t._xlength=t._ylength=t._zlength=i),i}});var XLe=ye((cvr,ZLe)=>{\"use strict\";var ZLt=km(),XLt=z0();ZLe.exports=function(t,r){var n=[{x:!1,y:!1,trace:r,t:{}}];return ZLt(n,r),XLt(t,r),n}});var KLe=ye((fvr,YLe)=>{YLe.exports=YLt;function YLt(e,t){if(typeof e!=\"string\")throw new TypeError(\"must specify type string\");if(t=t||{},typeof document==\"undefined\"&&!t.canvas)return null;var r=t.canvas||document.createElement(\"canvas\");typeof t.width==\"number\"&&(r.width=t.width),typeof t.height==\"number\"&&(r.height=t.height);var n=t,i;try{var a=[e];e.indexOf(\"webgl\")===0&&a.push(\"experimental-\"+e);for(var o=0;o{var KLt=KLe();JLe.exports=function(t){return KLt(\"webgl\",t)}});var pZ=ye((dvr,ePe)=>{\"use strict\";var QLe=va(),JLt=function(){};ePe.exports=function(t){for(var r in t)typeof t[r]==\"function\"&&(t[r]=JLt);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var n=document.createElement(\"div\");n.className=\"no-webgl\",n.style.cursor=\"pointer\",n.style.fontSize=\"24px\",n.style.color=QLe.defaults[0],n.style.position=\"absolute\",n.style.left=n.style.top=\"0px\",n.style.width=n.style.height=\"100%\",n.style[\"background-color\"]=QLe.lightLine,n.style[\"z-index\"]=30;var i=document.createElement(\"p\");return i.textContent=\"WebGL is not supported by your browser - visit https://get.webgl.org for more info\",i.style.position=\"relative\",i.style.top=\"50%\",i.style.left=\"50%\",i.style.height=\"30%\",i.style.width=\"50%\",i.style.margin=\"-15% 0 0 -25%\",n.appendChild(i),t.container.appendChild(n),t.container.style.background=\"#FFFFFF\",t.container.onclick=function(){window.open(\"https://get.webgl.org\")},!1}});var iPe=ye((vvr,rPe)=>{\"use strict\";var U2=Jy(),$Lt=Mr(),QLt=[\"xaxis\",\"yaxis\",\"zaxis\"];function tPe(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=[\"sans-serif\",\"sans-serif\",\"sans-serif\"],this.tickSize=[12,12,12],this.tickFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=[\"x\",\"y\",\"z\"],this.labelEnable=[!0,!0,!0],this.labelFont=[\"Open Sans\",\"Open Sans\",\"Open Sans\"],this.labelSize=[20,20,20],this.labelFontWeight=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontStyle=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelFontVariant=[\"normal\",\"normal\",\"normal\",\"normal\"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}var ePt=tPe.prototype;ePt.merge=function(e,t){for(var r=this,n=0;n<3;++n){var i=t[QLt[n]];if(!i.visible){r.tickEnable[n]=!1,r.labelEnable[n]=!1,r.lineEnable[n]=!1,r.lineTickEnable[n]=!1,r.gridEnable[n]=!1,r.zeroEnable[n]=!1,r.backgroundEnable[n]=!1;continue}r.labels[n]=e._meta?$Lt.templateString(i.title.text,e._meta):i.title.text,\"font\"in i.title&&(i.title.font.color&&(r.labelColor[n]=U2(i.title.font.color)),i.title.font.family&&(r.labelFont[n]=i.title.font.family),i.title.font.size&&(r.labelSize[n]=i.title.font.size),i.title.font.weight&&(r.labelFontWeight[n]=i.title.font.weight),i.title.font.style&&(r.labelFontStyle[n]=i.title.font.style),i.title.font.variant&&(r.labelFontVariant[n]=i.title.font.variant)),\"showline\"in i&&(r.lineEnable[n]=i.showline),\"linecolor\"in i&&(r.lineColor[n]=U2(i.linecolor)),\"linewidth\"in i&&(r.lineWidth[n]=i.linewidth),\"showgrid\"in i&&(r.gridEnable[n]=i.showgrid),\"gridcolor\"in i&&(r.gridColor[n]=U2(i.gridcolor)),\"gridwidth\"in i&&(r.gridWidth[n]=i.gridwidth),i.type===\"log\"?r.zeroEnable[n]=!1:\"zeroline\"in i&&(r.zeroEnable[n]=i.zeroline),\"zerolinecolor\"in i&&(r.zeroLineColor[n]=U2(i.zerolinecolor)),\"zerolinewidth\"in i&&(r.zeroLineWidth[n]=i.zerolinewidth),\"ticks\"in i&&i.ticks?r.lineTickEnable[n]=!0:r.lineTickEnable[n]=!1,\"ticklen\"in i&&(r.lineTickLength[n]=r._defaultLineTickLength[n]=i.ticklen),\"tickcolor\"in i&&(r.lineTickColor[n]=U2(i.tickcolor)),\"tickwidth\"in i&&(r.lineTickWidth[n]=i.tickwidth),\"tickangle\"in i&&(r.tickAngle[n]=i.tickangle===\"auto\"?-3600:Math.PI*-i.tickangle/180),\"showticklabels\"in i&&(r.tickEnable[n]=i.showticklabels),\"tickfont\"in i&&(i.tickfont.color&&(r.tickColor[n]=U2(i.tickfont.color)),i.tickfont.family&&(r.tickFont[n]=i.tickfont.family),i.tickfont.size&&(r.tickSize[n]=i.tickfont.size),i.tickfont.weight&&(r.tickFontWeight[n]=i.tickfont.weight),i.tickfont.style&&(r.tickFontStyle[n]=i.tickfont.style),i.tickfont.variant&&(r.tickFontVariant[n]=i.tickfont.variant)),\"mirror\"in i?[\"ticks\",\"all\",\"allticks\"].indexOf(i.mirror)!==-1?(r.lineTickMirror[n]=!0,r.lineMirror[n]=!0):i.mirror===!0?(r.lineTickMirror[n]=!1,r.lineMirror[n]=!0):(r.lineTickMirror[n]=!1,r.lineMirror[n]=!1):r.lineMirror[n]=!1,\"showbackground\"in i&&i.showbackground!==!1?(r.backgroundEnable[n]=!0,r.backgroundColor[n]=U2(i.backgroundcolor)):r.backgroundEnable[n]=!1}};function tPt(e,t){var r=new tPe;return r.merge(e,t),r}rPe.exports=tPt});var oPe=ye((pvr,aPe)=>{\"use strict\";var rPt=Jy(),iPt=[\"xaxis\",\"yaxis\",\"zaxis\"];function nPe(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}var nPt=nPe.prototype;nPt.merge=function(e){for(var t=0;t<3;++t){var r=e[iPt[t]];if(!r.visible){this.enabled[t]=!1,this.drawSides[t]=!1;continue}this.enabled[t]=r.showspikes,this.colors[t]=rPt(r.spikecolor),this.drawSides[t]=r.spikesides,this.lineWidth[t]=r.spikethickness}};function aPt(e){var t=new nPe;return t.merge(e),t}aPe.exports=aPt});var uPe=ye((gvr,lPe)=>{\"use strict\";lPe.exports=cPt;var sPe=Qa(),oPt=Mr(),sPt=[\"xaxis\",\"yaxis\",\"zaxis\"],lPt=[0,0,0];function uPt(e){for(var t=new Array(3),r=0;r<3;++r){for(var n=e[r],i=new Array(n.length),a=0;a/g,\" \"));i[a]=u,o.tickmode=s}}t.ticks=i;for(var a=0;a<3;++a){lPt[a]=.5*(e.glplot.bounds[0][a]+e.glplot.bounds[1][a]);for(var c=0;c<2;++c)t.bounds[c][a]=e.glplot.bounds[c][a]}e.contourLevels=uPt(i)}});var gPe=ye((mvr,pPe)=>{\"use strict\";var hPe=Rd().gl_plot3d,fPt=hPe.createCamera,cPe=hPe.createScene,hPt=$Le(),dPt=EL(),JD=ba(),up=Mr(),KD=up.preserveDrawingBuffer(),$D=Qa(),Kg=Nc(),vPt=Jy(),pPt=pZ(),gPt=DU(),mPt=iPe(),yPt=oPe(),_Pt=uPe(),xPt=wg().applyAutorangeOptions,VE,YD,dPe=!1;function vPe(e,t){var r=document.createElement(\"div\"),n=e.container;this.graphDiv=e.graphDiv;var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.style.position=\"absolute\",i.style.top=i.style.left=\"0px\",i.style.width=i.style.height=\"100%\",i.style[\"z-index\"]=20,i.style[\"pointer-events\"]=\"none\",r.appendChild(i),this.svgContainer=i,r.id=e.id,r.style.position=\"absolute\",r.style.top=r.style.left=\"0px\",r.style.width=r.style.height=\"100%\",n.appendChild(r),this.fullLayout=t,this.id=e.id||\"scene\",this.fullSceneLayout=t[this.id],this.plotArgs=[[],{},{}],this.axesOptions=mPt(t,t[this.id]),this.spikeOptions=yPt(t[this.id]),this.container=r,this.staticMode=!!e.staticPlot,this.pixelRatio=this.pixelRatio||e.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=JD.getComponentMethod(\"annotations3d\",\"convert\"),this.drawAnnotations=JD.getComponentMethod(\"annotations3d\",\"draw\"),this.initializeGLPlot()}var wv=vPe.prototype;wv.prepareOptions=function(){var e=this,t={canvas:e.canvas,gl:e.gl,glOptions:{preserveDrawingBuffer:KD,premultipliedAlpha:!0,antialias:!0},container:e.container,axes:e.axesOptions,spikes:e.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e.camera,pixelRatio:e.pixelRatio};if(e.staticMode){if(!YD&&(VE=document.createElement(\"canvas\"),YD=hPt({canvas:VE,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}),!YD))throw new Error(\"error creating static canvas/context for image server\");t.gl=YD,t.canvas=VE}return t};var fPe=!0;wv.tryCreatePlot=function(){var e=this,t=e.prepareOptions(),r=!0;try{e.glplot=cPe(t)}catch(n){if(e.staticMode||!fPe||KD)r=!1;else{up.warn([\"webgl setup failed possibly due to\",\"false preserveDrawingBuffer config.\",\"The mobile/tablet device may not be detected by is-mobile module.\",\"Enabling preserveDrawingBuffer in second attempt to create webgl scene...\"].join(\" \"));try{KD=t.glOptions.preserveDrawingBuffer=!0,e.glplot=cPe(t)}catch(i){KD=t.glOptions.preserveDrawingBuffer=!1,r=!1}}}return fPe=!1,r};wv.initializeGLCamera=function(){var e=this,t=e.fullSceneLayout.camera,r=t.projection.type===\"orthographic\";e.camera=fPt(e.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:r,zoomMin:.01,zoomMax:100,mode:\"orbit\"})};wv.initializeGLPlot=function(){var e=this;e.initializeGLCamera();var t=e.tryCreatePlot();if(!t)return pPt(e);e.traces={},e.make4thDimension();var r=e.graphDiv,n=r.layout,i=function(){var o={};return e.isCameraChanged(n)&&(o[e.id+\".camera\"]=e.getCamera()),e.isAspectChanged(n)&&(o[e.id+\".aspectratio\"]=e.glplot.getAspectratio(),n[e.id].aspectmode!==\"manual\"&&(e.fullSceneLayout.aspectmode=n[e.id].aspectmode=o[e.id+\".aspectmode\"]=\"manual\")),o},a=function(o){if(o.fullSceneLayout.dragmode!==!1){var s=i();o.saveLayout(n),o.graphDiv.emit(\"plotly_relayout\",s)}};return e.glplot.canvas&&(e.glplot.canvas.addEventListener(\"mouseup\",function(){a(e)}),e.glplot.canvas.addEventListener(\"touchstart\",function(){dPe=!0}),e.glplot.canvas.addEventListener(\"wheel\",function(o){if(r._context._scrollZoom.gl3d){if(e.camera._ortho){var s=o.deltaX>o.deltaY?1.1:.9090909090909091,l=e.glplot.getAspectratio();e.glplot.setAspectratio({x:s*l.x,y:s*l.y,z:s*l.z})}a(e)}},dPt?{passive:!1}:!1),e.glplot.canvas.addEventListener(\"mousemove\",function(){if(e.fullSceneLayout.dragmode!==!1&&e.camera.mouseListener.buttons!==0){var o=i();e.graphDiv.emit(\"plotly_relayouting\",o)}}),e.staticMode||e.glplot.canvas.addEventListener(\"webglcontextlost\",function(o){r&&r.emit&&r.emit(\"plotly_webglcontextlost\",{event:o,layer:e.id})},!1)),e.glplot.oncontextloss=function(){e.recoverContext()},e.glplot.onrender=function(){e.render()},!0};wv.render=function(){var e=this,t=e.graphDiv,r,n=e.svgContainer,i=e.container.getBoundingClientRect();t._fullLayout._calcInverseTransform(t);var a=t._fullLayout._invScaleX,o=t._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,\"viewBox\",\"0 0 \"+s+\" \"+l),n.setAttributeNS(null,\"width\",s),n.setAttributeNS(null,\"height\",l),_Pt(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,f=e.glplot.selection,h=0;h\")):r.type===\"isosurface\"||r.type===\"volume\"?(g.valueLabel=$D.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),r.valuehoverformat),_.push(\"value: \"+g.valueLabel),f.textLabel&&_.push(f.textLabel),L=_.join(\"
\")):L=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:x._input,fullData:x,curveNumber:x.index,pointNumber:b};Kg.appendArrayPointValue(C,x,b),r._module.eventData&&(C=x._module.eventData(C,f,x,{},b));var M={points:[C]};if(e.fullSceneLayout.hovermode){var p=[];Kg.loneHover({trace:x,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:g.xLabel,yLabel:g.yLabel,zLabel:g.zLabel,text:L,name:c.name,color:Kg.castHoverOption(x,b,\"bgcolor\")||c.color,borderColor:Kg.castHoverOption(x,b,\"bordercolor\"),fontFamily:Kg.castHoverOption(x,b,\"font.family\"),fontSize:Kg.castHoverOption(x,b,\"font.size\"),fontColor:Kg.castHoverOption(x,b,\"font.color\"),nameLength:Kg.castHoverOption(x,b,\"namelength\"),textAlign:Kg.castHoverOption(x,b,\"align\"),hovertemplate:up.castOption(x,b,\"hovertemplate\"),hovertemplateLabels:up.extendFlat({},C,g),eventData:[C]},{container:n,gd:t,inOut_bbox:p}),C.bbox=p[0]}f.distance<5&&(f.buttons||dPe)?t.emit(\"plotly_click\",M):t.emit(\"plotly_hover\",M),this.oldEventData=M}else Kg.loneUnhover(n),this.oldEventData&&t.emit(\"plotly_unhover\",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)};wv.recoverContext=function(){var e=this;e.glplot.dispose();var t=function(){if(e.glplot.gl.isContextLost()){requestAnimationFrame(t);return}if(!e.initializeGLPlot()){up.error(\"Catastrophic and unrecoverable WebGL error. Context lost.\");return}e.plot.apply(e,e.plotArgs)};requestAnimationFrame(t)};var HE=[\"xaxis\",\"yaxis\",\"zaxis\"];function bPt(e,t,r){for(var n=e.fullSceneLayout,i=0;i<3;i++){var a=HE[i],o=a.charAt(0),s=n[a],l=t[o],u=t[o+\"calendar\"],c=t[\"_\"+o+\"length\"];if(!up.isArrayOrTypedArray(l))r[0][i]=Math.min(r[0][i],0),r[1][i]=Math.max(r[1][i],c-1);else for(var f,h=0;h<(c||l.length);h++)if(up.isArrayOrTypedArray(l[h]))for(var d=0;dx[1][o])x[0][o]=-1,x[1][o]=1;else{var T=x[1][o]-x[0][o];x[0][o]-=T/32,x[1][o]+=T/32}if(E=[x[0][o],x[1][o]],E=xPt(E,l),x[0][o]=E[0],x[1][o]=E[1],l.isReversed()){var F=x[0][o];x[0][o]=x[1][o],x[1][o]=F}}else E=l.range,x[0][o]=l.r2l(E[0]),x[1][o]=l.r2l(E[1]);x[0][o]===x[1][o]&&(x[0][o]-=1,x[1][o]+=1),b[o]=x[1][o]-x[0][o],l.range=[x[0][o],x[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*d[o],max:l.range[1]*d[o]})}var q,V=c.aspectmode;if(V===\"cube\")q=[1,1,1];else if(V===\"manual\"){var H=c.aspectratio;q=[H.x,H.y,H.z]}else if(V===\"auto\"||V===\"data\"){var X=[1,1,1];for(o=0;o<3;++o){l=c[HE[o]],u=l.type;var G=g[u];X[o]=Math.pow(G.acc,1/G.count)/d[o]}V===\"data\"||Math.max.apply(null,X)/Math.min.apply(null,X)<=4?q=X:q=[1,1,1]}else throw new Error(\"scene.js aspectRatio was not one of the enumerated types\");c.aspectratio.x=f.aspectratio.x=q[0],c.aspectratio.y=f.aspectratio.y=q[1],c.aspectratio.z=f.aspectratio.z=q[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var N=c.domain||null,W=t._size||null;if(N&&W){var re=n.container.style;re.position=\"absolute\",re.left=W.l+N.x[0]*W.w+\"px\",re.top=W.t+(1-N.y[1])*W.h+\"px\",re.width=W.w*(N.x[1]-N.x[0])+\"px\",re.height=W.h*(N.y[1]-N.y[0])+\"px\"}n.glplot.redraw()}};wv.destroy=function(){var e=this;e.glplot&&(e.camera.mouseListener.enabled=!1,e.container.removeEventListener(\"wheel\",e.camera.wheelListener),e.camera=null,e.glplot.dispose(),e.container.parentNode.removeChild(e.container),e.glplot=null)};function TPt(e){return[[e.eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]}function APt(e){return{up:{x:e.up[0],y:e.up[1],z:e.up[2]},center:{x:e.center[0],y:e.center[1],z:e.center[2]},eye:{x:e.eye[0],y:e.eye[1],z:e.eye[2]},projection:{type:e._ortho===!0?\"orthographic\":\"perspective\"}}}wv.getCamera=function(){var e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),APt(e.camera)};wv.setViewport=function(e){var t=this,r=e.camera;t.camera.lookAt.apply(this,TPt(r)),t.glplot.setAspectratio(e.aspectratio);var n=r.projection.type===\"orthographic\",i=t.camera._ortho;n!==i&&(t.glplot.redraw(),t.glplot.clearRGBA(),t.glplot.dispose(),t.initializeGLPlot())};wv.isCameraChanged=function(e){var t=this,r=t.getCamera(),n=up.nestedProperty(e,t.id+\".camera\"),i=n.get();function a(u,c,f,h){var d=[\"up\",\"center\",\"eye\"],v=[\"x\",\"y\",\"z\"];return c[d[f]]&&u[d[f]][v[h]]===c[d[f]][v[h]]}var o=!1;if(i===void 0)o=!0;else{for(var s=0;s<3;s++)for(var l=0;l<3;l++)if(!a(r,i,s,l)){o=!0;break}(!i.projection||r.projection&&r.projection.type!==i.projection.type)&&(o=!0)}return o};wv.isAspectChanged=function(e){var t=this,r=t.glplot.getAspectratio(),n=up.nestedProperty(e,t.id+\".aspectratio\"),i=n.get();return i===void 0||i.x!==r.x||i.y!==r.y||i.z!==r.z};wv.saveLayout=function(e){var t=this,r=t.fullLayout,n,i,a,o,s,l,u=t.isCameraChanged(e),c=t.isAspectChanged(e),f=u||c;if(f){var h={};if(u&&(n=t.getCamera(),i=up.nestedProperty(e,t.id+\".camera\"),a=i.get(),h[t.id+\".camera\"]=a),c&&(o=t.glplot.getAspectratio(),s=up.nestedProperty(e,t.id+\".aspectratio\"),l=s.get(),h[t.id+\".aspectratio\"]=l),JD.call(\"_storeDirectGUIEdit\",e,r._preGUI,h),u){i.set(n);var d=up.nestedProperty(r,t.id+\".camera\");d.set(n)}if(c){s.set(o);var v=up.nestedProperty(r,t.id+\".aspectratio\");v.set(o),t.glplot.redraw()}}return f};wv.updateFx=function(e,t){var r=this,n=r.camera;if(n)if(e===\"orbit\")n.mode=\"orbit\",n.keyBindingMode=\"rotate\";else if(e===\"turntable\"){n.up=[0,0,1],n.mode=\"turntable\",n.keyBindingMode=\"rotate\";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var c=r.id+\".camera.up\",f={x:0,y:0,z:1},h={};h[c]=f;var d=i.layout;JD.call(\"_storeDirectGUIEdit\",d,a._preGUI,h),o.up=f,up.nestedProperty(d,c).set(f)}}else n.keyBindingMode=e;r.fullSceneLayout.hovermode=t};function SPt(e,t,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)e[a+l]=Math.min(s*e[a+l],255)}}wv.toImage=function(e){var t=this;e||(e=\"png\"),t.staticMode&&t.container.appendChild(VE),t.glplot.redraw();var r=t.glplot.gl,n=r.drawingBufferWidth,i=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var a=new Uint8Array(n*i*4);r.readPixels(0,0,n,i,r.RGBA,r.UNSIGNED_BYTE,a),SPt(a,n,i),MPt(a,n,i);var o=document.createElement(\"canvas\");o.width=n,o.height=i;var s=o.getContext(\"2d\",{willReadFrequently:!0}),l=s.createImageData(n,i);l.data.set(a),s.putImageData(l,0,0);var u;switch(e){case\"jpeg\":u=o.toDataURL(\"image/jpeg\");break;case\"webp\":u=o.toDataURL(\"image/webp\");break;default:u=o.toDataURL(\"image/png\")}return t.staticMode&&t.container.removeChild(VE),u};wv.setConvert=function(){for(var e=this,t=0;t<3;t++){var r=e.fullSceneLayout[HE[t]];$D.setConvert(r,e.fullLayout),r.setScale=up.noop}};wv.make4thDimension=function(){var e=this,t=e.graphDiv,r=t._fullLayout;e._mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},$D.setConvert(e._mockAxis,r)};pPe.exports=vPe});var yPe=ye((yvr,mPe)=>{\"use strict\";mPe.exports={scene:{valType:\"subplotid\",dflt:\"scene\",editType:\"calc+clearAxisTypes\"}}});var mZ=ye((_vr,_Pe)=>{\"use strict\";var EPt=va(),cs=Cd(),gZ=no().extendFlat,kPt=Bu().overrideAll;_Pe.exports=kPt({visible:cs.visible,showspikes:{valType:\"boolean\",dflt:!0},spikesides:{valType:\"boolean\",dflt:!0},spikethickness:{valType:\"number\",min:0,dflt:2},spikecolor:{valType:\"color\",dflt:EPt.defaultLine},showbackground:{valType:\"boolean\",dflt:!1},backgroundcolor:{valType:\"color\",dflt:\"rgba(204, 204, 204, 0.5)\"},showaxeslabels:{valType:\"boolean\",dflt:!0},color:cs.color,categoryorder:cs.categoryorder,categoryarray:cs.categoryarray,title:{text:cs.title.text,font:cs.title.font},type:gZ({},cs.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:cs.autotypenumbers,autorange:cs.autorange,autorangeoptions:{minallowed:cs.autorangeoptions.minallowed,maxallowed:cs.autorangeoptions.maxallowed,clipmin:cs.autorangeoptions.clipmin,clipmax:cs.autorangeoptions.clipmax,include:cs.autorangeoptions.include,editType:\"plot\"},rangemode:cs.rangemode,minallowed:cs.minallowed,maxallowed:cs.maxallowed,range:gZ({},cs.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],anim:!1}),tickmode:cs.minor.tickmode,nticks:cs.nticks,tick0:cs.tick0,dtick:cs.dtick,tickvals:cs.tickvals,ticktext:cs.ticktext,ticks:cs.ticks,mirror:cs.mirror,ticklen:cs.ticklen,tickwidth:cs.tickwidth,tickcolor:cs.tickcolor,showticklabels:cs.showticklabels,labelalias:cs.labelalias,tickfont:cs.tickfont,tickangle:cs.tickangle,tickprefix:cs.tickprefix,showtickprefix:cs.showtickprefix,ticksuffix:cs.ticksuffix,showticksuffix:cs.showticksuffix,showexponent:cs.showexponent,exponentformat:cs.exponentformat,minexponent:cs.minexponent,separatethousands:cs.separatethousands,tickformat:cs.tickformat,tickformatstops:cs.tickformatstops,hoverformat:cs.hoverformat,showline:cs.showline,linecolor:cs.linecolor,linewidth:cs.linewidth,showgrid:cs.showgrid,gridcolor:gZ({},cs.gridcolor,{dflt:\"rgb(204, 204, 204)\"}),gridwidth:cs.gridwidth,zeroline:cs.zeroline,zerolinecolor:cs.zerolinecolor,zerolinewidth:cs.zerolinewidth},\"plot\",\"from-root\")});var bZ=ye((xvr,xPe)=>{\"use strict\";var yZ=mZ(),CPt=Ju().attributes,_Z=no().extendFlat,LPt=Mr().counterRegex;function xZ(e,t,r){return{x:{valType:\"number\",dflt:e,editType:\"camera\"},y:{valType:\"number\",dflt:t,editType:\"camera\"},z:{valType:\"number\",dflt:r,editType:\"camera\"},editType:\"camera\"}}xPe.exports={_arrayAttrRegexps:[LPt(\"scene\",\".annotations\",!0)],bgcolor:{valType:\"color\",dflt:\"rgba(0,0,0,0)\",editType:\"plot\"},camera:{up:_Z(xZ(0,0,1),{}),center:_Z(xZ(0,0,0),{}),eye:_Z(xZ(1.25,1.25,1.25),{}),projection:{type:{valType:\"enumerated\",values:[\"perspective\",\"orthographic\"],dflt:\"perspective\",editType:\"calc\"},editType:\"calc\"},editType:\"camera\"},domain:CPt({name:\"scene\",editType:\"plot\"}),aspectmode:{valType:\"enumerated\",values:[\"auto\",\"cube\",\"data\",\"manual\"],dflt:\"auto\",editType:\"plot\",impliedEdits:{\"aspectratio.x\":void 0,\"aspectratio.y\":void 0,\"aspectratio.z\":void 0}},aspectratio:{x:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},y:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},z:{valType:\"number\",min:0,editType:\"plot\",impliedEdits:{\"^aspectmode\":\"manual\"}},editType:\"plot\",impliedEdits:{aspectmode:\"manual\"}},xaxis:yZ,yaxis:yZ,zaxis:yZ,dragmode:{valType:\"enumerated\",values:[\"orbit\",\"turntable\",\"zoom\",\"pan\",!1],editType:\"plot\"},hovermode:{valType:\"enumerated\",values:[\"closest\",!1],dflt:\"closest\",editType:\"modebar\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"plot\"}});var APe=ye((bvr,TPe)=>{\"use strict\";var PPt=id().mix,bPe=Mr(),IPt=Vs(),RPt=mZ(),DPt=yU(),zPt=JM(),wPe=[\"xaxis\",\"yaxis\",\"zaxis\"],FPt=100*136/187;TPe.exports=function(t,r,n){var i,a;function o(u,c){return bPe.coerce(i,a,RPt,u,c)}for(var s=0;s{\"use strict\";var qPt=Mr(),OPt=va(),BPt=ba(),NPt=k_(),UPt=APe(),SPe=bZ(),VPt=kd().getSubplotData,MPe=\"gl3d\";EPe.exports=function(t,r,n){var i=r._basePlotModules.length>1;function a(o){if(!i){var s=qPt.validate(t[o],SPe[o]);if(s)return t[o]}}NPt(t,r,n,{type:MPe,attributes:SPe,handleDefaults:HPt,fullLayout:r,font:r.font,fullData:n,getDfltFromLayout:a,autotypenumbersDflt:r.autotypenumbers,paper_bgcolor:r.paper_bgcolor,calendar:r.calendar})};function HPt(e,t,r,n){for(var i=r(\"bgcolor\"),a=OPt.combine(i,n.paper_bgcolor),o=[\"up\",\"center\",\"eye\"],s=0;s.999)&&(h=\"turntable\")}else h=\"turntable\";r(\"dragmode\",h),r(\"hovermode\",n.getDfltFromLayout(\"hovermode\"))}});var $_=ye(cp=>{\"use strict\";var GPt=Bu().overrideAll,jPt=B1(),WPt=gPe(),ZPt=kd().getSubplotData,XPt=Mr(),YPt=Zp(),B5=\"gl3d\",wZ=\"scene\";cp.name=B5;cp.attr=wZ;cp.idRoot=wZ;cp.idRegex=cp.attrRegex=XPt.counterRegex(\"scene\");cp.attributes=yPe();cp.layoutAttributes=bZ();cp.baseLayoutAttrOverrides=GPt({hoverlabel:jPt.hoverlabel},\"plot\",\"nested\");cp.supplyLayoutDefaults=kPe();cp.plot=function(t){for(var r=t._fullLayout,n=t._fullData,i=r._subplots[B5],a=0;a{\"use strict\";CPe.exports={plot:NLe(),attributes:dZ(),markerSymbols:ZD(),supplyDefaults:WLe(),colorbar:[{container:\"marker\",min:\"cmin\",max:\"cmax\"},{container:\"line\",min:\"cmin\",max:\"cmax\"}],calc:XLe(),moduleType:\"trace\",name:\"scatter3d\",basePlotModule:$_(),categories:[\"gl3d\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var IPe=ye((Svr,PPe)=>{\"use strict\";PPe.exports=LPe()});var GE=ye((Mvr,zPe)=>{\"use strict\";var RPe=va(),KPt=Kl(),TZ=Oc().axisHoverFormat,JPt=Wo().hovertemplateAttrs,DPe=vl(),AZ=no().extendFlat,$Pt=Bu().overrideAll;function SZ(e){return{valType:\"boolean\",dflt:!1}}function MZ(e){return{show:{valType:\"boolean\",dflt:!1},start:{valType:\"number\",dflt:null,editType:\"plot\"},end:{valType:\"number\",dflt:null,editType:\"plot\"},size:{valType:\"number\",dflt:null,min:0,editType:\"plot\"},project:{x:SZ(\"x\"),y:SZ(\"y\"),z:SZ(\"z\")},color:{valType:\"color\",dflt:RPe.defaultLine},usecolormap:{valType:\"boolean\",dflt:!1},width:{valType:\"number\",min:1,max:16,dflt:2},highlight:{valType:\"boolean\",dflt:!0},highlightcolor:{valType:\"color\",dflt:RPe.defaultLine},highlightwidth:{valType:\"number\",min:1,max:16,dflt:2}}}var EZ=zPe.exports=$Pt(AZ({z:{valType:\"data_array\"},x:{valType:\"data_array\"},y:{valType:\"data_array\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:JPt(),xhoverformat:TZ(\"x\"),yhoverformat:TZ(\"y\"),zhoverformat:TZ(\"z\"),connectgaps:{valType:\"boolean\",dflt:!1,editType:\"calc\"},surfacecolor:{valType:\"data_array\"}},KPt(\"\",{colorAttr:\"z or surfacecolor\",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:\"calc\"}),{contours:{x:MZ(\"x\"),y:MZ(\"y\"),z:MZ(\"z\")},hidesurface:{valType:\"boolean\",dflt:!1},lightposition:{x:{valType:\"number\",min:-1e5,max:1e5,dflt:10},y:{valType:\"number\",min:-1e5,max:1e5,dflt:1e4},z:{valType:\"number\",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:\"number\",min:0,max:1,dflt:.8},diffuse:{valType:\"number\",min:0,max:1,dflt:.8},specular:{valType:\"number\",min:0,max:2,dflt:.05},roughness:{valType:\"number\",min:0,max:1,dflt:.5},fresnel:{valType:\"number\",min:0,max:5,dflt:.2}},opacity:{valType:\"number\",min:0,max:1,dflt:1},opacityscale:{valType:\"any\",editType:\"calc\"},hoverinfo:AZ({},DPe.hoverinfo),showlegend:AZ({},DPe.showlegend,{dflt:!1})}),\"calc\",\"nested\");EZ.x.editType=EZ.y.editType=EZ.z.editType=\"calc+clearAxisTypes\"});var CZ=ye((Evr,OPe)=>{\"use strict\";var QPt=ba(),FPe=Mr(),eIt=Uh(),tIt=GE(),kZ=.1;function rIt(e,t){for(var r=[],n=32,i=0;i{\"use strict\";var BPe=zv();NPe.exports=function(t,r){r.surfacecolor?BPe(t,r,{vals:r.surfacecolor,containerStr:\"\",cLetter:\"c\"}):BPe(t,r,{vals:r.z,containerStr:\"\",cLetter:\"c\"})}});var ZPe=ye((Cvr,WPe)=>{\"use strict\";var aIt=Rd().gl_surface3d,N5=Rd().ndarray,oIt=Rd().ndarray_linear_interpolate.d2,sIt=QI(),lIt=e8(),jE=Mr().isArrayOrTypedArray,uIt=$y().parseColorScale,VPe=Jy(),cIt=Mu().extractOpts;function GPe(e,t,r){this.scene=e,this.uid=r,this.surface=t,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var Jg=GPe.prototype;Jg.getXat=function(e,t,r,n){var i=jE(this.data.x)?jE(this.data.x[0])?this.data.x[t][e]:this.data.x[e]:e;return r===void 0?i:n.d2l(i,0,r)};Jg.getYat=function(e,t,r,n){var i=jE(this.data.y)?jE(this.data.y[0])?this.data.y[t][e]:this.data.y[t]:t;return r===void 0?i:n.d2l(i,0,r)};Jg.getZat=function(e,t,r,n){var i=this.data.z[t][e];return i===null&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[t][e]),r===void 0?i:n.d2l(i,0,r)};Jg.handlePick=function(e){if(e.object===this.surface){var t=(e.data.index[0]-1)/this.dataScaleX-1,r=(e.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(t),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);e.index=[n,i],e.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],e.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){var o=e.dataCoordinate[a];o!=null&&(e.dataCoordinate[a]*=this.scene.dataScale[a])}var s=this.data.hovertext||this.data.text;return jE(s)&&s[i]&&s[i][n]!==void 0?e.textLabel=s[i][n]:s?e.textLabel=s:e.textLabel=\"\",e.data.dataCoordinate=e.dataCoordinate.slice(),this.surface.highlight(e.data),this.scene.glplot.spikes.position=e.dataCoordinate,!0}};function fIt(e){var t=e[0].rgb,r=e[e.length-1].rgb;return t[0]===r[0]&&t[1]===r[1]&&t[2]===r[2]&&t[3]===r[3]}var U5=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function hIt(e,t){if(e0){r=U5[n];break}return r}function vIt(e,t){if(!(e<1||t<1)){for(var r=LZ(e),n=LZ(t),i=1,a=0;aQD;)n--,n/=dIt(n),n++,n1?i:1};function gIt(e,t,r){var n=r[8]+r[2]*t[0]+r[5]*t[1];return e[0]=(r[6]+r[0]*t[0]+r[3]*t[1])/n,e[1]=(r[7]+r[1]*t[0]+r[4]*t[1])/n,e}function mIt(e,t,r){return yIt(e,t,gIt,r),e}function yIt(e,t,r,n){for(var i=[0,0],a=e.shape[0],o=e.shape[1],s=0;s0&&this.contourStart[n]!==null&&this.contourEnd[n]!==null&&this.contourEnd[n]>this.contourStart[n]))for(t[n]=!0,i=this.contourStart[n];ih&&(this.minValues[u]=h),this.maxValues[u]{\"use strict\";XPe.exports={attributes:GE(),supplyDefaults:CZ().supplyDefaults,colorbar:{min:\"cmin\",max:\"cmax\"},calc:UPe(),plot:ZPe(),moduleType:\"trace\",name:\"surface\",basePlotModule:$_(),categories:[\"gl3d\",\"2dMap\",\"showLegend\"],meta:{}}});var JPe=ye((Pvr,KPe)=>{\"use strict\";KPe.exports=YPe()});var V5=ye((Ivr,QPe)=>{\"use strict\";var bIt=Kl(),PZ=Oc().axisHoverFormat,wIt=Wo().hovertemplateAttrs,Q_=GE(),$Pe=vl(),ex=no().extendFlat;QPe.exports=ex({x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},i:{valType:\"data_array\",editType:\"calc\"},j:{valType:\"data_array\",editType:\"calc\"},k:{valType:\"data_array\",editType:\"calc\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:wIt({editType:\"calc\"}),xhoverformat:PZ(\"x\"),yhoverformat:PZ(\"y\"),zhoverformat:PZ(\"z\"),delaunayaxis:{valType:\"enumerated\",values:[\"x\",\"y\",\"z\"],dflt:\"z\",editType:\"calc\"},alphahull:{valType:\"number\",dflt:-1,editType:\"calc\"},intensity:{valType:\"data_array\",editType:\"calc\"},intensitymode:{valType:\"enumerated\",values:[\"vertex\",\"cell\"],dflt:\"vertex\",editType:\"calc\"},color:{valType:\"color\",editType:\"calc\"},vertexcolor:{valType:\"data_array\",editType:\"calc\"},facecolor:{valType:\"data_array\",editType:\"calc\"}},bIt(\"\",{colorAttr:\"`intensity`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:Q_.opacity,flatshading:{valType:\"boolean\",dflt:!1,editType:\"calc\"},contour:{show:ex({},Q_.contours.x.show,{}),color:Q_.contours.x.color,width:Q_.contours.x.width,editType:\"calc\"},lightposition:{x:ex({},Q_.lightposition.x,{dflt:1e5}),y:ex({},Q_.lightposition.y,{dflt:1e5}),z:ex({},Q_.lightposition.z,{dflt:0}),editType:\"calc\"},lighting:ex({vertexnormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-12,editType:\"calc\"},facenormalsepsilon:{valType:\"number\",min:0,max:1,dflt:1e-6,editType:\"calc\"},editType:\"calc\"},Q_.lighting),hoverinfo:ex({},$Pe.hoverinfo,{editType:\"calc\"}),showlegend:ex({},$Pe.showlegend,{dflt:!1})})});var tz=ye((Rvr,tIe)=>{\"use strict\";var TIt=Kl(),ez=Oc().axisHoverFormat,AIt=Wo().hovertemplateAttrs,WE=V5(),eIe=vl(),IZ=no().extendFlat,SIt=Bu().overrideAll;function RZ(e){return{show:{valType:\"boolean\",dflt:!1},locations:{valType:\"data_array\",dflt:[]},fill:{valType:\"number\",min:0,max:1,dflt:1}}}function DZ(e){return{show:{valType:\"boolean\",dflt:!0},fill:{valType:\"number\",min:0,max:1,dflt:1}}}var H5=tIe.exports=SIt(IZ({x:{valType:\"data_array\"},y:{valType:\"data_array\"},z:{valType:\"data_array\"},value:{valType:\"data_array\"},isomin:{valType:\"number\"},isomax:{valType:\"number\"},surface:{show:{valType:\"boolean\",dflt:!0},count:{valType:\"integer\",dflt:2,min:1},fill:{valType:\"number\",min:0,max:1,dflt:1},pattern:{valType:\"flaglist\",flags:[\"A\",\"B\",\"C\",\"D\",\"E\"],extras:[\"all\",\"odd\",\"even\"],dflt:\"all\"}},spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:.15}},slices:{x:RZ(\"x\"),y:RZ(\"y\"),z:RZ(\"z\")},caps:{x:DZ(\"x\"),y:DZ(\"y\"),z:DZ(\"z\")},text:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0},hovertemplate:AIt(),xhoverformat:ez(\"x\"),yhoverformat:ez(\"y\"),zhoverformat:ez(\"z\"),valuehoverformat:ez(\"value\",1),showlegend:IZ({},eIe.showlegend,{dflt:!1})},TIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{opacity:WE.opacity,lightposition:WE.lightposition,lighting:WE.lighting,flatshading:WE.flatshading,contour:WE.contour,hoverinfo:IZ({},eIe.hoverinfo)}),\"calc\",\"nested\");H5.flatshading.dflt=!0;H5.lighting.facenormalsepsilon.dflt=0;H5.x.editType=H5.y.editType=H5.z.editType=H5.value.editType=\"calc+clearAxisTypes\"});var zZ=ye((Dvr,iIe)=>{\"use strict\";var MIt=Mr(),EIt=ba(),kIt=tz(),CIt=Uh();function LIt(e,t,r,n){function i(a,o){return MIt.coerce(e,t,kIt,a,o)}rIe(e,t,r,n,i)}function rIe(e,t,r,n,i){var a=i(\"isomin\"),o=i(\"isomax\");o!=null&&a!==void 0&&a!==null&&a>o&&(t.isomin=null,t.isomax=null);var s=i(\"x\"),l=i(\"y\"),u=i(\"z\"),c=i(\"value\");if(!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length){t.visible=!1;return}var f=EIt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");f(e,t,[\"x\",\"y\",\"z\"],n),i(\"valuehoverformat\"),[\"x\",\"y\",\"z\"].forEach(function(x){i(x+\"hoverformat\");var b=\"caps.\"+x,g=i(b+\".show\");g&&i(b+\".fill\");var E=\"slices.\"+x,k=i(E+\".show\");k&&(i(E+\".fill\"),i(E+\".locations\"))});var h=i(\"spaceframe.show\");h&&i(\"spaceframe.fill\");var d=i(\"surface.show\");d&&(i(\"surface.count\"),i(\"surface.fill\"),i(\"surface.pattern\"));var v=i(\"contour.show\");v&&(i(\"contour.color\"),i(\"contour.width\")),[\"text\",\"hovertext\",\"hovertemplate\",\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"opacity\"].forEach(function(x){i(x)}),CIt(e,t,n,i,{prefix:\"\",cLetter:\"c\"}),t._length=null}iIe.exports={supplyDefaults:LIt,supplyIsoDefaults:rIe}});var rz=ye((zvr,aIe)=>{\"use strict\";var qZ=Mr(),PIt=zv();function IIt(e,t){t._len=Math.min(t.u.length,t.v.length,t.w.length,t.x.length,t.y.length,t.z.length),t._u=Gm(t.u,t._len),t._v=Gm(t.v,t._len),t._w=Gm(t.w,t._len),t._x=Gm(t.x,t._len),t._y=Gm(t.y,t._len),t._z=Gm(t.z,t._len);var r=nIe(t);t._gridFill=r.fill,t._Xs=r.Xs,t._Ys=r.Ys,t._Zs=r.Zs,t._len=r.len;var n=0,i,a,o;t.starts&&(i=Gm(t.starts.x||[]),a=Gm(t.starts.y||[]),o=Gm(t.starts.z||[]),n=Math.min(i.length,a.length,o.length)),t._startsX=i||[],t._startsY=a||[],t._startsZ=o||[];var s=0,l=1/0,u;for(u=0;u1&&(k=t[i-1],L=r[i-1],C=n[i-1]),a=0;ak?\"-\":\"+\")+\"x\"),v=v.replace(\"y\",(A>L?\"-\":\"+\")+\"y\"),v=v.replace(\"z\",(_>C?\"-\":\"+\")+\"z\");var T=function(){i=0,M=[],p=[],P=[]};(!i||i{\"use strict\";var RIt=zv(),DIt=rz().processGrid,iz=rz().filter;oIe.exports=function(t,r){r._len=Math.min(r.x.length,r.y.length,r.z.length,r.value.length),r._x=iz(r.x,r._len),r._y=iz(r.y,r._len),r._z=iz(r.z,r._len),r._value=iz(r.value,r._len);var n=DIt(r);r._gridFill=n.fill,r._Xs=n.Xs,r._Ys=n.Ys,r._Zs=n.Zs,r._len=n.len;for(var i=1/0,a=-1/0,o=0;o{\"use strict\";sIe.exports=function(t,r,n,i){i=i||t.length;for(var a=new Array(i),o=0;o{\"use strict\";var zIt=Rd().gl_mesh3d,FIt=$y().parseColorScale,qIt=Mr().isArrayOrTypedArray,OIt=Jy(),BIt=Mu().extractOpts,lIe=G5(),ZE=function(e,t){for(var r=t.length-1;r>0;r--){var n=Math.min(t[r],t[r-1]),i=Math.max(t[r],t[r-1]);if(i>n&&n-1}function ae(bt,Lt){return bt===null?Lt:bt}function _e(bt,Lt,St){T();var Et=[Lt],dt=[St];if(G>=1)Et=[Lt],dt=[St];else if(G>0){var Ht=W(Lt,St);Et=Ht.xyzv,dt=Ht.abc}for(var $t=0;$t-1?St[_r]:P(Br,Or,Nr);Ne>-1?fr[_r]=Ne:fr[_r]=q(Br,Or,Nr,ae(bt,ut))}V(fr[0],fr[1],fr[2])}}function Me(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(2,3,0)}function ke(bt,Lt,St){var Et=function(dt,Ht,$t){_e(bt,[Lt[dt],Lt[Ht],Lt[$t]],[St[dt],St[Ht],St[$t]])};Et(0,1,2),Et(3,0,1),Et(2,3,0),Et(1,2,3)}function ge(bt,Lt,St,Et){var dt=bt[3];dtEt&&(dt=Et);for(var Ht=(bt[3]-dt)/(bt[3]-Lt[3]+1e-9),$t=[],fr=0;fr<4;fr++)$t[fr]=(1-Ht)*bt[fr]+Ht*Lt[fr];return $t}function ie(bt,Lt,St){return bt>=Lt&&bt<=St}function Te(bt){var Lt=.001*(L-A);return bt>=A-Lt&&bt<=L+Lt}function Ee(bt){for(var Lt=[],St=0;St<4;St++){var Et=bt[St];Lt.push([e._x[Et],e._y[Et],e._z[Et],e._value[Et]])}return Lt}var Ae=3;function ze(bt,Lt,St,Et,dt,Ht){Ht||(Ht=1),St=[-1,-1,-1];var $t=!1,fr=[ie(Lt[0][3],Et,dt),ie(Lt[1][3],Et,dt),ie(Lt[2][3],Et,dt)];if(!fr[0]&&!fr[1]&&!fr[2])return!1;var _r=function(Or,Nr,ut){return Te(Nr[0][3])&&Te(Nr[1][3])&&Te(Nr[2][3])?(_e(Or,Nr,ut),!0):Htfr?[E,Ht]:[Ht,k];kt(Lt,_r[0],_r[1])}}var Br=[[Math.min(A,k),Math.max(A,k)],[Math.min(E,L),Math.max(E,L)]];[\"x\",\"y\",\"z\"].forEach(function(Or){for(var Nr=[],ut=0;ut0&&(Le.push(lt.id),Or===\"x\"?xe.push([lt.distRatio,0,0]):Or===\"y\"?xe.push([0,lt.distRatio,0]):xe.push([0,0,lt.distRatio]))}else Or===\"x\"?ht=er(1,d-1):Or===\"y\"?ht=er(1,v-1):ht=er(1,x-1);Le.length>0&&(Or===\"x\"?Nr[Ne]=Ct(bt,Le,Ye,Ve,xe,Nr[Ne]):Or===\"y\"?Nr[Ne]=Yt(bt,Le,Ye,Ve,xe,Nr[Ne]):Nr[Ne]=xr(bt,Le,Ye,Ve,xe,Nr[Ne]),Ne++),ht.length>0&&(Or===\"x\"?Nr[Ne]=ct(bt,ht,Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,ht,Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,ht,Ye,Ve,Nr[Ne]),Ne++)}var Gt=e.caps[Or];Gt.show&&Gt.fill&&(N(Gt.fill),Or===\"x\"?Nr[Ne]=ct(bt,[0,d-1],Ye,Ve,Nr[Ne]):Or===\"y\"?Nr[Ne]=qt(bt,[0,v-1],Ye,Ve,Nr[Ne]):Nr[Ne]=rt(bt,[0,x-1],Ye,Ve,Nr[Ne]),Ne++)}}),s===0&&F(),e._meshX=_,e._meshY=C,e._meshZ=M,e._meshIntensity=p,e._Xs=c,e._Ys=f,e._Zs=h}return xt(),e}function UIt(e,t){var r=e.glplot.gl,n=zIt({gl:r}),i=new uIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}fIe.exports={findNearestOnAxis:ZE,generateIsoMeshes:cIe,createIsosurfaceTrace:UIt}});var dIe=ye((Bvr,hIe)=>{\"use strict\";hIe.exports={attributes:tz(),supplyDefaults:zZ().supplyDefaults,calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:nz().createIsosurfaceTrace,moduleType:\"trace\",name:\"isosurface\",basePlotModule:$_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var pIe=ye((Nvr,vIe)=>{\"use strict\";vIe.exports=dIe()});var UZ=ye((Uvr,mIe)=>{\"use strict\";var VIt=Kl(),xh=tz(),HIt=GE(),gIe=vl(),NZ=no().extendFlat,GIt=Bu().overrideAll,az=mIe.exports=GIt(NZ({x:xh.x,y:xh.y,z:xh.z,value:xh.value,isomin:xh.isomin,isomax:xh.isomax,surface:xh.surface,spaceframe:{show:{valType:\"boolean\",dflt:!1},fill:{valType:\"number\",min:0,max:1,dflt:1}},slices:xh.slices,caps:xh.caps,text:xh.text,hovertext:xh.hovertext,xhoverformat:xh.xhoverformat,yhoverformat:xh.yhoverformat,zhoverformat:xh.zhoverformat,valuehoverformat:xh.valuehoverformat,hovertemplate:xh.hovertemplate},VIt(\"\",{colorAttr:\"`value`\",showScaleDflt:!0,editTypeOverride:\"calc\"}),{colorbar:xh.colorbar,opacity:xh.opacity,opacityscale:HIt.opacityscale,lightposition:xh.lightposition,lighting:xh.lighting,flatshading:xh.flatshading,contour:xh.contour,hoverinfo:NZ({},gIe.hoverinfo),showlegend:NZ({},gIe.showlegend,{dflt:!1})}),\"calc\",\"nested\");az.x.editType=az.y.editType=az.z.editType=az.value.editType=\"calc+clearAxisTypes\"});var _Ie=ye((Vvr,yIe)=>{\"use strict\";var jIt=Mr(),WIt=UZ(),ZIt=zZ().supplyIsoDefaults,XIt=CZ().opacityscaleDefaults;yIe.exports=function(t,r,n,i){function a(o,s){return jIt.coerce(t,r,WIt,o,s)}ZIt(t,r,n,i,a),XIt(t,r,i,a)}});var TIe=ye((Hvr,wIe)=>{\"use strict\";var YIt=Rd().gl_mesh3d,KIt=$y().parseColorScale,JIt=Mr().isArrayOrTypedArray,$It=Jy(),QIt=Mu().extractOpts,xIe=G5(),VZ=nz().findNearestOnAxis,e8t=nz().generateIsoMeshes;function bIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.data=null,this.showContour=!1}var HZ=bIe.prototype;HZ.handlePick=function(e){if(e.object===this.mesh){var t=e.data.index,r=this.data._meshX[t],n=this.data._meshY[t],i=this.data._meshZ[t],a=this.data._Ys.length,o=this.data._Zs.length,s=VZ(r,this.data._Xs).id,l=VZ(n,this.data._Ys).id,u=VZ(i,this.data._Zs).id,c=e.index=u+o*l+o*a*s;e.traceCoordinate=[this.data._meshX[c],this.data._meshY[c],this.data._meshZ[c],this.data._value[c]];var f=this.data.hovertext||this.data.text;return JIt(f)&&f[c]!==void 0?e.textLabel=f[c]:f&&(e.textLabel=f),!0}};HZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e8t(e);function n(l,u,c,f){return u.map(function(h){return l.d2l(h,0,f)*c})}var i=xIe(n(r.xaxis,e._meshX,t.dataScale[0],e.xcalendar),n(r.yaxis,e._meshY,t.dataScale[1],e.ycalendar),n(r.zaxis,e._meshZ,t.dataScale[2],e.zcalendar)),a=xIe(e._meshI,e._meshJ,e._meshK),o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,opacityscale:e.opacityscale,contourEnable:e.contour.show,contourColor:$It(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading},s=QIt(e);o.vertexIntensity=e._meshIntensity,o.vertexIntensityBounds=[s.min,s.max],o.colormap=KIt(e),this.mesh.update(o)};HZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function t8t(e,t){var r=e.glplot.gl,n=YIt({gl:r}),i=new bIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}wIe.exports=t8t});var SIe=ye((Gvr,AIe)=>{\"use strict\";AIe.exports={attributes:UZ(),supplyDefaults:_Ie(),calc:OZ(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:TIe(),moduleType:\"trace\",name:\"volume\",basePlotModule:$_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var EIe=ye((jvr,MIe)=>{\"use strict\";MIe.exports=SIe()});var LIe=ye((Wvr,CIe)=>{\"use strict\";var r8t=ba(),kIe=Mr(),i8t=Uh(),n8t=V5();CIe.exports=function(t,r,n,i){function a(c,f){return kIe.coerce(t,r,n8t,c,f)}function o(c){var f=c.map(function(h){var d=a(h);return d&&kIe.isArrayOrTypedArray(d)?d:null});return f.every(function(h){return h&&h.length===f[0].length})&&f}var s=o([\"x\",\"y\",\"z\"]);if(!s){r.visible=!1;return}if(o([\"i\",\"j\",\"k\"]),r.i&&(!r.j||!r.k)||r.j&&(!r.k||!r.i)||r.k&&(!r.i||!r.j)){r.visible=!1;return}var l=r8t.getComponentMethod(\"calendars\",\"handleTraceDefaults\");l(t,r,[\"x\",\"y\",\"z\"],i),[\"lighting.ambient\",\"lighting.diffuse\",\"lighting.specular\",\"lighting.roughness\",\"lighting.fresnel\",\"lighting.vertexnormalsepsilon\",\"lighting.facenormalsepsilon\",\"lightposition.x\",\"lightposition.y\",\"lightposition.z\",\"flatshading\",\"alphahull\",\"delaunayaxis\",\"opacity\"].forEach(function(c){a(c)});var u=a(\"contour.show\");u&&(a(\"contour.color\"),a(\"contour.width\")),\"intensity\"in t?(a(\"intensity\"),a(\"intensitymode\"),i8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"})):(r.showscale=!1,\"facecolor\"in t?a(\"facecolor\"):\"vertexcolor\"in t?a(\"vertexcolor\"):a(\"color\",n)),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var IIe=ye((Zvr,PIe)=>{\"use strict\";var a8t=zv();PIe.exports=function(t,r){r.intensity&&a8t(t,r,{vals:r.intensity,containerStr:\"\",cLetter:\"c\"})}});var qIe=ye((Xvr,FIe)=>{\"use strict\";var o8t=Rd().gl_mesh3d,s8t=Rd().delaunay_triangulate,l8t=Rd().alpha_shape,u8t=Rd().convex_hull,c8t=$y().parseColorScale,f8t=Mr().isArrayOrTypedArray,ZZ=Jy(),h8t=Mu().extractOpts,RIe=G5();function zIe(e,t,r){this.scene=e,this.uid=r,this.mesh=t,this.name=\"\",this.color=\"#fff\",this.data=null,this.showContour=!1}var XZ=zIe.prototype;XZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index;e.data._cellCenter?e.traceCoordinate=e.data.dataCoordinate:e.traceCoordinate=[this.data.x[t],this.data.y[t],this.data.z[t]];var r=this.data.hovertext||this.data.text;return f8t(r)&&r[t]!==void 0?e.textLabel=r[t]:r&&(e.textLabel=r),!0}};function DIe(e){for(var t=[],r=e.length,n=0;n=t-.5)return!1;return!0}XZ.update=function(e){var t=this.scene,r=t.fullSceneLayout;this.data=e;var n=e.x.length,i=RIe(GZ(r.xaxis,e.x,t.dataScale[0],e.xcalendar),GZ(r.yaxis,e.y,t.dataScale[1],e.ycalendar),GZ(r.zaxis,e.z,t.dataScale[2],e.zcalendar)),a;if(e.i&&e.j&&e.k){if(e.i.length!==e.j.length||e.j.length!==e.k.length||!WZ(e.i,n)||!WZ(e.j,n)||!WZ(e.k,n))return;a=RIe(jZ(e.i),jZ(e.j),jZ(e.k))}else e.alphahull===0?a=u8t(i):e.alphahull>0?a=l8t(e.alphahull,i):a=d8t(e.delaunayaxis,i);var o={positions:i,cells:a,lightPosition:[e.lightposition.x,e.lightposition.y,e.lightposition.z],ambient:e.lighting.ambient,diffuse:e.lighting.diffuse,specular:e.lighting.specular,roughness:e.lighting.roughness,fresnel:e.lighting.fresnel,vertexNormalsEpsilon:e.lighting.vertexnormalsepsilon,faceNormalsEpsilon:e.lighting.facenormalsepsilon,opacity:e.opacity,contourEnable:e.contour.show,contourColor:ZZ(e.contour.color).slice(0,3),contourWidth:e.contour.width,useFacetNormals:e.flatshading};if(e.intensity){var s=h8t(e);this.color=\"#fff\";var l=e.intensitymode;o[l+\"Intensity\"]=e.intensity,o[l+\"IntensityBounds\"]=[s.min,s.max],o.colormap=c8t(e)}else e.vertexcolor?(this.color=e.vertexcolor[0],o.vertexColors=DIe(e.vertexcolor)):e.facecolor?(this.color=e.facecolor[0],o.cellColors=DIe(e.facecolor)):(this.color=e.color,o.meshColor=ZZ(e.color));this.mesh.update(o)};XZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function v8t(e,t){var r=e.glplot.gl,n=o8t({gl:r}),i=new zIe(e,n,t.uid);return n._trace=i,i.update(t),e.glplot.add(n),i}FIe.exports=v8t});var BIe=ye((Yvr,OIe)=>{\"use strict\";OIe.exports={attributes:V5(),supplyDefaults:LIe(),calc:IIe(),colorbar:{min:\"cmin\",max:\"cmax\"},plot:qIe(),moduleType:\"trace\",name:\"mesh3d\",basePlotModule:$_(),categories:[\"gl3d\",\"showLegend\"],meta:{}}});var UIe=ye((Kvr,NIe)=>{\"use strict\";NIe.exports=BIe()});var KZ=ye((Jvr,HIe)=>{\"use strict\";var p8t=Kl(),j5=Oc().axisHoverFormat,g8t=Wo().hovertemplateAttrs,m8t=V5(),VIe=vl(),YZ=no().extendFlat,oz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},sizemode:{valType:\"enumerated\",values:[\"scaled\",\"absolute\",\"raw\"],editType:\"calc\",dflt:\"scaled\"},sizeref:{valType:\"number\",editType:\"calc\",min:0},anchor:{valType:\"enumerated\",editType:\"calc\",values:[\"tip\",\"tail\",\"cm\",\"center\"],dflt:\"cm\"},text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertemplate:g8t({editType:\"calc\"},{keys:[\"norm\"]}),uhoverformat:j5(\"u\",1),vhoverformat:j5(\"v\",1),whoverformat:j5(\"w\",1),xhoverformat:j5(\"x\"),yhoverformat:j5(\"y\"),zhoverformat:j5(\"z\"),showlegend:YZ({},VIe.showlegend,{dflt:!1})};YZ(oz,p8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var y8t=[\"opacity\",\"lightposition\",\"lighting\"];y8t.forEach(function(e){oz[e]=m8t[e]});oz.hoverinfo=YZ({},VIe.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});HIe.exports=oz});var jIe=ye(($vr,GIe)=>{\"use strict\";var _8t=Mr(),x8t=Uh(),b8t=KZ();GIe.exports=function(t,r,n,i){function a(d,v){return _8t.coerce(t,r,b8t,d,v)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}var h=a(\"sizemode\");a(\"sizeref\",h===\"raw\"?1:.5),a(\"anchor\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),x8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var ZIe=ye((Qvr,WIe)=>{\"use strict\";var w8t=zv();WIe.exports=function(t,r){for(var n=r.u,i=r.v,a=r.w,o=Math.min(r.x.length,r.y.length,r.z.length,n.length,i.length,a.length),s=-1/0,l=1/0,u=0;u{\"use strict\";var T8t=Rd().gl_cone3d,A8t=Rd().gl_cone3d.createConeMesh,S8t=Mr().simpleMap,M8t=$y().parseColorScale,E8t=Mu().extractOpts,k8t=Mr().isArrayOrTypedArray,XIe=G5();function YIe(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var JZ=YIe.prototype;JZ.handlePick=function(e){if(e.object===this.mesh){var t=e.index=e.data.index,r=this.data.x[t],n=this.data.y[t],i=this.data.z[t],a=this.data.u[t],o=this.data.v[t],s=this.data.w[t];e.traceCoordinate=[r,n,i,a,o,s,Math.sqrt(a*a+o*o+s*s)];var l=this.data.hovertext||this.data.text;return k8t(l)&&l[t]!==void 0?e.textLabel=l[t]:l&&(e.textLabel=l),!0}};var C8t={xaxis:0,yaxis:1,zaxis:2},L8t={tip:1,tail:0,cm:.25,center:.5},P8t={tip:1,tail:1,cm:.75,center:.5};function KIe(e,t){var r=e.fullSceneLayout,n=e.dataScale,i={};function a(c,f){var h=r[f],d=n[C8t[f]];return S8t(c,function(v){return h.d2l(v)*d})}i.vectors=XIe(a(t.u,\"xaxis\"),a(t.v,\"yaxis\"),a(t.w,\"zaxis\"),t._len),i.positions=XIe(a(t.x,\"xaxis\"),a(t.y,\"yaxis\"),a(t.z,\"zaxis\"),t._len);var o=E8t(t);i.colormap=M8t(t),i.vertexIntensityBounds=[o.min/t._normMax,o.max/t._normMax],i.coneOffset=L8t[t.anchor];var s=t.sizemode;s===\"scaled\"?i.coneSize=t.sizeref||.5:s===\"absolute\"?i.coneSize=t.sizeref&&t._normMax?t.sizeref/t._normMax:.5:s===\"raw\"&&(i.coneSize=t.sizeref),i.coneSizemode=s;var l=T8t(i),u=t.lightposition;return l.lightPosition=[u.x,u.y,u.z],l.ambient=t.lighting.ambient,l.diffuse=t.lighting.diffuse,l.specular=t.lighting.specular,l.roughness=t.lighting.roughness,l.fresnel=t.lighting.fresnel,l.opacity=t.opacity,t._pad=P8t[t.anchor]*l.vectorScale*l.coneScale*t._normMax,l}JZ.update=function(e){this.data=e;var t=KIe(this.scene,e);this.mesh.update(t)};JZ.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()};function I8t(e,t){var r=e.glplot.gl,n=KIe(e,t),i=A8t(r,n),a=new YIe(e,t.uid);return a.mesh=i,a.data=t,i._trace=a,e.glplot.add(i),a}JIe.exports=I8t});var e8e=ye((tpr,QIe)=>{\"use strict\";QIe.exports={moduleType:\"trace\",name:\"cone\",basePlotModule:$_(),categories:[\"gl3d\",\"showLegend\"],attributes:KZ(),supplyDefaults:jIe(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:ZIe(),plot:$Ie(),eventData:function(e,t){return e.norm=t.traceCoordinate[6],e},meta:{}}});var r8e=ye((rpr,t8e)=>{\"use strict\";t8e.exports=e8e()});var QZ=ye((ipr,n8e)=>{\"use strict\";var R8t=Kl(),W5=Oc().axisHoverFormat,D8t=Wo().hovertemplateAttrs,z8t=V5(),i8e=vl(),$Z=no().extendFlat,sz={x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},z:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},u:{valType:\"data_array\",editType:\"calc\"},v:{valType:\"data_array\",editType:\"calc\"},w:{valType:\"data_array\",editType:\"calc\"},starts:{x:{valType:\"data_array\",editType:\"calc\"},y:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"},maxdisplayed:{valType:\"integer\",min:0,dflt:1e3,editType:\"calc\"},sizeref:{valType:\"number\",editType:\"calc\",min:0,dflt:1},text:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",editType:\"calc\"},hovertemplate:D8t({editType:\"calc\"},{keys:[\"tubex\",\"tubey\",\"tubez\",\"tubeu\",\"tubev\",\"tubew\",\"norm\",\"divergence\"]}),uhoverformat:W5(\"u\",1),vhoverformat:W5(\"v\",1),whoverformat:W5(\"w\",1),xhoverformat:W5(\"x\"),yhoverformat:W5(\"y\"),zhoverformat:W5(\"z\"),showlegend:$Z({},i8e.showlegend,{dflt:!1})};$Z(sz,R8t(\"\",{colorAttr:\"u/v/w norm\",showScaleDflt:!0,editTypeOverride:\"calc\"}));var F8t=[\"opacity\",\"lightposition\",\"lighting\"];F8t.forEach(function(e){sz[e]=z8t[e]});sz.hoverinfo=$Z({},i8e.hoverinfo,{editType:\"calc\",flags:[\"x\",\"y\",\"z\",\"u\",\"v\",\"w\",\"norm\",\"divergence\",\"text\",\"name\"],dflt:\"x+y+z+norm+text+name\"});n8e.exports=sz});var o8e=ye((npr,a8e)=>{\"use strict\";var q8t=Mr(),O8t=Uh(),B8t=QZ();a8e.exports=function(t,r,n,i){function a(h,d){return q8t.coerce(t,r,B8t,h,d)}var o=a(\"u\"),s=a(\"v\"),l=a(\"w\"),u=a(\"x\"),c=a(\"y\"),f=a(\"z\");if(!o||!o.length||!s||!s.length||!l||!l.length||!u||!u.length||!c||!c.length||!f||!f.length){r.visible=!1;return}a(\"starts.x\"),a(\"starts.y\"),a(\"starts.z\"),a(\"maxdisplayed\"),a(\"sizeref\"),a(\"lighting.ambient\"),a(\"lighting.diffuse\"),a(\"lighting.specular\"),a(\"lighting.roughness\"),a(\"lighting.fresnel\"),a(\"lightposition.x\"),a(\"lightposition.y\"),a(\"lightposition.z\"),O8t(t,r,i,a,{prefix:\"\",cLetter:\"c\"}),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"uhoverformat\"),a(\"vhoverformat\"),a(\"whoverformat\"),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"zhoverformat\"),r._length=null}});var v8e=ye((apr,d8e)=>{\"use strict\";var u8e=Rd().gl_streamtube3d,N8t=u8e.createTubeMesh,U8t=Mr(),V8t=$y().parseColorScale,H8t=Mu().extractOpts,s8e=G5(),c8e={xaxis:0,yaxis:1,zaxis:2};function f8e(e,t){this.scene=e,this.uid=t,this.mesh=null,this.data=null}var tX=f8e.prototype;tX.handlePick=function(e){var t=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(o,s){var l=t[s],u=r[c8e[s]];return l.l2c(o)/u}if(e.object===this.mesh){var i=e.data.position,a=e.data.velocity;return e.traceCoordinate=[n(i[0],\"xaxis\"),n(i[1],\"yaxis\"),n(i[2],\"zaxis\"),n(a[0],\"xaxis\"),n(a[1],\"yaxis\"),n(a[2],\"zaxis\"),e.data.intensity*this.data._normMax,e.data.divergence],e.textLabel=this.data.hovertext||this.data.text,!0}};function l8e(e){var t=e.length,r;return t>2?r=e.slice(1,t-1):t===2?r=[(e[0]+e[1])/2]:r=e,r}function eX(e){var t=e.length;return t===1?[.5,.5]:[e[1]-e[0],e[t-1]-e[t-2]]}function h8e(e,t){var r=e.fullSceneLayout,n=e.dataScale,i=t._len,a={};function o(F,q){var V=r[q],H=n[c8e[q]];return U8t.simpleMap(F,function(X){return V.d2l(X)*H})}if(a.vectors=s8e(o(t._u,\"xaxis\"),o(t._v,\"yaxis\"),o(t._w,\"zaxis\"),i),!i)return{positions:[],cells:[]};var s=o(t._Xs,\"xaxis\"),l=o(t._Ys,\"yaxis\"),u=o(t._Zs,\"zaxis\");a.meshgrid=[s,l,u],a.gridFill=t._gridFill;var c=t._slen;if(c)a.startingPositions=s8e(o(t._startsX,\"xaxis\"),o(t._startsY,\"yaxis\"),o(t._startsZ,\"zaxis\"));else{for(var f=l[0],h=l8e(s),d=l8e(u),v=new Array(h.length*d.length),x=0,b=0;b{\"use strict\";p8e.exports={moduleType:\"trace\",name:\"streamtube\",basePlotModule:$_(),categories:[\"gl3d\",\"showLegend\"],attributes:QZ(),supplyDefaults:o8e(),colorbar:{min:\"cmin\",max:\"cmax\"},calc:rz().calc,plot:v8e(),eventData:function(e,t){return e.tubex=e.x,e.tubey=e.y,e.tubez=e.z,e.tubeu=t.traceCoordinate[3],e.tubev=t.traceCoordinate[4],e.tubew=t.traceCoordinate[5],e.norm=t.traceCoordinate[6],e.divergence=t.traceCoordinate[7],delete e.x,delete e.y,delete e.z,e},meta:{}}});var y8e=ye((spr,m8e)=>{\"use strict\";m8e.exports=g8e()});var H2=ye((lpr,b8e)=>{\"use strict\";var j8t=Wo().hovertemplateAttrs,W8t=Wo().texttemplateAttrs,Z8t=Eg(),jm=Uc(),X8t=vl(),_8e=Kl(),Y8t=Ed().dash,V2=no().extendFlat,K8t=Bu().overrideAll,eg=jm.marker,x8e=jm.line,J8t=eg.line;b8e.exports=K8t({lon:{valType:\"data_array\"},lat:{valType:\"data_array\"},locations:{valType:\"data_array\"},locationmode:{valType:\"enumerated\",values:[\"ISO-3\",\"USA-states\",\"country names\",\"geojson-id\"],dflt:\"ISO-3\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:{valType:\"string\",editType:\"calc\",dflt:\"id\"},mode:V2({},jm.mode,{dflt:\"markers\"}),text:V2({},jm.text,{}),texttemplate:W8t({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"location\",\"text\"]}),hovertext:V2({},jm.hovertext,{}),textfont:jm.textfont,textposition:jm.textposition,line:{color:x8e.color,width:x8e.width,dash:Y8t},connectgaps:jm.connectgaps,marker:V2({symbol:eg.symbol,opacity:eg.opacity,angle:eg.angle,angleref:V2({},eg.angleref,{values:[\"previous\",\"up\",\"north\"]}),standoff:eg.standoff,size:eg.size,sizeref:eg.sizeref,sizemin:eg.sizemin,sizemode:eg.sizemode,colorbar:eg.colorbar,line:V2({width:J8t.width},_8e(\"marker.line\")),gradient:eg.gradient},_8e(\"marker\")),fill:{valType:\"enumerated\",values:[\"none\",\"toself\"],dflt:\"none\"},fillcolor:Z8t(),selected:jm.selected,unselected:jm.unselected,hoverinfo:V2({},X8t.hoverinfo,{flags:[\"lon\",\"lat\",\"location\",\"text\",\"name\"]}),hovertemplate:j8t()},\"calc\",\"nested\")});var T8e=ye((upr,w8e)=>{\"use strict\";var rX=Mr(),iX=lu(),$8t=$p(),Q8t=R0(),eRt=D0(),tRt=Ig(),rRt=H2();w8e.exports=function(t,r,n,i){function a(d,v){return rX.coerce(t,r,rRt,d,v)}var o=a(\"locations\"),s;if(o&&o.length){var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||rX.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),s=o.length}else{var f=a(\"lon\")||[],h=a(\"lat\")||[];s=Math.min(f.length,h.length)}if(!s){r.visible=!1;return}r._length=s,a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),iX.hasMarkers(r)&&$8t(t,r,n,i,a,{gradient:!0}),iX.hasLines(r)&&(Q8t(t,r,n,i,a),a(\"connectgaps\")),iX.hasText(r)&&(a(\"texttemplate\"),eRt(t,r,i,a)),a(\"fill\"),r.fill!==\"none\"&&tRt(t,r,n,a),rX.coerceSelectionMarkerOpacity(r,a)}});var M8e=ye((cpr,S8e)=>{\"use strict\";var A8e=Qa();S8e.exports=function(t,r,n){var i={},a=n[r.geo]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=A8e.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=A8e.tickText(o,o.c2l(s[1]),!0).text,i}});var lz=ye((fpr,L8e)=>{\"use strict\";var nX=uo(),E8e=es().BADNUM,iRt=z0(),nRt=km(),aRt=F0(),oRt=Mr().isArrayOrTypedArray,k8e=Mr()._;function C8e(e){return e&&typeof e==\"string\"}L8e.exports=function(t,r){var n=oRt(r.locations),i=n?r.locations.length:r._length,a=new Array(i),o;r.geojson?o=function(h){return C8e(h)||nX(h)}:o=C8e;for(var s=0;s{\"use strict\";Tv.projNames={airy:\"airy\",aitoff:\"aitoff\",\"albers usa\":\"albersUsa\",albers:\"albers\",august:\"august\",\"azimuthal equal area\":\"azimuthalEqualArea\",\"azimuthal equidistant\":\"azimuthalEquidistant\",baker:\"baker\",bertin1953:\"bertin1953\",boggs:\"boggs\",bonne:\"bonne\",bottomley:\"bottomley\",bromley:\"bromley\",collignon:\"collignon\",\"conic conformal\":\"conicConformal\",\"conic equal area\":\"conicEqualArea\",\"conic equidistant\":\"conicEquidistant\",craig:\"craig\",craster:\"craster\",\"cylindrical equal area\":\"cylindricalEqualArea\",\"cylindrical stereographic\":\"cylindricalStereographic\",eckert1:\"eckert1\",eckert2:\"eckert2\",eckert3:\"eckert3\",eckert4:\"eckert4\",eckert5:\"eckert5\",eckert6:\"eckert6\",eisenlohr:\"eisenlohr\",\"equal earth\":\"equalEarth\",equirectangular:\"equirectangular\",fahey:\"fahey\",\"foucaut sinusoidal\":\"foucautSinusoidal\",foucaut:\"foucaut\",ginzburg4:\"ginzburg4\",ginzburg5:\"ginzburg5\",ginzburg6:\"ginzburg6\",ginzburg8:\"ginzburg8\",ginzburg9:\"ginzburg9\",gnomonic:\"gnomonic\",\"gringorten quincuncial\":\"gringortenQuincuncial\",gringorten:\"gringorten\",guyou:\"guyou\",hammer:\"hammer\",hill:\"hill\",homolosine:\"homolosine\",hufnagel:\"hufnagel\",hyperelliptical:\"hyperelliptical\",kavrayskiy7:\"kavrayskiy7\",lagrange:\"lagrange\",larrivee:\"larrivee\",laskowski:\"laskowski\",loximuthal:\"loximuthal\",mercator:\"mercator\",miller:\"miller\",mollweide:\"mollweide\",\"mt flat polar parabolic\":\"mtFlatPolarParabolic\",\"mt flat polar quartic\":\"mtFlatPolarQuartic\",\"mt flat polar sinusoidal\":\"mtFlatPolarSinusoidal\",\"natural earth\":\"naturalEarth\",\"natural earth1\":\"naturalEarth1\",\"natural earth2\":\"naturalEarth2\",\"nell hammer\":\"nellHammer\",nicolosi:\"nicolosi\",orthographic:\"orthographic\",patterson:\"patterson\",\"peirce quincuncial\":\"peirceQuincuncial\",polyconic:\"polyconic\",\"rectangular polyconic\":\"rectangularPolyconic\",robinson:\"robinson\",satellite:\"satellite\",\"sinu mollweide\":\"sinuMollweide\",sinusoidal:\"sinusoidal\",stereographic:\"stereographic\",times:\"times\",\"transverse mercator\":\"transverseMercator\",\"van der grinten\":\"vanDerGrinten\",\"van der grinten2\":\"vanDerGrinten2\",\"van der grinten3\":\"vanDerGrinten3\",\"van der grinten4\":\"vanDerGrinten4\",wagner4:\"wagner4\",wagner6:\"wagner6\",wiechel:\"wiechel\",\"winkel tripel\":\"winkel3\",winkel3:\"winkel3\"};Tv.axesNames=[\"lonaxis\",\"lataxis\"];Tv.lonaxisSpan={orthographic:180,\"azimuthal equal area\":360,\"azimuthal equidistant\":360,\"conic conformal\":180,gnomonic:160,stereographic:180,\"transverse mercator\":180,\"*\":360};Tv.lataxisSpan={\"conic conformal\":150,stereographic:179.5,\"*\":180};Tv.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:\"equirectangular\",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:\"albers usa\"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:\"conic conformal\",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:\"mercator\",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:\"mercator\",projRotate:[0,0,0]},\"north america\":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:\"conic conformal\",projRotate:[-100,0,0],projParallels:[29.5,45.5]},\"south america\":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:\"mercator\",projRotate:[0,0,0]}};Tv.clipPad=.001;Tv.precision=.1;Tv.landColor=\"#F0DC82\";Tv.waterColor=\"#3399FF\";Tv.locationmodeToLayer={\"ISO-3\":\"countries\",\"USA-states\":\"subunits\",\"country names\":\"countries\"};Tv.sphereSVG={type:\"Sphere\"};Tv.fillLayers={ocean:1,land:1,lakes:1};Tv.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1};Tv.layers=[\"bg\",\"ocean\",\"land\",\"lakes\",\"subunits\",\"countries\",\"coastlines\",\"rivers\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"frontplot\"];Tv.layersForChoropleth=[\"bg\",\"ocean\",\"land\",\"subunits\",\"countries\",\"coastlines\",\"lataxis\",\"lonaxis\",\"frame\",\"backplot\",\"rivers\",\"lakes\",\"frontplot\"];Tv.layerNameToAdjective={ocean:\"ocean\",land:\"land\",lakes:\"lake\",subunits:\"subunit\",countries:\"country\",coastlines:\"coastline\",rivers:\"river\",frame:\"frame\"}});var aX=ye((uz,P8e)=>{(function(e,t){typeof uz==\"object\"&&typeof P8e!=\"undefined\"?t(uz):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(uz,function(e){\"use strict\";function t(k){return k}function r(k){if(k==null)return t;var A,L,_=k.scale[0],C=k.scale[1],M=k.translate[0],p=k.translate[1];return function(P,T){T||(A=L=0);var F=2,q=P.length,V=new Array(q);for(V[0]=(A+=P[0])*_+M,V[1]=(L+=P[1])*C+p;FM&&(M=F[0]),F[1]p&&(p=F[1])}function T(F){switch(F.type){case\"GeometryCollection\":F.geometries.forEach(T);break;case\"Point\":P(F.coordinates);break;case\"MultiPoint\":F.coordinates.forEach(P);break}}k.arcs.forEach(function(F){for(var q=-1,V=F.length,H;++qM&&(M=H[0]),H[1]p&&(p=H[1])});for(L in k.objects)T(k.objects[L]);return[_,C,M,p]}function i(k,A){for(var L,_=k.length,C=_-A;C<--_;)L=k[C],k[C++]=k[_],k[_]=L}function a(k,A){return typeof A==\"string\"&&(A=k.objects[A]),A.type===\"GeometryCollection\"?{type:\"FeatureCollection\",features:A.geometries.map(function(L){return o(k,L)})}:o(k,A)}function o(k,A){var L=A.id,_=A.bbox,C=A.properties==null?{}:A.properties,M=s(k,A);return L==null&&_==null?{type:\"Feature\",properties:C,geometry:M}:_==null?{type:\"Feature\",id:L,properties:C,geometry:M}:{type:\"Feature\",id:L,bbox:_,properties:C,geometry:M}}function s(k,A){var L=r(k.transform),_=k.arcs;function C(q,V){V.length&&V.pop();for(var H=_[q<0?~q:q],X=0,G=H.length;X1)_=f(k,A,L);else for(C=0,_=new Array(M=k.arcs.length);C1)for(var V=1,H=P(F[0]),X,G;VH&&(G=F[0],F[0]=F[V],F[V]=G,H=X);return F}).filter(function(T){return T.length>0})}}function x(k,A){for(var L=0,_=k.length;L<_;){var C=L+_>>>1;k[C]=2))throw new Error(\"n must be \\u22652\");T=k.bbox||n(k);var L=T[0],_=T[1],C=T[2],M=T[3],p;A={scale:[C-L?(C-L)/(p-1):1,M-_?(M-_)/(p-1):1],translate:[L,_]}}else T=k.bbox;var P=g(A),T,F,q=k.objects,V={};function H(N){return P(N)}function X(N){var W;switch(N.type){case\"GeometryCollection\":W={type:\"GeometryCollection\",geometries:N.geometries.map(X)};break;case\"Point\":W={type:\"Point\",coordinates:H(N.coordinates)};break;case\"MultiPoint\":W={type:\"MultiPoint\",coordinates:N.coordinates.map(H)};break;default:return N}return N.id!=null&&(W.id=N.id),N.bbox!=null&&(W.bbox=N.bbox),N.properties!=null&&(W.properties=N.properties),W}function G(N){var W=0,re=1,ae=N.length,_e,Me=new Array(ae);for(Me[0]=P(N[0],0);++W{\"use strict\";var oX=I8e.exports={},sRt=XE().locationmodeToLayer,lRt=aX().feature;oX.getTopojsonName=function(e){return[e.scope.replace(/ /g,\"-\"),\"_\",e.resolution.toString(),\"m\"].join(\"\")};oX.getTopojsonPath=function(e,t){return e+t+\".json\"};oX.getTopojsonFeatures=function(e,t){var r=sRt[e.locationmode],n=t.objects[r];return lRt(t,n).features}});var tx=ye(YE=>{\"use strict\";var uRt=es().BADNUM;YE.calcTraceToLineCoords=function(e){for(var t=e[0].trace,r=t.connectgaps,n=[],i=[],a=0;a0&&(n.push(i),i=[])}return i.length>0&&n.push(i),n};YE.makeLine=function(e){return e.length===1?{type:\"LineString\",coordinates:e[0]}:{type:\"MultiLineString\",coordinates:e}};YE.makePolygon=function(e){if(e.length===1)return{type:\"Polygon\",coordinates:e};for(var t=new Array(e.length),r=0;r{R8e.exports={AFG:\"afghan\",ALA:\"\\\\b\\\\wland\",ALB:\"albania\",DZA:\"algeria\",ASM:\"^(?=.*americ).*samoa\",AND:\"andorra\",AGO:\"angola\",AIA:\"anguill?a\",ATA:\"antarctica\",ATG:\"antigua\",ARG:\"argentin\",ARM:\"armenia\",ABW:\"^(?!.*bonaire).*\\\\baruba\",AUS:\"australia\",AUT:\"^(?!.*hungary).*austria|\\\\baustri.*\\\\bemp\",AZE:\"azerbaijan\",BHS:\"bahamas\",BHR:\"bahrain\",BGD:\"bangladesh|^(?=.*east).*paki?stan\",BRB:\"barbados\",BLR:\"belarus|byelo\",BEL:\"^(?!.*luxem).*belgium\",BLZ:\"belize|^(?=.*british).*honduras\",BEN:\"benin|dahome\",BMU:\"bermuda\",BTN:\"bhutan\",BOL:\"bolivia\",BES:\"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\\\bbes.?islands\",BIH:\"herzegovina|bosnia\",BWA:\"botswana|bechuana\",BVT:\"bouvet\",BRA:\"brazil\",IOT:\"british.?indian.?ocean\",BRN:\"brunei\",BGR:\"bulgaria\",BFA:\"burkina|\\\\bfaso|upper.?volta\",BDI:\"burundi\",CPV:\"verde\",KHM:\"cambodia|kampuchea|khmer\",CMR:\"cameroon\",CAN:\"canada\",CYM:\"cayman\",CAF:\"\\\\bcentral.african.republic\",TCD:\"\\\\bchad\",CHL:\"\\\\bchile\",CHN:\"^(?!.*\\\\bmac)(?!.*\\\\bhong)(?!.*\\\\btai)(?!.*\\\\brep).*china|^(?=.*peo)(?=.*rep).*china\",CXR:\"christmas\",CCK:\"\\\\bcocos|keeling\",COL:\"colombia\",COM:\"comoro\",COG:\"^(?!.*\\\\bdem)(?!.*\\\\bd[\\\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\\\bcongo\",COK:\"\\\\bcook\",CRI:\"costa.?rica\",CIV:\"ivoire|ivory\",HRV:\"croatia\",CUB:\"\\\\bcuba\",CUW:\"^(?!.*bonaire).*\\\\bcura(c|\\xE7)ao\",CYP:\"cyprus\",CSK:\"czechoslovakia\",CZE:\"^(?=.*rep).*czech|czechia|bohemia\",COD:\"\\\\bdem.*congo|congo.*\\\\bdem|congo.*\\\\bd[\\\\.]?r|\\\\bd[\\\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc\",DNK:\"denmark\",DJI:\"djibouti\",DMA:\"dominica(?!n)\",DOM:\"dominican.rep\",ECU:\"ecuador\",EGY:\"egypt\",SLV:\"el.?salvador\",GNQ:\"guine.*eq|eq.*guine|^(?=.*span).*guinea\",ERI:\"eritrea\",EST:\"estonia\",ETH:\"ethiopia|abyssinia\",FLK:\"falkland|malvinas\",FRO:\"faroe|faeroe\",FJI:\"fiji\",FIN:\"finland\",FRA:\"^(?!.*\\\\bdep)(?!.*martinique).*france|french.?republic|\\\\bgaul\",GUF:\"^(?=.*french).*guiana\",PYF:\"french.?polynesia|tahiti\",ATF:\"french.?southern\",GAB:\"gabon\",GMB:\"gambia\",GEO:\"^(?!.*south).*georgia\",DDR:\"german.?democratic.?republic|democratic.?republic.*germany|east.germany\",DEU:\"^(?!.*east).*germany|^(?=.*\\\\bfed.*\\\\brep).*german\",GHA:\"ghana|gold.?coast\",GIB:\"gibraltar\",GRC:\"greece|hellenic|hellas\",GRL:\"greenland\",GRD:\"grenada\",GLP:\"guadeloupe\",GUM:\"\\\\bguam\",GTM:\"guatemala\",GGY:\"guernsey\",GIN:\"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea\",GNB:\"bissau|^(?=.*portu).*guinea\",GUY:\"guyana|british.?guiana\",HTI:\"haiti\",HMD:\"heard.*mcdonald\",VAT:\"holy.?see|vatican|papal.?st\",HND:\"^(?!.*brit).*honduras\",HKG:\"hong.?kong\",HUN:\"^(?!.*austr).*hungary\",ISL:\"iceland\",IND:\"india(?!.*ocea)\",IDN:\"indonesia\",IRN:\"\\\\biran|persia\",IRQ:\"\\\\biraq|mesopotamia\",IRL:\"(^ireland)|(^republic.*ireland)\",IMN:\"^(?=.*isle).*\\\\bman\",ISR:\"israel\",ITA:\"italy\",JAM:\"jamaica\",JPN:\"japan\",JEY:\"jersey\",JOR:\"jordan\",KAZ:\"kazak\",KEN:\"kenya|british.?east.?africa|east.?africa.?prot\",KIR:\"kiribati\",PRK:\"^(?=.*democrat|people|north|d.*p.*.r).*\\\\bkorea|dprk|korea.*(d.*p.*r)\",KWT:\"kuwait\",KGZ:\"kyrgyz|kirghiz\",LAO:\"\\\\blaos?\\\\b\",LVA:\"latvia\",LBN:\"lebanon\",LSO:\"lesotho|basuto\",LBR:\"liberia\",LBY:\"libya\",LIE:\"liechtenstein\",LTU:\"lithuania\",LUX:\"^(?!.*belg).*luxem\",MAC:\"maca(o|u)\",MDG:\"madagascar|malagasy\",MWI:\"malawi|nyasa\",MYS:\"malaysia\",MDV:\"maldive\",MLI:\"\\\\bmali\\\\b\",MLT:\"\\\\bmalta\",MHL:\"marshall\",MTQ:\"martinique\",MRT:\"mauritania\",MUS:\"mauritius\",MYT:\"\\\\bmayotte\",MEX:\"\\\\bmexic\",FSM:\"fed.*micronesia|micronesia.*fed\",MCO:\"monaco\",MNG:\"mongolia\",MNE:\"^(?!.*serbia).*montenegro\",MSR:\"montserrat\",MAR:\"morocco|\\\\bmaroc\",MOZ:\"mozambique\",MMR:\"myanmar|burma\",NAM:\"namibia\",NRU:\"nauru\",NPL:\"nepal\",NLD:\"^(?!.*\\\\bant)(?!.*\\\\bcarib).*netherlands\",ANT:\"^(?=.*\\\\bant).*(nether|dutch)\",NCL:\"new.?caledonia\",NZL:\"new.?zealand\",NIC:\"nicaragua\",NER:\"\\\\bniger(?!ia)\",NGA:\"nigeria\",NIU:\"niue\",NFK:\"norfolk\",MNP:\"mariana\",NOR:\"norway\",OMN:\"\\\\boman|trucial\",PAK:\"^(?!.*east).*paki?stan\",PLW:\"palau\",PSE:\"palestin|\\\\bgaza|west.?bank\",PAN:\"panama\",PNG:\"papua|new.?guinea\",PRY:\"paraguay\",PER:\"peru\",PHL:\"philippines\",PCN:\"pitcairn\",POL:\"poland\",PRT:\"portugal\",PRI:\"puerto.?rico\",QAT:\"qatar\",KOR:\"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\\\bkorea(?!.*d.*p.*r)\",MDA:\"moldov|b(a|e)ssarabia\",REU:\"r(e|\\xE9)union\",ROU:\"r(o|u|ou)mania\",RUS:\"\\\\brussia|soviet.?union|u\\\\.?s\\\\.?s\\\\.?r|socialist.?republics\",RWA:\"rwanda\",BLM:\"barth(e|\\xE9)lemy\",SHN:\"helena\",KNA:\"kitts|\\\\bnevis\",LCA:\"\\\\blucia\",MAF:\"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)\",SPM:\"miquelon\",VCT:\"vincent\",WSM:\"^(?!.*amer).*samoa\",SMR:\"san.?marino\",STP:\"\\\\bs(a|\\xE3)o.?tom(e|\\xE9)\",SAU:\"\\\\bsa\\\\w*.?arabia\",SEN:\"senegal\",SRB:\"^(?!.*monte).*serbia\",SYC:\"seychell\",SLE:\"sierra\",SGP:\"singapore\",SXM:\"^(?!.*martin)(?!.*saba).*maarten\",SVK:\"^(?!.*cze).*slovak\",SVN:\"slovenia\",SLB:\"solomon\",SOM:\"somali\",ZAF:\"south.africa|s\\\\\\\\..?africa\",SGS:\"south.?georgia|sandwich\",SSD:\"\\\\bs\\\\w*.?sudan\",ESP:\"spain\",LKA:\"sri.?lanka|ceylon\",SDN:\"^(?!.*\\\\bs(?!u)).*sudan\",SUR:\"surinam|dutch.?guiana\",SJM:\"svalbard\",SWZ:\"swaziland\",SWE:\"sweden\",CHE:\"switz|swiss\",SYR:\"syria\",TWN:\"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china\",TJK:\"tajik\",THA:\"thailand|\\\\bsiam\",MKD:\"macedonia|fyrom\",TLS:\"^(?=.*leste).*timor|^(?=.*east).*timor\",TGO:\"togo\",TKL:\"tokelau\",TON:\"tonga\",TTO:\"trinidad|tobago\",TUN:\"tunisia\",TUR:\"turkey\",TKM:\"turkmen\",TCA:\"turks\",TUV:\"tuvalu\",UGA:\"uganda\",UKR:\"ukrain\",ARE:\"emirates|^u\\\\.?a\\\\.?e\\\\.?$|united.?arab.?em\",GBR:\"united.?kingdom|britain|^u\\\\.?k\\\\.?$\",TZA:\"tanzania\",USA:\"united.?states\\\\b(?!.*islands)|\\\\bu\\\\.?s\\\\.?a\\\\.?\\\\b|^\\\\s*u\\\\.?s\\\\.?\\\\b(?!.*islands)\",UMI:\"minor.?outlying.?is\",URY:\"uruguay\",UZB:\"uzbek\",VUT:\"vanuatu|new.?hebrides\",VEN:\"venezuela\",VNM:\"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam\",VGB:\"^(?=.*\\\\bu\\\\.?\\\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin\",VIR:\"^(?=.*\\\\bu\\\\.?\\\\s?s).*virgin|^(?=.*states).*virgin\",WLF:\"futuna|wallis\",ESH:\"western.sahara\",YEM:\"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YMD:\"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\\\bp\\\\.?d\\\\.?r).*yemen\",YUG:\"yugoslavia\",ZMB:\"zambia|northern.?rhodesia\",EAZ:\"zanzibar\",ZWE:\"zimbabwe|^(?!.*northern).*rhodesia\"}});var dz=ye(ku=>{\"use strict\";Object.defineProperty(ku,\"__esModule\",{value:!0});var qp=63710088e-1,lX={centimeters:qp*100,centimetres:qp*100,degrees:360/(2*Math.PI),feet:qp*3.28084,inches:qp*39.37,kilometers:qp/1e3,kilometres:qp/1e3,meters:qp,metres:qp,miles:qp/1609.344,millimeters:qp*1e3,millimetres:qp*1e3,nauticalmiles:qp/1852,radians:1,yards:qp*1.0936},sX={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,nauticalmiles:29155334959812285e-23,millimeters:1e6,millimetres:1e6,yards:1.195990046};function rx(e,t,r={}){let n={type:\"Feature\"};return(r.id===0||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=t||{},n.geometry=e,n}function cRt(e,t,r={}){switch(e){case\"Point\":return uX(t).geometry;case\"LineString\":return fX(t).geometry;case\"Polygon\":return cX(t).geometry;case\"MultiPoint\":return F8e(t).geometry;case\"MultiLineString\":return z8e(t).geometry;case\"MultiPolygon\":return q8e(t).geometry;default:throw new Error(e+\" is invalid\")}}function uX(e,t,r={}){if(!e)throw new Error(\"coordinates is required\");if(!Array.isArray(e))throw new Error(\"coordinates must be an Array\");if(e.length<2)throw new Error(\"coordinates must be at least 2 numbers long\");if(!fz(e[0])||!fz(e[1]))throw new Error(\"coordinates must contain numbers\");return rx({type:\"Point\",coordinates:e},t,r)}function fRt(e,t,r={}){return hz(e.map(n=>uX(n,t)),r)}function cX(e,t,r={}){for(let i of e){if(i.length<4)throw new Error(\"Each LinearRing of a Polygon must have 4 or more Positions.\");if(i[i.length-1].length!==i[0].length)throw new Error(\"First and last Position are not equivalent.\");for(let a=0;acX(n,t)),r)}function fX(e,t,r={}){if(e.length<2)throw new Error(\"coordinates must be an array of two or more positions\");return rx({type:\"LineString\",coordinates:e},t,r)}function dRt(e,t,r={}){return hz(e.map(n=>fX(n,t)),r)}function hz(e,t={}){let r={type:\"FeatureCollection\"};return t.id&&(r.id=t.id),t.bbox&&(r.bbox=t.bbox),r.features=e,r}function z8e(e,t,r={}){return rx({type:\"MultiLineString\",coordinates:e},t,r)}function F8e(e,t,r={}){return rx({type:\"MultiPoint\",coordinates:e},t,r)}function q8e(e,t,r={}){return rx({type:\"MultiPolygon\",coordinates:e},t,r)}function vRt(e,t,r={}){return rx({type:\"GeometryCollection\",geometries:e},t,r)}function pRt(e,t=0){if(t&&!(t>=0))throw new Error(\"precision must be a positive number\");let r=Math.pow(10,t||0);return Math.round(e*r)/r}function O8e(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e*r}function hX(e,t=\"kilometers\"){let r=lX[t];if(!r)throw new Error(t+\" units is invalid\");return e/r}function gRt(e,t){return B8e(hX(e,t))}function mRt(e){let t=e%360;return t<0&&(t+=360),t}function yRt(e){return e=e%360,e>0?e>180?e-360:e:e<-180?e+360:e}function B8e(e){return e%(2*Math.PI)*180/Math.PI}function _Rt(e){return e%360*Math.PI/180}function xRt(e,t=\"kilometers\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"length must be a positive number\");return O8e(hX(e,t),r)}function bRt(e,t=\"meters\",r=\"kilometers\"){if(!(e>=0))throw new Error(\"area must be a positive number\");let n=sX[t];if(!n)throw new Error(\"invalid original units\");let i=sX[r];if(!i)throw new Error(\"invalid final units\");return e/n*i}function fz(e){return!isNaN(e)&&e!==null&&!Array.isArray(e)}function wRt(e){return e!==null&&typeof e==\"object\"&&!Array.isArray(e)}function TRt(e){if(!e)throw new Error(\"bbox is required\");if(!Array.isArray(e))throw new Error(\"bbox must be an Array\");if(e.length!==4&&e.length!==6)throw new Error(\"bbox must be an Array of 4 or 6 numbers\");e.forEach(t=>{if(!fz(t))throw new Error(\"bbox must only contain numbers\")})}function ARt(e){if(!e)throw new Error(\"id is required\");if([\"string\",\"number\"].indexOf(typeof e)===-1)throw new Error(\"id must be a number or a string\")}ku.areaFactors=sX;ku.azimuthToBearing=yRt;ku.bearingToAzimuth=mRt;ku.convertArea=bRt;ku.convertLength=xRt;ku.degreesToRadians=_Rt;ku.earthRadius=qp;ku.factors=lX;ku.feature=rx;ku.featureCollection=hz;ku.geometry=cRt;ku.geometryCollection=vRt;ku.isNumber=fz;ku.isObject=wRt;ku.lengthToDegrees=gRt;ku.lengthToRadians=hX;ku.lineString=fX;ku.lineStrings=dRt;ku.multiLineString=z8e;ku.multiPoint=F8e;ku.multiPolygon=q8e;ku.point=uX;ku.points=fRt;ku.polygon=cX;ku.polygons=hRt;ku.radiansToDegrees=B8e;ku.radiansToLength=O8e;ku.round=pRt;ku.validateBBox=TRt;ku.validateId=ARt});var pz=ye(Dd=>{\"use strict\";Object.defineProperty(Dd,\"__esModule\",{value:!0});var jv=dz();function KE(e,t,r){if(e!==null)for(var n,i,a,o,s,l,u,c=0,f=0,h,d=e.type,v=d===\"FeatureCollection\",x=d===\"Feature\",b=v?e.features.length:1,g=0;gl||v>u||x>c){s=f,l=n,u=v,c=x,a=0;return}var b=jv.lineString.call(void 0,[s,f],r.properties);if(t(b,n,i,x,a)===!1)return!1;a++,s=f})===!1)return!1}}})}function PRt(e,t,r){var n=r,i=!1;return V8e(e,function(a,o,s,l,u){i===!1&&r===void 0?n=a:n=t(n,a,o,s,l,u),i=!0}),n}function H8e(e,t){if(!e)throw new Error(\"geojson is required\");vz(e,function(r,n,i){if(r.geometry!==null){var a=r.geometry.type,o=r.geometry.coordinates;switch(a){case\"LineString\":if(t(r,n,i,0,0)===!1)return!1;break;case\"Polygon\":for(var s=0;s{\"use strict\";Object.defineProperty(gz,\"__esModule\",{value:!0});var G8e=dz(),zRt=pz();function Z8e(e){return zRt.geomReduce.call(void 0,e,(t,r)=>t+FRt(r),0)}function FRt(e){let t=0,r;switch(e.type){case\"Polygon\":return j8e(e.coordinates);case\"MultiPolygon\":for(r=0;r0){t+=Math.abs(W8e(e[0]));for(let r=1;r=t?(n+2)%t:n+2],s=i[0]*vX,l=a[1]*vX,u=o[0]*vX;r+=(u-s)*Math.sin(l),n++}return r*qRt}var ORt=Z8e;gz.area=Z8e;gz.default=ORt});var K8e=ye(mz=>{\"use strict\";Object.defineProperty(mz,\"__esModule\",{value:!0});var BRt=dz(),NRt=pz();function Y8e(e,t={}){let r=0,n=0,i=0;return NRt.coordEach.call(void 0,e,function(a){r+=a[0],n+=a[1],i++},!0),BRt.point.call(void 0,[r/i,n/i],t.properties)}var URt=Y8e;mz.centroid=Y8e;mz.default=URt});var $8e=ye(yz=>{\"use strict\";Object.defineProperty(yz,\"__esModule\",{value:!0});var VRt=pz();function J8e(e,t={}){if(e.bbox!=null&&t.recompute!==!0)return e.bbox;let r=[1/0,1/0,-1/0,-1/0];return VRt.coordEach.call(void 0,e,n=>{r[0]>n[0]&&(r[0]=n[0]),r[1]>n[1]&&(r[1]=n[1]),r[2]{\"use strict\";var GRt=xa(),tRe=D8e(),{area:jRt}=X8e(),{centroid:WRt}=K8e(),{bbox:ZRt}=$8e(),Q8e=OS(),Z5=H1(),XRt=gy(),YRt=ES(),_z=wM(),eRe=Object.keys(tRe),KRt={\"ISO-3\":Q8e,\"USA-states\":Q8e,\"country names\":JRt};function JRt(e){for(var t=0;t0&&c[f+1][0]<0)return f;return null}switch(n===\"RUS\"||n===\"FJI\"?a=function(c){var f;if(u(c)===null)f=c;else for(f=new Array(c.length),l=0;lf?h[d++]=[c[l][0]+360,c[l][1]]:l===f?(h[d++]=c[l],h[d++]=[c[l][0],-90]):h[d++]=c[l];var v=_z.tester(h);v.pts.pop(),i.push(v)}:a=function(c){i.push(_z.tester(c))},t.type){case\"MultiPolygon\":for(o=0;o0?v.properties.ct=tDt(v):v.properties.ct=[NaN,NaN],h.fIn=c,h.fOut=v,i.push(v)}else Z5.log([\"Location\",h.loc,\"does not have a valid GeoJSON geometry.\",\"Traces with locationmode *geojson-id* only support\",\"*Polygon* and *MultiPolygon* geometries.\"].join(\" \"))}delete n[f]}switch(r.type){case\"FeatureCollection\":var l=r.features;for(a=0;ai&&(i=s,r=o)}else r=t;return WRt(r).geometry.coordinates}function rDt(e){var t=window.PlotlyGeoAssets||{},r=[];function n(l){return new Promise(function(u,c){GRt.json(l,function(f,h){if(f){delete t[l];var d=f.status===404?'GeoJSON at URL \"'+l+'\" does not exist.':\"Unexpected error while fetching from \"+l;return c(new Error(d))}return t[l]=h,u(h)})})}function i(l){return new Promise(function(u,c){var f=0,h=setInterval(function(){if(t[l]&&t[l]!==\"pending\")return clearInterval(h),u(t[l]);if(f>100)return clearInterval(h),c(\"Unexpected error while fetching from \"+l);f++},50)})}for(var a=0;a{\"use strict\";var nDt=xa(),aDt=ao(),nRe=va(),aRe=op(),oDt=aRe.stylePoints,sDt=aRe.styleText;oRe.exports=function(t,r){r&&lDt(t,r)};function lDt(e,t){var r=t[0].trace,n=t[0].node3;n.style(\"opacity\",t[0].trace.opacity),oDt(n,r,e),sDt(n,r,e),n.selectAll(\"path.js-line\").style(\"fill\",\"none\").each(function(i){var a=nDt.select(this),o=i.trace,s=o.line||{};a.call(nRe.stroke,s.color).call(aDt.dashLine,s.dash||\"\",s.width||0),o.fill!==\"none\"&&a.call(nRe.fill,o.fillcolor)})}});var _X=ye((Tpr,uRe)=>{\"use strict\";var sRe=xa(),bz=Mr(),uDt=cz().getTopojsonFeatures,gX=tx(),xz=ix(),lRe=wg().findExtremes,yX=es().BADNUM,cDt=q0().calcMarkerSize,mX=lu(),fDt=pX();function hDt(e,t,r){var n=t.layers.frontplot.select(\".scatterlayer\"),i=bz.makeTraceGroups(n,r,\"trace scattergeo\");function a(o,s){o.lonlat[0]===yX&&sRe.select(s).remove()}i.selectAll(\"*\").remove(),i.each(function(o){var s=sRe.select(this),l=o[0].trace;if(mX.hasLines(l)||l.fill!==\"none\"){var u=gX.calcTraceToLineCoords(o),c=l.fill!==\"none\"?gX.makePolygon(u):gX.makeLine(u);s.selectAll(\"path.js-line\").data([{geojson:c,trace:l}]).enter().append(\"path\").classed(\"js-line\",!0).style(\"stroke-miterlimit\",2)}mX.hasMarkers(l)&&s.selectAll(\"path.point\").data(bz.identity).enter().append(\"path\").classed(\"point\",!0).each(function(f){a(f,this)}),mX.hasText(l)&&s.selectAll(\"g\").data(bz.identity).enter().append(\"g\").append(\"text\").each(function(f){a(f,this)}),fDt(e,o)})}function dDt(e,t){var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r._length,o,s;if(bz.isArrayOrTypedArray(r.locations)){var l=r.locationmode,u=l===\"geojson-id\"?xz.extractTraceFeature(e):uDt(r,i.topojson);for(o=0;o{\"use strict\";var vDt=Nc(),pDt=es().BADNUM,gDt=oT(),mDt=Mr().fillText,yDt=H2();cRe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.xa,s=t.ya,l=t.subplot,u=l.projection.isLonLatOverEdges,c=l.project;function f(E){var k=E.lonlat;if(k[0]===pDt||u(k))return 1/0;var A=c(k),L=c([r,n]),_=Math.abs(A[0]-L[0]),C=Math.abs(A[1]-L[1]),M=Math.max(3,E.mrc||0);return Math.max(Math.sqrt(_*_+C*C)-M,1-3/M)}if(vDt.getClosest(i,f,t),t.index!==!1){var h=i[t.index],d=h.lonlat,v=[o.c2p(d),s.c2p(d)],x=h.mrc||1;t.x0=v[0]-x,t.x1=v[0]+x,t.y0=v[1]-x,t.y1=v[1]+x,t.loc=h.loc,t.lon=d[0],t.lat=d[1];var b={};b[a.geo]={_subplot:l};var g=a._module.formatLabels(h,a,b);return t.lonLabel=g.lonLabel,t.latLabel=g.latLabel,t.color=gDt(a,h),t.extraText=_Dt(a,h,t,i[0].t.labels),t.hovertemplate=a.hovertemplate,[t]}};function _Dt(e,t,r,n){if(e.hovertemplate)return;var i=t.hi||e.hoverinfo,a=i===\"all\"?yDt.hoverinfo.flags:i.split(\"+\"),o=a.indexOf(\"location\")!==-1&&Array.isArray(e.locations),s=a.indexOf(\"lon\")!==-1,l=a.indexOf(\"lat\")!==-1,u=a.indexOf(\"text\")!==-1,c=[];function f(h){return h+\"\\xB0\"}return o?c.push(t.loc):s&&l?c.push(\"(\"+f(r.latLabel)+\", \"+f(r.lonLabel)+\")\"):s?c.push(n.lon+f(r.lonLabel)):l&&c.push(n.lat+f(r.latLabel)),u&&mDt(t,e,c),c.join(\"
\")}});var dRe=ye((Spr,hRe)=>{\"use strict\";hRe.exports=function(t,r,n,i,a){t.lon=r.lon,t.lat=r.lat,t.location=r.loc?r.loc:null;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t}});var gRe=ye((Mpr,pRe)=>{\"use strict\";var vRe=lu(),xDt=es().BADNUM;pRe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l,u,c,f,h,d=!vRe.hasMarkers(s)&&!vRe.hasText(s);if(d)return[];if(r===!1)for(h=0;h{(function(e,t){typeof wz==\"object\"&&typeof mRe!=\"undefined\"?t(wz):typeof define==\"function\"&&define.amd?define([\"exports\"],t):t(e.d3=e.d3||{})})(wz,function(e){\"use strict\";function t(Ee,Ae){return EeAe?1:Ee>=Ae?0:NaN}function r(Ee){return Ee.length===1&&(Ee=n(Ee)),{left:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[Re],ze)<0?Ce=Re+1:me=Re}return Ce},right:function(Ae,ze,Ce,me){for(Ce==null&&(Ce=0),me==null&&(me=Ae.length);Ce>>1;Ee(Ae[Re],ze)>0?me=Re:Ce=Re+1}return Ce}}}function n(Ee){return function(Ae,ze){return t(Ee(Ae),ze)}}var i=r(t),a=i.right,o=i.left;function s(Ee,Ae){Ae==null&&(Ae=l);for(var ze=0,Ce=Ee.length-1,me=Ee[0],Re=new Array(Ce<0?0:Ce);zeEe?1:Ae>=Ee?0:NaN}function f(Ee){return Ee===null?NaN:+Ee}function h(Ee,Ae){var ze=Ee.length,Ce=0,me=-1,Re=0,ce,Ge,nt=0;if(Ae==null)for(;++me1)return nt/(Ce-1)}function d(Ee,Ae){var ze=h(Ee,Ae);return ze&&Math.sqrt(ze)}function v(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re,ce;if(Ae==null){for(;++Ce=me)for(Re=ce=me;++Ceme&&(Re=me),ce=me)for(Re=ce=me;++Ceme&&(Re=me),ce0)return[Ee];if((Ce=Ae0)for(Ee=Math.ceil(Ee/Ge),Ae=Math.floor(Ae/Ge),ce=new Array(Re=Math.ceil(Ae-Ee+1));++me=0?(Re>=L?10:Re>=_?5:Re>=C?2:1)*Math.pow(10,me):-Math.pow(10,-me)/(Re>=L?10:Re>=_?5:Re>=C?2:1)}function P(Ee,Ae,ze){var Ce=Math.abs(Ae-Ee)/Math.max(0,ze),me=Math.pow(10,Math.floor(Math.log(Ce)/Math.LN10)),Re=Ce/me;return Re>=L?me*=10:Re>=_?me*=5:Re>=C&&(me*=2),Aert;)ot.pop(),--Rt;var kt=new Array(Rt+1),Ct;for(Re=0;Re<=Rt;++Re)Ct=kt[Re]=[],Ct.x0=Re>0?ot[Re-1]:qt,Ct.x1=Re=1)return+ze(Ee[Ce-1],Ce-1,Ee);var Ce,me=(Ce-1)*Ae,Re=Math.floor(me),ce=+ze(Ee[Re],Re,Ee),Ge=+ze(Ee[Re+1],Re+1,Ee);return ce+(Ge-ce)*(me-Re)}}function V(Ee,Ae,ze){return Ee=g.call(Ee,f).sort(t),Math.ceil((ze-Ae)/(2*(q(Ee,.75)-q(Ee,.25))*Math.pow(Ee.length,-1/3)))}function H(Ee,Ae,ze){return Math.ceil((ze-Ae)/(3.5*d(Ee)*Math.pow(Ee.length,-1/3)))}function X(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce=me)for(Re=me;++CeRe&&(Re=me)}else for(;++Ce=me)for(Re=me;++CeRe&&(Re=me);return Re}function G(Ee,Ae){var ze=Ee.length,Ce=ze,me=-1,Re,ce=0;if(Ae==null)for(;++me=0;)for(ce=Ee[Ae],ze=ce.length;--ze>=0;)Re[--me]=ce[ze];return Re}function re(Ee,Ae){var ze=Ee.length,Ce=-1,me,Re;if(Ae==null){for(;++Ce=me)for(Re=me;++Ceme&&(Re=me)}else for(;++Ce=me)for(Re=me;++Ceme&&(Re=me);return Re}function ae(Ee,Ae){for(var ze=Ae.length,Ce=new Array(ze);ze--;)Ce[ze]=Ee[Ae[ze]];return Ce}function _e(Ee,Ae){if(ze=Ee.length){var ze,Ce=0,me=0,Re,ce=Ee[me];for(Ae==null&&(Ae=t);++Ce{(function(e,t){typeof Tz==\"object\"&&typeof yRe!=\"undefined\"?t(Tz,JE()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-array\"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(Tz,function(e,t){\"use strict\";function r(){return new n}function n(){this.reset()}n.prototype={constructor:n,reset:function(){this.s=this.t=0},add:function(gt){a(i,gt,this.t),a(this,i.s,this.s),this.s?this.t+=i.t:this.s=i.t},valueOf:function(){return this.s}};var i=new n;function a(gt,Bt,wr){var vr=gt.s=Bt+wr,Ur=vr-Bt,fi=vr-Ur;gt.t=Bt-fi+(wr-Ur)}var o=1e-6,s=1e-12,l=Math.PI,u=l/2,c=l/4,f=l*2,h=180/l,d=l/180,v=Math.abs,x=Math.atan,b=Math.atan2,g=Math.cos,E=Math.ceil,k=Math.exp,A=Math.log,L=Math.pow,_=Math.sin,C=Math.sign||function(gt){return gt>0?1:gt<0?-1:0},M=Math.sqrt,p=Math.tan;function P(gt){return gt>1?0:gt<-1?l:Math.acos(gt)}function T(gt){return gt>1?u:gt<-1?-u:Math.asin(gt)}function F(gt){return(gt=_(gt/2))*gt}function q(){}function V(gt,Bt){gt&&X.hasOwnProperty(gt.type)&&X[gt.type](gt,Bt)}var H={Feature:function(gt,Bt){V(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr=0?1:-1,Ur=vr*wr,fi=g(Bt),xi=_(Bt),Fi=ie*xi,Xi=ge*fi+Fi*g(Ur),hn=Fi*vr*_(Ur);re.add(b(hn,Xi)),ke=gt,ge=fi,ie=xi}function me(gt){return ae.reset(),W(gt,Te),ae*2}function Re(gt){return[b(gt[1],gt[0]),T(gt[2])]}function ce(gt){var Bt=gt[0],wr=gt[1],vr=g(wr);return[vr*g(Bt),vr*_(Bt),_(wr)]}function Ge(gt,Bt){return gt[0]*Bt[0]+gt[1]*Bt[1]+gt[2]*Bt[2]}function nt(gt,Bt){return[gt[1]*Bt[2]-gt[2]*Bt[1],gt[2]*Bt[0]-gt[0]*Bt[2],gt[0]*Bt[1]-gt[1]*Bt[0]]}function ct(gt,Bt){gt[0]+=Bt[0],gt[1]+=Bt[1],gt[2]+=Bt[2]}function qt(gt,Bt){return[gt[0]*Bt,gt[1]*Bt,gt[2]*Bt]}function rt(gt){var Bt=M(gt[0]*gt[0]+gt[1]*gt[1]+gt[2]*gt[2]);gt[0]/=Bt,gt[1]/=Bt,gt[2]/=Bt}var ot,Rt,kt,Ct,Yt,xr,er,Ke,xt=r(),bt,Lt,St={point:Et,lineStart:Ht,lineEnd:$t,polygonStart:function(){St.point=fr,St.lineStart=_r,St.lineEnd=Br,xt.reset(),Te.polygonStart()},polygonEnd:function(){Te.polygonEnd(),St.point=Et,St.lineStart=Ht,St.lineEnd=$t,re<0?(ot=-(kt=180),Rt=-(Ct=90)):xt>o?Ct=90:xt<-o&&(Rt=-90),Lt[0]=ot,Lt[1]=kt},sphere:function(){ot=-(kt=180),Rt=-(Ct=90)}};function Et(gt,Bt){bt.push(Lt=[ot=gt,kt=gt]),BtCt&&(Ct=Bt)}function dt(gt,Bt){var wr=ce([gt*d,Bt*d]);if(Ke){var vr=nt(Ke,wr),Ur=[vr[1],-vr[0],0],fi=nt(Ur,vr);rt(fi),fi=Re(fi);var xi=gt-Yt,Fi=xi>0?1:-1,Xi=fi[0]*h*Fi,hn,Ti=v(xi)>180;Ti^(Fi*YtCt&&(Ct=hn)):(Xi=(Xi+360)%360-180,Ti^(Fi*YtCt&&(Ct=Bt))),Ti?gtOr(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt):kt>=ot?(gtkt&&(kt=gt)):gt>Yt?Or(ot,gt)>Or(ot,kt)&&(kt=gt):Or(gt,kt)>Or(ot,kt)&&(ot=gt)}else bt.push(Lt=[ot=gt,kt=gt]);BtCt&&(Ct=Bt),Ke=wr,Yt=gt}function Ht(){St.point=dt}function $t(){Lt[0]=ot,Lt[1]=kt,St.point=Et,Ke=null}function fr(gt,Bt){if(Ke){var wr=gt-Yt;xt.add(v(wr)>180?wr+(wr>0?360:-360):wr)}else xr=gt,er=Bt;Te.point(gt,Bt),dt(gt,Bt)}function _r(){Te.lineStart()}function Br(){fr(xr,er),Te.lineEnd(),v(xt)>o&&(ot=-(kt=180)),Lt[0]=ot,Lt[1]=kt,Ke=null}function Or(gt,Bt){return(Bt-=gt)<0?Bt+360:Bt}function Nr(gt,Bt){return gt[0]-Bt[0]}function ut(gt,Bt){return gt[0]<=gt[1]?gt[0]<=Bt&&Bt<=gt[1]:BtOr(vr[0],vr[1])&&(vr[1]=Ur[1]),Or(Ur[0],vr[1])>Or(vr[0],vr[1])&&(vr[0]=Ur[0])):fi.push(vr=Ur);for(xi=-1/0,wr=fi.length-1,Bt=0,vr=fi[wr];Bt<=wr;vr=Ur,++Bt)Ur=fi[Bt],(Fi=Or(vr[1],Ur[0]))>xi&&(xi=Fi,ot=Ur[0],kt=vr[1])}return bt=Lt=null,ot===1/0||Rt===1/0?[[NaN,NaN],[NaN,NaN]]:[[ot,Rt],[kt,Ct]]}var Ye,Ve,Xe,ht,Le,xe,Se,lt,Gt,Vt,ar,Qr,ai,jr,ri,bi,nn={sphere:q,point:Wi,lineStart:_n,lineEnd:Wn,polygonStart:function(){nn.lineStart=It,nn.lineEnd=ft},polygonEnd:function(){nn.lineStart=_n,nn.lineEnd=Wn}};function Wi(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt);Ni(wr*g(gt),wr*_(gt),_(Bt))}function Ni(gt,Bt,wr){++Ye,Xe+=(gt-Xe)/Ye,ht+=(Bt-ht)/Ye,Le+=(wr-Le)/Ye}function _n(){nn.point=$i}function $i(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt);jr=wr*g(gt),ri=wr*_(gt),bi=_(Bt),nn.point=zn,Ni(jr,ri,bi)}function zn(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt),vr=wr*g(gt),Ur=wr*_(gt),fi=_(Bt),xi=b(M((xi=ri*fi-bi*Ur)*xi+(xi=bi*vr-jr*fi)*xi+(xi=jr*Ur-ri*vr)*xi),jr*vr+ri*Ur+bi*fi);Ve+=xi,xe+=xi*(jr+(jr=vr)),Se+=xi*(ri+(ri=Ur)),lt+=xi*(bi+(bi=fi)),Ni(jr,ri,bi)}function Wn(){nn.point=Wi}function It(){nn.point=jt}function ft(){Zt(Qr,ai),nn.point=Wi}function jt(gt,Bt){Qr=gt,ai=Bt,gt*=d,Bt*=d,nn.point=Zt;var wr=g(Bt);jr=wr*g(gt),ri=wr*_(gt),bi=_(Bt),Ni(jr,ri,bi)}function Zt(gt,Bt){gt*=d,Bt*=d;var wr=g(Bt),vr=wr*g(gt),Ur=wr*_(gt),fi=_(Bt),xi=ri*fi-bi*Ur,Fi=bi*vr-jr*fi,Xi=jr*Ur-ri*vr,hn=M(xi*xi+Fi*Fi+Xi*Xi),Ti=T(hn),qi=hn&&-Ti/hn;Gt+=qi*xi,Vt+=qi*Fi,ar+=qi*Xi,Ve+=Ti,xe+=Ti*(jr+(jr=vr)),Se+=Ti*(ri+(ri=Ur)),lt+=Ti*(bi+(bi=fi)),Ni(jr,ri,bi)}function yr(gt){Ye=Ve=Xe=ht=Le=xe=Se=lt=Gt=Vt=ar=0,W(gt,nn);var Bt=Gt,wr=Vt,vr=ar,Ur=Bt*Bt+wr*wr+vr*vr;return Url?gt+Math.round(-gt/f)*f:gt,Bt]}Vr.invert=Vr;function gi(gt,Bt,wr){return(gt%=f)?Bt||wr?Zr(Mi(gt),Pi(Bt,wr)):Mi(gt):Bt||wr?Pi(Bt,wr):Vr}function Si(gt){return function(Bt,wr){return Bt+=gt,[Bt>l?Bt-f:Bt<-l?Bt+f:Bt,wr]}}function Mi(gt){var Bt=Si(gt);return Bt.invert=Si(-gt),Bt}function Pi(gt,Bt){var wr=g(gt),vr=_(gt),Ur=g(Bt),fi=_(Bt);function xi(Fi,Xi){var hn=g(Xi),Ti=g(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*wr+Ti*vr;return[b(qi*Ur-mi*fi,Ti*wr-Ii*vr),T(mi*Ur+qi*fi)]}return xi.invert=function(Fi,Xi){var hn=g(Xi),Ti=g(Fi)*hn,qi=_(Fi)*hn,Ii=_(Xi),mi=Ii*Ur-qi*fi;return[b(qi*Ur+Ii*fi,Ti*wr+mi*vr),T(mi*wr-Ti*vr)]},xi}function Gi(gt){gt=gi(gt[0]*d,gt[1]*d,gt.length>2?gt[2]*d:0);function Bt(wr){return wr=gt(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr}return Bt.invert=function(wr){return wr=gt.invert(wr[0]*d,wr[1]*d),wr[0]*=h,wr[1]*=h,wr},Bt}function Ki(gt,Bt,wr,vr,Ur,fi){if(wr){var xi=g(Bt),Fi=_(Bt),Xi=vr*wr;Ur==null?(Ur=Bt+vr*f,fi=Bt-Xi/2):(Ur=ka(xi,Ur),fi=ka(xi,fi),(vr>0?Urfi)&&(Ur+=vr*f));for(var hn,Ti=Ur;vr>0?Ti>fi:Ti1&>.push(gt.pop().concat(gt.shift()))},result:function(){var wr=gt;return gt=[],Bt=null,wr}}}function Fa(gt,Bt){return v(gt[0]-Bt[0])=0;--Fi)Ur.point((qi=Ti[Fi])[0],qi[1]);else vr(Ii.x,Ii.p.x,-1,Ur);Ii=Ii.p}Ii=Ii.o,Ti=Ii.z,mi=!mi}while(!Ii.v);Ur.lineEnd()}}}function oa(gt){if(Bt=gt.length){for(var Bt,wr=0,vr=gt[0],Ur;++wr=0?1:-1,Qo=Ts*Xo,ys=Qo>l,Bo=Ma*Ua;if(Sn.add(b(Bo*Ts*_(Qo),Ta*mo+Bo*g(Qo))),xi+=ys?Xo+Ts*f:Xo,ys^mi>=wr^Cn>=wr){var yl=nt(ce(Ii),ce(qa));rt(yl);var Gs=nt(fi,yl);rt(Gs);var Rs=(ys^Xo>=0?-1:1)*T(Gs[2]);(vr>Rs||vr===Rs&&(yl[0]||yl[1]))&&(Fi+=ys^Xo>=0?1:-1)}}return(xi<-o||xi0){for(Xi||(Ur.polygonStart(),Xi=!0),Ur.lineStart(),mo=0;mo1&&sn&2&&Ua.push(Ua.pop().concat(Ua.shift())),Ti.push(Ua.filter(_t))}}return Ii}}function _t(gt){return gt.length>1}function br(gt,Bt){return((gt=gt.x)[0]<0?gt[1]-u-o:u-gt[1])-((Bt=Bt.x)[0]<0?Bt[1]-u-o:u-Bt[1])}var Hr=xn(function(){return!0},ti,Yi,[-l,-u]);function ti(gt){var Bt=NaN,wr=NaN,vr=NaN,Ur;return{lineStart:function(){gt.lineStart(),Ur=1},point:function(fi,xi){var Fi=fi>0?l:-l,Xi=v(fi-Bt);v(Xi-l)0?u:-u),gt.point(vr,wr),gt.lineEnd(),gt.lineStart(),gt.point(Fi,wr),gt.point(fi,wr),Ur=0):vr!==Fi&&Xi>=l&&(v(Bt-vr)o?x((_(Bt)*(fi=g(vr))*_(wr)-_(vr)*(Ur=g(Bt))*_(gt))/(Ur*fi*xi)):(Bt+vr)/2}function Yi(gt,Bt,wr,vr){var Ur;if(gt==null)Ur=wr*u,vr.point(-l,Ur),vr.point(0,Ur),vr.point(l,Ur),vr.point(l,0),vr.point(l,-Ur),vr.point(0,-Ur),vr.point(-l,-Ur),vr.point(-l,0),vr.point(-l,Ur);else if(v(gt[0]-Bt[0])>o){var fi=gt[0]0,Ur=v(Bt)>o;function fi(Ti,qi,Ii,mi){Ki(mi,gt,wr,Ii,Ti,qi)}function xi(Ti,qi){return g(Ti)*g(qi)>Bt}function Fi(Ti){var qi,Ii,mi,Pn,Ma;return{lineStart:function(){Pn=mi=!1,Ma=1},point:function(Ta,Ea){var qa=[Ta,Ea],Cn,sn=xi(Ta,Ea),Ua=vr?sn?0:hn(Ta,Ea):sn?hn(Ta+(Ta<0?l:-l),Ea):0;if(!qi&&(Pn=mi=sn)&&Ti.lineStart(),sn!==mi&&(Cn=Xi(qi,qa),(!Cn||Fa(qi,Cn)||Fa(qa,Cn))&&(qa[2]=1)),sn!==mi)Ma=0,sn?(Ti.lineStart(),Cn=Xi(qa,qi),Ti.point(Cn[0],Cn[1])):(Cn=Xi(qi,qa),Ti.point(Cn[0],Cn[1],2),Ti.lineEnd()),qi=Cn;else if(Ur&&qi&&vr^sn){var mo;!(Ua&Ii)&&(mo=Xi(qa,qi,!0))&&(Ma=0,vr?(Ti.lineStart(),Ti.point(mo[0][0],mo[0][1]),Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd()):(Ti.point(mo[1][0],mo[1][1]),Ti.lineEnd(),Ti.lineStart(),Ti.point(mo[0][0],mo[0][1],3)))}sn&&(!qi||!Fa(qi,qa))&&Ti.point(qa[0],qa[1]),qi=qa,mi=sn,Ii=Ua},lineEnd:function(){mi&&Ti.lineEnd(),qi=null},clean:function(){return Ma|(Pn&&mi)<<1}}}function Xi(Ti,qi,Ii){var mi=ce(Ti),Pn=ce(qi),Ma=[1,0,0],Ta=nt(mi,Pn),Ea=Ge(Ta,Ta),qa=Ta[0],Cn=Ea-qa*qa;if(!Cn)return!Ii&&Ti;var sn=Bt*Ea/Cn,Ua=-Bt*qa/Cn,mo=nt(Ma,Ta),Xo=qt(Ma,sn),Ts=qt(Ta,Ua);ct(Xo,Ts);var Qo=mo,ys=Ge(Xo,Qo),Bo=Ge(Qo,Qo),yl=ys*ys-Bo*(Ge(Xo,Xo)-1);if(!(yl<0)){var Gs=M(yl),Rs=qt(Qo,(-ys-Gs)/Bo);if(ct(Rs,Xo),Rs=Re(Rs),!Ii)return Rs;var ia=Ti[0],Ka=qi[0],vs=Ti[1],Ko=qi[1],iu;Ka0^Rs[1]<(v(Rs[0]-ia)l^(ia<=Rs[0]&&Rs[0]<=Ka)){var bu=qt(Qo,(-ys+Gs)/Bo);return ct(bu,Xo),[Rs,Re(bu)]}}}function hn(Ti,qi){var Ii=vr?gt:l-gt,mi=0;return Ti<-Ii?mi|=1:Ti>Ii&&(mi|=2),qi<-Ii?mi|=4:qi>Ii&&(mi|=8),mi}return xn(xi,Fi,fi,vr?[0,-gt]:[-l,gt-l])}function hi(gt,Bt,wr,vr,Ur,fi){var xi=gt[0],Fi=gt[1],Xi=Bt[0],hn=Bt[1],Ti=0,qi=1,Ii=Xi-xi,mi=hn-Fi,Pn;if(Pn=wr-xi,!(!Ii&&Pn>0)){if(Pn/=Ii,Ii<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=Ur-xi,!(!Ii&&Pn<0)){if(Pn/=Ii,Ii<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(Ii>0){if(Pn0)){if(Pn/=mi,mi<0){if(Pn0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}if(Pn=fi-Fi,!(!mi&&Pn<0)){if(Pn/=mi,mi<0){if(Pn>qi)return;Pn>Ti&&(Ti=Pn)}else if(mi>0){if(Pn0&&(gt[0]=xi+Ti*Ii,gt[1]=Fi+Ti*mi),qi<1&&(Bt[0]=xi+qi*Ii,Bt[1]=Fi+qi*mi),!0}}}}}var Ji=1e9,ua=-Ji;function Fn(gt,Bt,wr,vr){function Ur(hn,Ti){return gt<=hn&&hn<=wr&&Bt<=Ti&&Ti<=vr}function fi(hn,Ti,qi,Ii){var mi=0,Pn=0;if(hn==null||(mi=xi(hn,qi))!==(Pn=xi(Ti,qi))||Xi(hn,Ti)<0^qi>0)do Ii.point(mi===0||mi===3?gt:wr,mi>1?vr:Bt);while((mi=(mi+qi+4)%4)!==Pn);else Ii.point(Ti[0],Ti[1])}function xi(hn,Ti){return v(hn[0]-gt)0?0:3:v(hn[0]-wr)0?2:1:v(hn[1]-Bt)0?1:0:Ti>0?3:2}function Fi(hn,Ti){return Xi(hn.x,Ti.x)}function Xi(hn,Ti){var qi=xi(hn,1),Ii=xi(Ti,1);return qi!==Ii?qi-Ii:qi===0?Ti[1]-hn[1]:qi===1?hn[0]-Ti[0]:qi===2?hn[1]-Ti[1]:Ti[0]-hn[0]}return function(hn){var Ti=hn,qi=la(),Ii,mi,Pn,Ma,Ta,Ea,qa,Cn,sn,Ua,mo,Xo={point:Ts,lineStart:yl,lineEnd:Gs,polygonStart:ys,polygonEnd:Bo};function Ts(ia,Ka){Ur(ia,Ka)&&Ti.point(ia,Ka)}function Qo(){for(var ia=0,Ka=0,vs=mi.length;Kavr&&(Kc-mf)*(vr-bu)>(Du-bu)*(gt-mf)&&++ia:Du<=vr&&(Kc-mf)*(vr-bu)<(Du-bu)*(gt-mf)&&--ia;return ia}function ys(){Ti=qi,Ii=[],mi=[],mo=!0}function Bo(){var ia=Qo(),Ka=mo&&ia,vs=(Ii=t.merge(Ii)).length;(Ka||vs)&&(hn.polygonStart(),Ka&&(hn.lineStart(),fi(null,null,1,hn),hn.lineEnd()),vs&&jo(Ii,Fi,ia,fi,hn),hn.polygonEnd()),Ti=hn,Ii=mi=Pn=null}function yl(){Xo.point=Rs,mi&&mi.push(Pn=[]),Ua=!0,sn=!1,qa=Cn=NaN}function Gs(){Ii&&(Rs(Ma,Ta),Ea&&sn&&qi.rejoin(),Ii.push(qi.result())),Xo.point=Ts,sn&&Ti.lineEnd()}function Rs(ia,Ka){var vs=Ur(ia,Ka);if(mi&&Pn.push([ia,Ka]),Ua)Ma=ia,Ta=Ka,Ea=vs,Ua=!1,vs&&(Ti.lineStart(),Ti.point(ia,Ka));else if(vs&&sn)Ti.point(ia,Ka);else{var Ko=[qa=Math.max(ua,Math.min(Ji,qa)),Cn=Math.max(ua,Math.min(Ji,Cn))],iu=[ia=Math.max(ua,Math.min(Ji,ia)),Ka=Math.max(ua,Math.min(Ji,Ka))];hi(Ko,iu,gt,Bt,wr,vr)?(sn||(Ti.lineStart(),Ti.point(Ko[0],Ko[1])),Ti.point(iu[0],iu[1]),vs||Ti.lineEnd(),mo=!1):vs&&(Ti.lineStart(),Ti.point(ia,Ka),mo=!1)}qa=ia,Cn=Ka,sn=vs}return Xo}}function Sa(){var gt=0,Bt=0,wr=960,vr=500,Ur,fi,xi;return xi={stream:function(Fi){return Ur&&fi===Fi?Ur:Ur=Fn(gt,Bt,wr,vr)(fi=Fi)},extent:function(Fi){return arguments.length?(gt=+Fi[0][0],Bt=+Fi[0][1],wr=+Fi[1][0],vr=+Fi[1][1],Ur=fi=null,xi):[[gt,Bt],[wr,vr]]}}}var go=r(),Oo,ho,Mo,xo={sphere:q,point:q,lineStart:zs,lineEnd:q,polygonStart:q,polygonEnd:q};function zs(){xo.point=Zs,xo.lineEnd=ks}function ks(){xo.point=xo.lineEnd=q}function Zs(gt,Bt){gt*=d,Bt*=d,Oo=gt,ho=_(Bt),Mo=g(Bt),xo.point=Xs}function Xs(gt,Bt){gt*=d,Bt*=d;var wr=_(Bt),vr=g(Bt),Ur=v(gt-Oo),fi=g(Ur),xi=_(Ur),Fi=vr*xi,Xi=Mo*wr-ho*vr*fi,hn=ho*wr+Mo*vr*fi;go.add(b(M(Fi*Fi+Xi*Xi),hn)),Oo=gt,ho=wr,Mo=vr}function wl(gt){return go.reset(),W(gt,xo),+go}var os=[null,null],cl={type:\"LineString\",coordinates:os};function Cs(gt,Bt){return os[0]=gt,os[1]=Bt,wl(cl)}var ml={Feature:function(gt,Bt){return Hs(gt.geometry,Bt)},FeatureCollection:function(gt,Bt){for(var wr=gt.features,vr=-1,Ur=wr.length;++vr0&&(Ur=Cs(gt[fi],gt[fi-1]),Ur>0&&wr<=Ur&&vr<=Ur&&(wr+vr-Ur)*(1-Math.pow((wr-vr)/Ur,2))o}).map(Ii)).concat(t.range(E(fi/hn)*hn,Ur,hn).filter(function(Cn){return v(Cn%qi)>o}).map(mi))}return Ea.lines=function(){return qa().map(function(Cn){return{type:\"LineString\",coordinates:Cn}})},Ea.outline=function(){return{type:\"Polygon\",coordinates:[Pn(vr).concat(Ma(xi).slice(1),Pn(wr).reverse().slice(1),Ma(Fi).reverse().slice(1))]}},Ea.extent=function(Cn){return arguments.length?Ea.extentMajor(Cn).extentMinor(Cn):Ea.extentMinor()},Ea.extentMajor=function(Cn){return arguments.length?(vr=+Cn[0][0],wr=+Cn[1][0],Fi=+Cn[0][1],xi=+Cn[1][1],vr>wr&&(Cn=vr,vr=wr,wr=Cn),Fi>xi&&(Cn=Fi,Fi=xi,xi=Cn),Ea.precision(Ta)):[[vr,Fi],[wr,xi]]},Ea.extentMinor=function(Cn){return arguments.length?(Bt=+Cn[0][0],gt=+Cn[1][0],fi=+Cn[0][1],Ur=+Cn[1][1],Bt>gt&&(Cn=Bt,Bt=gt,gt=Cn),fi>Ur&&(Cn=fi,fi=Ur,Ur=Cn),Ea.precision(Ta)):[[Bt,fi],[gt,Ur]]},Ea.step=function(Cn){return arguments.length?Ea.stepMajor(Cn).stepMinor(Cn):Ea.stepMinor()},Ea.stepMajor=function(Cn){return arguments.length?(Ti=+Cn[0],qi=+Cn[1],Ea):[Ti,qi]},Ea.stepMinor=function(Cn){return arguments.length?(Xi=+Cn[0],hn=+Cn[1],Ea):[Xi,hn]},Ea.precision=function(Cn){return arguments.length?(Ta=+Cn,Ii=on(fi,Ur,90),mi=fa(Bt,gt,Ta),Pn=on(Fi,xi,90),Ma=fa(vr,wr,Ta),Ea):Ta},Ea.extentMajor([[-180,-90+o],[180,90-o]]).extentMinor([[-180,-80-o],[180,80+o]])}function Il(){return Qu()()}function vo(gt,Bt){var wr=gt[0]*d,vr=gt[1]*d,Ur=Bt[0]*d,fi=Bt[1]*d,xi=g(vr),Fi=_(vr),Xi=g(fi),hn=_(fi),Ti=xi*g(wr),qi=xi*_(wr),Ii=Xi*g(Ur),mi=Xi*_(Ur),Pn=2*T(M(F(fi-vr)+xi*Xi*F(Ur-wr))),Ma=_(Pn),Ta=Pn?function(Ea){var qa=_(Ea*=Pn)/Ma,Cn=_(Pn-Ea)/Ma,sn=Cn*Ti+qa*Ii,Ua=Cn*qi+qa*mi,mo=Cn*Fi+qa*hn;return[b(Ua,sn)*h,b(mo,M(sn*sn+Ua*Ua))*h]}:function(){return[wr*h,vr*h]};return Ta.distance=Pn,Ta}function Wl(gt){return gt}var Ks=r(),Zl=r(),Ec,Zn,ko,Co,Tl={point:q,lineStart:q,lineEnd:q,polygonStart:function(){Tl.lineStart=uf,Tl.lineEnd=rh},polygonEnd:function(){Tl.lineStart=Tl.lineEnd=Tl.point=q,Ks.add(v(Zl)),Zl.reset()},result:function(){var gt=Ks/2;return Ks.reset(),gt}};function uf(){Tl.point=So}function So(gt,Bt){Tl.point=cf,Ec=ko=gt,Zn=Co=Bt}function cf(gt,Bt){Zl.add(Co*gt-ko*Bt),ko=gt,Co=Bt}function rh(){cf(Ec,Zn)}var Al=1/0,Hc=Al,Ql=-Al,Ls=Ql,mu={point:kc,lineStart:q,lineEnd:q,polygonStart:q,polygonEnd:q,result:function(){var gt=[[Al,Hc],[Ql,Ls]];return Ql=Ls=-(Hc=Al=1/0),gt}};function kc(gt,Bt){gtQl&&(Ql=gt),BtLs&&(Ls=Bt)}var Of=0,Gc=0,vd=0,Bf=0,ss=0,ff=0,ih=0,Ul=0,Js=0,hc,Cc,ws,$s,hs={point:Ms,lineStart:dc,lineEnd:Ps,polygonStart:function(){hs.lineStart=ov,hs.lineEnd=wo},polygonEnd:function(){hs.point=Ms,hs.lineStart=dc,hs.lineEnd=Ps},result:function(){var gt=Js?[ih/Js,Ul/Js]:ff?[Bf/ff,ss/ff]:vd?[Of/vd,Gc/vd]:[NaN,NaN];return Of=Gc=vd=Bf=ss=ff=ih=Ul=Js=0,gt}};function Ms(gt,Bt){Of+=gt,Gc+=Bt,++vd}function dc(){hs.point=Sl}function Sl(gt,Bt){hs.point=ec,Ms(ws=gt,$s=Bt)}function ec(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ms(ws=gt,$s=Bt)}function Ps(){hs.point=Ms}function ov(){hs.point=Od}function wo(){$o(hc,Cc)}function Od(gt,Bt){hs.point=$o,Ms(hc=ws=gt,Cc=$s=Bt)}function $o(gt,Bt){var wr=gt-ws,vr=Bt-$s,Ur=M(wr*wr+vr*vr);Bf+=Ur*(ws+gt)/2,ss+=Ur*($s+Bt)/2,ff+=Ur,Ur=$s*gt-ws*Bt,ih+=Ur*(ws+gt),Ul+=Ur*($s+Bt),Js+=Ur*3,Ms(ws=gt,$s=Bt)}function Ja(gt){this._context=gt}Ja.prototype={_radius:4.5,pointRadius:function(gt){return this._radius=gt,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._context.moveTo(gt,Bt),this._point=1;break}case 1:{this._context.lineTo(gt,Bt);break}default:{this._context.moveTo(gt+this._radius,Bt),this._context.arc(gt,Bt,this._radius,0,f);break}}},result:q};var Ef=r(),tc,uu,Mh,jc,kf,Ml={point:q,lineStart:function(){Ml.point=Yh},lineEnd:function(){tc&&Eh(uu,Mh),Ml.point=q},polygonStart:function(){tc=!0},polygonEnd:function(){tc=null},result:function(){var gt=+Ef;return Ef.reset(),gt}};function Yh(gt,Bt){Ml.point=Eh,uu=jc=gt,Mh=kf=Bt}function Eh(gt,Bt){jc-=gt,kf-=Bt,Ef.add(M(jc*jc+kf*kf)),jc=gt,kf=Bt}function nh(){this._string=[]}nh.prototype={_radius:4.5,_circle:hf(4.5),pointRadius:function(gt){return(gt=+gt)!==this._radius&&(this._radius=gt,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._string.push(\"Z\"),this._point=NaN},point:function(gt,Bt){switch(this._point){case 0:{this._string.push(\"M\",gt,\",\",Bt),this._point=1;break}case 1:{this._string.push(\"L\",gt,\",\",Bt);break}default:{this._circle==null&&(this._circle=hf(this._radius)),this._string.push(\"M\",gt,\",\",Bt,this._circle);break}}},result:function(){if(this._string.length){var gt=this._string.join(\"\");return this._string=[],gt}else return null}};function hf(gt){return\"m0,\"+gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+-2*gt+\"a\"+gt+\",\"+gt+\" 0 1,1 0,\"+2*gt+\"z\"}function kh(gt,Bt){var wr=4.5,vr,Ur;function fi(xi){return xi&&(typeof wr==\"function\"&&Ur.pointRadius(+wr.apply(this,arguments)),W(xi,vr(Ur))),Ur.result()}return fi.area=function(xi){return W(xi,vr(Tl)),Tl.result()},fi.measure=function(xi){return W(xi,vr(Ml)),Ml.result()},fi.bounds=function(xi){return W(xi,vr(mu)),mu.result()},fi.centroid=function(xi){return W(xi,vr(hs)),hs.result()},fi.projection=function(xi){return arguments.length?(vr=xi==null?(gt=null,Wl):(gt=xi).stream,fi):gt},fi.context=function(xi){return arguments.length?(Ur=xi==null?(Bt=null,new nh):new Ja(Bt=xi),typeof wr!=\"function\"&&Ur.pointRadius(wr),fi):Bt},fi.pointRadius=function(xi){return arguments.length?(wr=typeof xi==\"function\"?xi:(Ur.pointRadius(+xi),+xi),fi):wr},fi.projection(gt).context(Bt)}function Kh(gt){return{stream:rc(gt)}}function rc(gt){return function(Bt){var wr=new ah;for(var vr in gt)wr[vr]=gt[vr];return wr.stream=Bt,wr}}function ah(){}ah.prototype={constructor:ah,point:function(gt,Bt){this.stream.point(gt,Bt)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Wc(gt,Bt,wr){var vr=gt.clipExtent&>.clipExtent();return gt.scale(150).translate([0,0]),vr!=null&>.clipExtent(null),W(wr,gt.stream(mu)),Bt(mu.result()),vr!=null&>.clipExtent(vr),gt}function df(gt,Bt,wr){return Wc(gt,function(vr){var Ur=Bt[1][0]-Bt[0][0],fi=Bt[1][1]-Bt[0][1],xi=Math.min(Ur/(vr[1][0]-vr[0][0]),fi/(vr[1][1]-vr[0][1])),Fi=+Bt[0][0]+(Ur-xi*(vr[1][0]+vr[0][0]))/2,Xi=+Bt[0][1]+(fi-xi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*xi).translate([Fi,Xi])},wr)}function Cu(gt,Bt,wr){return df(gt,[[0,0],Bt],wr)}function Nf(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][0]-vr[0][0]),xi=(Ur-fi*(vr[1][0]+vr[0][0]))/2,Fi=-fi*vr[0][1];gt.scale(150*fi).translate([xi,Fi])},wr)}function Zc(gt,Bt,wr){return Wc(gt,function(vr){var Ur=+Bt,fi=Ur/(vr[1][1]-vr[0][1]),xi=-fi*vr[0][0],Fi=(Ur-fi*(vr[1][1]+vr[0][1]))/2;gt.scale(150*fi).translate([xi,Fi])},wr)}var ds=16,Ch=g(30*d);function Bd(gt,Bt){return+Bt?Cf(gt,Bt):Jh(gt)}function Jh(gt){return rc({point:function(Bt,wr){Bt=gt(Bt,wr),this.stream.point(Bt[0],Bt[1])}})}function Cf(gt,Bt){function wr(vr,Ur,fi,xi,Fi,Xi,hn,Ti,qi,Ii,mi,Pn,Ma,Ta){var Ea=hn-vr,qa=Ti-Ur,Cn=Ea*Ea+qa*qa;if(Cn>4*Bt&&Ma--){var sn=xi+Ii,Ua=Fi+mi,mo=Xi+Pn,Xo=M(sn*sn+Ua*Ua+mo*mo),Ts=T(mo/=Xo),Qo=v(v(mo)-1)Bt||v((Ea*Gs+qa*Rs)/Cn-.5)>.3||xi*Ii+Fi*mi+Xi*Pn2?ia[2]%360*d:0,Gs()):[Fi*h,Xi*h,hn*h]},Bo.angle=function(ia){return arguments.length?(qi=ia%360*d,Gs()):qi*h},Bo.reflectX=function(ia){return arguments.length?(Ii=ia?-1:1,Gs()):Ii<0},Bo.reflectY=function(ia){return arguments.length?(mi=ia?-1:1,Gs()):mi<0},Bo.precision=function(ia){return arguments.length?(mo=Bd(Xo,Ua=ia*ia),Rs()):M(Ua)},Bo.fitExtent=function(ia,Ka){return df(Bo,ia,Ka)},Bo.fitSize=function(ia,Ka){return Cu(Bo,ia,Ka)},Bo.fitWidth=function(ia,Ka){return Nf(Bo,ia,Ka)},Bo.fitHeight=function(ia,Ka){return Zc(Bo,ia,Ka)};function Gs(){var ia=eu(wr,0,0,Ii,mi,qi).apply(null,Bt(fi,xi)),Ka=(qi?eu:$h)(wr,vr-ia[0],Ur-ia[1],Ii,mi,qi);return Ti=gi(Fi,Xi,hn),Xo=Zr(Bt,Ka),Ts=Zr(Ti,Xo),mo=Bd(Xo,Ua),Rs()}function Rs(){return Qo=ys=null,Bo}return function(){return Bt=gt.apply(this,arguments),Bo.invert=Bt.invert&&yl,Gs()}}function fl(gt){var Bt=0,wr=l/3,vr=Lc(gt),Ur=vr(Bt,wr);return Ur.parallels=function(fi){return arguments.length?vr(Bt=fi[0]*d,wr=fi[1]*d):[Bt*h,wr*h]},Ur}function Xc(gt){var Bt=g(gt);function wr(vr,Ur){return[vr*Bt,_(Ur)/Bt]}return wr.invert=function(vr,Ur){return[vr/Bt,T(Ur*Bt)]},wr}function ic(gt,Bt){var wr=_(gt),vr=(wr+_(Bt))/2;if(v(vr)=.12&&Ta<.234&&Ma>=-.425&&Ma<-.214?Ur:Ta>=.166&&Ta<.234&&Ma>=-.214&&Ma<-.115?xi:wr).invert(Ii)},Ti.stream=function(Ii){return gt&&Bt===Ii?gt:gt=Qh([wr.stream(Bt=Ii),Ur.stream(Ii),xi.stream(Ii)])},Ti.precision=function(Ii){return arguments.length?(wr.precision(Ii),Ur.precision(Ii),xi.precision(Ii),qi()):wr.precision()},Ti.scale=function(Ii){return arguments.length?(wr.scale(Ii),Ur.scale(Ii*.35),xi.scale(Ii),Ti.translate(wr.translate())):wr.scale()},Ti.translate=function(Ii){if(!arguments.length)return wr.translate();var mi=wr.scale(),Pn=+Ii[0],Ma=+Ii[1];return vr=wr.translate(Ii).clipExtent([[Pn-.455*mi,Ma-.238*mi],[Pn+.455*mi,Ma+.238*mi]]).stream(hn),fi=Ur.translate([Pn-.307*mi,Ma+.201*mi]).clipExtent([[Pn-.425*mi+o,Ma+.12*mi+o],[Pn-.214*mi-o,Ma+.234*mi-o]]).stream(hn),Fi=xi.translate([Pn-.205*mi,Ma+.212*mi]).clipExtent([[Pn-.214*mi+o,Ma+.166*mi+o],[Pn-.115*mi-o,Ma+.234*mi-o]]).stream(hn),qi()},Ti.fitExtent=function(Ii,mi){return df(Ti,Ii,mi)},Ti.fitSize=function(Ii,mi){return Cu(Ti,Ii,mi)},Ti.fitWidth=function(Ii,mi){return Nf(Ti,Ii,mi)},Ti.fitHeight=function(Ii,mi){return Zc(Ti,Ii,mi)};function qi(){return gt=Bt=null,Ti}return Ti.scale(1070)}function Gu(gt){return function(Bt,wr){var vr=g(Bt),Ur=g(wr),fi=gt(vr*Ur);return[fi*Ur*_(Bt),fi*_(wr)]}}function Pc(gt){return function(Bt,wr){var vr=M(Bt*Bt+wr*wr),Ur=gt(vr),fi=_(Ur),xi=g(Ur);return[b(Bt*fi,vr*xi),T(vr&&wr*fi/vr)]}}var vc=Gu(function(gt){return M(2/(1+gt))});vc.invert=Pc(function(gt){return 2*T(gt/2)});function sv(){return Pu(vc).scale(124.75).clipAngle(180-.001)}var Lf=Gu(function(gt){return(gt=P(gt))&>/_(gt)});Lf.invert=Pc(function(gt){return gt});function Uf(){return Pu(Lf).scale(79.4188).clipAngle(180-.001)}function Iu(gt,Bt){return[gt,A(p((u+Bt)/2))]}Iu.invert=function(gt,Bt){return[gt,2*x(k(Bt))-u]};function oh(){return tu(Iu).scale(961/f)}function tu(gt){var Bt=Pu(gt),wr=Bt.center,vr=Bt.scale,Ur=Bt.translate,fi=Bt.clipExtent,xi=null,Fi,Xi,hn;Bt.scale=function(qi){return arguments.length?(vr(qi),Ti()):vr()},Bt.translate=function(qi){return arguments.length?(Ur(qi),Ti()):Ur()},Bt.center=function(qi){return arguments.length?(wr(qi),Ti()):wr()},Bt.clipExtent=function(qi){return arguments.length?(qi==null?xi=Fi=Xi=hn=null:(xi=+qi[0][0],Fi=+qi[0][1],Xi=+qi[1][0],hn=+qi[1][1]),Ti()):xi==null?null:[[xi,Fi],[Xi,hn]]};function Ti(){var qi=l*vr(),Ii=Bt(Gi(Bt.rotate()).invert([0,0]));return fi(xi==null?[[Ii[0]-qi,Ii[1]-qi],[Ii[0]+qi,Ii[1]+qi]]:gt===Iu?[[Math.max(Ii[0]-qi,xi),Fi],[Math.min(Ii[0]+qi,Xi),hn]]:[[xi,Math.max(Ii[1]-qi,Fi)],[Xi,Math.min(Ii[1]+qi,hn)]])}return Ti()}function vf(gt){return p((u+gt)/2)}function md(gt,Bt){var wr=g(gt),vr=gt===Bt?_(gt):A(wr/g(Bt))/A(vf(Bt)/vf(gt)),Ur=wr*L(vf(gt),vr)/vr;if(!vr)return Iu;function fi(xi,Fi){Ur>0?Fi<-u+o&&(Fi=-u+o):Fi>u-o&&(Fi=u-o);var Xi=Ur/L(vf(Fi),vr);return[Xi*_(vr*xi),Ur-Xi*g(vr*xi)]}return fi.invert=function(xi,Fi){var Xi=Ur-Fi,hn=C(vr)*M(xi*xi+Xi*Xi),Ti=b(xi,v(Xi))*C(Xi);return Xi*vr<0&&(Ti-=l*C(xi)*C(Xi)),[Ti/vr,2*x(L(Ur/hn,1/vr))-u]},fi}function sh(){return fl(md).scale(109.5).parallels([30,30])}function Fs(gt,Bt){return[gt,Bt]}Fs.invert=Fs;function _u(){return Pu(Fs).scale(152.63)}function xu(gt,Bt){var wr=g(gt),vr=gt===Bt?_(gt):(wr-g(Bt))/(Bt-gt),Ur=wr/vr+gt;if(v(vr)o&&--vr>0);return[gt/(.8707+(fi=wr*wr)*(-.131979+fi*(-.013791+fi*fi*fi*(.003971-.001529*fi)))),wr]};function gc(){return Pu(Rc).scale(175.295)}function hl(gt,Bt){return[g(Bt)*_(gt),_(Bt)]}hl.invert=Pc(T);function ru(){return Pu(hl).scale(249.5).clipAngle(90+o)}function mc(gt,Bt){var wr=g(Bt),vr=1+g(gt)*wr;return[wr*_(gt)/vr,_(Bt)/vr]}mc.invert=Pc(function(gt){return 2*x(gt)});function Yc(){return Pu(mc).scale(250).clipAngle(142)}function nc(gt,Bt){return[A(p((u+Bt)/2)),-gt]}nc.invert=function(gt,Bt){return[-Bt,2*x(k(gt))-u]};function gf(){var gt=tu(nc),Bt=gt.center,wr=gt.rotate;return gt.center=function(vr){return arguments.length?Bt([-vr[1],vr[0]]):(vr=Bt(),[vr[1],-vr[0]])},gt.rotate=function(vr){return arguments.length?wr([vr[0],vr[1],vr.length>2?vr[2]+90:90]):(vr=wr(),[vr[0],vr[1],vr[2]-90])},wr([0,0,90]).scale(159.155)}e.geoAlbers=Qs,e.geoAlbersUsa=gd,e.geoArea=me,e.geoAzimuthalEqualArea=sv,e.geoAzimuthalEqualAreaRaw=vc,e.geoAzimuthalEquidistant=Uf,e.geoAzimuthalEquidistantRaw=Lf,e.geoBounds=Ne,e.geoCentroid=yr,e.geoCircle=jn,e.geoClipAntimeridian=Hr,e.geoClipCircle=an,e.geoClipExtent=Sa,e.geoClipRectangle=Fn,e.geoConicConformal=sh,e.geoConicConformalRaw=md,e.geoConicEqualArea=yu,e.geoConicEqualAreaRaw=ic,e.geoConicEquidistant=Lh,e.geoConicEquidistantRaw=xu,e.geoContains=ms,e.geoDistance=Cs,e.geoEqualEarth=Ph,e.geoEqualEarthRaw=pf,e.geoEquirectangular=_u,e.geoEquirectangularRaw=Fs,e.geoGnomonic=Ih,e.geoGnomonicRaw=Rl,e.geoGraticule=Qu,e.geoGraticule10=Il,e.geoIdentity=Wu,e.geoInterpolate=vo,e.geoLength=wl,e.geoMercator=oh,e.geoMercatorRaw=Iu,e.geoNaturalEarth1=gc,e.geoNaturalEarth1Raw=Rc,e.geoOrthographic=ru,e.geoOrthographicRaw=hl,e.geoPath=kh,e.geoProjection=Pu,e.geoProjectionMutator=Lc,e.geoRotation=Gi,e.geoStereographic=Yc,e.geoStereographicRaw=mc,e.geoStream=W,e.geoTransform=Kh,e.geoTransverseMercator=gf,e.geoTransverseMercatorRaw=nc,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xRe=ye((Az,_Re)=>{(function(e,t){typeof Az==\"object\"&&typeof _Re!=\"undefined\"?t(Az,xX(),JE()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-geo\",\"d3-array\"],t):t(e.d3=e.d3||{},e.d3,e.d3)})(Az,function(e,t,r){\"use strict\";var n=Math.abs,i=Math.atan,a=Math.atan2,o=Math.cos,s=Math.exp,l=Math.floor,u=Math.log,c=Math.max,f=Math.min,h=Math.pow,d=Math.round,v=Math.sign||function(he){return he>0?1:he<0?-1:0},x=Math.sin,b=Math.tan,g=1e-6,E=1e-12,k=Math.PI,A=k/2,L=k/4,_=Math.SQRT1_2,C=H(2),M=H(k),p=k*2,P=180/k,T=k/180;function F(he){return he?he/Math.sin(he):1}function q(he){return he>1?A:he<-1?-A:Math.asin(he)}function V(he){return he>1?0:he<-1?k:Math.acos(he)}function H(he){return he>0?Math.sqrt(he):0}function X(he){return he=s(2*he),(he-1)/(he+1)}function G(he){return(s(he)-s(-he))/2}function N(he){return(s(he)+s(-he))/2}function W(he){return u(he+H(he*he+1))}function re(he){return u(he+H(he*he-1))}function ae(he){var be=b(he/2),Pe=2*u(o(he/2))/(be*be);function Oe(Je,He){var et=o(Je),Mt=o(He),Dt=x(He),Ut=Mt*et,tr=-((1-Ut?u((1+Ut)/2)/(1-Ut):-.5)+Pe/(1+Ut));return[tr*Mt*x(Je),tr*Dt]}return Oe.invert=function(Je,He){var et=H(Je*Je+He*He),Mt=-he/2,Dt=50,Ut;if(!et)return[0,0];do{var tr=Mt/2,mr=o(tr),Rr=x(tr),zr=Rr/mr,Xr=-u(n(mr));Mt-=Ut=(2/zr*Xr-Pe*zr-et)/(-Xr/(Rr*Rr)+1-Pe/(2*mr*mr))*(mr<0?.7:1)}while(n(Ut)>g&&--Dt>0);var di=x(Mt);return[a(Je*di,et*o(Mt)),q(He*di/et)]},Oe}function _e(){var he=A,be=t.geoProjectionMutator(ae),Pe=be(he);return Pe.radius=function(Oe){return arguments.length?be(he=Oe*T):he*P},Pe.scale(179.976).clipAngle(147)}function Me(he,be){var Pe=o(be),Oe=F(V(Pe*o(he/=2)));return[2*Pe*x(he)*Oe,x(be)*Oe]}Me.invert=function(he,be){if(!(he*he+4*be*be>k*k+g)){var Pe=he,Oe=be,Je=25;do{var He=x(Pe),et=x(Pe/2),Mt=o(Pe/2),Dt=x(Oe),Ut=o(Oe),tr=x(2*Oe),mr=Dt*Dt,Rr=Ut*Ut,zr=et*et,Xr=1-Rr*Mt*Mt,di=Xr?V(Ut*Mt)*H(Li=1/Xr):Li=0,Li,Ci=2*di*Ut*et-he,Qi=di*Dt-be,Mn=Li*(Rr*zr+di*Ut*Mt*mr),pa=Li*(.5*He*tr-di*2*Dt*et),ea=Li*.25*(tr*et-di*Dt*Rr*He),Ga=Li*(mr*Mt+di*zr*Ut),To=pa*ea-Ga*Mn;if(!To)break;var Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>g||n(co)>g)&&--Je>0);return[Pe,Oe]}};function ke(){return t.geoProjection(Me).scale(152.63)}function ge(he){var be=x(he),Pe=o(he),Oe=he>=0?1:-1,Je=b(Oe*he),He=(1+be-Pe)/2;function et(Mt,Dt){var Ut=o(Dt),tr=o(Mt/=2);return[(1+Ut)*x(Mt),(Oe*Dt>-a(tr,Je)-.001?0:-Oe*10)+He+x(Dt)*Pe-(1+Ut)*be*tr]}return et.invert=function(Mt,Dt){var Ut=0,tr=0,mr=50;do{var Rr=o(Ut),zr=x(Ut),Xr=o(tr),di=x(tr),Li=1+Xr,Ci=Li*zr-Mt,Qi=He+di*Pe-Li*be*Rr-Dt,Mn=Li*Rr/2,pa=-zr*di,ea=be*Li*zr/2,Ga=Pe*Xr+be*Rr*di,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To/2,co=(Ci*ea-Qi*Mn)/To;n(co)>2&&(co/=2),Ut-=Wa,tr-=co}while((n(Wa)>g||n(co)>g)&&--mr>0);return Oe*tr>-a(o(Ut),Je)-.001?[Ut*2,tr]:null},et}function ie(){var he=20*T,be=he>=0?1:-1,Pe=b(be*he),Oe=t.geoProjectionMutator(ge),Je=Oe(he),He=Je.stream;return Je.parallel=function(et){return arguments.length?(Pe=b((be=(he=et*T)>=0?1:-1)*he),Oe(he)):he*P},Je.stream=function(et){var Mt=Je.rotate(),Dt=He(et),Ut=(Je.rotate([0,0]),He(et)),tr=Je.precision();return Je.rotate(Mt),Dt.sphere=function(){Ut.polygonStart(),Ut.lineStart();for(var mr=be*-180;be*mr<180;mr+=be*90)Ut.point(mr,be*90);if(he)for(;be*(mr-=3*be*tr)>=-180;)Ut.point(mr,be*-a(o(mr*T/2),Pe)*P);Ut.lineEnd(),Ut.polygonEnd()},Dt},Je.scale(218.695).center([0,28.0974])}function Te(he,be){var Pe=b(be/2),Oe=H(1-Pe*Pe),Je=1+Oe*o(he/=2),He=x(he)*Oe/Je,et=Pe/Je,Mt=He*He,Dt=et*et;return[4/3*He*(3+Mt-3*Dt),4/3*et*(3+3*Mt-Dt)]}Te.invert=function(he,be){if(he*=3/8,be*=3/8,!he&&n(be)>1)return null;var Pe=he*he,Oe=be*be,Je=1+Pe+Oe,He=H((Je-H(Je*Je-4*be*be))/2),et=q(He)/3,Mt=He?re(n(be/He))/3:W(n(he))/3,Dt=o(et),Ut=N(Mt),tr=Ut*Ut-Dt*Dt;return[v(he)*2*a(G(Mt)*Dt,.25-tr),v(be)*2*a(Ut*x(et),.25+tr)]};function Ee(){return t.geoProjection(Te).scale(66.1603)}var Ae=H(8),ze=u(1+C);function Ce(he,be){var Pe=n(be);return PeE&&--Oe>0);return[he/(o(Pe)*(Ae-1/x(Pe))),v(be)*Pe]};function me(){return t.geoProjection(Ce).scale(112.314)}function Re(he){var be=2*k/he;function Pe(Oe,Je){var He=t.geoAzimuthalEquidistantRaw(Oe,Je);if(n(Oe)>A){var et=a(He[1],He[0]),Mt=H(He[0]*He[0]+He[1]*He[1]),Dt=be*d((et-A)/be)+A,Ut=a(x(et-=Dt),2-o(et));et=Dt+q(k/Mt*x(Ut))-Ut,He[0]=Mt*o(et),He[1]=Mt*x(et)}return He}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+Je*Je);if(He>A){var et=a(Je,Oe),Mt=be*d((et-A)/be)+A,Dt=et>Mt?-1:1,Ut=He*o(Mt-et),tr=1/b(Dt*V((Ut-k)/H(k*(k-2*Ut)+He*He)));et=Mt+2*i((tr+Dt*H(tr*tr-3))/3),Oe=He*o(et),Je=He*x(et)}return t.geoAzimuthalEquidistantRaw.invert(Oe,Je)},Pe}function ce(){var he=5,be=t.geoProjectionMutator(Re),Pe=be(he),Oe=Pe.stream,Je=.01,He=-o(Je*T),et=x(Je*T);return Pe.lobes=function(Mt){return arguments.length?be(he=+Mt):he},Pe.stream=function(Mt){var Dt=Pe.rotate(),Ut=Oe(Mt),tr=(Pe.rotate([0,0]),Oe(Mt));return Pe.rotate(Dt),Ut.sphere=function(){tr.polygonStart(),tr.lineStart();for(var mr=0,Rr=360/he,zr=2*k/he,Xr=90-180/he,di=A;mr0&&n(Je)>g);return Oe<0?NaN:Pe}function rt(he,be,Pe){return be===void 0&&(be=40),Pe===void 0&&(Pe=E),function(Oe,Je,He,et){var Mt,Dt,Ut;He=He===void 0?0:+He,et=et===void 0?0:+et;for(var tr=0;trMt){He-=Dt/=2,et-=Ut/=2;continue}Mt=Xr;var di=(He>0?-1:1)*Pe,Li=(et>0?-1:1)*Pe,Ci=he(He+di,et),Qi=he(He,et+Li),Mn=(Ci[0]-mr[0])/di,pa=(Ci[1]-mr[1])/di,ea=(Qi[0]-mr[0])/Li,Ga=(Qi[1]-mr[1])/Li,To=Ga*Mn-pa*ea,Wa=(n(To)<.5?.5:1)/To;if(Dt=(zr*ea-Rr*Ga)*Wa,Ut=(Rr*pa-zr*Mn)*Wa,He+=Dt,et+=Ut,n(Dt)0&&(Mt[1]*=1+Dt/1.5*Mt[0]*Mt[0]),Mt}return Oe.invert=rt(Oe),Oe}function Rt(){return t.geoProjection(ot()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function kt(he,be){var Pe=he*x(be),Oe=30,Je;do be-=Je=(be+x(be)-Pe)/(1+o(be));while(n(Je)>g&&--Oe>0);return be/2}function Ct(he,be,Pe){function Oe(Je,He){return[he*Je*o(He=kt(Pe,He)),be*x(He)]}return Oe.invert=function(Je,He){return He=q(He/be),[Je/(he*o(He)),q((2*He+x(2*He))/Pe)]},Oe}var Yt=Ct(C/A,C,k);function xr(){return t.geoProjection(Yt).scale(169.529)}var er=2.00276,Ke=1.11072;function xt(he,be){var Pe=kt(k,be);return[er*he/(1/o(be)+Ke/o(Pe)),(be+C*x(Pe))/er]}xt.invert=function(he,be){var Pe=er*be,Oe=be<0?-L:L,Je=25,He,et;do et=Pe-C*x(Oe),Oe-=He=(x(2*Oe)+2*Oe-k*x(et))/(2*o(2*Oe)+2+k*o(et)*C*o(Oe));while(n(He)>g&&--Je>0);return et=Pe-C*x(Oe),[he*(1/o(et)+Ke/o(Oe))/er,et]};function bt(){return t.geoProjection(xt).scale(160.857)}function Lt(he){var be=0,Pe=t.geoProjectionMutator(he),Oe=Pe(be);return Oe.parallel=function(Je){return arguments.length?Pe(be=Je*T):be*P},Oe}function St(he,be){return[he*o(be),be]}St.invert=function(he,be){return[he/o(be),be]};function Et(){return t.geoProjection(St).scale(152.63)}function dt(he){if(!he)return St;var be=1/b(he);function Pe(Oe,Je){var He=be+he-Je,et=He&&Oe*o(Je)/He;return[He*x(et),be-He*o(et)]}return Pe.invert=function(Oe,Je){var He=H(Oe*Oe+(Je=be-Je)*Je),et=be+he-He;return[He/o(et)*a(Oe,Je),et]},Pe}function Ht(){return Lt(dt).scale(123.082).center([0,26.1441]).parallel(45)}function $t(he){function be(Pe,Oe){var Je=A-Oe,He=Je&&Pe*he*x(Je)/Je;return[Je*x(He)/he,A-Je*o(He)]}return be.invert=function(Pe,Oe){var Je=Pe*he,He=A-Oe,et=H(Je*Je+He*He),Mt=a(Je,He);return[(et?et/x(et):1)*Mt/he,A-et]},be}function fr(){var he=.5,be=t.geoProjectionMutator($t),Pe=be(he);return Pe.fraction=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(158.837)}var _r=Ct(1,4/k,k);function Br(){return t.geoProjection(_r).scale(152.63)}function Or(he,be,Pe,Oe,Je,He){var et=o(He),Mt;if(n(he)>1||n(He)>1)Mt=V(Pe*Je+be*Oe*et);else{var Dt=x(he/2),Ut=x(He/2);Mt=2*q(H(Dt*Dt+be*Oe*Ut*Ut))}return n(Mt)>g?[Mt,a(Oe*x(He),be*Je-Pe*Oe*et)]:[0,0]}function Nr(he,be,Pe){return V((he*he+be*be-Pe*Pe)/(2*he*be))}function ut(he){return he-2*k*l((he+k)/(2*k))}function Ne(he,be,Pe){for(var Oe=[[he[0],he[1],x(he[1]),o(he[1])],[be[0],be[1],x(be[1]),o(be[1])],[Pe[0],Pe[1],x(Pe[1]),o(Pe[1])]],Je=Oe[2],He,et=0;et<3;++et,Je=He)He=Oe[et],Je.v=Or(He[1]-Je[1],Je[3],Je[2],He[3],He[2],He[0]-Je[0]),Je.point=[0,0];var Mt=Nr(Oe[0].v[0],Oe[2].v[0],Oe[1].v[0]),Dt=Nr(Oe[0].v[0],Oe[1].v[0],Oe[2].v[0]),Ut=k-Mt;Oe[2].point[1]=0,Oe[0].point[0]=-(Oe[1].point[0]=Oe[0].v[0]/2);var tr=[Oe[2].point[0]=Oe[0].point[0]+Oe[2].v[0]*o(Mt),2*(Oe[0].point[1]=Oe[1].point[1]=Oe[2].v[0]*x(Mt))];function mr(Rr,zr){var Xr=x(zr),di=o(zr),Li=new Array(3),Ci;for(Ci=0;Ci<3;++Ci){var Qi=Oe[Ci];if(Li[Ci]=Or(zr-Qi[1],Qi[3],Qi[2],di,Xr,Rr-Qi[0]),!Li[Ci][0])return Qi.point;Li[Ci][1]=ut(Li[Ci][1]-Qi.v[1])}var Mn=tr.slice();for(Ci=0;Ci<3;++Ci){var pa=Ci==2?0:Ci+1,ea=Nr(Oe[Ci].v[0],Li[Ci][0],Li[pa][0]);Li[Ci][1]<0&&(ea=-ea),Ci?Ci==1?(ea=Dt-ea,Mn[0]-=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea)):(ea=Ut-ea,Mn[0]+=Li[Ci][0]*o(ea),Mn[1]+=Li[Ci][0]*x(ea)):(Mn[0]+=Li[Ci][0]*o(ea),Mn[1]-=Li[Ci][0]*x(ea))}return Mn[0]/=3,Mn[1]/=3,Mn}return mr}function Ye(he){return he[0]*=T,he[1]*=T,he}function Ve(){return Xe([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Xe(he,be,Pe){var Oe=t.geoCentroid({type:\"MultiPoint\",coordinates:[he,be,Pe]}),Je=[-Oe[0],-Oe[1]],He=t.geoRotation(Je),et=Ne(Ye(He(he)),Ye(He(be)),Ye(He(Pe)));et.invert=rt(et);var Mt=t.geoProjection(et).rotate(Je),Dt=Mt.center;return delete Mt.rotate,Mt.center=function(Ut){return arguments.length?Dt(He(Ut)):He.invert(Dt())},Mt.clipAngle(90)}function ht(he,be){var Pe=H(1-x(be));return[2/M*he*Pe,M*(1-Pe)]}ht.invert=function(he,be){var Pe=(Pe=be/M-1)*Pe;return[Pe>0?he*H(k/Pe)/2:0,q(1-Pe)]};function Le(){return t.geoProjection(ht).scale(95.6464).center([0,30])}function xe(he){var be=b(he);function Pe(Oe,Je){return[Oe,(Oe?Oe/x(Oe):1)*(x(Je)*o(Oe)-be*o(Je))]}return Pe.invert=be?function(Oe,Je){Oe&&(Je*=x(Oe)/Oe);var He=o(Oe);return[Oe,2*a(H(He*He+be*be-Je*Je)-He,be-Je)]}:function(Oe,Je){return[Oe,q(Oe?Je*b(Oe)/Oe:Je)]},Pe}function Se(){return Lt(xe).scale(249.828).clipAngle(90)}var lt=H(3);function Gt(he,be){return[lt*he*(2*o(2*be/3)-1)/M,lt*M*x(be/3)]}Gt.invert=function(he,be){var Pe=3*q(be/(lt*M));return[M*he/(lt*(2*o(2*Pe/3)-1)),Pe]};function Vt(){return t.geoProjection(Gt).scale(156.19)}function ar(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,x(Je)/be]}return Pe.invert=function(Oe,Je){return[Oe/be,q(Je*be)]},Pe}function Qr(){return Lt(ar).parallel(38.58).scale(195.044)}function ai(he){var be=o(he);function Pe(Oe,Je){return[Oe*be,(1+be)*b(Je/2)]}return Pe.invert=function(Oe,Je){return[Oe/be,i(Je/(1+be))*2]},Pe}function jr(){return Lt(ai).scale(124.75)}function ri(he,be){var Pe=H(8/(3*k));return[Pe*he*(1-n(be)/k),Pe*be]}ri.invert=function(he,be){var Pe=H(8/(3*k)),Oe=be/Pe;return[he/(Pe*(1-n(Oe)/k)),Oe]};function bi(){return t.geoProjection(ri).scale(165.664)}function nn(he,be){var Pe=H(4-3*x(n(be)));return[2/H(6*k)*he*Pe,v(be)*H(2*k/3)*(2-Pe)]}nn.invert=function(he,be){var Pe=2-n(be)/H(2*k/3);return[he*H(6*k)/(2*Pe),v(be)*q((4-Pe*Pe)/3)]};function Wi(){return t.geoProjection(nn).scale(165.664)}function Ni(he,be){var Pe=H(k*(4+k));return[2/Pe*he*(1+H(1-4*be*be/(k*k))),4/Pe*be]}Ni.invert=function(he,be){var Pe=H(k*(4+k))/2;return[he*Pe/(1+H(1-be*be*(4+k)/(4*k))),be*Pe/2]};function _n(){return t.geoProjection(Ni).scale(180.739)}function $i(he,be){var Pe=(2+A)*x(be);be/=2;for(var Oe=0,Je=1/0;Oe<10&&n(Je)>g;Oe++){var He=o(be);be-=Je=(be+x(be)*(He+2)-Pe)/(2*He*(1+He))}return[2/H(k*(4+k))*he*(1+o(be)),2*H(k/(4+k))*x(be)]}$i.invert=function(he,be){var Pe=be*H((4+k)/k)/2,Oe=q(Pe),Je=o(Oe);return[he/(2/H(k*(4+k))*(1+Je)),q((Oe+Pe*(Je+2))/(2+A))]};function zn(){return t.geoProjection($i).scale(180.739)}function Wn(he,be){return[he*(1+o(be))/H(2+k),2*be/H(2+k)]}Wn.invert=function(he,be){var Pe=H(2+k),Oe=be*Pe/2;return[Pe*he/(1+o(Oe)),Oe]};function It(){return t.geoProjection(Wn).scale(173.044)}function ft(he,be){for(var Pe=(1+A)*x(be),Oe=0,Je=1/0;Oe<10&&n(Je)>g;Oe++)be-=Je=(be+x(be)-Pe)/(1+o(be));return Pe=H(2+k),[he*(1+o(be))/Pe,2*be/Pe]}ft.invert=function(he,be){var Pe=1+A,Oe=H(Pe/2);return[he*2*Oe/(1+o(be*=Oe)),q((be+x(be))/Pe)]};function jt(){return t.geoProjection(ft).scale(173.044)}var Zt=3+2*C;function yr(he,be){var Pe=x(he/=2),Oe=o(he),Je=H(o(be)),He=o(be/=2),et=x(be)/(He+C*Oe*Je),Mt=H(2/(1+et*et)),Dt=H((C*He+(Oe+Pe)*Je)/(C*He+(Oe-Pe)*Je));return[Zt*(Mt*(Dt-1/Dt)-2*u(Dt)),Zt*(Mt*et*(Dt+1/Dt)-2*i(et))]}yr.invert=function(he,be){if(!(He=Te.invert(he/1.2,be*1.065)))return null;var Pe=He[0],Oe=He[1],Je=20,He;he/=Zt,be/=Zt;do{var et=Pe/2,Mt=Oe/2,Dt=x(et),Ut=o(et),tr=x(Mt),mr=o(Mt),Rr=o(Oe),zr=H(Rr),Xr=tr/(mr+C*Ut*zr),di=Xr*Xr,Li=H(2/(1+di)),Ci=C*mr+(Ut+Dt)*zr,Qi=C*mr+(Ut-Dt)*zr,Mn=Ci/Qi,pa=H(Mn),ea=pa-1/pa,Ga=pa+1/pa,To=Li*ea-2*u(pa)-he,Wa=Li*Xr*Ga-2*i(Xr)-be,co=tr&&_*zr*Dt*di/tr,Ro=(C*Ut*mr+zr)/(2*(mr+C*Ut*zr)*(mr+C*Ut*zr)*zr),Ds=-.5*Xr*Li*Li*Li,As=Ds*co,yo=Ds*Ro,po=(po=2*mr+C*zr*(Ut-Dt))*po*pa,_l=(C*Ut*mr*zr+Rr)/po,Vl=-(C*Dt*tr)/(zr*po),Zu=ea*As-2*_l/pa+Li*(_l+_l/Mn),cu=ea*yo-2*Vl/pa+Li*(Vl+Vl/Mn),el=Xr*Ga*As-2*co/(1+di)+Li*Ga*co+Li*Xr*(_l-_l/Mn),nu=Xr*Ga*yo-2*Ro/(1+di)+Li*Ga*Ro+Li*Xr*(Vl-Vl/Mn),zc=cu*el-nu*Zu;if(!zc)break;var Dl=(Wa*cu-To*nu)/zc,zl=(To*el-Wa*Zu)/zc;Pe-=Dl,Oe=c(-A,f(A,Oe-zl))}while((n(Dl)>g||n(zl)>g)&&--Je>0);return n(n(Oe)-A)Oe){var mr=H(tr),Rr=a(Ut,Dt),zr=Pe*d(Rr/Pe),Xr=Rr-zr,di=he*o(Xr),Li=(he*x(Xr)-Xr*x(di))/(A-di),Ci=Fa(Xr,Li),Qi=(k-he)/Ra(Ci,di,k);Dt=mr;var Mn=50,pa;do Dt-=pa=(he+Ra(Ci,di,Dt)*Qi-mr)/(Ci(Dt)*Qi);while(n(pa)>g&&--Mn>0);Ut=Xr*x(Dt),DtOe){var Dt=H(Mt),Ut=a(et,He),tr=Pe*d(Ut/Pe),mr=Ut-tr;He=Dt*o(mr),et=Dt*x(mr);for(var Rr=He-A,zr=x(He),Xr=et/zr,di=Heg||n(Xr)>g)&&--di>0);return[mr,Rr]},Dt}var Sn=oa(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function Ha(){return t.geoProjection(Sn).scale(149.995)}var oo=oa(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function xn(){return t.geoProjection(oo).scale(153.93)}var _t=oa(5/6*k,-.62636,-.0344,0,1.3493,-.05524,0,.045);function br(){return t.geoProjection(_t).scale(130.945)}function Hr(he,be){var Pe=he*he,Oe=be*be;return[he*(1-.162388*Oe)*(.87-952426e-9*Pe*Pe),be*(1+Oe/12)]}Hr.invert=function(he,be){var Pe=he,Oe=be,Je=50,He;do{var et=Oe*Oe;Oe-=He=(Oe*(1+et/12)-be)/(1+et/4)}while(n(He)>g&&--Je>0);Je=50,he/=1-.162388*et;do{var Mt=(Mt=Pe*Pe)*Mt;Pe-=He=(Pe*(.87-952426e-9*Mt)-he)/(.87-.00476213*Mt)}while(n(He)>g&&--Je>0);return[Pe,Oe]};function ti(){return t.geoProjection(Hr).scale(131.747)}var zi=oa(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Yi(){return t.geoProjection(zi).scale(131.087)}function an(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=Oe>0?-.5:.5,et=he(Oe+He*k,Je);return et[0]-=He*be,et}return he.invert&&(Pe.invert=function(Oe,Je){var He=Oe>0?-.5:.5,et=he.invert(Oe+He*be,Je),Mt=et[0]-He*k;return Mt<-k?Mt+=2*k:Mt>k&&(Mt-=2*k),et[0]=Mt,et}),Pe}function hi(he,be){var Pe=v(he),Oe=v(be),Je=o(be),He=o(he)*Je,et=x(he)*Je,Mt=x(Oe*be);he=n(a(et,Mt)),be=q(He),n(he-A)>g&&(he%=A);var Dt=Ji(he>k/4?A-he:he,be);return he>k/4&&(Mt=Dt[0],Dt[0]=-Dt[1],Dt[1]=-Mt),Dt[0]*=Pe,Dt[1]*=-Oe,Dt}hi.invert=function(he,be){n(he)>1&&(he=v(he)*2-he),n(be)>1&&(be=v(be)*2-be);var Pe=v(he),Oe=v(be),Je=-Pe*he,He=-Oe*be,et=He/Je<1,Mt=ua(et?He:Je,et?Je:He),Dt=Mt[0],Ut=Mt[1],tr=o(Ut);return et&&(Dt=-A-Dt),[Pe*(a(x(Dt)*tr,-x(Ut))+k),Oe*q(o(Dt)*tr)]};function Ji(he,be){if(be===A)return[0,0];var Pe=x(be),Oe=Pe*Pe,Je=Oe*Oe,He=1+Je,et=1+3*Je,Mt=1-Je,Dt=q(1/H(He)),Ut=Mt+Oe*He*Dt,tr=(1-Pe)/Ut,mr=H(tr),Rr=tr*He,zr=H(Rr),Xr=mr*Mt,di,Li;if(he===0)return[0,-(Xr+Oe*zr)];var Ci=o(be),Qi=1/Ci,Mn=2*Pe*Ci,pa=(-3*Oe+Dt*et)*Mn,ea=(-Ut*Ci-(1-Pe)*pa)/(Ut*Ut),Ga=.5*ea/mr,To=Mt*Ga-2*Oe*mr*Mn,Wa=Oe*He*ea+tr*et*Mn,co=-Qi*Mn,Ro=-Qi*Wa,Ds=-2*Qi*To,As=4*he/k,yo;if(he>.222*k||be.175*k){if(di=(Xr+Oe*H(Rr*(1+Je)-Xr*Xr))/(1+Je),he>k/4)return[di,di];var po=di,_l=.5*di;di=.5*(_l+po),Li=50;do{var Vl=H(Rr-di*di),Zu=di*(Ds+co*Vl)+Ro*q(di/zr)-As;if(!Zu)break;Zu<0?_l=di:po=di,di=.5*(_l+po)}while(n(po-_l)>g&&--Li>0)}else{di=g,Li=25;do{var cu=di*di,el=H(Rr-cu),nu=Ds+co*el,zc=di*nu+Ro*q(di/zr)-As,Dl=nu+(Ro-co*cu)/el;di-=yo=el?zc/Dl:0}while(n(yo)>g&&--Li>0)}return[di,-Xr-Oe*H(Rr-di*di)]}function ua(he,be){for(var Pe=0,Oe=1,Je=.5,He=50;;){var et=Je*Je,Mt=H(Je),Dt=q(1/H(1+et)),Ut=1-et+Je*(1+et)*Dt,tr=(1-Mt)/Ut,mr=H(tr),Rr=tr*(1+et),zr=mr*(1-et),Xr=Rr-he*he,di=H(Xr),Li=be+zr+Je*di;if(n(Oe-Pe)0?Pe=Je:Oe=Je,Je=.5*(Pe+Oe)}if(!He)return null;var Ci=q(Mt),Qi=o(Ci),Mn=1/Qi,pa=2*Mt*Qi,ea=(-3*Je+Dt*(1+3*et))*pa,Ga=(-Ut*Qi-(1-Mt)*ea)/(Ut*Ut),To=.5*Ga/mr,Wa=(1-et)*To-2*Je*mr*pa,co=-2*Mn*Wa,Ro=-Mn*pa,Ds=-Mn*(Je*(1+et)*Ga+tr*(1+3*et)*pa);return[k/4*(he*(co+Ro*di)+Ds*q(he/H(Rr))),Ci]}function Fn(){return t.geoProjection(an(hi)).scale(239.75)}function Sa(he,be,Pe){var Oe,Je,He;return he?(Oe=go(he,Pe),be?(Je=go(be,1-Pe),He=Je[1]*Je[1]+Pe*Oe[0]*Oe[0]*Je[0]*Je[0],[[Oe[0]*Je[2]/He,Oe[1]*Oe[2]*Je[0]*Je[1]/He],[Oe[1]*Je[1]/He,-Oe[0]*Oe[2]*Je[0]*Je[2]/He],[Oe[2]*Je[1]*Je[2]/He,-Pe*Oe[0]*Oe[1]*Je[0]/He]]):[[Oe[0],0],[Oe[1],0],[Oe[2],0]]):(Je=go(be,1-Pe),[[0,Je[0]/Je[1]],[1/Je[1],0],[Je[2]/Je[1],0]])}function go(he,be){var Pe,Oe,Je,He,et;if(be=1-g)return Pe=(1-be)/4,Oe=N(he),He=X(he),Je=1/Oe,et=Oe*G(he),[He+Pe*(et-he)/(Oe*Oe),Je-Pe*He*Je*(et-he),Je+Pe*He*Je*(et+he),2*i(s(he))-A+Pe*(et-he)/Oe];var Mt=[1,0,0,0,0,0,0,0,0],Dt=[H(be),0,0,0,0,0,0,0,0],Ut=0;for(Oe=H(1-be),et=1;n(Dt[Ut]/Mt[Ut])>g&&Ut<8;)Pe=Mt[Ut++],Dt[Ut]=(Pe-Oe)/2,Mt[Ut]=(Pe+Oe)/2,Oe=H(Pe*Oe),et*=2;Je=et*Mt[Ut]*he;do He=Dt[Ut]*x(Oe=Je)/Mt[Ut],Je=(q(He)+Je)/2;while(--Ut);return[x(Je),He=o(Je),He/o(Je-Oe),Je]}function Oo(he,be,Pe){var Oe=n(he),Je=n(be),He=G(Je);if(Oe){var et=1/x(Oe),Mt=1/(b(Oe)*b(Oe)),Dt=-(Mt+Pe*(He*He*et*et)-1+Pe),Ut=(Pe-1)*Mt,tr=(-Dt+H(Dt*Dt-4*Ut))/2;return[ho(i(1/H(tr)),Pe)*v(he),ho(i(H((tr/Mt-1)/Pe)),1-Pe)*v(be)]}return[0,ho(i(He),1-Pe)*v(be)]}function ho(he,be){if(!be)return he;if(be===1)return u(b(he/2+L));for(var Pe=1,Oe=H(1-be),Je=H(be),He=0;n(Je)>g;He++){if(he%k){var et=i(Oe*b(he)/Pe);et<0&&(et+=k),he+=et+~~(he/k)*k}else he+=he;Je=(Pe+Oe)/2,Oe=H(Pe*Oe),Je=((Pe=Je)-Oe)/2}return he/(h(2,He)*Pe)}function Mo(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=u(b(k/4+n(be)/2)),Mt=s(He*et)/H(Pe),Dt=xo(Mt*o(He*he),Mt*x(He*he)),Ut=Oo(Dt[0],Dt[1],Oe*Oe);return[-Ut[1],(be>=0?1:-1)*(.5*Je-Ut[0])]}function xo(he,be){var Pe=he*he,Oe=be+1,Je=1-Pe-be*be;return[.5*((he>=0?A:-A)-a(Je,2*he)),-.25*u(Je*Je+4*Pe)+.5*u(Oe*Oe+Pe)]}function zs(he,be){var Pe=be[0]*be[0]+be[1]*be[1];return[(he[0]*be[0]+he[1]*be[1])/Pe,(he[1]*be[0]-he[0]*be[1])/Pe]}Mo.invert=function(he,be){var Pe=(C-1)/(C+1),Oe=H(1-Pe*Pe),Je=ho(A,Oe*Oe),He=-1,et=Sa(.5*Je-be,-he,Oe*Oe),Mt=zs(et[0],et[1]),Dt=a(Mt[1],Mt[0])/He;return[Dt,2*i(s(.5/He*u(Pe*Mt[0]*Mt[0]+Pe*Mt[1]*Mt[1])))-A]};function ks(){return t.geoProjection(an(Mo)).scale(151.496)}function Zs(he){var be=x(he),Pe=o(he),Oe=Xs(he);Oe.invert=Xs(-he);function Je(He,et){var Mt=Oe(He,et);He=Mt[0],et=Mt[1];var Dt=x(et),Ut=o(et),tr=o(He),mr=V(be*Dt+Pe*Ut*tr),Rr=x(mr),zr=n(Rr)>g?mr/Rr:1;return[zr*Pe*x(He),(n(He)>A?zr:-zr)*(be*Ut-Pe*Dt*tr)]}return Je.invert=function(He,et){var Mt=H(He*He+et*et),Dt=-x(Mt),Ut=o(Mt),tr=Mt*Ut,mr=-et*Dt,Rr=Mt*be,zr=H(tr*tr+mr*mr-Rr*Rr),Xr=a(tr*Rr+mr*zr,mr*Rr-tr*zr),di=(Mt>A?-1:1)*a(He*Dt,Mt*o(Xr)*Ut+et*x(Xr)*Dt);return Oe.invert(di,Xr)},Je}function Xs(he){var be=x(he),Pe=o(he);return function(Oe,Je){var He=o(Je),et=o(Oe)*He,Mt=x(Oe)*He,Dt=x(Je);return[a(Mt,et*Pe-Dt*be),q(Dt*Pe+et*be)]}}function wl(){var he=0,be=t.geoProjectionMutator(Zs),Pe=be(he),Oe=Pe.rotate,Je=Pe.stream,He=t.geoCircle();return Pe.parallel=function(et){if(!arguments.length)return he*P;var Mt=Pe.rotate();return be(he=et*T).rotate(Mt)},Pe.rotate=function(et){return arguments.length?(Oe.call(Pe,[et[0],et[1]-he*P]),He.center([-et[0],-et[1]]),Pe):(et=Oe.call(Pe),et[1]+=he*P,et)},Pe.stream=function(et){return et=Je(et),et.sphere=function(){et.polygonStart();var Mt=.01,Dt=He.radius(90-Mt)().coordinates[0],Ut=Dt.length-1,tr=-1,mr;for(et.lineStart();++tr=0;)et.point((mr=Dt[tr])[0],mr[1]);et.lineEnd(),et.polygonEnd()},et},Pe.scale(79.4187).parallel(45).clipAngle(180-.001)}var os=3,cl=q(1-1/os)*P,Cs=ar(0);function ml(he){var be=cl*T,Pe=ht(k,be)[0]-ht(-k,be)[0],Oe=Cs(0,be)[1],Je=ht(0,be)[1],He=M-Je,et=p/he,Mt=4/p,Dt=Oe+He*He*4/p;function Ut(tr,mr){var Rr,zr=n(mr);if(zr>be){var Xr=f(he-1,c(0,l((tr+k)/et)));tr+=k*(he-1)/he-Xr*et,Rr=ht(tr,zr),Rr[0]=Rr[0]*p/Pe-p*(he-1)/(2*he)+Xr*p/he,Rr[1]=Oe+(Rr[1]-Je)*4*He/p,mr<0&&(Rr[1]=-Rr[1])}else Rr=Cs(tr,mr);return Rr[0]*=Mt,Rr[1]/=Dt,Rr}return Ut.invert=function(tr,mr){tr/=Mt,mr*=Dt;var Rr=n(mr);if(Rr>Oe){var zr=f(he-1,c(0,l((tr+k)/et)));tr=(tr+k*(he-1)/he-zr*et)*Pe/p;var Xr=ht.invert(tr,.25*(Rr-Oe)*p/He+Je);return Xr[0]-=k*(he-1)/he-zr*et,mr<0&&(Xr[1]=-Xr[1]),Xr}return Cs.invert(tr,mr)},Ut}function Ys(he,be){return[he,be&1?90-g:cl]}function Hs(he,be){return[he,be&1?-90+g:-cl]}function Eo(he){return[he[0]*(1-g),he[1]]}function fs(he){var be=[].concat(r.range(-180,180+he/2,he).map(Ys),r.range(180,-180-he/2,-he).map(Hs));return{type:\"Polygon\",coordinates:[he===180?be.map(Eo):be]}}function $l(){var he=4,be=t.geoProjectionMutator(ml),Pe=be(he),Oe=Pe.stream;return Pe.lobes=function(Je){return arguments.length?be(he=+Je):he},Pe.stream=function(Je){var He=Pe.rotate(),et=Oe(Je),Mt=(Pe.rotate([0,0]),Oe(Je));return Pe.rotate(He),et.sphere=function(){t.geoStream(fs(180/he),Mt)},et},Pe.scale(239.75)}function Hu(he){var be=1+he,Pe=x(1/be),Oe=q(Pe),Je=2*H(k/(He=k+4*Oe*be)),He,et=.5*Je*(be+H(he*(2+he))),Mt=he*he,Dt=be*be;function Ut(tr,mr){var Rr=1-x(mr),zr,Xr;if(Rr&&Rr<2){var di=A-mr,Li=25,Ci;do{var Qi=x(di),Mn=o(di),pa=Oe+a(Qi,be-Mn),ea=1+Dt-2*be*Mn;di-=Ci=(di-Mt*Oe-be*Qi+ea*pa-.5*Rr*He)/(2*be*Qi*pa)}while(n(Ci)>E&&--Li>0);zr=Je*H(ea),Xr=tr*pa/k}else zr=Je*(he+Rr),Xr=tr*Oe/k;return[zr*x(Xr),et-zr*o(Xr)]}return Ut.invert=function(tr,mr){var Rr=tr*tr+(mr-=et)*mr,zr=(1+Dt-Rr/(Je*Je))/(2*be),Xr=V(zr),di=x(Xr),Li=Oe+a(di,be-zr);return[q(tr/H(Rr))*k/Li,q(1-2*(Xr-Mt*Oe-be*di+(1+Dt-2*be*zr)*Li)/He)]},Ut}function fc(){var he=1,be=t.geoProjectionMutator(Hu),Pe=be(he);return Pe.ratio=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(167.774).center([0,18.67])}var ms=.7109889596207567,on=.0528035274542;function fa(he,be){return be>-ms?(he=Yt(he,be),he[1]+=on,he):St(he,be)}fa.invert=function(he,be){return be>-ms?Yt.invert(he,be-on):St.invert(he,be)};function Qu(){return t.geoProjection(fa).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function Il(he,be){return n(be)>ms?(he=Yt(he,be),he[1]-=be>0?on:-on,he):St(he,be)}Il.invert=function(he,be){return n(be)>ms?Yt.invert(he,be+(be>0?on:-on)):St.invert(he,be)};function vo(){return t.geoProjection(Il).scale(152.63)}function Wl(he,be,Pe,Oe){var Je=H(4*k/(2*Pe+(1+he-be/2)*x(2*Pe)+(he+be)/2*x(4*Pe)+be/2*x(6*Pe))),He=H(Oe*x(Pe)*H((1+he*o(2*Pe)+be*o(4*Pe))/(1+he+be))),et=Pe*Dt(1);function Mt(mr){return H(1+he*o(2*mr)+be*o(4*mr))}function Dt(mr){var Rr=mr*Pe;return(2*Rr+(1+he-be/2)*x(2*Rr)+(he+be)/2*x(4*Rr)+be/2*x(6*Rr))/Pe}function Ut(mr){return Mt(mr)*x(mr)}var tr=function(mr,Rr){var zr=Pe*qt(Dt,et*x(Rr)/Pe,Rr/k);isNaN(zr)&&(zr=Pe*v(Rr));var Xr=Je*Mt(zr);return[Xr*He*mr/k*o(zr),Xr/He*x(zr)]};return tr.invert=function(mr,Rr){var zr=qt(Ut,Rr*He/Je);return[mr*k/(o(zr)*Je*He*Mt(zr)),q(Pe*Dt(zr/Pe)/et)]},Pe===0&&(Je=H(Oe/k),tr=function(mr,Rr){return[mr*Je,x(Rr)/Je]},tr.invert=function(mr,Rr){return[mr/Je,q(Rr*Je)]}),tr}function Ks(){var he=1,be=0,Pe=45*T,Oe=2,Je=t.geoProjectionMutator(Wl),He=Je(he,be,Pe,Oe);return He.a=function(et){return arguments.length?Je(he=+et,be,Pe,Oe):he},He.b=function(et){return arguments.length?Je(he,be=+et,Pe,Oe):be},He.psiMax=function(et){return arguments.length?Je(he,be,Pe=+et*T,Oe):Pe*P},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(180.739)}function Zl(he,be,Pe,Oe,Je,He,et,Mt,Dt,Ut,tr){if(tr.nanEncountered)return NaN;var mr,Rr,zr,Xr,di,Li,Ci,Qi,Mn,pa;if(mr=Pe-be,Rr=he(be+mr*.25),zr=he(Pe-mr*.25),isNaN(Rr)){tr.nanEncountered=!0;return}if(isNaN(zr)){tr.nanEncountered=!0;return}return Xr=mr*(Oe+4*Rr+Je)/12,di=mr*(Je+4*zr+He)/12,Li=Xr+di,pa=(Li-et)/15,Ut>Dt?(tr.maxDepthCount++,Li+pa):Math.abs(pa)>1;do Dt[Li]>zr?di=Li:Xr=Li,Li=Xr+di>>1;while(Li>Xr);var Ci=Dt[Li+1]-Dt[Li];return Ci&&(Ci=(zr-Dt[Li+1])/Ci),(Li+1+Ci)/et}var mr=2*tr(1)/k*He/Pe,Rr=function(zr,Xr){var di=tr(n(x(Xr))),Li=Oe(di)*zr;return di/=mr,[Li,Xr>=0?di:-di]};return Rr.invert=function(zr,Xr){var di;return Xr*=mr,n(Xr)<1&&(di=v(Xr)*q(Je(n(Xr))*He)),[zr/Oe(n(Xr)),di]},Rr}function ko(){var he=0,be=2.5,Pe=1.183136,Oe=t.geoProjectionMutator(Zn),Je=Oe(he,be,Pe);return Je.alpha=function(He){return arguments.length?Oe(he=+He,be,Pe):he},Je.k=function(He){return arguments.length?Oe(he,be=+He,Pe):be},Je.gamma=function(He){return arguments.length?Oe(he,be,Pe=+He):Pe},Je.scale(152.63)}function Co(he,be){return n(he[0]-be[0])=0;--Dt)Pe=he[1][Dt],Oe=Pe[0][0],Je=Pe[0][1],He=Pe[1][1],et=Pe[2][0],Mt=Pe[2][1],be.push(Tl([[et-g,Mt-g],[et-g,He+g],[Oe+g,He+g],[Oe+g,Je-g]],30));return{type:\"Polygon\",coordinates:[r.merge(be)]}}function So(he,be,Pe){var Oe,Je;function He(Dt,Ut){for(var tr=Ut<0?-1:1,mr=be[+(Ut<0)],Rr=0,zr=mr.length-1;Rrmr[Rr][2][0];++Rr);var Xr=he(Dt-mr[Rr][1][0],Ut);return Xr[0]+=he(mr[Rr][1][0],tr*Ut>tr*mr[Rr][0][1]?mr[Rr][0][1]:Ut)[0],Xr}Pe?He.invert=Pe(He):he.invert&&(He.invert=function(Dt,Ut){for(var tr=Je[+(Ut<0)],mr=be[+(Ut<0)],Rr=0,zr=tr.length;RrXr&&(di=zr,zr=Xr,Xr=di),[[mr,zr],[Rr,Xr]]})}),et):be.map(function(Ut){return Ut.map(function(tr){return[[tr[0][0]*P,tr[0][1]*P],[tr[1][0]*P,tr[1][1]*P],[tr[2][0]*P,tr[2][1]*P]]})})},be!=null&&et.lobes(be),et}var cf=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function rh(){return So(xt,cf).scale(160.857)}var Al=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Hc(){return So(Il,Al).scale(152.63)}var Ql=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function Ls(){return So(Yt,Ql).scale(169.529)}var mu=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function kc(){return So(Yt,mu).scale(169.529).rotate([20,0])}var Of=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function Gc(){return So(fa,Of,rt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var vd=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function Bf(){return So(St,vd).scale(152.63).rotate([-20,0])}function ss(he,be){return[3/p*he*H(k*k/3-be*be),be]}ss.invert=function(he,be){return[p/3*he/H(k*k/3-be*be),be]};function ff(){return t.geoProjection(ss).scale(158.837)}function ih(he){function be(Pe,Oe){if(n(n(Oe)-A)2)return null;Pe/=2,Oe/=2;var He=Pe*Pe,et=Oe*Oe,Mt=2*Oe/(1+He+et);return Mt=h((1+Mt)/(1-Mt),1/he),[a(2*Pe,1-He-et)/he,q((Mt-1)/(Mt+1))]},be}function Ul(){var he=.5,be=t.geoProjectionMutator(ih),Pe=be(he);return Pe.spacing=function(Oe){return arguments.length?be(he=+Oe):he},Pe.scale(124.75)}var Js=k/C;function hc(he,be){return[he*(1+H(o(be)))/2,be/(o(be/2)*o(he/6))]}hc.invert=function(he,be){var Pe=n(he),Oe=n(be),Je=g,He=A;Oeg||n(Li)>g)&&--Je>0);return Je&&[Pe,Oe]};function $s(){return t.geoProjection(ws).scale(139.98)}function hs(he,be){return[x(he)/o(be),b(be)*o(he)]}hs.invert=function(he,be){var Pe=he*he,Oe=be*be,Je=Oe+1,He=Pe+Je,et=he?_*H((He-H(He*He-4*Pe))/Pe):1/H(Je);return[q(he*et),v(be)*V(et)]};function Ms(){return t.geoProjection(hs).scale(144.049).clipAngle(90-.001)}function dc(he){var be=o(he),Pe=b(L+he/2);function Oe(Je,He){var et=He-he,Mt=n(et)=0;)tr=he[Ut],mr=tr[0]+Mt*(zr=mr)-Dt*Rr,Rr=tr[1]+Mt*Rr+Dt*zr;return mr=Mt*(zr=mr)-Dt*Rr,Rr=Mt*Rr+Dt*zr,[mr,Rr]}return Pe.invert=function(Oe,Je){var He=20,et=Oe,Mt=Je;do{for(var Dt=be,Ut=he[Dt],tr=Ut[0],mr=Ut[1],Rr=0,zr=0,Xr;--Dt>=0;)Ut=he[Dt],Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=Ut[0]+et*(Xr=tr)-Mt*mr,mr=Ut[1]+et*mr+Mt*Xr;Rr=tr+et*(Xr=Rr)-Mt*zr,zr=mr+et*zr+Mt*Xr,tr=et*(Xr=tr)-Mt*mr-Oe,mr=et*mr+Mt*Xr-Je;var di=Rr*Rr+zr*zr,Li,Ci;et-=Li=(tr*Rr+mr*zr)/di,Mt-=Ci=(mr*Rr-tr*zr)/di}while(n(Li)+n(Ci)>g*g&&--He>0);if(He){var Qi=H(et*et+Mt*Mt),Mn=2*i(Qi*.5),pa=x(Mn);return[a(et*pa,Qi*o(Mn)),Qi?q(Mt*pa/Qi):0]}},Pe}var wo=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],Od=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],$o=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Ja=[[.9245,0],[0,0],[.01943,0]],Ef=[[.721316,0],[0,0],[-.00881625,-.00617325]];function tc(){return Ml(wo,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function uu(){return Ml(Od,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Mh(){return Ml($o,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function jc(){return Ml(Ja,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function kf(){return Ml(Ef,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Ml(he,be){var Pe=t.geoProjection(ov(he)).rotate(be).clipAngle(90),Oe=t.geoRotation(be),Je=Pe.center;return delete Pe.rotate,Pe.center=function(He){return arguments.length?Je(Oe(He)):Oe.invert(Je())},Pe}var Yh=H(6),Eh=H(7);function nh(he,be){var Pe=q(7*x(be)/(3*Yh));return[Yh*he*(2*o(2*Pe/3)-1)/Eh,9*x(Pe/3)/Eh]}nh.invert=function(he,be){var Pe=3*q(be*Eh/9);return[he*Eh/(Yh*(2*o(2*Pe/3)-1)),q(x(Pe)*3*Yh/7)]};function hf(){return t.geoProjection(nh).scale(164.859)}function kh(he,be){for(var Pe=(1+_)*x(be),Oe=be,Je=0,He;Je<25&&(Oe-=He=(x(Oe/2)+x(Oe)-Pe)/(.5*o(Oe/2)+o(Oe)),!(n(He)E&&--Oe>0);return He=Pe*Pe,et=He*He,Mt=He*et,[he/(.84719-.13063*He+Mt*Mt*(-.04515+.05494*He-.02326*et+.00331*Mt)),Pe]};function df(){return t.geoProjection(Wc).scale(175.295)}function Cu(he,be){return[he*(1+o(be))/2,2*(be-b(be/2))]}Cu.invert=function(he,be){for(var Pe=be/2,Oe=0,Je=1/0;Oe<10&&n(Je)>g;++Oe){var He=o(be/2);be-=Je=(be-b(be/2)-Pe)/(1-.5/(He*He))}return[2*he/(1+o(be)),be]};function Nf(){return t.geoProjection(Cu).scale(152.63)}var Zc=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function ds(){return So(Ge(1/0),Zc).rotate([20,0]).scale(152.63)}function Ch(he,be){var Pe=x(be),Oe=o(be),Je=v(he);if(he===0||n(be)===A)return[0,be];if(be===0)return[he,0];if(n(he)===A)return[he*Oe,A*Pe];var He=k/(2*he)-2*he/k,et=2*be/k,Mt=(1-et*et)/(Pe-et),Dt=He*He,Ut=Mt*Mt,tr=1+Dt/Ut,mr=1+Ut/Dt,Rr=(He*Pe/Mt-He/2)/tr,zr=(Ut*Pe/Dt+Mt/2)/mr,Xr=Rr*Rr+Oe*Oe/tr,di=zr*zr-(Ut*Pe*Pe/Dt+Mt*Pe-1)/mr;return[A*(Rr+H(Xr)*Je),A*(zr+H(di<0?0:di)*v(-be*He)*Je)]}Ch.invert=function(he,be){he/=A,be/=A;var Pe=he*he,Oe=be*be,Je=Pe+Oe,He=k*k;return[he?(Je-1+H((1-Je)*(1-Je)+4*Pe))/(2*he)*A:0,qt(function(et){return Je*(k*x(et)-2*et)*k+4*et*et*(be-x(et))+2*k*et-He*be},0)]};function Bd(){return t.geoProjection(Ch).scale(127.267)}var Jh=1.0148,Cf=.23185,pd=-.14499,Lu=.02406,$h=Jh,eu=5*Cf,Pu=7*pd,Lc=9*Lu,fl=1.790857183;function Xc(he,be){var Pe=be*be;return[he,be*(Jh+Pe*Pe*(Cf+Pe*(pd+Lu*Pe)))]}Xc.invert=function(he,be){be>fl?be=fl:be<-fl&&(be=-fl);var Pe=be,Oe;do{var Je=Pe*Pe;Pe-=Oe=(Pe*(Jh+Je*Je*(Cf+Je*(pd+Lu*Je)))-be)/($h+Je*Je*(eu+Je*(Pu+Lc*Je)))}while(n(Oe)>g);return[he,Pe]};function ic(){return t.geoProjection(Xc).scale(139.319)}function yu(he,be){if(n(be)g&&--Je>0);return et=b(Oe),[(n(be)=0;)if(Oe=be[Mt],Pe[0]===Oe[0]&&Pe[1]===Oe[1]){if(He)return[He,Pe];He=Pe}}}function tu(he){for(var be=he.length,Pe=[],Oe=he[be-1],Je=0;Je0?[-Oe[0],0]:[180-Oe[0],180])};var be=sh.map(function(Pe){return{face:Pe,project:he(Pe)}});return[-1,0,0,1,0,1,4,5].forEach(function(Pe,Oe){var Je=be[Pe];Je&&(Je.children||(Je.children=[])).push(be[Oe])}),Lf(be[0],function(Pe,Oe){return be[Pe<-k/2?Oe<0?6:4:Pe<0?Oe<0?2:0:PeOe^zr>Oe&&Pe<(Rr-Ut)*(Oe-tr)/(zr-tr)+Ut&&(Je=!Je)}return Je}function Rl(he,be){var Pe=be.stream,Oe;if(!Pe)throw new Error(\"invalid projection\");switch(he&&he.type){case\"Feature\":Oe=Wu;break;case\"FeatureCollection\":Oe=Ih;break;default:Oe=gc;break}return Oe(he,Pe)}function Ih(he,be){return{type:\"FeatureCollection\",features:he.features.map(function(Pe){return Wu(Pe,be)})}}function Wu(he,be){return{type:\"Feature\",id:he.id,properties:he.properties,geometry:gc(he.geometry,be)}}function Rc(he,be){return{type:\"GeometryCollection\",geometries:he.geometries.map(function(Pe){return gc(Pe,be)})}}function gc(he,be){if(!he)return null;if(he.type===\"GeometryCollection\")return Rc(he,be);var Pe;switch(he.type){case\"Point\":Pe=mc;break;case\"MultiPoint\":Pe=mc;break;case\"LineString\":Pe=Yc;break;case\"MultiLineString\":Pe=Yc;break;case\"Polygon\":Pe=nc;break;case\"MultiPolygon\":Pe=nc;break;case\"Sphere\":Pe=nc;break;default:return null}return t.geoStream(he,be(Pe)),Pe.result()}var hl=[],ru=[],mc={point:function(he,be){hl.push([he,be])},result:function(){var he=hl.length?hl.length<2?{type:\"Point\",coordinates:hl[0]}:{type:\"MultiPoint\",coordinates:hl}:null;return hl=[],he}},Yc={lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){hl.length&&(ru.push(hl),hl=[])},result:function(){var he=ru.length?ru.length<2?{type:\"LineString\",coordinates:ru[0]}:{type:\"MultiLineString\",coordinates:ru}:null;return ru=[],he}},nc={polygonStart:pc,lineStart:pc,point:function(he,be){hl.push([he,be])},lineEnd:function(){var he=hl.length;if(he){do hl.push(hl[0].slice());while(++he<4);ru.push(hl),hl=[]}},polygonEnd:pc,result:function(){if(!ru.length)return null;var he=[],be=[];return ru.forEach(function(Pe){pf(Pe)?he.push([Pe]):be.push(Pe)}),be.forEach(function(Pe){var Oe=Pe[0];he.some(function(Je){if(Ph(Je[0],Oe))return Je.push(Pe),!0})||he.push([Pe])}),ru=[],he.length?he.length>1?{type:\"MultiPolygon\",coordinates:he}:{type:\"Polygon\",coordinates:he[0]}:null}};function gf(he){var be=he(A,0)[0]-he(-A,0)[0];function Pe(Oe,Je){var He=n(Oe)0?Oe-k:Oe+k,Je),Mt=(et[0]-et[1])*_,Dt=(et[0]+et[1])*_;if(He)return[Mt,Dt];var Ut=be*_,tr=Mt>0^Dt>0?-1:1;return[tr*Mt-v(Dt)*Ut,tr*Dt-v(Mt)*Ut]}return he.invert&&(Pe.invert=function(Oe,Je){var He=(Oe+Je)*_,et=(Je-Oe)*_,Mt=n(He)<.5*be&&n(et)<.5*be;if(!Mt){var Dt=be*_,Ut=He>0^et>0?-1:1,tr=-Ut*Oe+(et>0?1:-1)*Dt,mr=-Ut*Je+(He>0?1:-1)*Dt;He=(-tr-mr)*_,et=(tr-mr)*_}var Rr=he.invert(He,et);return Mt||(Rr[0]+=He>0?k:-k),Rr}),t.geoProjection(Pe).rotate([-90,-90,45]).clipAngle(180-.001)}function gt(){return gf(hi).scale(176.423)}function Bt(){return gf(Mo).scale(111.48)}function wr(he,be){if(!(0<=(be=+be)&&be<=20))throw new Error(\"invalid digits\");function Pe(Ut){var tr=Ut.length,mr=2,Rr=new Array(tr);for(Rr[0]=+Ut[0].toFixed(be),Rr[1]=+Ut[1].toFixed(be);mr2||zr[0]!=tr[0]||zr[1]!=tr[1])&&(mr.push(zr),tr=zr)}return mr.length===1&&Ut.length>1&&mr.push(Pe(Ut[Ut.length-1])),mr}function He(Ut){return Ut.map(Je)}function et(Ut){if(Ut==null)return Ut;var tr;switch(Ut.type){case\"GeometryCollection\":tr={type:\"GeometryCollection\",geometries:Ut.geometries.map(et)};break;case\"Point\":tr={type:\"Point\",coordinates:Pe(Ut.coordinates)};break;case\"MultiPoint\":tr={type:Ut.type,coordinates:Oe(Ut.coordinates)};break;case\"LineString\":tr={type:Ut.type,coordinates:Je(Ut.coordinates)};break;case\"MultiLineString\":case\"Polygon\":tr={type:Ut.type,coordinates:He(Ut.coordinates)};break;case\"MultiPolygon\":tr={type:\"MultiPolygon\",coordinates:Ut.coordinates.map(He)};break;default:return Ut}return Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}function Mt(Ut){var tr={type:\"Feature\",properties:Ut.properties,geometry:et(Ut.geometry)};return Ut.id!=null&&(tr.id=Ut.id),Ut.bbox!=null&&(tr.bbox=Ut.bbox),tr}if(he!=null)switch(he.type){case\"Feature\":return Mt(he);case\"FeatureCollection\":{var Dt={type:\"FeatureCollection\",features:he.features.map(Mt)};return he.bbox!=null&&(Dt.bbox=he.bbox),Dt}default:return et(he)}return he}function vr(he){var be=x(he);function Pe(Oe,Je){var He=be?b(Oe*be/2)/be:Oe/2;if(!Je)return[2*He,-he];var et=2*i(He*x(Je)),Mt=1/b(Je);return[x(et)*Mt,Je+(1-o(et))*Mt-he]}return Pe.invert=function(Oe,Je){if(n(Je+=he)g&&--Mt>0);var Rr=Oe*(Ut=b(et)),zr=b(n(Je)0?A:-A)*(Dt+Je*(tr-et)/2+Je*Je*(tr-2*Dt+et)/2)]}xi.invert=function(he,be){var Pe=be/A,Oe=Pe*90,Je=f(18,n(Oe/5)),He=c(0,l(Je));do{var et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Ut=Dt-et,tr=Dt-2*Mt+et,mr=2*(n(Pe)-Mt)/Ut,Rr=tr/Ut,zr=mr*(1-Rr*mr*(1-2*Rr*mr));if(zr>=0||He===1){Oe=(be>=0?5:-5)*(zr+Je);var Xr=50,di;do Je=f(18,n(Oe)/5),He=l(Je),zr=Je-He,et=fi[He][1],Mt=fi[He+1][1],Dt=fi[f(19,He+2)][1],Oe-=(di=(be>=0?A:-A)*(Mt+zr*(Dt-et)/2+zr*zr*(Dt-2*Mt+et)/2)-be)*P;while(n(di)>E&&--Xr>0);break}}while(--He>=0);var Li=fi[He][0],Ci=fi[He+1][0],Qi=fi[f(19,He+2)][0];return[he/(Ci+zr*(Qi-Li)/2+zr*zr*(Qi-2*Ci+Li)/2),Oe*T]};function Fi(){return t.geoProjection(xi).scale(152.63)}function Xi(he){function be(Pe,Oe){var Je=o(Oe),He=(he-1)/(he-Je*o(Pe));return[He*Je*x(Pe),He*x(Oe)]}return be.invert=function(Pe,Oe){var Je=Pe*Pe+Oe*Oe,He=H(Je),et=(he-H(1-Je*(he+1)/(he-1)))/((he-1)/He+He/(he-1));return[a(Pe*et,He*H(1-et*et)),He?q(Oe*et/He):0]},be}function hn(he,be){var Pe=Xi(he);if(!be)return Pe;var Oe=o(be),Je=x(be);function He(et,Mt){var Dt=Pe(et,Mt),Ut=Dt[1],tr=Ut*Je/(he-1)+Oe;return[Dt[0]*Oe/tr,Ut/tr]}return He.invert=function(et,Mt){var Dt=(he-1)/(he-1-Mt*Je);return Pe.invert(Dt*et,Dt*Mt*Oe)},He}function Ti(){var he=2,be=0,Pe=t.geoProjectionMutator(hn),Oe=Pe(he,be);return Oe.distance=function(Je){return arguments.length?Pe(he=+Je,be):he},Oe.tilt=function(Je){return arguments.length?Pe(he,be=Je*T):be*P},Oe.scale(432.147).clipAngle(V(1/he)*P-1e-6)}var qi=1e-4,Ii=1e4,mi=-180,Pn=mi+qi,Ma=180,Ta=Ma-qi,Ea=-90,qa=Ea+qi,Cn=90,sn=Cn-qi;function Ua(he){return he.length>0}function mo(he){return Math.floor(he*Ii)/Ii}function Xo(he){return he===Ea||he===Cn?[0,he]:[mi,mo(he)]}function Ts(he){var be=he[0],Pe=he[1],Oe=!1;return be<=Pn?(be=mi,Oe=!0):be>=Ta&&(be=Ma,Oe=!0),Pe<=qa?(Pe=Ea,Oe=!0):Pe>=sn&&(Pe=Cn,Oe=!0),Oe?[be,Pe]:he}function Qo(he){return he.map(Ts)}function ys(he,be,Pe){for(var Oe=0,Je=he.length;Oe=Ta||tr<=qa||tr>=sn){He[et]=Ts(Dt);for(var mr=et+1;mrPn&&zrqa&&Xr=Mt)break;Pe.push({index:-1,polygon:be,ring:He=He.slice(mr-1)}),He[0]=Xo(He[0][1]),et=-1,Mt=He.length}}}}function Bo(he){var be,Pe=he.length,Oe={},Je={},He,et,Mt,Dt,Ut;for(be=0;be0?k-Mt:Mt)*P],Ut=t.geoProjection(he(et)).rotate(Dt),tr=t.geoRotation(Dt),mr=Ut.center;return delete Ut.rotate,Ut.center=function(Rr){return arguments.length?mr(tr(Rr)):tr.invert(mr())},Ut.clipAngle(90)}function Ko(he){var be=o(he);function Pe(Oe,Je){var He=t.geoGnomonicRaw(Oe,Je);return He[0]*=be,He}return Pe.invert=function(Oe,Je){return t.geoGnomonicRaw.invert(Oe/be,Je)},Pe}function iu(){return Ru([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Ru(he,be){return vs(Ko,he,be)}function ac(he){if(!(he*=2))return t.geoAzimuthalEquidistantRaw;var be=-he/2,Pe=-be,Oe=he*he,Je=b(Pe),He=.5/x(Pe);function et(Mt,Dt){var Ut=V(o(Dt)*o(Mt-be)),tr=V(o(Dt)*o(Mt-Pe)),mr=Dt<0?-1:1;return Ut*=Ut,tr*=tr,[(Ut-tr)/(2*he),mr*H(4*Oe*tr-(Oe-Ut+tr)*(Oe-Ut+tr))/(2*he)]}return et.invert=function(Mt,Dt){var Ut=Dt*Dt,tr=o(H(Ut+(Rr=Mt+be)*Rr)),mr=o(H(Ut+(Rr=Mt+Pe)*Rr)),Rr,zr;return[a(zr=tr-mr,Rr=(tr+mr)*Je),(Dt<0?-1:1)*V(H(Rr*Rr+zr*zr)*He)]},et}function mf(){return bu([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function bu(he,be){return vs(ac,he,be)}function Kc(he,be){if(n(be)g&&--Mt>0);return[v(he)*(H(Je*Je+4)+Je)*k/4,A*et]};function _c(){return t.geoProjection(yc).scale(127.16)}function le(he,be,Pe,Oe,Je){function He(et,Mt){var Dt=Pe*x(Oe*Mt),Ut=H(1-Dt*Dt),tr=H(2/(1+Ut*o(et*=Je)));return[he*Ut*tr*x(et),be*Dt*tr]}return He.invert=function(et,Mt){var Dt=et/he,Ut=Mt/be,tr=H(Dt*Dt+Ut*Ut),mr=2*q(tr/2);return[a(et*b(mr),he*tr)/Je,tr&&q(Mt*x(mr)/(be*Pe*tr))/Oe]},He}function w(he,be,Pe,Oe){var Je=k/3;he=c(he,g),be=c(be,g),he=f(he,A),be=f(be,k-g),Pe=c(Pe,0),Pe=f(Pe,100-g),Oe=c(Oe,g);var He=Pe/100+1,et=Oe/100,Mt=V(He*o(Je))/Je,Dt=x(he)/x(Mt*A),Ut=be/k,tr=H(et*x(he/2)/x(be/2)),mr=tr/H(Ut*Dt*Mt),Rr=1/(tr*H(Ut*Dt*Mt));return le(mr,Rr,Dt,Mt,Ut)}function B(){var he=65*T,be=60*T,Pe=20,Oe=200,Je=t.geoProjectionMutator(w),He=Je(he,be,Pe,Oe);return He.poleline=function(et){return arguments.length?Je(he=+et*T,be,Pe,Oe):he*P},He.parallels=function(et){return arguments.length?Je(he,be=+et*T,Pe,Oe):be*P},He.inflation=function(et){return arguments.length?Je(he,be,Pe=+et,Oe):Pe},He.ratio=function(et){return arguments.length?Je(he,be,Pe,Oe=+et):Oe},He.scale(163.775)}function Q(){return B().poleline(65).parallels(60).inflation(0).ratio(200).scale(172.633)}var ee=4*k+3*H(3),se=2*H(2*k*H(3)/ee),qe=Ct(se*H(3)/k,se,ee/6);function je(){return t.geoProjection(qe).scale(176.84)}function it(he,be){return[he*H(1-3*be*be/(k*k)),be]}it.invert=function(he,be){return[he/H(1-3*be*be/(k*k)),be]};function yt(){return t.geoProjection(it).scale(152.63)}function Ot(he,be){var Pe=o(be),Oe=o(he)*Pe,Je=1-Oe,He=o(he=a(x(he)*Pe,-x(be))),et=x(he);return Pe=H(1-Oe*Oe),[et*Pe-He*Je,-He*Pe-et*Je]}Ot.invert=function(he,be){var Pe=(he*he+be*be)/-2,Oe=H(-Pe*(2+Pe)),Je=be*Pe+he*Oe,He=he*Pe-be*Oe,et=H(He*He+Je*Je);return[a(Oe*Je,et*(1+Pe)),et?-q(Oe*He/et):0]};function Nt(){return t.geoProjection(Ot).rotate([0,-90,45]).scale(124.75).clipAngle(180-.001)}function hr(he,be){var Pe=Me(he,be);return[(Pe[0]+he/A)/2,(Pe[1]+be)/2]}hr.invert=function(he,be){var Pe=he,Oe=be,Je=25;do{var He=o(Oe),et=x(Oe),Mt=x(2*Oe),Dt=et*et,Ut=He*He,tr=x(Pe),mr=o(Pe/2),Rr=x(Pe/2),zr=Rr*Rr,Xr=1-Ut*mr*mr,di=Xr?V(He*mr)*H(Li=1/Xr):Li=0,Li,Ci=.5*(2*di*He*Rr+Pe/A)-he,Qi=.5*(di*et+Oe)-be,Mn=.5*Li*(Ut*zr+di*He*mr*Dt)+.5/A,pa=Li*(tr*Mt/4-di*et*Rr),ea=.125*Li*(Mt*Rr-di*et*Ut*tr),Ga=.5*Li*(Dt*mr+di*zr*He)+.5,To=pa*ea-Ga*Mn,Wa=(Qi*pa-Ci*Ga)/To,co=(Ci*ea-Qi*Mn)/To;Pe-=Wa,Oe-=co}while((n(Wa)>g||n(co)>g)&&--Je>0);return[Pe,Oe]};function Sr(){return t.geoProjection(hr).scale(158.837)}e.geoNaturalEarth=t.geoNaturalEarth1,e.geoNaturalEarthRaw=t.geoNaturalEarth1Raw,e.geoAiry=_e,e.geoAiryRaw=ae,e.geoAitoff=ke,e.geoAitoffRaw=Me,e.geoArmadillo=ie,e.geoArmadilloRaw=ge,e.geoAugust=Ee,e.geoAugustRaw=Te,e.geoBaker=me,e.geoBakerRaw=Ce,e.geoBerghaus=ce,e.geoBerghausRaw=Re,e.geoBertin1953=Rt,e.geoBertin1953Raw=ot,e.geoBoggs=bt,e.geoBoggsRaw=xt,e.geoBonne=Ht,e.geoBonneRaw=dt,e.geoBottomley=fr,e.geoBottomleyRaw=$t,e.geoBromley=Br,e.geoBromleyRaw=_r,e.geoChamberlin=Xe,e.geoChamberlinRaw=Ne,e.geoChamberlinAfrica=Ve,e.geoCollignon=Le,e.geoCollignonRaw=ht,e.geoCraig=Se,e.geoCraigRaw=xe,e.geoCraster=Vt,e.geoCrasterRaw=Gt,e.geoCylindricalEqualArea=Qr,e.geoCylindricalEqualAreaRaw=ar,e.geoCylindricalStereographic=jr,e.geoCylindricalStereographicRaw=ai,e.geoEckert1=bi,e.geoEckert1Raw=ri,e.geoEckert2=Wi,e.geoEckert2Raw=nn,e.geoEckert3=_n,e.geoEckert3Raw=Ni,e.geoEckert4=zn,e.geoEckert4Raw=$i,e.geoEckert5=It,e.geoEckert5Raw=Wn,e.geoEckert6=jt,e.geoEckert6Raw=ft,e.geoEisenlohr=Fr,e.geoEisenlohrRaw=yr,e.geoFahey=gi,e.geoFaheyRaw=Vr,e.geoFoucaut=Mi,e.geoFoucautRaw=Si,e.geoFoucautSinusoidal=Gi,e.geoFoucautSinusoidalRaw=Pi,e.geoGilbert=jn,e.geoGingery=jo,e.geoGingeryRaw=la,e.geoGinzburg4=Ha,e.geoGinzburg4Raw=Sn,e.geoGinzburg5=xn,e.geoGinzburg5Raw=oo,e.geoGinzburg6=br,e.geoGinzburg6Raw=_t,e.geoGinzburg8=ti,e.geoGinzburg8Raw=Hr,e.geoGinzburg9=Yi,e.geoGinzburg9Raw=zi,e.geoGringorten=Fn,e.geoGringortenRaw=hi,e.geoGuyou=ks,e.geoGuyouRaw=Mo,e.geoHammer=ct,e.geoHammerRaw=Ge,e.geoHammerRetroazimuthal=wl,e.geoHammerRetroazimuthalRaw=Zs,e.geoHealpix=$l,e.geoHealpixRaw=ml,e.geoHill=fc,e.geoHillRaw=Hu,e.geoHomolosine=vo,e.geoHomolosineRaw=Il,e.geoHufnagel=Ks,e.geoHufnagelRaw=Wl,e.geoHyperelliptical=ko,e.geoHyperellipticalRaw=Zn,e.geoInterrupt=So,e.geoInterruptedBoggs=rh,e.geoInterruptedHomolosine=Hc,e.geoInterruptedMollweide=Ls,e.geoInterruptedMollweideHemispheres=kc,e.geoInterruptedSinuMollweide=Gc,e.geoInterruptedSinusoidal=Bf,e.geoKavrayskiy7=ff,e.geoKavrayskiy7Raw=ss,e.geoLagrange=Ul,e.geoLagrangeRaw=ih,e.geoLarrivee=Cc,e.geoLarriveeRaw=hc,e.geoLaskowski=$s,e.geoLaskowskiRaw=ws,e.geoLittrow=Ms,e.geoLittrowRaw=hs,e.geoLoximuthal=Sl,e.geoLoximuthalRaw=dc,e.geoMiller=Ps,e.geoMillerRaw=ec,e.geoModifiedStereographic=Ml,e.geoModifiedStereographicRaw=ov,e.geoModifiedStereographicAlaska=tc,e.geoModifiedStereographicGs48=uu,e.geoModifiedStereographicGs50=Mh,e.geoModifiedStereographicMiller=jc,e.geoModifiedStereographicLee=kf,e.geoMollweide=xr,e.geoMollweideRaw=Yt,e.geoMtFlatPolarParabolic=hf,e.geoMtFlatPolarParabolicRaw=nh,e.geoMtFlatPolarQuartic=Kh,e.geoMtFlatPolarQuarticRaw=kh,e.geoMtFlatPolarSinusoidal=ah,e.geoMtFlatPolarSinusoidalRaw=rc,e.geoNaturalEarth2=df,e.geoNaturalEarth2Raw=Wc,e.geoNellHammer=Nf,e.geoNellHammerRaw=Cu,e.geoInterruptedQuarticAuthalic=ds,e.geoNicolosi=Bd,e.geoNicolosiRaw=Ch,e.geoPatterson=ic,e.geoPattersonRaw=Xc,e.geoPolyconic=Qs,e.geoPolyconicRaw=yu,e.geoPolyhedral=Lf,e.geoPolyhedralButterfly=Fs,e.geoPolyhedralCollignon=Lh,e.geoPolyhedralWaterman=Is,e.geoProject=Rl,e.geoGringortenQuincuncial=gt,e.geoPeirceQuincuncial=Bt,e.geoPierceQuincuncial=Bt,e.geoQuantize=wr,e.geoQuincuncial=gf,e.geoRectangularPolyconic=Ur,e.geoRectangularPolyconicRaw=vr,e.geoRobinson=Fi,e.geoRobinsonRaw=xi,e.geoSatellite=Ti,e.geoSatelliteRaw=hn,e.geoSinuMollweide=Qu,e.geoSinuMollweideRaw=fa,e.geoSinusoidal=Et,e.geoSinusoidalRaw=St,e.geoStitch=Rs,e.geoTimes=Ka,e.geoTimesRaw=ia,e.geoTwoPointAzimuthal=Ru,e.geoTwoPointAzimuthalRaw=Ko,e.geoTwoPointAzimuthalUsa=iu,e.geoTwoPointEquidistant=bu,e.geoTwoPointEquidistantRaw=ac,e.geoTwoPointEquidistantUsa=mf,e.geoVanDerGrinten=Du,e.geoVanDerGrintenRaw=Kc,e.geoVanDerGrinten2=Da,e.geoVanDerGrinten2Raw=Dc,e.geoVanDerGrinten3=Jc,e.geoVanDerGrinten3Raw=eo,e.geoVanDerGrinten4=_c,e.geoVanDerGrinten4Raw=yc,e.geoWagner=B,e.geoWagner7=Q,e.geoWagnerRaw=w,e.geoWagner4=je,e.geoWagner4Raw=qe,e.geoWagner6=yt,e.geoWagner6Raw=it,e.geoWiechel=Nt,e.geoWiechelRaw=Ot,e.geoWinkel3=Sr,e.geoWinkel3Raw=hr,Object.defineProperty(e,\"__esModule\",{value:!0})})});var SRe=ye((Epr,ARe)=>{\"use strict\";var Zh=xa(),bX=Mr(),bDt=ba(),X5=Math.PI/180,G2=180/Math.PI,TX={cursor:\"pointer\"},AX={cursor:\"auto\"};function wDt(e,t){var r=e.projection,n;return t._isScoped?n=TDt:t._isClipped?n=SDt:n=ADt,n(e,r)}ARe.exports=wDt;function SX(e,t){return Zh.behavior.zoom().translate(t.translate()).scale(t.scale())}function MX(e,t,r){var n=e.id,i=e.graphDiv,a=i.layout,o=a[n],s=i._fullLayout,l=s[n],u={},c={};function f(h,d){u[n+\".\"+h]=bX.nestedProperty(o,h).get(),bDt.call(\"_storeDirectGUIEdit\",a,s._preGUI,u);var v=bX.nestedProperty(l,h);v.get()!==d&&(v.set(d),bX.nestedProperty(o,h).set(d),c[n+\".\"+h]=d)}r(f),f(\"projection.scale\",t.scale()/e.fitScale),f(\"fitbounds\",!1),i.emit(\"plotly_relayout\",c)}function TDt(e,t){var r=SX(e,t);function n(){Zh.select(this).style(TX)}function i(){t.scale(Zh.event.scale).translate(Zh.event.translate),e.render(!0);var s=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":s[0],\"geo.center.lat\":s[1]})}function a(s){var l=t.invert(e.midPt);s(\"center.lon\",l[0]),s(\"center.lat\",l[1])}function o(){Zh.select(this).style(AX),MX(e,t,a)}return r.on(\"zoomstart\",n).on(\"zoom\",i).on(\"zoomend\",o),r}function ADt(e,t){var r=SX(e,t),n=2,i,a,o,s,l,u,c,f,h;function d(k){return t.invert(k)}function v(k){var A=d(k);if(!A)return!0;var L=t(A);return Math.abs(L[0]-k[0])>n||Math.abs(L[1]-k[1])>n}function x(){Zh.select(this).style(TX),i=Zh.mouse(this),a=t.rotate(),o=t.translate(),s=a,l=d(i)}function b(){if(u=Zh.mouse(this),v(i)){r.scale(t.scale()),r.translate(t.translate());return}t.scale(Zh.event.scale),t.translate([o[0],Zh.event.translate[1]]),l?d(u)&&(f=d(u),c=[s[0]+(f[0]-l[0]),a[1],a[2]],t.rotate(c),s=c):(i=u,l=d(i)),h=!0,e.render(!0);var k=t.rotate(),A=t.invert(e.midPt);e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.center.lon\":A[0],\"geo.center.lat\":A[1],\"geo.projection.rotation.lon\":-k[0]})}function g(){Zh.select(this).style(AX),h&&MX(e,t,E)}function E(k){var A=t.rotate(),L=t.invert(e.midPt);k(\"projection.rotation.lon\",-A[0]),k(\"center.lon\",L[0]),k(\"center.lat\",L[1])}return r.on(\"zoomstart\",x).on(\"zoom\",b).on(\"zoomend\",g),r}function SDt(e,t){var r={r:t.rotate(),k:t.scale()},n=SX(e,t),i=RDt(n,\"zoomstart\",\"zoom\",\"zoomend\"),a=0,o=n.on,s;n.on(\"zoomstart\",function(){Zh.select(this).style(TX);var h=Zh.mouse(this),d=t.rotate(),v=d,x=t.translate(),b=MDt(d);s=Sz(t,h),o.call(n,\"zoom\",function(){var g=Zh.mouse(this);if(t.scale(r.k=Zh.event.scale),!s)h=g,s=Sz(t,h);else if(Sz(t,g)){t.rotate(d).translate(x);var E=Sz(t,g),k=kDt(s,E),A=LDt(EDt(b,k)),L=r.r=CDt(A,s,v);(!isFinite(L[0])||!isFinite(L[1])||!isFinite(L[2]))&&(L=v),t.rotate(L),v=L}u(i.of(this,arguments))}),l(i.of(this,arguments))}).on(\"zoomend\",function(){Zh.select(this).style(AX),o.call(n,\"zoom\",null),c(i.of(this,arguments)),MX(e,t,f)}).on(\"zoom.redraw\",function(){e.render(!0);var h=t.rotate();e.graphDiv.emit(\"plotly_relayouting\",{\"geo.projection.scale\":t.scale()/e.fitScale,\"geo.projection.rotation.lon\":-h[0],\"geo.projection.rotation.lat\":-h[1]})});function l(h){a++||h({type:\"zoomstart\"})}function u(h){h({type:\"zoom\"})}function c(h){--a||h({type:\"zoomend\"})}function f(h){var d=t.rotate();h(\"projection.rotation.lon\",-d[0]),h(\"projection.rotation.lat\",-d[1])}return Zh.rebind(n,i,\"on\")}function Sz(e,t){var r=e.invert(t);return r&&isFinite(r[0])&&isFinite(r[1])&&PDt(r)}function MDt(e){var t=.5*e[0]*X5,r=.5*e[1]*X5,n=.5*e[2]*X5,i=Math.sin(t),a=Math.cos(t),o=Math.sin(r),s=Math.cos(r),l=Math.sin(n),u=Math.cos(n);return[a*s*u+i*o*l,i*s*u-a*o*l,a*o*u+i*s*l,a*s*l-i*o*u]}function EDt(e,t){var r=e[0],n=e[1],i=e[2],a=e[3],o=t[0],s=t[1],l=t[2],u=t[3];return[r*o-n*s-i*l-a*u,r*s+n*o+i*u-a*l,r*l-n*u+i*o+a*s,r*u+n*l-i*s+a*o]}function kDt(e,t){if(!(!e||!t)){var r=IDt(e,t),n=Math.sqrt(TRe(r,r)),i=.5*Math.acos(Math.max(-1,Math.min(1,TRe(e,t)))),a=Math.sin(i)/n;return n&&[Math.cos(i),r[2]*a,-r[1]*a,r[0]*a]}}function CDt(e,t,r){var n=wX(t,2,e[0]);n=wX(n,1,e[1]),n=wX(n,0,e[2]-r[2]);var i=t[0],a=t[1],o=t[2],s=n[0],l=n[1],u=n[2],c=Math.atan2(a,i)*G2,f=Math.sqrt(i*i+a*a),h,d;Math.abs(l)>f?(d=(l>0?90:-90)-c,h=0):(d=Math.asin(l/f)*G2-c,h=Math.sqrt(f*f-l*l));var v=180-d-2*c,x=(Math.atan2(u,s)-Math.atan2(o,h))*G2,b=(Math.atan2(u,s)-Math.atan2(o,-h))*G2,g=bRe(r[0],r[1],d,x),E=bRe(r[0],r[1],v,b);return g<=E?[d,x,r[2]]:[v,b,r[2]]}function bRe(e,t,r,n){var i=wRe(r-e),a=wRe(n-t);return Math.sqrt(i*i+a*a)}function wRe(e){return(e%360+540)%360-180}function wX(e,t,r){var n=r*X5,i=e.slice(),a=t===0?1:0,o=t===2?1:2,s=Math.cos(n),l=Math.sin(n);return i[a]=e[a]*s-e[o]*l,i[o]=e[o]*s+e[a]*l,i}function LDt(e){return[Math.atan2(2*(e[0]*e[1]+e[2]*e[3]),1-2*(e[1]*e[1]+e[2]*e[2]))*G2,Math.asin(Math.max(-1,Math.min(1,2*(e[0]*e[2]-e[3]*e[1]))))*G2,Math.atan2(2*(e[0]*e[3]+e[1]*e[2]),1-2*(e[2]*e[2]+e[3]*e[3]))*G2]}function PDt(e){var t=e[0]*X5,r=e[1]*X5,n=Math.cos(r);return[n*Math.cos(t),n*Math.sin(t),Math.sin(r)]}function TRe(e,t){for(var r=0,n=0,i=e.length;n{\"use strict\";var t1=xa(),CX=xX(),DDt=CX.geoPath,zDt=CX.geoDistance,FDt=xRe(),qDt=ba(),QE=Mr(),ODt=QE.strTranslate,Mz=va(),$E=ao(),MRe=Nc(),BDt=Xu(),kX=Qa(),ERe=wg().getAutoRange,EX=gv(),NDt=wf().prepSelect,UDt=wf().clearOutline,VDt=wf().selectOnClick,HDt=SRe(),fp=XE(),GDt=ix(),CRe=cz(),jDt=aX().feature;function LRe(e){this.id=e.id,this.graphDiv=e.graphDiv,this.container=e.container,this.topojsonURL=e.topojsonURL,this.isStatic=e.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}var $g=LRe.prototype;PRe.exports=function(t){return new LRe(t)};$g.plot=function(e,t,r,n){var i=this;if(n)return i.update(e,t,!0);i._geoCalcData=e,i._fullLayout=t;var a=t[this.id],o=[],s=!1;for(var l in fp.layerNameToAdjective)if(l!==\"frame\"&&a[\"show\"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,t)}if(!r){var s=this.updateProjection(e,t);if(s)return;(!this.viewInitial||this.scope!==n.scope)&&this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(t,n),this.updateDims(t,n),this.updateFx(t,n),BDt.generalUpdatePerTraceModule(this.graphDiv,this,e,n);var l=this.layers.frontplot.select(\".scatterlayer\");this.dataPoints.point=l.selectAll(\".point\"),this.dataPoints.text=l.selectAll(\"text\"),this.dataPaths.line=l.selectAll(\".js-line\");var u=this.layers.backplot.select(\".choroplethlayer\");this.dataPaths.choropleth=u.selectAll(\"path\"),this._render()};$g.updateProjection=function(e,t){var r=this.graphDiv,n=t[this.id],i=t._size,a=n.domain,o=n.projection,s=n.lonaxis,l=n.lataxis,u=s._ax,c=l._ax,f=this.projection=WDt(n),h=[[i.l+i.w*a.x[0],i.t+i.h*(1-a.y[1])],[i.l+i.w*a.x[1],i.t+i.h*(1-a.y[0])]],d=n.center||{},v=o.rotation||{},x=s.range||[],b=l.range||[];if(n.fitbounds){u._length=h[1][0]-h[0][0],c._length=h[1][1]-h[0][1],u.range=ERe(r,u),c.range=ERe(r,c);var g=(u.range[0]+u.range[1])/2,E=(c.range[0]+c.range[1])/2;if(n._isScoped)d={lon:g,lat:E};else if(n._isClipped){d={lon:g,lat:E},v={lon:g,lat:E,roll:v.roll};var k=o.type,A=fp.lonaxisSpan[k]/2||180,L=fp.lataxisSpan[k]/2||90;x=[g-A,g+A],b=[E-L,E+L]}else d={lon:g,lat:E},v={lon:g,lat:v.lat,roll:v.roll}}f.center([d.lon-v.lon,d.lat-v.lat]).rotate([-v.lon,-v.lat,v.roll]).parallels(o.parallels);var _=kRe(x,b);f.fitExtent(h,_);var C=this.bounds=f.getBounds(_),M=this.fitScale=f.scale(),p=f.translate();if(n.fitbounds){var P=f.getBounds(kRe(u.range,c.range)),T=Math.min((C[1][0]-C[0][0])/(P[1][0]-P[0][0]),(C[1][1]-C[0][1])/(P[1][1]-P[0][1]));isFinite(T)?f.scale(T*M):QE.warn(\"Something went wrong during\"+this.id+\"fitbounds computations.\")}else f.scale(o.scale*M);var F=this.midPt=[(C[0][0]+C[1][0])/2,(C[0][1]+C[1][1])/2];if(f.translate([p[0]+(F[0]-p[0]),p[1]+(F[1]-p[1])]).clipExtent(C),n._isAlbersUsa){var q=f([d.lon,d.lat]),V=f.translate();f.translate([V[0]-(q[0]-V[0]),V[1]-(q[1]-V[1])])}};$g.updateBaseLayers=function(e,t){var r=this,n=r.topojson,i=r.layers,a=r.basePaths;function o(h){return h===\"lonaxis\"||h===\"lataxis\"}function s(h){return!!fp.lineLayers[h]}function l(h){return!!fp.fillLayers[h]}var u=this.hasChoropleth?fp.layersForChoropleth:fp.layers,c=u.filter(function(h){return s(h)||l(h)?t[\"show\"+h]:o(h)?t[h].showgrid:!0}),f=r.framework.selectAll(\".layer\").data(c,String);f.exit().each(function(h){delete i[h],delete a[h],t1.select(this).remove()}),f.enter().append(\"g\").attr(\"class\",function(h){return\"layer \"+h}).each(function(h){var d=i[h]=t1.select(this);h===\"bg\"?r.bgRect=d.append(\"rect\").style(\"pointer-events\",\"all\"):o(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\"):h===\"backplot\"?d.append(\"g\").classed(\"choroplethlayer\",!0):h===\"frontplot\"?d.append(\"g\").classed(\"scatterlayer\",!0):s(h)?a[h]=d.append(\"path\").style(\"fill\",\"none\").style(\"stroke-miterlimit\",2):l(h)&&(a[h]=d.append(\"path\").style(\"stroke\",\"none\"))}),f.order(),f.each(function(h){var d=a[h],v=fp.layerNameToAdjective[h];h===\"frame\"?d.datum(fp.sphereSVG):s(h)||l(h)?d.datum(jDt(n,n.objects[h])):o(h)&&d.datum(ZDt(h,t,e)).call(Mz.stroke,t[h].gridcolor).call($E.dashLine,t[h].griddash,t[h].gridwidth),s(h)?d.call(Mz.stroke,t[v+\"color\"]).call($E.dashLine,\"\",t[v+\"width\"]):l(h)&&d.call(Mz.fill,t[v+\"color\"])})};$g.updateDims=function(e,t){var r=this.bounds,n=(t.framewidth||0)/2,i=r[0][0]-n,a=r[0][1]-n,o=r[1][0]-i+n,s=r[1][1]-a+n;$E.setRect(this.clipRect,i,a,o,s),this.bgRect.call($E.setRect,i,a,o,s).call(Mz.fill,t.bgcolor),this.xaxis._offset=i,this.xaxis._length=o,this.yaxis._offset=a,this.yaxis._length=s};$g.updateFx=function(e,t){var r=this,n=r.graphDiv,i=r.bgRect,a=e.dragmode,o=e.clickmode;if(r.isStatic)return;function s(){var f=r.viewInitial,h={};for(var d in f)h[r.id+\".\"+d]=f[d];qDt.call(\"_guiRelayout\",n,h),n.emit(\"plotly_doubleclick\",null)}function l(f){return r.projection.invert([f[0]+r.xaxis._offset,f[1]+r.yaxis._offset])}var u=function(f,h){if(h.isRect){var d=f.range={};d[r.id]=[l([h.xmin,h.ymin]),l([h.xmax,h.ymax])]}else{var v=f.lassoPoints={};v[r.id]=h.map(l)}},c={element:r.bgRect.node(),gd:n,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(f){f===2&&UDt(n)}};a===\"pan\"?(i.node().onmousedown=null,i.call(HDt(r,t)),i.on(\"dblclick.zoom\",s),n._context._scrollZoom.geo||i.on(\"wheel.zoom\",null)):(a===\"select\"||a===\"lasso\")&&(i.on(\".zoom\",null),c.prepFn=function(f,h,d){NDt(f,h,d,c,a)},EX.init(c)),i.on(\"mousemove\",function(){var f=r.projection.invert(QE.getPositionFromD3Event());if(!f)return EX.unhover(n,t1.event);r.xaxis.p2c=function(){return f[0]},r.yaxis.p2c=function(){return f[1]},MRe.hover(n,t1.event,r.id)}),i.on(\"mouseout\",function(){n._dragging||EX.unhover(n,t1.event)}),i.on(\"click\",function(){a!==\"select\"&&a!==\"lasso\"&&(o.indexOf(\"select\")>-1&&VDt(t1.event,n,[r.xaxis],[r.yaxis],r.id,c),o.indexOf(\"event\")>-1&&MRe.click(n,t1.event))})};$g.makeFramework=function(){var e=this,t=e.graphDiv,r=t._fullLayout,n=\"clip\"+r._uid+e.id;e.clipDef=r._clips.append(\"clipPath\").attr(\"id\",n),e.clipRect=e.clipDef.append(\"rect\"),e.framework=t1.select(e.container).append(\"g\").attr(\"class\",\"geo \"+e.id).call($E.setClipUrl,n,t),e.project=function(i){var a=e.projection(i);return a?[a[0]-e.xaxis._offset,a[1]-e.yaxis._offset]:[null,null]},e.xaxis={_id:\"x\",c2p:function(i){return e.project(i)[0]}},e.yaxis={_id:\"y\",c2p:function(i){return e.project(i)[1]}},e.mockAxis={type:\"linear\",showexponent:\"all\",exponentformat:\"B\"},kX.setConvert(e.mockAxis,r)};$g.saveViewInitial=function(e){var t=e.center||{},r=e.projection,n=r.rotation||{};this.viewInitial={fitbounds:e.fitbounds,\"projection.scale\":r.scale};var i;e._isScoped?i={\"center.lon\":t.lon,\"center.lat\":t.lat}:e._isClipped?i={\"projection.rotation.lon\":n.lon,\"projection.rotation.lat\":n.lat}:i={\"center.lon\":t.lon,\"center.lat\":t.lat,\"projection.rotation.lon\":n.lon},QE.extendFlat(this.viewInitial,i)};$g.render=function(e){this._hasMarkerAngles&&e?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()};$g._render=function(){var e=this.projection,t=e.getPath(),r;function n(a){var o=e(a.lonlat);return o?ODt(o[0],o[1]):null}function i(a){return e.isLonLatOverEdges(a.lonlat)?\"none\":null}for(r in this.basePaths)this.basePaths[r].attr(\"d\",t);for(r in this.dataPaths)this.dataPaths[r].attr(\"d\",function(a){return t(a.geojson)});for(r in this.dataPoints)this.dataPoints[r].attr(\"display\",i).attr(\"transform\",n)};function WDt(e){var t=e.projection,r=t.type,n=fp.projNames[r];n=\"geo\"+QE.titleCase(n);for(var i=CX[n]||FDt[n],a=i(),o=e._isSatellite?Math.acos(1/t.distance)*180/Math.PI:e._isClipped?fp.lonaxisSpan[r]/2:null,s=[\"center\",\"rotate\",\"parallels\",\"clipExtent\"],l=function(f){return f?a:[]},u=0;uv}else return!1},a.getPath=function(){return DDt().projection(a)},a.getBounds=function(f){return a.getPath().bounds(f)},a.precision(fp.precision),e._isSatellite&&a.tilt(t.tilt).distance(t.distance),o&&a.clipAngle(o-fp.clipPad),a}function ZDt(e,t,r){var n=1e-6,i=2.5,a=t[e],o=fp.scopeDefaults[t.scope],s,l,u;e===\"lonaxis\"?(s=o.lonaxisRange,l=o.lataxisRange,u=function(E,k){return[E,k]}):e===\"lataxis\"&&(s=o.lataxisRange,l=o.lonaxisRange,u=function(E,k){return[k,E]});var c={type:\"linear\",range:[s[0],s[1]-n],tick0:a.tick0,dtick:a.dtick};kX.setConvert(c,r);var f=kX.calcTicks(c);!t.isScoped&&e===\"lonaxis\"&&f.pop();for(var h=f.length,d=new Array(h),v=0;v0&&i<0&&(i+=360);var s=(i-n)/4;return{type:\"Polygon\",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}});var LX=ye((Cpr,zRe)=>{\"use strict\";var K5=dh(),XDt=Ju().attributes,YDt=Ed().dash,Y5=XE(),KDt=Bu().overrideAll,RRe=X1(),DRe={range:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},showgrid:{valType:\"boolean\",dflt:!1},tick0:{valType:\"number\",dflt:0},dtick:{valType:\"number\"},gridcolor:{valType:\"color\",dflt:K5.lightLine},gridwidth:{valType:\"number\",min:0,dflt:1},griddash:YDt},JDt=zRe.exports=KDt({domain:XDt({name:\"geo\"},{}),fitbounds:{valType:\"enumerated\",values:[!1,\"locations\",\"geojson\"],dflt:!1,editType:\"plot\"},resolution:{valType:\"enumerated\",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:\"enumerated\",values:RRe(Y5.scopeDefaults),dflt:\"world\"},projection:{type:{valType:\"enumerated\",values:RRe(Y5.projNames)},rotation:{lon:{valType:\"number\"},lat:{valType:\"number\"},roll:{valType:\"number\"}},tilt:{valType:\"number\",dflt:0},distance:{valType:\"number\",min:1.001,dflt:2},parallels:{valType:\"info_array\",items:[{valType:\"number\"},{valType:\"number\"}]},scale:{valType:\"number\",min:0,dflt:1}},center:{lon:{valType:\"number\"},lat:{valType:\"number\"}},visible:{valType:\"boolean\",dflt:!0},showcoastlines:{valType:\"boolean\"},coastlinecolor:{valType:\"color\",dflt:K5.defaultLine},coastlinewidth:{valType:\"number\",min:0,dflt:1},showland:{valType:\"boolean\",dflt:!1},landcolor:{valType:\"color\",dflt:Y5.landColor},showocean:{valType:\"boolean\",dflt:!1},oceancolor:{valType:\"color\",dflt:Y5.waterColor},showlakes:{valType:\"boolean\",dflt:!1},lakecolor:{valType:\"color\",dflt:Y5.waterColor},showrivers:{valType:\"boolean\",dflt:!1},rivercolor:{valType:\"color\",dflt:Y5.waterColor},riverwidth:{valType:\"number\",min:0,dflt:1},showcountries:{valType:\"boolean\"},countrycolor:{valType:\"color\",dflt:K5.defaultLine},countrywidth:{valType:\"number\",min:0,dflt:1},showsubunits:{valType:\"boolean\"},subunitcolor:{valType:\"color\",dflt:K5.defaultLine},subunitwidth:{valType:\"number\",min:0,dflt:1},showframe:{valType:\"boolean\"},framecolor:{valType:\"color\",dflt:K5.defaultLine},framewidth:{valType:\"number\",min:0,dflt:1},bgcolor:{valType:\"color\",dflt:K5.background},lonaxis:DRe,lataxis:DRe},\"plot\",\"from-root\");JDt.uirevision={valType:\"any\",editType:\"none\"}});var ORe=ye((Lpr,qRe)=>{\"use strict\";var Ez=Mr(),$Dt=k_(),QDt=kd().getSubplotData,kz=XE(),ezt=LX(),FRe=kz.axesNames;qRe.exports=function(t,r,n){$Dt(t,r,n,{type:\"geo\",attributes:ezt,handleDefaults:tzt,fullData:n,partition:\"y\"})};function tzt(e,t,r,n){var i=QDt(n.fullData,\"geo\",n.id),a=i.map(function(ae){return ae.index}),o=r(\"resolution\"),s=r(\"scope\"),l=kz.scopeDefaults[s],u=r(\"projection.type\",l.projType),c=t._isAlbersUsa=u===\"albers usa\";c&&(s=t.scope=\"usa\");var f=t._isScoped=s!==\"world\",h=t._isSatellite=u===\"satellite\",d=t._isConic=u.indexOf(\"conic\")!==-1||u===\"albers\",v=t._isClipped=!!kz.lonaxisSpan[u];if(e.visible===!1){var x=Ez.extendDeep({},t._template);x.showcoastlines=!1,x.showcountries=!1,x.showframe=!1,x.showlakes=!1,x.showland=!1,x.showocean=!1,x.showrivers=!1,x.showsubunits=!1,x.lonaxis&&(x.lonaxis.showgrid=!1),x.lataxis&&(x.lataxis.showgrid=!1),t._template=x}for(var b=r(\"visible\"),g,E=0;E0&&q<0&&(q+=360);var V=(F+q)/2,H;if(!c){var X=f?l.projRotate:[V,0,0];H=r(\"projection.rotation.lon\",X[0]),r(\"projection.rotation.lat\",X[1]),r(\"projection.rotation.roll\",X[2]),g=r(\"showcoastlines\",!f&&b),g&&(r(\"coastlinecolor\"),r(\"coastlinewidth\")),g=r(\"showocean\",b?void 0:!1),g&&r(\"oceancolor\")}var G,N;if(c?(G=-96.6,N=38.7):(G=f?V:H,N=(T[0]+T[1])/2),r(\"center.lon\",G),r(\"center.lat\",N),h&&(r(\"projection.tilt\"),r(\"projection.distance\")),d){var W=l.projParallels||[0,60];r(\"projection.parallels\",W)}r(\"projection.scale\"),g=r(\"showland\",b?void 0:!1),g&&r(\"landcolor\"),g=r(\"showlakes\",b?void 0:!1),g&&r(\"lakecolor\"),g=r(\"showrivers\",b?void 0:!1),g&&(r(\"rivercolor\"),r(\"riverwidth\")),g=r(\"showcountries\",f&&s!==\"usa\"&&b),g&&(r(\"countrycolor\"),r(\"countrywidth\")),(s===\"usa\"||s===\"north america\"&&o===50)&&(r(\"showsubunits\",b),r(\"subunitcolor\"),r(\"subunitwidth\")),f||(g=r(\"showframe\",b),g&&(r(\"framecolor\"),r(\"framewidth\"))),r(\"bgcolor\");var re=r(\"fitbounds\");re&&(delete t.projection.scale,f?(delete t.center.lon,delete t.center.lat):v?(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon,delete t.projection.rotation.lat,delete t.lonaxis.range,delete t.lataxis.range):(delete t.center.lon,delete t.center.lat,delete t.projection.rotation.lon))}});var PX=ye((Ppr,URe)=>{\"use strict\";var rzt=kd().getSubplotCalcData,izt=Mr().counterRegex,nzt=IRe(),Wm=\"geo\",BRe=izt(Wm),NRe={};NRe[Wm]={valType:\"subplotid\",dflt:Wm,editType:\"calc\"};function azt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[Wm],i=0;i{\"use strict\";VRe.exports={attributes:H2(),supplyDefaults:T8e(),colorbar:Kd(),formatLabels:M8e(),calc:lz(),calcGeoJSON:_X().calcGeoJSON,plot:_X().plot,style:pX(),styleOnSelect:op().styleOnSelect,hoverPoints:fRe(),eventData:dRe(),selectPoints:gRe(),moduleType:\"trace\",name:\"scattergeo\",basePlotModule:PX(),categories:[\"geo\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var jRe=ye((Rpr,GRe)=>{\"use strict\";GRe.exports=HRe()});var J5=ye((Dpr,XRe)=>{\"use strict\";var lzt=Wo().hovertemplateAttrs,ax=H2(),uzt=Kl(),WRe=vl(),czt=dh().defaultLine,nx=no().extendFlat,ZRe=ax.marker.line;XRe.exports=nx({locations:{valType:\"data_array\",editType:\"calc\"},locationmode:ax.locationmode,z:{valType:\"data_array\",editType:\"calc\"},geojson:nx({},ax.geojson,{}),featureidkey:ax.featureidkey,text:nx({},ax.text,{}),hovertext:nx({},ax.hovertext,{}),marker:{line:{color:nx({},ZRe.color,{dflt:czt}),width:nx({},ZRe.width,{dflt:1}),editType:\"calc\"},opacity:{valType:\"number\",arrayOk:!0,min:0,max:1,dflt:1,editType:\"style\"},editType:\"calc\"},selected:{marker:{opacity:ax.selected.marker.opacity,editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:ax.unselected.marker.opacity,editType:\"plot\"},editType:\"plot\"},hoverinfo:nx({},WRe.hoverinfo,{editType:\"calc\",flags:[\"location\",\"z\",\"text\",\"name\"]}),hovertemplate:lzt(),showlegend:nx({},WRe.showlegend,{dflt:!1})},uzt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var KRe=ye((zpr,YRe)=>{\"use strict\";var Cz=Mr(),fzt=Uh(),hzt=J5();YRe.exports=function(t,r,n,i){function a(h,d){return Cz.coerce(t,r,hzt,h,d)}var o=a(\"locations\"),s=a(\"z\");if(!(o&&o.length&&Cz.isArrayOrTypedArray(s)&&s.length)){r.visible=!1;return}r._length=Math.min(o.length,s.length);var l=a(\"geojson\"),u;(typeof l==\"string\"&&l!==\"\"||Cz.isPlainObject(l))&&(u=\"geojson-id\");var c=a(\"locationmode\",u);c===\"geojson-id\"&&a(\"featureidkey\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var f=a(\"marker.line.width\");f&&a(\"marker.line.color\"),a(\"marker.opacity\"),fzt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Cz.coerceSelectionMarkerOpacity(r,a)}});var Lz=ye((Fpr,QRe)=>{\"use strict\";var JRe=uo(),dzt=es().BADNUM,vzt=zv(),pzt=km(),gzt=F0();function $Re(e){return e&&typeof e==\"string\"}QRe.exports=function(t,r){var n=r._length,i=new Array(n),a;r.geojson?a=function(c){return $Re(c)||JRe(c)}:a=$Re;for(var o=0;o{\"use strict\";var mzt=xa(),yzt=va(),IX=ao(),_zt=Mu();function xzt(e,t){t&&eDe(e,t)}function eDe(e,t){var r=t[0].trace,n=t[0].node3,i=n.selectAll(\".choroplethlocation\"),a=r.marker||{},o=a.line||{},s=_zt.makeColorScaleFuncFromTrace(r);i.each(function(l){mzt.select(this).attr(\"fill\",s(l.z)).call(yzt.stroke,l.mlc||o.color).call(IX.dashLine,\"\",l.mlw||o.width||0).style(\"opacity\",a.opacity)}),IX.selectedPointStyle(i,r)}function bzt(e,t){var r=t[0].node3,n=t[0].trace;n.selectedpoints?IX.selectedPointStyle(r.selectAll(\".choroplethlocation\"),n):eDe(e,t)}tDe.exports={style:xzt,styleOnSelect:bzt}});var RX=ye((Opr,nDe)=>{\"use strict\";var wzt=xa(),rDe=Mr(),$5=ix(),Tzt=cz().getTopojsonFeatures,iDe=wg().findExtremes,Azt=Pz().style;function Szt(e,t,r){var n=t.layers.backplot.select(\".choroplethlayer\");rDe.makeTraceGroups(n,r,\"trace choropleth\").each(function(i){var a=wzt.select(this),o=a.selectAll(\"path.choroplethlocation\").data(rDe.identity);o.enter().append(\"path\").classed(\"choroplethlocation\",!0),o.exit().remove(),Azt(e,i)})}function Mzt(e,t){for(var r=e[0].trace,n=t[r.geo],i=n._subplot,a=r.locationmode,o=r._length,s=a===\"geojson-id\"?$5.extractTraceFeature(e):Tzt(r,i.topojson),l=[],u=[],c=0;c{\"use strict\";var Ezt=Qa(),kzt=J5(),Czt=Mr().fillText;aDe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s,l,u,c,f=[r,n],h=[r+360,n];for(l=0;l\")}}});var Rz=ye((Npr,oDe)=>{\"use strict\";oDe.exports=function(t,r,n,i,a){t.location=r.location,t.z=r.z;var o=i[a];return o.fIn&&o.fIn.properties&&(t.properties=o.fIn.properties),t.ct=o.ct,t}});var Dz=ye((Upr,sDe)=>{\"use strict\";sDe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l,u,c,f;if(r===!1)for(s=0;s{\"use strict\";lDe.exports={attributes:J5(),supplyDefaults:KRe(),colorbar:S_(),calc:Lz(),calcGeoJSON:RX().calcGeoJSON,plot:RX().plot,style:Pz().style,styleOnSelect:Pz().styleOnSelect,hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),moduleType:\"trace\",name:\"choropleth\",basePlotModule:PX(),categories:[\"geo\",\"noOpacity\",\"showLegend\"],meta:{}}});var fDe=ye((Hpr,cDe)=>{\"use strict\";cDe.exports=uDe()});var zz=ye((Gpr,dDe)=>{\"use strict\";var Pzt=ba(),s0=Mr(),Izt=oT();function Rzt(e,t,r,n){var i=e.cd,a=i[0].t,o=i[0].trace,s=e.xa,l=e.ya,u=a.x,c=a.y,f=s.c2p(t),h=l.c2p(r),d=e.distance,v;if(a.tree){var x=s.p2c(f-d),b=s.p2c(f+d),g=l.p2c(h-d),E=l.p2c(h+d);n===\"x\"?v=a.tree.range(Math.min(x,b),Math.min(l._rl[0],l._rl[1]),Math.max(x,b),Math.max(l._rl[0],l._rl[1])):v=a.tree.range(Math.min(x,b),Math.min(g,E),Math.max(x,b),Math.max(g,E))}else v=a.ids;var k,A,L,_,C,M,p,P,T,F=d;if(n===\"x\"){var q=!!o.xperiodalignment,V=!!o.yperiodalignment;for(C=0;C=Math.min(H,X)&&f<=Math.max(H,X)?0:1/0}if(M=Math.min(G,N)&&h<=Math.max(G,N)?0:1/0}T=Math.sqrt(M*M+p*p),A=v[C]}}}else for(C=v.length-1;C>-1;C--)k=v[C],L=u[k],_=c[k],M=s.c2p(L)-f,p=l.c2p(_)-h,P=Math.sqrt(M*M+p*p),P{\"use strict\";var vDe=20;pDe.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:vDe,SYMBOL_STROKE:vDe/20,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}});var ek=ye((Wpr,_De)=>{\"use strict\";var Dzt=vl(),zzt=Su(),Fzt=Eg(),Af=Uc(),gDe=Oc().axisHoverFormat,mDe=Kl(),qzt=X1(),DX=no().extendFlat,Ozt=Bu().overrideAll,Bzt=ox().DASHES,yDe=Af.line,r1=Af.marker,Nzt=r1.line,Q5=_De.exports=Ozt({x:Af.x,x0:Af.x0,dx:Af.dx,y:Af.y,y0:Af.y0,dy:Af.dy,xperiod:Af.xperiod,yperiod:Af.yperiod,xperiod0:Af.xperiod0,yperiod0:Af.yperiod0,xperiodalignment:Af.xperiodalignment,yperiodalignment:Af.yperiodalignment,xhoverformat:gDe(\"x\"),yhoverformat:gDe(\"y\"),text:Af.text,hovertext:Af.hovertext,textposition:Af.textposition,textfont:zzt({noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,editType:\"calc\",colorEditType:\"style\",arrayOk:!0,noNumericWeightValues:!0,variantValues:[\"normal\",\"small-caps\"]}),mode:{valType:\"flaglist\",flags:[\"lines\",\"markers\",\"text\"],extras:[\"none\"]},line:{color:yDe.color,width:yDe.width,shape:{valType:\"enumerated\",values:[\"linear\",\"hv\",\"vh\",\"hvh\",\"vhv\"],dflt:\"linear\",editType:\"plot\"},dash:{valType:\"enumerated\",values:qzt(Bzt),dflt:\"solid\"}},marker:DX({},mDe(\"marker\"),{symbol:r1.symbol,angle:r1.angle,size:r1.size,sizeref:r1.sizeref,sizemin:r1.sizemin,sizemode:r1.sizemode,opacity:r1.opacity,colorbar:r1.colorbar,line:DX({},mDe(\"marker.line\"),{width:Nzt.width})}),connectgaps:Af.connectgaps,fill:DX({},Af.fill,{dflt:\"none\"}),fillcolor:Fzt(),selected:{marker:Af.selected.marker,textfont:Af.selected.textfont},unselected:{marker:Af.unselected.marker,textfont:Af.unselected.textfont},opacity:Dzt.opacity},\"calc\",\"nested\");Q5.x.editType=Q5.y.editType=Q5.x0.editType=Q5.y0.editType=\"calc+clearAxisTypes\";Q5.hovertemplate=Af.hovertemplate;Q5.texttemplate=Af.texttemplate});var Fz=ye(zX=>{\"use strict\";var xDe=ox();zX.isOpenSymbol=function(e){return typeof e==\"string\"?xDe.OPEN_RE.test(e):e%200>100};zX.isDotSymbol=function(e){return typeof e==\"string\"?xDe.DOT_RE.test(e):e>200}});var TDe=ye((Xpr,wDe)=>{\"use strict\";var bDe=Mr(),Uzt=ba(),Vzt=Fz(),Hzt=ek(),Gzt=Sm(),qz=lu(),jzt=K3(),Wzt=Pg(),Zzt=$p(),Xzt=R0(),Yzt=Ig(),Kzt=D0();wDe.exports=function(t,r,n,i){function a(d,v){return bDe.coerce(t,r,Hzt,d,v)}var o=t.marker?Vzt.isOpenSymbol(t.marker.symbol):!1,s=qz.isBubble(t),l=jzt(t,r,i,a);if(!l){r.visible=!1;return}Wzt(t,r,i,a),a(\"xhoverformat\"),a(\"yhoverformat\");var u=l{\"use strict\";var Jzt=JP();ADe.exports=function(t,r,n){var i=t.i;return\"x\"in t||(t.x=r._x[i]),\"y\"in t||(t.y=r._y[i]),Jzt(t,r,n)}});var EDe=ye((Kpr,MDe)=>{\"use strict\";function $zt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>=0?(a=o,i=o-1):n=o+1}return a}function Qzt(e,t,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l>0?(a=o,i=o-1):n=o+1}return a}function eFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<0?(a=o,n=o+1):i=o-1}return a}function tFt(e,t,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=e[o],l=r!==void 0?r(s,t):s-t;l<=0?(a=o,n=o+1):i=o-1}return a}function rFt(e,t,r,n,i){for(;n<=i;){var a=n+i>>>1,o=e[a],s=r!==void 0?r(o,t):o-t;if(s===0)return a;s<=0?n=a+1:i=a-1}return-1}function tk(e,t,r,n,i,a){return typeof r==\"function\"?a(e,t,r,n===void 0?0:n|0,i===void 0?e.length-1:i|0):a(e,t,void 0,r===void 0?0:r|0,n===void 0?e.length-1:n|0)}MDe.exports={ge:function(e,t,r,n,i){return tk(e,t,r,n,i,$zt)},gt:function(e,t,r,n,i){return tk(e,t,r,n,i,Qzt)},lt:function(e,t,r,n,i){return tk(e,t,r,n,i,eFt)},le:function(e,t,r,n,i){return tk(e,t,r,n,i,tFt)},eq:function(e,t,r,n,i){return tk(e,t,r,n,i,rFt)}}});var Zm=ye((Jpr,CDe)=>{\"use strict\";CDe.exports=function(t,r,n){var i={},a,o;if(typeof r==\"string\"&&(r=kDe(r)),Array.isArray(r)){var s={};for(o=0;o{\"use strict\";var iFt=Zm();LDe.exports=nFt;function nFt(e){var t;return arguments.length>1&&(e=arguments),typeof e==\"string\"?e=e.split(/\\s/).map(parseFloat):typeof e==\"number\"&&(e=[e]),e.length&&typeof e[0]==\"number\"?e.length===1?t={width:e[0],height:e[0],x:0,y:0}:e.length===2?t={width:e[0],height:e[1],x:0,y:0}:t={x:e[0],y:e[1],width:e[2]-e[0]||0,height:e[3]-e[1]||0}:e&&(e=iFt(e,{left:\"x l left Left\",top:\"y t top Top\",width:\"w width W Width\",height:\"h height W Width\",bottom:\"b bottom Bottom\",right:\"r right Right\"}),t={x:e.left||0,y:e.top||0},e.width==null?e.right?t.width=e.right-t.x:t.width=0:t.width=e.width,e.height==null?e.bottom?t.height=e.bottom-t.y:t.height=0:t.height=e.height),t}});var j2=ye((Qpr,PDe)=>{\"use strict\";PDe.exports=aFt;function aFt(e,t){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null?t=1:t=Math.floor(t);for(var r=Array(t*2),n=0;ni&&(i=e[o]),e[o]{IDe.exports=function(){for(var e=0;e{var DDe=HD();zDe.exports=oFt;function oFt(e,t,r){if(!e)throw new TypeError(\"must specify data as first parameter\");if(r=+(r||0)|0,Array.isArray(e)&&e[0]&&typeof e[0][0]==\"number\"){var n=e[0].length,i=e.length*n,a,o,s,l;(!t||typeof t==\"string\")&&(t=new(DDe(t||\"float32\"))(i+r));var u=t.length-r;if(i!==u)throw new Error(\"source length \"+i+\" (\"+n+\"x\"+e.length+\") does not match destination length \"+u);for(a=0,s=r;a{\"use strict\";FDe.exports=function(e){var t=typeof e;return e!==null&&(t===\"object\"||t===\"function\")}});var BDe=ye((i0r,ODe)=>{\"use strict\";ODe.exports=Math.log2||function(e){return Math.log(e)*Math.LOG2E}});var WDe=ye((n0r,jDe)=>{\"use strict\";var NDe=EDe(),UDe=O5(),sFt=eA(),lFt=j2(),VDe=Zm(),qX=RDe(),uFt=W2(),cFt=qDe(),fFt=HD(),HDe=BDe(),hFt=1073741824;jDe.exports=function(t,r){r||(r={}),t=uFt(t,\"float64\"),r=VDe(r,{bounds:\"range bounds dataBox databox\",maxDepth:\"depth maxDepth maxdepth level maxLevel maxlevel levels\",dtype:\"type dtype format out dst output destination\"});let n=qX(r.maxDepth,255),i=qX(r.bounds,lFt(t,2));i[0]===i[2]&&i[2]++,i[1]===i[3]&&i[3]++;let a=GDe(t,i),o=t.length>>>1,s;r.dtype||(r.dtype=\"array\"),typeof r.dtype==\"string\"?s=new(fFt(r.dtype))(o):r.dtype&&(s=r.dtype,Array.isArray(s)&&(s.length=o));for(let g=0;gn||_>hFt){for(let N=0;N_e||p>Me||P=F||re===ae)return;let ke=l[W];ae===void 0&&(ae=ke.length);for(let Re=re;Re=A&&Ge<=_&&nt>=L&&nt<=C&&q.push(ce)}let ge=u[W],ie=ge[re*4+0],Te=ge[re*4+1],Ee=ge[re*4+2],Ae=ge[re*4+3],ze=H(ge,re+1),Ce=N*.5,me=W+1;V(X,G,Ce,me,ie,Te||Ee||Ae||ze),V(X,G+Ce,Ce,me,Te,Ee||Ae||ze),V(X+Ce,G,Ce,me,Ee,Ae||ze),V(X+Ce,G+Ce,Ce,me,Ae,ze)}function H(X,G){let N=null,W=0;for(;N===null;)if(N=X[G*4+W],W++,W>X.length)return null;return N}return q}function x(g,E,k,A,L){let _=[];for(let C=0;C{\"use strict\";ZDe.exports=WDe()});var OX=ye((o0r,XDe)=>{XDe.exports=dFt;function dFt(e){var t=0,r=0,n=0,i=0;return e.map(function(a){a=a.slice();var o=a[0],s=o.toUpperCase();if(o!=s)switch(a[0]=s,o){case\"a\":a[6]+=n,a[7]+=i;break;case\"v\":a[1]+=i;break;case\"h\":a[1]+=n;break;default:for(var l=1;l{\"use strict\";Object.defineProperty(Bz,\"__esModule\",{value:!0});var vFt=function(){function e(t,r){var n=[],i=!0,a=!1,o=void 0;try{for(var s=t[Symbol.iterator](),l;!(i=(l=s.next()).done)&&(n.push(l.value),!(r&&n.length===r));i=!0);}catch(u){a=!0,o=u}finally{try{!i&&s.return&&s.return()}finally{if(a)throw o}}return n}return function(t,r){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,r);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),rk=Math.PI*2,BX=function(t,r,n,i,a,o,s){var l=t.x,u=t.y;l*=r,u*=n;var c=i*l-a*u,f=a*l+i*u;return{x:c+o,y:f+s}},pFt=function(t,r){var n=r===1.5707963267948966?.551915024494:r===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(r/4),i=Math.cos(t),a=Math.sin(t),o=Math.cos(t+r),s=Math.sin(t+r);return[{x:i-a*n,y:a+i*n},{x:o+s*n,y:s-o*n},{x:o,y:s}]},YDe=function(t,r,n,i){var a=t*i-r*n<0?-1:1,o=t*n+r*i;return o>1&&(o=1),o<-1&&(o=-1),a*Math.acos(o)},gFt=function(t,r,n,i,a,o,s,l,u,c,f,h){var d=Math.pow(a,2),v=Math.pow(o,2),x=Math.pow(f,2),b=Math.pow(h,2),g=d*v-d*b-v*x;g<0&&(g=0),g/=d*b+v*x,g=Math.sqrt(g)*(s===l?-1:1);var E=g*a/o*h,k=g*-o/a*f,A=c*E-u*k+(t+n)/2,L=u*E+c*k+(r+i)/2,_=(f-E)/a,C=(h-k)/o,M=(-f-E)/a,p=(-h-k)/o,P=YDe(1,0,_,C),T=YDe(_,C,M,p);return l===0&&T>0&&(T-=rk),l===1&&T<0&&(T+=rk),[A,L,P,T]},mFt=function(t){var r=t.px,n=t.py,i=t.cx,a=t.cy,o=t.rx,s=t.ry,l=t.xAxisRotation,u=l===void 0?0:l,c=t.largeArcFlag,f=c===void 0?0:c,h=t.sweepFlag,d=h===void 0?0:h,v=[];if(o===0||s===0)return[];var x=Math.sin(u*rk/360),b=Math.cos(u*rk/360),g=b*(r-i)/2+x*(n-a)/2,E=-x*(r-i)/2+b*(n-a)/2;if(g===0&&E===0)return[];o=Math.abs(o),s=Math.abs(s);var k=Math.pow(g,2)/Math.pow(o,2)+Math.pow(E,2)/Math.pow(s,2);k>1&&(o*=Math.sqrt(k),s*=Math.sqrt(k));var A=gFt(r,n,i,a,o,s,f,d,x,b,g,E),L=vFt(A,4),_=L[0],C=L[1],M=L[2],p=L[3],P=Math.abs(p)/(rk/4);Math.abs(1-P)<1e-7&&(P=1);var T=Math.max(Math.ceil(P),1);p/=T;for(var F=0;F{\"use strict\";QDe.exports=_Ft;var yFt=JDe();function _Ft(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Nz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function $De(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}});var NX=ye((l0r,tze)=>{\"use strict\";tze.exports=function(t){return typeof t!=\"string\"?!1:(t=t.trim(),!!(/^[mzlhvcsqta]\\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\\dz]$/i.test(t)&&t.length>4))}});var nze=ye((u0r,ize)=>{\"use strict\";var xFt=XS(),bFt=OX(),wFt=eze(),TFt=NX(),rze=tE();ize.exports=AFt;function AFt(e){if(Array.isArray(e)&&e.length===1&&typeof e[0]==\"string\"&&(e=e[0]),typeof e==\"string\"&&(rze(TFt(e),\"String is not an SVG path.\"),e=xFt(e)),rze(Array.isArray(e),\"Argument should be a string or an array of path segments.\"),e=bFt(e),e=wFt(e),!e.length)return[0,0,0,0];for(var t=[1/0,1/0,-1/0,-1/0],r=0,n=e.length;rt[2]&&(t[2]=i[a+0]),i[a+1]>t[3]&&(t[3]=i[a+1]);return t}});var cze=ye((c0r,uze)=>{var Z2=Math.PI,aze=lze(120);uze.exports=SFt;function SFt(e){for(var t,r=[],n=0,i=0,a=0,o=0,s=null,l=null,u=0,c=0,f=0,h=e.length;f7&&(r.push(d.splice(0,7)),d.unshift(\"C\"));break;case\"S\":var x=u,b=c;(t==\"C\"||t==\"S\")&&(x+=x-n,b+=b-i),d=[\"C\",x,b,d[1],d[2],d[3],d[4]];break;case\"T\":t==\"Q\"||t==\"T\"?(s=u*2-s,l=c*2-l):(s=u,l=c),d=oze(u,c,s,l,d[1],d[2]);break;case\"Q\":s=d[1],l=d[2],d=oze(u,c,d[1],d[2],d[3],d[4]);break;case\"L\":d=Uz(u,c,d[1],d[2]);break;case\"H\":d=Uz(u,c,d[1],c);break;case\"V\":d=Uz(u,c,u,d[1]);break;case\"Z\":d=Uz(u,c,a,o);break}t=v,u=d[d.length-2],c=d[d.length-1],d.length>4?(n=d[d.length-4],i=d[d.length-3]):(n=u,i=c),r.push(d)}return r}function Uz(e,t,r,n){return[\"C\",e,t,r,n,r,n]}function oze(e,t,r,n,i,a){return[\"C\",e/3+2/3*r,t/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}function sze(e,t,r,n,i,a,o,s,l,u){if(u)k=u[0],A=u[1],g=u[2],E=u[3];else{var c=UX(e,t,-i);e=c.x,t=c.y,c=UX(s,l,-i),s=c.x,l=c.y;var f=(e-s)/2,h=(t-l)/2,d=f*f/(r*r)+h*h/(n*n);d>1&&(d=Math.sqrt(d),r=d*r,n=d*n);var v=r*r,x=n*n,b=(a==o?-1:1)*Math.sqrt(Math.abs((v*x-v*h*h-x*f*f)/(v*h*h+x*f*f)));b==1/0&&(b=1);var g=b*r*h/n+(e+s)/2,E=b*-n*f/r+(t+l)/2,k=Math.asin(((t-E)/n).toFixed(9)),A=Math.asin(((l-E)/n).toFixed(9));k=eA&&(k=k-Z2*2),!o&&A>k&&(A=A-Z2*2)}if(Math.abs(A-k)>aze){var L=A,_=s,C=l;A=k+aze*(o&&A>k?1:-1),s=g+r*Math.cos(A),l=E+n*Math.sin(A);var M=sze(s,l,r,n,i,0,o,_,C,[A,L,g,E])}var p=Math.tan((A-k)/4),P=4/3*r*p,T=4/3*n*p,F=[2*e-(e+P*Math.sin(k)),2*t-(t-T*Math.cos(k)),s+P*Math.sin(A),l-T*Math.cos(A),s,l];if(u)return F;M&&(F=F.concat(M));for(var q=0;q{var MFt=OX(),EFt=cze(),kFt={M:\"moveTo\",C:\"bezierCurveTo\"};fze.exports=function(e,t){e.beginPath(),EFt(MFt(t)).forEach(function(r){var n=r[0],i=r.slice(1);e[kFt[n]].apply(e,i)}),e.closePath()}});var gze=ye((h0r,pze)=>{\"use strict\";var CFt=O5();pze.exports=LFt;var ik=1e20;function LFt(e,t){t||(t={});var r=t.cutoff==null?.25:t.cutoff,n=t.radius==null?8:t.radius,i=t.channel||0,a,o,s,l,u,c,f,h,d,v,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error(\"For raw data width and height should be provided by options\");a=t.width,o=t.height,l=e,t.stride?c=t.stride:c=Math.floor(e.length/a/o)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(h=e,f=h.getContext(\"2d\"),a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(h=e.canvas,f=e,a=h.width,o=h.height,d=f.getImageData(0,0,a,o),l=d.data,c=4):window.ImageData&&e instanceof window.ImageData&&(d=e,a=e.width,o=e.height,l=d.data,c=4);if(s=Math.max(a,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(a*o),v=0,x=u.length;v{\"use strict\";var PFt=nze(),IFt=XS(),RFt=hze(),DFt=NX(),zFt=gze(),VX=document.createElement(\"canvas\"),hp=VX.getContext(\"2d\");mze.exports=FFt;function FFt(e,t){if(!DFt(e))throw Error(\"Argument should be valid svg path string\");t||(t={});var r,n;t.shape?(r=t.shape[0],n=t.shape[1]):(r=VX.width=t.w||t.width||200,n=VX.height=t.h||t.height||200);var i=Math.min(r,n),a=t.stroke||0,o=t.viewbox||t.viewBox||PFt(e),s=[r/(o[2]-o[0]),n/(o[3]-o[1])],l=Math.min(s[0]||0,s[1]||0)/2;if(hp.fillStyle=\"black\",hp.fillRect(0,0,r,n),hp.fillStyle=\"white\",a&&(typeof a!=\"number\"&&(a=1),a>0?hp.strokeStyle=\"white\":hp.strokeStyle=\"black\",hp.lineWidth=Math.abs(a)),hp.translate(r*.5,n*.5),hp.scale(l,l),qFt()){var u=new Path2D(e);hp.fill(u),a&&hp.stroke(u)}else{var c=IFt(e);RFt(hp,c),hp.fill(),a&&hp.stroke()}hp.setTransform(1,0,0,1,0,0);var f=zFt(hp,{cutoff:t.cutoff!=null?t.cutoff:.5,radius:t.radius!=null?t.radius:i*.5});return f}var Vz;function qFt(){if(Vz!=null)return Vz;var e=document.createElement(\"canvas\").getContext(\"2d\");if(e.canvas.width=e.canvas.height=1,!window.Path2D)return Vz=!1;var t=new Path2D(\"M0,0h1v1h-1v-1Z\");e.fillStyle=\"black\",e.fill(t);var r=e.getImageData(0,0,1,1);return Vz=r&&r.data&&r.data[3]===255}});var Y2=ye((v0r,Cze)=>{\"use strict\";var Gz=uo(),OFt=yze(),Hz=J_(),BFt=ba(),iA=Mr(),Qf=iA.isArrayOrTypedArray,tA=ao(),_ze=af(),xze=$y().formatColor,rA=lu(),NFt=S3(),GX=Fz(),nk=ox(),UFt=N1().DESELECTDIM,bze={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},VFt=rp().appendArrayPointValue;function HFt(e,t){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0},i=e._context.plotGlPixelRatio;if(t.visible!==!0)return n;if(rA.hasText(t)&&(n.text=kze(e,t),n.textSel=Tze(e,t,t.selected),n.textUnsel=Tze(e,t,t.unselected)),rA.hasMarkers(t)&&(n.marker=WX(e,t),n.markerSel=jX(e,t,t.selected),n.markerUnsel=jX(e,t,t.unselected),!t.unselected&&Qf(t.marker.opacity))){var a=t.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r500?\"bold\":\"normal\":e}function WX(e,t){var r=t._length,n=t.marker,i={},a,o=Qf(n.symbol),s=Qf(n.angle),l=Qf(n.color),u=Qf(n.line.color),c=Qf(n.opacity),f=Qf(n.size),h=Qf(n.line.width),d;if(o||(d=GX.isOpenSymbol(n.symbol)),o||l||u||c||s){i.symbols=new Array(r),i.angles=new Array(r),i.colors=new Array(r),i.borderColors=new Array(r);var v=n.symbol,x=n.angle,b=xze(n,n.opacity,r),g=xze(n.line,n.opacity,r);if(!Qf(g[0])){var E=g;for(g=Array(r),a=0;ank.TOO_MANY_POINTS||rA.hasMarkers(t)?\"rect\":\"round\";if(u&&t.connectgaps){var f=a[0],h=a[1];for(o=0;o1?l[o]:l[0]:l,d=Qf(u)?u.length>1?u[o]:u[0]:u,v=bze[h],x=bze[d],b=c?c/.8+1:0,g=-x*b-x*.5;a.offset[o]=[v*b/f,g/f]}}return a}Cze.exports={style:HFt,markerStyle:WX,markerSelection:jX,linePositions:jFt,errorBarPositions:WFt,textPosition:ZFt}});var ZX=ye((p0r,Lze)=>{\"use strict\";var jz=Mr();Lze.exports=function(t,r){var n=r._scene,i={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},a={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return r._scene||(n=r._scene={},n.init=function(){jz.extendFlat(n,a,i)},n.init(),n.update=function(s){var l=jz.repeat(s,n.count);if(n.fill2d&&n.fill2d.update(l),n.scatter2d&&n.scatter2d.update(l),n.line2d&&n.line2d.update(l),n.error2d&&n.error2d.update(l.concat(l)),n.select2d&&n.select2d.update(l),n.glText)for(var u=0;u{\"use strict\";var XFt=Oz(),nA=Mr(),Pze=af(),YFt=wg().findExtremes,Ize=Rg(),XX=q0(),KFt=XX.calcMarkerSize,JFt=XX.calcAxisExpansion,$Ft=XX.setFirstScatter,QFt=z0(),aA=Y2(),e7t=ZX(),Rze=es().BADNUM,t7t=ox().TOO_MANY_POINTS;zze.exports=function(t,r){var n=t._fullLayout,i=r._xA=Pze.getFromId(t,r.xaxis,\"x\"),a=r._yA=Pze.getFromId(t,r.yaxis,\"y\"),o=n._plots[r.xaxis+r.yaxis],s=r._length,l=s>=t7t,u=s*2,c={},f,h=i.makeCalcdata(r,\"x\"),d=a.makeCalcdata(r,\"y\"),v=Ize(r,i,\"x\",h),x=Ize(r,a,\"y\",d),b=v.vals,g=x.vals;r._x=b,r._y=g,r.xperiodalignment&&(r._origX=h,r._xStarts=v.starts,r._xEnds=v.ends),r.yperiodalignment&&(r._origY=d,r._yStarts=x.starts,r._yEnds=x.ends);var E=new Array(u),k=new Array(s);for(f=0;f1&&nA.extendFlat(o.line,aA.linePositions(e,r,n)),o.errorX||o.errorY){var s=aA.errorBarPositions(e,r,n,i,a);o.errorX&&nA.extendFlat(o.errorX,s.x),o.errorY&&nA.extendFlat(o.errorY,s.y)}return o.text&&(nA.extendFlat(o.text,{positions:n},aA.textPosition(e,r,o.text,o.marker)),nA.extendFlat(o.textSel,{positions:n},aA.textPosition(e,r,o.text,o.markerSel)),nA.extendFlat(o.textUnsel,{positions:n},aA.textPosition(e,r,o.text,o.markerUnsel))),o}});var YX=ye((m0r,Oze)=>{\"use strict\";var qze=Mr(),i7t=va(),n7t=N1().DESELECTDIM;function a7t(e){var t=e[0],r=t.trace,n=t.t,i=n._scene,a=n.index,o=i.selectBatch[a],s=i.unselectBatch[a],l=i.textOptions[a],u=i.textSelectedOptions[a]||{},c=i.textUnselectedOptions[a]||{},f=qze.extendFlat({},l),h,d;if(o.length||s.length){var v=u.color,x=c.color,b=l.color,g=qze.isArrayOrTypedArray(b);for(f.color=new Array(r._length),h=0;h{\"use strict\";var Bze=lu(),o7t=YX().styleTextSelection;Nze.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l=n[0].t,u=s._length,c=l.x,f=l.y,h=l._scene,d=l.index;if(!h)return o;var v=Bze.hasText(s),x=Bze.hasMarkers(s),b=!x&&!v;if(s.visible!==!0||b)return o;var g=[],E=[];if(r!==!1&&!r.degenerate)for(var k=0;k{\"use strict\";var s7t=zz();Uze.exports={moduleType:\"trace\",name:\"scattergl\",basePlotModule:Jf(),categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"errorBarsOK\",\"showLegend\",\"scatter-like\"],attributes:ek(),supplyDefaults:TDe(),crossTraceDefaults:$N(),colorbar:Kd(),formatLabels:SDe(),calc:Fze(),hoverPoints:s7t.hoverPoints,selectPoints:KX(),meta:{}}});var Gze=ye((x0r,Zz)=>{\"use strict\";var Wz=O5();Zz.exports=Hze;Zz.exports.to=Hze;Zz.exports.from=l7t;function Hze(e,t){t==null&&(t=!0);var r=e[0],n=e[1],i=e[2],a=e[3];a==null&&(a=t?1:255),t&&(r*=255,n*=255,i*=255,a*=255),r=Wz(r,0,255)&255,n=Wz(n,0,255)&255,i=Wz(i,0,255)&255,a=Wz(a,0,255)&255;var o=r*16777216+(n<<16)+(i<<8)+a;return o}function l7t(e,t){e=+e;var r=e>>>24,n=(e&16711680)>>>16,i=(e&65280)>>>8,a=e&255;return t===!1?[r,n,i,a]:[r/255,n/255,i/255,a/255]}});var bh=ye((b0r,Wze)=>{\"use strict\";var jze=Object.getOwnPropertySymbols,u7t=Object.prototype.hasOwnProperty,c7t=Object.prototype.propertyIsEnumerable;function f7t(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function h7t(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},r=0;r<10;r++)t[\"_\"+String.fromCharCode(r)]=r;var n=Object.getOwnPropertyNames(t).map(function(a){return t[a]});if(n.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(a){i[a]=a}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch(a){return!1}}Wze.exports=h7t()?Object.assign:function(e,t){for(var r,n=f7t(e),i,a=1;a{Zze.exports=function(e){typeof e==\"string\"&&(e=[e]);for(var t=[].slice.call(arguments,1),r=[],n=0;n{\"use strict\";Yze.exports=function(t,r,n){Array.isArray(n)||(n=[].slice.call(arguments,2));for(var i=0,a=n.length;i{\"use strict\";Kze.exports=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion))});var Xz=ye((S0r,oA)=>{\"use strict\";oA.exports=ak;oA.exports.float32=oA.exports.float=ak;oA.exports.fract32=oA.exports.fract=d7t;var $ze=new Float32Array(1);function d7t(e,t){if(e.length){if(e instanceof Float32Array)return new Float32Array(e.length);t instanceof Float32Array||(t=ak(e));for(var r=0,n=t.length;r{\"use strict\";function v7t(e,t){var r=e==null?null:typeof Symbol!=\"undefined\"&&e[Symbol.iterator]||e[\"@@iterator\"];if(r!=null){var n,i,a,o,s=[],l=!0,u=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==t);l=!0);}catch(c){u=!0,i=c}finally{try{if(!l&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}function p7t(e,t){return y7t(e)||v7t(e,t)||eFe(e,t)||b7t()}function g7t(e){return m7t(e)||_7t(e)||eFe(e)||x7t()}function m7t(e){if(Array.isArray(e))return $X(e)}function y7t(e){if(Array.isArray(e))return e}function _7t(e){if(typeof Symbol!=\"undefined\"&&e[Symbol.iterator]!=null||e[\"@@iterator\"]!=null)return Array.from(e)}function eFe(e,t){if(e){if(typeof e==\"string\")return $X(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r===\"Object\"&&e.constructor&&(r=e.constructor.name),r===\"Map\"||r===\"Set\")return Array.from(e);if(r===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return $X(e,t)}}function $X(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r 1.0 + delta) {\n", + "\t\tdiscard;\n", + "\t}\n", + "\n", + "\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n", + "\n", + "\tfloat borderRadius = fragBorderRadius;\n", + "\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n", + "\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n", + "\tcolor.a *= alpha * opacity;\n", + "\tgl_FragColor = color;\n", + "}\n", + "`]),v.vert=Yz([`precision highp float;\n", + "#define GLSLIFY 1\n", + "\n", + "attribute float x, y, xFract, yFract;\n", + "attribute float size, borderSize;\n", + "attribute vec4 colorId, borderColorId;\n", + "attribute float isActive;\n", + "\n", + "// \\`invariant\\` effectively turns off optimizations for the position.\n", + "// We need this because -fast-math on M1 Macs is re-ordering\n", + "// floating point operations in a way that causes floating point\n", + "// precision limits to put points in the wrong locations.\n", + "invariant gl_Position;\n", + "\n", + "uniform bool constPointSize;\n", + "uniform float pixelRatio;\n", + "uniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\n", + "uniform sampler2D paletteTexture;\n", + "\n", + "const float maxSize = 100.;\n", + "\n", + "varying vec4 fragColor, fragBorderColor;\n", + "varying float fragBorderRadius, fragWidth;\n", + "\n", + "float pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n", + "\n", + "bool isDirect = (paletteSize.x < 1.);\n", + "\n", + "vec4 getColor(vec4 id) {\n", + " return isDirect ? id / 255. : texture2D(paletteTexture,\n", + " vec2(\n", + " (id.x + .5) / paletteSize.x,\n", + " (id.y + .5) / paletteSize.y\n", + " )\n", + " );\n", + "}\n", + "\n", + "void main() {\n", + " // ignore inactive points\n", + " if (isActive == 0.) return;\n", + "\n", + " vec2 position = vec2(x, y);\n", + " vec2 positionFract = vec2(xFract, yFract);\n", + "\n", + " vec4 color = getColor(colorId);\n", + " vec4 borderColor = getColor(borderColorId);\n", + "\n", + " float size = size * maxSize / 255.;\n", + " float borderSize = borderSize * maxSize / 255.;\n", + "\n", + " gl_PointSize = (size + borderSize) * pointSizeScale;\n", + "\n", + " vec2 pos = (position + translate) * scale\n", + " + (positionFract + translateFract) * scale\n", + " + (position + translate) * scaleFract\n", + " + (positionFract + translateFract) * scaleFract;\n", + "\n", + " gl_Position = vec4(pos * 2. - 1., 0., 1.);\n", + "\n", + " fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n", + " fragColor = color;\n", + " fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n", + " fragWidth = 1. / gl_PointSize;\n", + "}\n", + "`]),Qze&&(v.frag=v.frag.replace(\"smoothstep\",\"smoothStep\"),d.frag=d.frag.replace(\"smoothstep\",\"smoothStep\")),this.drawCircle=e(v)}rv.defaults={color:\"black\",borderColor:\"transparent\",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4};rv.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this};rv.prototype.draw=function(){for(var e=this,t=arguments.length,r=new Array(t),n=0;nre)?N.tree=S7t(G,{bounds:ge}):re&&re.length&&(N.tree=re),N.tree){var ie={primitive:\"points\",usage:\"static\",data:N.tree,type:\"uint32\"};N.elements?N.elements(ie):N.elements=o.elements(ie)}var Te=Kz.float32(G);ae({data:Te,usage:\"dynamic\"});var Ee=Kz.fract32(G,Te);return _e({data:Ee,usage:\"dynamic\"}),Me({data:new Uint8Array(ke),type:\"uint8\",usage:\"stream\"}),G}},{marker:function(G,N,W){var re=N.activation;if(re.forEach(function(Ee){return Ee&&Ee.destroy&&Ee.destroy()}),re.length=0,!G||typeof G[0]==\"number\"){var ae=e.addMarker(G);re[ae]=!0}else{for(var _e=[],Me=0,ke=Math.min(G.length,N.count);Me=0)return i;var a;if(e instanceof Uint8Array||e instanceof Uint8ClampedArray)a=e;else{a=new Uint8Array(e.length);for(var o=0,s=e.length;on*4&&(this.tooManyColors=!0),this.updatePalette(r),i.length===1?i[0]:i};rv.prototype.updatePalette=function(e){if(!this.tooManyColors){var t=this.maxColors,r=this.paletteTexture,n=Math.ceil(e.length*.25/t);if(n>1){e=e.slice();for(var i=e.length*.25%t;i{\"use strict\";iY.exports=Qz;iY.exports.default=Qz;function Qz(e,t,r){r=r||2;var n=t&&t.length,i=n?t[0]*r:e.length,a=iFe(e,0,i,r,!0),o=[];if(!a||a.next===a.prev)return o;var s,l,u,c,f,h,d;if(n&&(a=q7t(e,t,a,r)),e.length>80*r){s=u=e[0],l=c=e[1];for(var v=r;vu&&(u=f),h>c&&(c=h);d=Math.max(u-s,c-l),d=d!==0?32767/d:0}return ok(a,o,r,s,l,d,0),o}function iFe(e,t,r,n,i){var a,o;if(i===rY(e,t,r,n)>0)for(a=t;a=t;a-=n)o=rFe(a,e[a],e[a+1],o);return o&&eF(o,o.next)&&(lk(o),o=o.next),o}function J2(e,t){if(!e)return e;t||(t=e);var r=e,n;do if(n=!1,!r.steiner&&(eF(r,r.next)||eh(r.prev,r,r.next)===0)){if(lk(r),r=t=r.prev,r===r.next)break;n=!0}else r=r.next;while(n||r!==t);return t}function ok(e,t,r,n,i,a,o){if(e){!o&&a&&V7t(e,n,i,a);for(var s=e,l,u;e.prev!==e.next;){if(l=e.prev,u=e.next,a?D7t(e,n,i,a):R7t(e)){t.push(l.i/r|0),t.push(e.i/r|0),t.push(u.i/r|0),lk(e),e=u.next,s=u.next;continue}if(e=u,e===s){o?o===1?(e=z7t(J2(e),t,r),ok(e,t,r,n,i,a,2)):o===2&&F7t(e,t,r,n,i,a):ok(J2(e),t,r,n,i,a,1);break}}}}function R7t(e){var t=e.prev,r=e,n=e.next;if(eh(t,r,n)>=0)return!1;for(var i=t.x,a=r.x,o=n.x,s=t.y,l=r.y,u=n.y,c=ia?i>o?i:o:a>o?a:o,d=s>l?s>u?s:u:l>u?l:u,v=n.next;v!==t;){if(v.x>=c&&v.x<=h&&v.y>=f&&v.y<=d&&sA(i,s,a,l,o,u,v.x,v.y)&&eh(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function D7t(e,t,r,n){var i=e.prev,a=e,o=e.next;if(eh(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,u=o.x,c=i.y,f=a.y,h=o.y,d=sl?s>u?s:u:l>u?l:u,b=c>f?c>h?c:h:f>h?f:h,g=eY(d,v,t,r,n),E=eY(x,b,t,r,n),k=e.prevZ,A=e.nextZ;k&&k.z>=g&&A&&A.z<=E;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&sA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0||(k=k.prevZ,A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&sA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0))return!1;A=A.nextZ}for(;k&&k.z>=g;){if(k.x>=d&&k.x<=x&&k.y>=v&&k.y<=b&&k!==i&&k!==o&&sA(s,c,l,f,u,h,k.x,k.y)&&eh(k.prev,k,k.next)>=0)return!1;k=k.prevZ}for(;A&&A.z<=E;){if(A.x>=d&&A.x<=x&&A.y>=v&&A.y<=b&&A!==i&&A!==o&&sA(s,c,l,f,u,h,A.x,A.y)&&eh(A.prev,A,A.next)>=0)return!1;A=A.nextZ}return!0}function z7t(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!eF(i,a)&&nFe(i,n,n.next,a)&&sk(i,a)&&sk(a,i)&&(t.push(i.i/r|0),t.push(n.i/r|0),t.push(a.i/r|0),lk(n),lk(n.next),n=e=a),n=n.next}while(n!==e);return J2(n)}function F7t(e,t,r,n,i,a){var o=e;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&j7t(o,s)){var l=aFe(o,s);o=J2(o,o.next),l=J2(l,l.next),ok(o,t,r,n,i,a,0),ok(l,t,r,n,i,a,0);return}s=s.next}o=o.next}while(o!==e)}function q7t(e,t,r,n){var i=[],a,o,s,l,u;for(a=0,o=t.length;a=r.next.y&&r.next.y!==r.y){var s=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(s<=n&&s>a&&(a=s,o=r.x=r.x&&r.x>=u&&n!==r.x&&sA(io.x||r.x===o.x&&U7t(o,r)))&&(o=r,f=h)),r=r.next;while(r!==l);return o}function U7t(e,t){return eh(e.prev,e,t.prev)<0&&eh(t.next,e,e.next)<0}function V7t(e,t,r,n){var i=e;do i.z===0&&(i.z=eY(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,H7t(i)}function H7t(e){var t,r,n,i,a,o,s,l,u=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||l>0&&n;)s!==0&&(l===0||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1);return e}function eY(e,t,r,n,i){return e=(e-r)*i|0,t=(t-n)*i|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function G7t(e){var t=e,r=e;do(t.x=(e-o)*(a-s)&&(e-o)*(n-s)>=(r-o)*(t-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function j7t(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!W7t(e,t)&&(sk(e,t)&&sk(t,e)&&Z7t(e,t)&&(eh(e.prev,e,t.prev)||eh(e,t.prev,t))||eF(e,t)&&eh(e.prev,e,e.next)>0&&eh(t.prev,t,t.next)>0)}function eh(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function eF(e,t){return e.x===t.x&&e.y===t.y}function nFe(e,t,r,n){var i=$z(eh(e,t,r)),a=$z(eh(e,t,n)),o=$z(eh(r,n,e)),s=$z(eh(r,n,t));return!!(i!==a&&o!==s||i===0&&Jz(e,r,t)||a===0&&Jz(e,n,t)||o===0&&Jz(r,e,n)||s===0&&Jz(r,t,n))}function Jz(e,t,r){return t.x<=Math.max(e.x,r.x)&&t.x>=Math.min(e.x,r.x)&&t.y<=Math.max(e.y,r.y)&&t.y>=Math.min(e.y,r.y)}function $z(e){return e>0?1:e<0?-1:0}function W7t(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&nFe(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function sk(e,t){return eh(e.prev,e,e.next)<0?eh(e,t,e.next)>=0&&eh(e,e.prev,t)>=0:eh(e,t,e.prev)<0||eh(e,e.next,t)<0}function Z7t(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;while(r!==e);return n}function aFe(e,t){var r=new tY(e.i,e.x,e.y),n=new tY(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function rFe(e,t,r,n){var i=new tY(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function lk(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function tY(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qz.deviation=function(e,t,r,n){var i=t&&t.length,a=i?t[0]*r:e.length,o=Math.abs(rY(e,0,a,r));if(i)for(var s=0,l=t.length;s0&&(n+=e[i-1].length,r.holes.push(n))}return r}});var lFe=ye((k0r,sFe)=>{\"use strict\";var X7t=j2();sFe.exports=Y7t;function Y7t(e,t,r){if(!e||e.length==null)throw Error(\"Argument should be an array\");t==null&&(t=1),r==null&&(r=X7t(e,t));for(var n=0;n{\"use strict\";uFe.exports=function(){var e,t;if(typeof WeakMap!=\"function\")return!1;try{e=new WeakMap([[t={},\"one\"],[{},\"two\"],[{},\"three\"]])}catch(r){return!1}return!(String(e)!==\"[object WeakMap]\"||typeof e.set!=\"function\"||e.set({},1)!==e||typeof e.delete!=\"function\"||typeof e.has!=\"function\"||e.get(t)!==\"one\")}});var hFe=ye((L0r,fFe)=>{\"use strict\";fFe.exports=function(){}});var sx=ye((P0r,dFe)=>{\"use strict\";var K7t=hFe()();dFe.exports=function(e){return e!==K7t&&e!==null}});var nY=ye((I0r,pFe)=>{\"use strict\";var J7t=Object.create,$7t=Object.getPrototypeOf,vFe={};pFe.exports=function(){var e=Object.setPrototypeOf,t=arguments[0]||J7t;return typeof e!=\"function\"?!1:$7t(e(t(null),vFe))===vFe}});var aY=ye((R0r,gFe)=>{\"use strict\";var Q7t=sx(),e9t={function:!0,object:!0};gFe.exports=function(e){return Q7t(e)&&e9t[typeof e]||!1}});var i1=ye((D0r,mFe)=>{\"use strict\";var t9t=sx();mFe.exports=function(e){if(!t9t(e))throw new TypeError(\"Cannot use null or undefined\");return e}});var _Fe=ye((z0r,yFe)=>{\"use strict\";var oY=Object.create,tF;nY()()||(tF=sY());yFe.exports=function(){var e,t,r;return!tF||tF.level!==1?oY:(e={},t={},r={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(n){if(n===\"__proto__\"){t[n]={configurable:!0,enumerable:!1,writable:!0,value:void 0};return}t[n]=r}),Object.defineProperties(e,t),Object.defineProperty(tF,\"nullPolyfill\",{configurable:!1,enumerable:!1,writable:!1,value:e}),function(n,i){return oY(n===null?e:n,i)})}()});var sY=ye((F0r,xFe)=>{\"use strict\";var r9t=aY(),i9t=i1(),n9t=Object.prototype.isPrototypeOf,a9t=Object.defineProperty,o9t={configurable:!0,enumerable:!1,writable:!0,value:void 0},rF;rF=function(e,t){if(i9t(e),t===null||r9t(t))return e;throw new TypeError(\"Prototype must be null or an object\")};xFe.exports=function(e){var t,r;return e?(e.level===2?e.set?(r=e.set,t=function(n,i){return r.call(rF(n,i),i),n}):t=function(n,i){return rF(n,i).__proto__=i,n}:t=function n(i,a){var o;return rF(i,a),o=n9t.call(n.nullPolyfill,i),o&&delete n.nullPolyfill.__proto__,a===null&&(a=n.nullPolyfill),i.__proto__=a,o&&a9t(n.nullPolyfill,\"__proto__\",o9t),i},Object.defineProperty(t,\"level\",{configurable:!1,enumerable:!1,writable:!1,value:e.level})):null}(function(){var e=Object.create(null),t={},r,n=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\");if(n){try{r=n.set,r.call(e,t)}catch(i){}if(Object.getPrototypeOf(e)===t)return{set:r,level:2}}return e.__proto__=t,Object.getPrototypeOf(e)===t?{level:2}:(e={},e.__proto__=t,Object.getPrototypeOf(e)===t?{level:1}:!1)}());_Fe()});var iF=ye((q0r,bFe)=>{\"use strict\";bFe.exports=nY()()?Object.setPrototypeOf:sY()});var TFe=ye((O0r,wFe)=>{\"use strict\";var s9t=aY();wFe.exports=function(e){if(!s9t(e))throw new TypeError(e+\" is not an Object\");return e}});var SFe=ye((B0r,AFe)=>{\"use strict\";var l9t=Object.create(null),u9t=Math.random;AFe.exports=function(){var e;do e=u9t().toString(36).slice(2);while(l9t[e]);return e}});var $2=ye((N0r,MFe)=>{\"use strict\";var c9t=void 0;MFe.exports=function(e){return e!==c9t&&e!==null}});var nF=ye((U0r,EFe)=>{\"use strict\";var f9t=$2(),h9t={object:!0,function:!0,undefined:!0};EFe.exports=function(e){return f9t(e)?hasOwnProperty.call(h9t,typeof e):!1}});var CFe=ye((V0r,kFe)=>{\"use strict\";var d9t=nF();kFe.exports=function(e){if(!d9t(e))return!1;try{return e.constructor?e.constructor.prototype===e:!1}catch(t){return!1}}});var PFe=ye((H0r,LFe)=>{\"use strict\";var v9t=CFe();LFe.exports=function(e){if(typeof e!=\"function\"||!hasOwnProperty.call(e,\"length\"))return!1;try{if(typeof e.length!=\"number\"||typeof e.call!=\"function\"||typeof e.apply!=\"function\")return!1}catch(t){return!1}return!v9t(e)}});var lY=ye((G0r,IFe)=>{\"use strict\";var p9t=PFe(),g9t=/^\\s*class[\\s{/}]/,m9t=Function.prototype.toString;IFe.exports=function(e){return!(!p9t(e)||g9t.test(m9t.call(e)))}});var DFe=ye((j0r,RFe)=>{\"use strict\";RFe.exports=function(){var e=Object.assign,t;return typeof e!=\"function\"?!1:(t={foo:\"raz\"},e(t,{bar:\"dwa\"},{trzy:\"trzy\"}),t.foo+t.bar+t.trzy===\"razdwatrzy\")}});var FFe=ye((W0r,zFe)=>{\"use strict\";zFe.exports=function(){try{return Object.keys(\"primitive\"),!0}catch(e){return!1}}});var OFe=ye((Z0r,qFe)=>{\"use strict\";var y9t=sx(),_9t=Object.keys;qFe.exports=function(e){return _9t(y9t(e)?Object(e):e)}});var NFe=ye((X0r,BFe)=>{\"use strict\";BFe.exports=FFe()()?Object.keys:OFe()});var VFe=ye((Y0r,UFe)=>{\"use strict\";var x9t=NFe(),b9t=i1(),w9t=Math.max;UFe.exports=function(e,t){var r,n,i=w9t(arguments.length,2),a;for(e=Object(b9t(e)),a=function(o){try{e[o]=t[o]}catch(s){r||(r=s)}},n=1;n{\"use strict\";HFe.exports=DFe()()?Object.assign:VFe()});var uY=ye((J0r,GFe)=>{\"use strict\";var T9t=sx(),A9t=Array.prototype.forEach,S9t=Object.create,M9t=function(e,t){var r;for(r in e)t[r]=e[r]};GFe.exports=function(e){var t=S9t(null);return A9t.call(arguments,function(r){T9t(r)&&M9t(Object(r),t)}),t}});var WFe=ye(($0r,jFe)=>{\"use strict\";var cY=\"razdwatrzy\";jFe.exports=function(){return typeof cY.contains!=\"function\"?!1:cY.contains(\"dwa\")===!0&&cY.contains(\"foo\")===!1}});var XFe=ye((Q0r,ZFe)=>{\"use strict\";var E9t=String.prototype.indexOf;ZFe.exports=function(e){return E9t.call(this,e,arguments[1])>-1}});var fY=ye((egr,YFe)=>{\"use strict\";YFe.exports=WFe()()?String.prototype.contains:XFe()});var n1=ye((tgr,QFe)=>{\"use strict\";var oF=$2(),KFe=lY(),JFe=aF(),$Fe=uY(),uk=fY(),k9t=QFe.exports=function(e,t){var r,n,i,a,o;return arguments.length<2||typeof e!=\"string\"?(a=t,t=e,e=null):a=arguments[2],oF(e)?(r=uk.call(e,\"c\"),n=uk.call(e,\"e\"),i=uk.call(e,\"w\")):(r=i=!0,n=!1),o={value:t,configurable:r,enumerable:n,writable:i},a?JFe($Fe(a),o):o};k9t.gs=function(e,t,r){var n,i,a,o;return typeof e!=\"string\"?(a=r,r=t,t=e,e=null):a=arguments[3],oF(t)?KFe(t)?oF(r)?KFe(r)||(a=r,r=void 0):r=void 0:(a=t,t=r=void 0):t=void 0,oF(e)?(n=uk.call(e,\"c\"),i=uk.call(e,\"e\")):(n=!0,i=!1),o={get:t,set:r,configurable:n,enumerable:i},a?JFe($Fe(a),o):o}});var ck=ye((rgr,t7e)=>{\"use strict\";var e7e=Object.prototype.toString,C9t=e7e.call(function(){return arguments}());t7e.exports=function(e){return e7e.call(e)===C9t}});var fk=ye((igr,i7e)=>{\"use strict\";var r7e=Object.prototype.toString,L9t=r7e.call(\"\");i7e.exports=function(e){return typeof e==\"string\"||e&&typeof e==\"object\"&&(e instanceof String||r7e.call(e)===L9t)||!1}});var a7e=ye((ngr,n7e)=>{\"use strict\";n7e.exports=function(){return typeof globalThis!=\"object\"||!globalThis?!1:globalThis.Array===Array}});var l7e=ye((agr,s7e)=>{var o7e=function(){if(typeof self==\"object\"&&self)return self;if(typeof window==\"object\"&&window)return window;throw new Error(\"Unable to resolve global `this`\")};s7e.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,\"__global__\",{get:function(){return this},configurable:!0})}catch(e){return o7e()}try{return __global__||o7e()}finally{delete Object.prototype.__global__}}()});var hk=ye((ogr,u7e)=>{\"use strict\";u7e.exports=a7e()()?globalThis:l7e()});var f7e=ye((sgr,c7e)=>{\"use strict\";var P9t=hk(),hY={object:!0,symbol:!0};c7e.exports=function(){var e=P9t.Symbol,t;if(typeof e!=\"function\")return!1;t=e(\"test symbol\");try{String(t)}catch(r){return!1}return!(!hY[typeof e.iterator]||!hY[typeof e.toPrimitive]||!hY[typeof e.toStringTag])}});var d7e=ye((lgr,h7e)=>{\"use strict\";h7e.exports=function(e){return e?typeof e==\"symbol\"?!0:!e.constructor||e.constructor.name!==\"Symbol\"?!1:e[e.constructor.toStringTag]===\"Symbol\":!1}});var dY=ye((ugr,v7e)=>{\"use strict\";var I9t=d7e();v7e.exports=function(e){if(!I9t(e))throw new TypeError(e+\" is not a symbol\");return e}});var _7e=ye((cgr,y7e)=>{\"use strict\";var p7e=n1(),R9t=Object.create,g7e=Object.defineProperty,D9t=Object.prototype,m7e=R9t(null);y7e.exports=function(e){for(var t=0,r,n;m7e[e+(t||\"\")];)++t;return e+=t||\"\",m7e[e]=!0,r=\"@@\"+e,g7e(D9t,r,p7e.gs(null,function(i){n||(n=!0,g7e(this,r,p7e(i)),n=!1)})),r}});var b7e=ye((fgr,x7e)=>{\"use strict\";var Qg=n1(),wh=hk().Symbol;x7e.exports=function(e){return Object.defineProperties(e,{hasInstance:Qg(\"\",wh&&wh.hasInstance||e(\"hasInstance\")),isConcatSpreadable:Qg(\"\",wh&&wh.isConcatSpreadable||e(\"isConcatSpreadable\")),iterator:Qg(\"\",wh&&wh.iterator||e(\"iterator\")),match:Qg(\"\",wh&&wh.match||e(\"match\")),replace:Qg(\"\",wh&&wh.replace||e(\"replace\")),search:Qg(\"\",wh&&wh.search||e(\"search\")),species:Qg(\"\",wh&&wh.species||e(\"species\")),split:Qg(\"\",wh&&wh.split||e(\"split\")),toPrimitive:Qg(\"\",wh&&wh.toPrimitive||e(\"toPrimitive\")),toStringTag:Qg(\"\",wh&&wh.toStringTag||e(\"toStringTag\")),unscopables:Qg(\"\",wh&&wh.unscopables||e(\"unscopables\"))})}});var A7e=ye((hgr,T7e)=>{\"use strict\";var w7e=n1(),z9t=dY(),dk=Object.create(null);T7e.exports=function(e){return Object.defineProperties(e,{for:w7e(function(t){return dk[t]?dk[t]:dk[t]=e(String(t))}),keyFor:w7e(function(t){var r;z9t(t);for(r in dk)if(dk[r]===t)return r})})}});var E7e=ye((dgr,M7e)=>{\"use strict\";var Xm=n1(),vY=dY(),sF=hk().Symbol,F9t=_7e(),q9t=b7e(),O9t=A7e(),B9t=Object.create,pY=Object.defineProperties,lF=Object.defineProperty,Wv,lA,S7e;if(typeof sF==\"function\")try{String(sF()),S7e=!0}catch(e){}else sF=null;lA=function(t){if(this instanceof lA)throw new TypeError(\"Symbol is not a constructor\");return Wv(t)};M7e.exports=Wv=function e(t){var r;if(this instanceof e)throw new TypeError(\"Symbol is not a constructor\");return S7e?sF(t):(r=B9t(lA.prototype),t=t===void 0?\"\":String(t),pY(r,{__description__:Xm(\"\",t),__name__:Xm(\"\",F9t(t))}))};q9t(Wv);O9t(Wv);pY(lA.prototype,{constructor:Xm(Wv),toString:Xm(\"\",function(){return this.__name__})});pY(Wv.prototype,{toString:Xm(function(){return\"Symbol (\"+vY(this).__description__+\")\"}),valueOf:Xm(function(){return vY(this)})});lF(Wv.prototype,Wv.toPrimitive,Xm(\"\",function(){var e=vY(this);return typeof e==\"symbol\"?e:e.toString()}));lF(Wv.prototype,Wv.toStringTag,Xm(\"c\",\"Symbol\"));lF(lA.prototype,Wv.toStringTag,Xm(\"c\",Wv.prototype[Wv.toStringTag]));lF(lA.prototype,Wv.toPrimitive,Xm(\"c\",Wv.prototype[Wv.toPrimitive]))});var lx=ye((vgr,k7e)=>{\"use strict\";k7e.exports=f7e()()?hk().Symbol:E7e()});var L7e=ye((pgr,C7e)=>{\"use strict\";var N9t=i1();C7e.exports=function(){return N9t(this).length=0,this}});var uA=ye((ggr,P7e)=>{\"use strict\";P7e.exports=function(e){if(typeof e!=\"function\")throw new TypeError(e+\" is not a function\");return e}});var R7e=ye((mgr,I7e)=>{\"use strict\";var U9t=$2(),V9t=nF(),H9t=Object.prototype.toString;I7e.exports=function(e){if(!U9t(e))return null;if(V9t(e)){var t=e.toString;if(typeof t!=\"function\"||t===H9t)return null}try{return\"\"+e}catch(r){return null}}});var z7e=ye((ygr,D7e)=>{\"use strict\";D7e.exports=function(e){try{return e.toString()}catch(t){try{return String(e)}catch(r){return null}}}});var q7e=ye((_gr,F7e)=>{\"use strict\";var G9t=z7e(),j9t=/[\\n\\r\\u2028\\u2029]/g;F7e.exports=function(e){var t=G9t(e);return t===null?\"\":(t.length>100&&(t=t.slice(0,99)+\"\\u2026\"),t=t.replace(j9t,function(r){switch(r){case`\n", + "`:return\"\\\\n\";case\"\\r\":return\"\\\\r\";case\"\\u2028\":return\"\\\\u2028\";case\"\\u2029\":return\"\\\\u2029\";default:throw new Error(\"Unexpected character\")}}),t)}});var gY=ye((xgr,N7e)=>{\"use strict\";var O7e=$2(),W9t=nF(),Z9t=R7e(),X9t=q7e(),B7e=function(e,t){return e.replace(\"%v\",X9t(t))};N7e.exports=function(e,t,r){if(!W9t(r))throw new TypeError(B7e(t,e));if(!O7e(e)){if(\"default\"in r)return r.default;if(r.isOptional)return null}var n=Z9t(r.errorMessage);throw O7e(n)||(n=t),new TypeError(B7e(n,e))}});var V7e=ye((bgr,U7e)=>{\"use strict\";var Y9t=gY(),K9t=$2();U7e.exports=function(e){return K9t(e)?e:Y9t(e,\"Cannot use %v\",arguments[1])}});var G7e=ye((wgr,H7e)=>{\"use strict\";var J9t=gY(),$9t=lY();H7e.exports=function(e){return $9t(e)?e:J9t(e,\"%v is not a plain function\",arguments[1])}});var W7e=ye((Tgr,j7e)=>{\"use strict\";j7e.exports=function(){var e=Array.from,t,r;return typeof e!=\"function\"?!1:(t=[\"raz\",\"dwa\"],r=e(t),!!(r&&r!==t&&r[1]===\"dwa\"))}});var X7e=ye((Agr,Z7e)=>{\"use strict\";var Q9t=Object.prototype.toString,eqt=RegExp.prototype.test.bind(/^[object [A-Za-z0-9]*Function]$/);Z7e.exports=function(e){return typeof e==\"function\"&&eqt(Q9t.call(e))}});var K7e=ye((Sgr,Y7e)=>{\"use strict\";Y7e.exports=function(){var e=Math.sign;return typeof e!=\"function\"?!1:e(10)===1&&e(-20)===-1}});var $7e=ye((Mgr,J7e)=>{\"use strict\";J7e.exports=function(e){return e=Number(e),isNaN(e)||e===0?e:e>0?1:-1}});var e9e=ye((Egr,Q7e)=>{\"use strict\";Q7e.exports=K7e()()?Math.sign:$7e()});var r9e=ye((kgr,t9e)=>{\"use strict\";var tqt=e9e(),rqt=Math.abs,iqt=Math.floor;t9e.exports=function(e){return isNaN(e)?0:(e=Number(e),e===0||!isFinite(e)?e:tqt(e)*iqt(rqt(e)))}});var n9e=ye((Cgr,i9e)=>{\"use strict\";var nqt=r9e(),aqt=Math.max;i9e.exports=function(e){return aqt(0,nqt(e))}});var l9e=ye((Lgr,s9e)=>{\"use strict\";var oqt=lx().iterator,sqt=ck(),lqt=X7e(),uqt=n9e(),a9e=uA(),cqt=i1(),fqt=sx(),hqt=fk(),o9e=Array.isArray,mY=Function.prototype.call,Q2={configurable:!0,enumerable:!0,writable:!0,value:null},yY=Object.defineProperty;s9e.exports=function(e){var t=arguments[1],r=arguments[2],n,i,a,o,s,l,u,c,f,h;if(e=Object(cqt(e)),fqt(t)&&a9e(t),!this||this===Array||!lqt(this)){if(!t){if(sqt(e))return s=e.length,s!==1?Array.apply(null,e):(o=new Array(1),o[0]=e[0],o);if(o9e(e)){for(o=new Array(s=e.length),i=0;i=55296&&l<=56319&&(h+=e[++i])),h=t?mY.call(t,r,h,a):h,n?(Q2.value=h,yY(o,a,Q2)):o[a]=h,++a;s=a}}if(s===void 0)for(s=uqt(e.length),n&&(o=new n(s)),i=0;i{\"use strict\";u9e.exports=W7e()()?Array.from:l9e()});var h9e=ye((Igr,f9e)=>{\"use strict\";var dqt=c9e(),vqt=aF(),pqt=i1();f9e.exports=function(e){var t=Object(pqt(e)),r=arguments[1],n=Object(arguments[2]);if(t!==e&&!r)return t;var i={};return r?dqt(r,function(a){(n.ensure||a in e)&&(i[a]=e[a])}):vqt(i,e),i}});var p9e=ye((Rgr,v9e)=>{\"use strict\";var gqt=uA(),mqt=i1(),yqt=Function.prototype.bind,d9e=Function.prototype.call,_qt=Object.keys,xqt=Object.prototype.propertyIsEnumerable;v9e.exports=function(e,t){return function(r,n){var i,a=arguments[2],o=arguments[3];return r=Object(mqt(r)),gqt(n),i=_qt(r),o&&i.sort(typeof o==\"function\"?yqt.call(o,r):void 0),typeof e!=\"function\"&&(e=i[e]),d9e.call(e,i,function(s,l){return xqt.call(r,s)?d9e.call(n,a,r[s],s,r,l):t})}}});var m9e=ye((Dgr,g9e)=>{\"use strict\";g9e.exports=p9e()(\"forEach\")});var _9e=ye((zgr,y9e)=>{\"use strict\";var bqt=uA(),wqt=m9e(),Tqt=Function.prototype.call;y9e.exports=function(e,t){var r={},n=arguments[2];return bqt(t),wqt(e,function(i,a,o,s){r[a]=Tqt.call(t,n,i,a,o,s)}),r}});var T9e=ye((Fgr,w9e)=>{\"use strict\";var Aqt=$2(),Sqt=V7e(),x9e=G7e(),Mqt=h9e(),Eqt=uY(),kqt=_9e(),Cqt=Function.prototype.bind,Lqt=Object.defineProperty,Pqt=Object.prototype.hasOwnProperty,b9e;b9e=function(e,t,r){var n=Sqt(t)&&x9e(t.value),i;return i=Mqt(t),delete i.writable,delete i.value,i.get=function(){return!r.overwriteDefinition&&Pqt.call(this,e)?n:(t.value=Cqt.call(n,r.resolveContext?r.resolveContext(this):this),Lqt(this,e,t),this[e])},i};w9e.exports=function(e){var t=Eqt(arguments[1]);return Aqt(t.resolveContext)&&x9e(t.resolveContext),kqt(e,function(r,n){return b9e(n,r,t)})}});var _Y=ye((qgr,E9e)=>{\"use strict\";var Iqt=L7e(),Rqt=aF(),Dqt=uA(),zqt=i1(),Op=n1(),Fqt=T9e(),A9e=lx(),S9e=Object.defineProperty,M9e=Object.defineProperties,vk;E9e.exports=vk=function(e,t){if(!(this instanceof vk))throw new TypeError(\"Constructor requires 'new'\");M9e(this,{__list__:Op(\"w\",zqt(e)),__context__:Op(\"w\",t),__nextIndex__:Op(\"w\",0)}),t&&(Dqt(t.on),t.on(\"_add\",this._onAdd),t.on(\"_delete\",this._onDelete),t.on(\"_clear\",this._onClear))};delete vk.prototype.constructor;M9e(vk.prototype,Rqt({_next:Op(function(){var e;if(this.__list__){if(this.__redo__&&(e=this.__redo__.shift(),e!==void 0))return e;if(this.__nextIndex__=this.__nextIndex__)){if(++this.__nextIndex__,!this.__redo__){S9e(this,\"__redo__\",Op(\"c\",[e]));return}this.__redo__.forEach(function(t,r){t>=e&&(this.__redo__[r]=++t)},this),this.__redo__.push(e)}}),_onDelete:Op(function(e){var t;e>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(t=this.__redo__.indexOf(e),t!==-1&&this.__redo__.splice(t,1),this.__redo__.forEach(function(r,n){r>e&&(this.__redo__[n]=--r)},this)))}),_onClear:Op(function(){this.__redo__&&Iqt.call(this.__redo__),this.__nextIndex__=0})})));S9e(vk.prototype,A9e.iterator,Op(function(){return this}))});var I9e=ye((Ogr,P9e)=>{\"use strict\";var k9e=iF(),C9e=fY(),xY=n1(),qqt=lx(),bY=_Y(),L9e=Object.defineProperty,cA;cA=P9e.exports=function(e,t){if(!(this instanceof cA))throw new TypeError(\"Constructor requires 'new'\");bY.call(this,e),t?C9e.call(t,\"key+value\")?t=\"key+value\":C9e.call(t,\"key\")?t=\"key\":t=\"value\":t=\"value\",L9e(this,\"__kind__\",xY(\"\",t))};k9e&&k9e(cA,bY);delete cA.prototype.constructor;cA.prototype=Object.create(bY.prototype,{_resolve:xY(function(e){return this.__kind__===\"value\"?this.__list__[e]:this.__kind__===\"key+value\"?[e,this.__list__[e]]:e})});L9e(cA.prototype,qqt.toStringTag,xY(\"c\",\"Array Iterator\"))});var F9e=ye((Bgr,z9e)=>{\"use strict\";var R9e=iF(),uF=n1(),Oqt=lx(),wY=_Y(),D9e=Object.defineProperty,fA;fA=z9e.exports=function(e){if(!(this instanceof fA))throw new TypeError(\"Constructor requires 'new'\");e=String(e),wY.call(this,e),D9e(this,\"__length__\",uF(\"\",e.length))};R9e&&R9e(fA,wY);delete fA.prototype.constructor;fA.prototype=Object.create(wY.prototype,{_next:uF(function(){if(this.__list__){if(this.__nextIndex__=55296&&r<=56319?t+this.__list__[this.__nextIndex__++]:t)})});D9e(fA.prototype,Oqt.toStringTag,uF(\"c\",\"String Iterator\"))});var O9e=ye((Ngr,q9e)=>{\"use strict\";var Bqt=ck(),Nqt=sx(),Uqt=fk(),Vqt=lx().iterator,Hqt=Array.isArray;q9e.exports=function(e){return Nqt(e)?Hqt(e)||Uqt(e)||Bqt(e)?!0:typeof e[Vqt]==\"function\":!1}});var N9e=ye((Ugr,B9e)=>{\"use strict\";var Gqt=O9e();B9e.exports=function(e){if(!Gqt(e))throw new TypeError(e+\" is not iterable\");return e}});var TY=ye((Vgr,H9e)=>{\"use strict\";var jqt=ck(),Wqt=fk(),U9e=I9e(),Zqt=F9e(),Xqt=N9e(),V9e=lx().iterator;H9e.exports=function(e){return typeof Xqt(e)[V9e]==\"function\"?e[V9e]():jqt(e)?new U9e(e):Wqt(e)?new Zqt(e):new U9e(e)}});var j9e=ye((Hgr,G9e)=>{\"use strict\";var Yqt=ck(),Kqt=uA(),Jqt=fk(),$qt=TY(),Qqt=Array.isArray,AY=Function.prototype.call,eOt=Array.prototype.some;G9e.exports=function(e,t){var r,n=arguments[2],i,a,o,s,l,u,c;if(Qqt(e)||Yqt(e)?r=\"array\":Jqt(e)?r=\"string\":e=$qt(e),Kqt(t),a=function(){o=!0},r===\"array\"){eOt.call(e,function(f){return AY.call(t,n,f,a),o});return}if(r===\"string\"){for(l=e.length,s=0;s=55296&&c<=56319&&(u+=e[++s])),AY.call(t,n,u,a),!o);++s);return}for(i=e.next();!i.done;){if(AY.call(t,n,i.value,a),o)return;i=e.next()}}});var Z9e=ye((Ggr,W9e)=>{\"use strict\";W9e.exports=function(){return typeof WeakMap!=\"function\"?!1:Object.prototype.toString.call(new WeakMap)===\"[object WeakMap]\"}()});var K9e=ye((jgr,Y9e)=>{\"use strict\";var tOt=sx(),fF=iF(),cF=TFe(),rOt=i1(),iOt=SFe(),a1=n1(),nOt=TY(),aOt=j9e(),oOt=lx().toStringTag,X9e=Z9e(),sOt=Array.isArray,MY=Object.defineProperty,SY=Object.prototype.hasOwnProperty,lOt=Object.getPrototypeOf,ux;Y9e.exports=ux=function(){var e=arguments[0],t;if(!(this instanceof ux))throw new TypeError(\"Constructor requires 'new'\");return t=X9e&&fF&&WeakMap!==ux?fF(new WeakMap,lOt(this)):this,tOt(e)&&(sOt(e)||(e=nOt(e))),MY(t,\"__weakMapData__\",a1(\"c\",\"$weakMap$\"+iOt())),e&&aOt(e,function(r){rOt(r),t.set(r[0],r[1])}),t};X9e&&(fF&&fF(ux,WeakMap),ux.prototype=Object.create(WeakMap.prototype,{constructor:a1(ux)}));Object.defineProperties(ux.prototype,{delete:a1(function(e){return SY.call(cF(e),this.__weakMapData__)?(delete e[this.__weakMapData__],!0):!1}),get:a1(function(e){if(SY.call(cF(e),this.__weakMapData__))return e[this.__weakMapData__]}),has:a1(function(e){return SY.call(cF(e),this.__weakMapData__)}),set:a1(function(e,t){return MY(cF(e),this.__weakMapData__,a1(\"c\",t)),this}),toString:a1(function(){return\"[object WeakMap]\"})});MY(ux.prototype,oOt,a1(\"c\",\"WeakMap\"))});var EY=ye((Wgr,J9e)=>{\"use strict\";J9e.exports=cFe()()?WeakMap:K9e()});var Q9e=ye((Zgr,$9e)=>{\"use strict\";$9e.exports=function(e,t,r){if(typeof Array.prototype.findIndex==\"function\")return e.findIndex(t,r);if(typeof t!=\"function\")throw new TypeError(\"predicate must be a function\");var n=Object(e),i=n.length;if(i===0)return-1;for(var a=0;a{\"use strict\";var hF=J_(),uOt=j2(),CY=bh(),cOt=Zm(),fOt=W2(),eqe=oFe(),hOt=lFe(),{float32:dOt,fract32:kY}=Xz(),vOt=EY(),tqe=eA(),pOt=Q9e(),gOt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\n", + "attribute vec4 color;\n", + "attribute float lineEnd, lineTop;\n", + "\n", + "uniform vec2 scale, scaleFract, translate, translateFract;\n", + "uniform float thickness, pixelRatio, id, depth;\n", + "uniform vec4 viewport;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "\n", + "vec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n", + "\t// the order is important\n", + "\treturn position * scale + translate\n", + " + positionFract * scale + translateFract\n", + " + position * scaleFract\n", + " + positionFract * scaleFract;\n", + "}\n", + "\n", + "void main() {\n", + "\tfloat lineStart = 1. - lineEnd;\n", + "\tfloat lineOffset = lineTop * 2. - 1.;\n", + "\n", + "\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n", + "\ttangent = normalize(diff * scale * viewport.zw);\n", + "\tvec2 normal = vec2(-tangent.y, tangent.x);\n", + "\n", + "\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n", + "\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n", + "\n", + "\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n", + "\n", + "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", + "\n", + "\tfragColor = color / 255.;\n", + "}\n", + "`,mOt=`\n", + "precision highp float;\n", + "\n", + "uniform float dashLength, pixelRatio, thickness, opacity, id;\n", + "uniform sampler2D dashTexture;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "\n", + "void main() {\n", + "\tfloat alpha = 1.;\n", + "\n", + "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", + "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", + "\n", + "\tgl_FragColor = fragColor;\n", + "\tgl_FragColor.a *= alpha * opacity * dash;\n", + "}\n", + "`,yOt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 position, positionFract;\n", + "\n", + "uniform vec4 color;\n", + "uniform vec2 scale, scaleFract, translate, translateFract;\n", + "uniform float pixelRatio, id;\n", + "uniform vec4 viewport;\n", + "uniform float opacity;\n", + "\n", + "varying vec4 fragColor;\n", + "\n", + "const float MAX_LINES = 256.;\n", + "\n", + "void main() {\n", + "\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n", + "\n", + "\tvec2 position = position * scale + translate\n", + " + positionFract * scale + translateFract\n", + " + position * scaleFract\n", + " + positionFract * scaleFract;\n", + "\n", + "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", + "\n", + "\tfragColor = color / 255.;\n", + "\tfragColor.a *= opacity;\n", + "}\n", + "`,_Ot=`\n", + "precision highp float;\n", + "varying vec4 fragColor;\n", + "\n", + "void main() {\n", + "\tgl_FragColor = fragColor;\n", + "}\n", + "`,xOt=`\n", + "precision highp float;\n", + "\n", + "attribute vec2 aCoord, bCoord, nextCoord, prevCoord;\n", + "attribute vec4 aColor, bColor;\n", + "attribute float lineEnd, lineTop;\n", + "\n", + "uniform vec2 scale, translate;\n", + "uniform float thickness, pixelRatio, id, depth;\n", + "uniform vec4 viewport;\n", + "uniform float miterLimit, miterMode;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec4 startCutoff, endCutoff;\n", + "varying vec2 tangent;\n", + "varying vec2 startCoord, endCoord;\n", + "varying float enableStartMiter, enableEndMiter;\n", + "\n", + "const float REVERSE_THRESHOLD = -.875;\n", + "const float MIN_DIFF = 1e-6;\n", + "\n", + "// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n", + "// TODO: precalculate dot products, normalize things beforehead etc.\n", + "// TODO: refactor to rectangular algorithm\n", + "\n", + "float distToLine(vec2 p, vec2 a, vec2 b) {\n", + "\tvec2 diff = b - a;\n", + "\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n", + "\treturn dot(p - a, perp);\n", + "}\n", + "\n", + "bool isNaN( float val ){\n", + " return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n", + "}\n", + "\n", + "void main() {\n", + "\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n", + "\n", + " vec2 adjustedScale;\n", + " adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n", + " adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n", + "\n", + " vec2 scaleRatio = adjustedScale * viewport.zw;\n", + "\tvec2 normalWidth = thickness / scaleRatio;\n", + "\n", + "\tfloat lineStart = 1. - lineEnd;\n", + "\tfloat lineBot = 1. - lineTop;\n", + "\n", + "\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n", + "\n", + "\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n", + "\n", + "\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n", + "\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n", + "\n", + "\n", + "\tvec2 prevDiff = aCoord - prevCoord;\n", + "\tvec2 currDiff = bCoord - aCoord;\n", + "\tvec2 nextDiff = nextCoord - bCoord;\n", + "\n", + "\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n", + "\tvec2 currTangent = normalize(currDiff * scaleRatio);\n", + "\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n", + "\n", + "\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n", + "\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n", + "\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n", + "\n", + "\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n", + "\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n", + "\n", + "\t// collapsed/unidirectional segment cases\n", + "\t// FIXME: there should be more elegant solution\n", + "\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n", + "\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n", + "\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n", + "\t\tstartJoinDirection = currNormal;\n", + "\t}\n", + "\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n", + "\t\tendJoinDirection = currNormal;\n", + "\t}\n", + "\tif (aCoord == bCoord) {\n", + "\t\tendJoinDirection = startJoinDirection;\n", + "\t\tcurrNormal = prevNormal;\n", + "\t\tcurrTangent = prevTangent;\n", + "\t}\n", + "\n", + "\ttangent = currTangent;\n", + "\n", + "\t//calculate join shifts relative to normals\n", + "\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n", + "\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n", + "\n", + "\tfloat startMiterRatio = abs(1. / startJoinShift);\n", + "\tfloat endMiterRatio = abs(1. / endJoinShift);\n", + "\n", + "\tvec2 startJoin = startJoinDirection * startMiterRatio;\n", + "\tvec2 endJoin = endJoinDirection * endMiterRatio;\n", + "\n", + "\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n", + "\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n", + "\tstartBotJoin = -startTopJoin;\n", + "\n", + "\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n", + "\tendBotJoin = -endTopJoin;\n", + "\n", + "\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n", + "\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n", + "\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n", + "\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n", + "\n", + "\t//miter anti-clipping\n", + "\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n", + "\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n", + "\n", + "\t//prevent close to reverse direction switch\n", + "\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) < length(normalWidth * currNormal);\n", + "\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) < length(normalWidth * currNormal);\n", + "\n", + "\tif (prevReverse) {\n", + "\t\t//make join rectangular\n", + "\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n", + "\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n", + "\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", + "\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", + "\t}\n", + "\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n", + "\t\t//handle miter clipping\n", + "\t\tbTopCoord -= normalWidth * endTopJoin;\n", + "\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n", + "\t}\n", + "\n", + "\tif (nextReverse) {\n", + "\t\t//make join rectangular\n", + "\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n", + "\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n", + "\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n", + "\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n", + "\t}\n", + "\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n", + "\t\t//handle miter clipping\n", + "\t\taBotCoord -= normalWidth * startBotJoin;\n", + "\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n", + "\t}\n", + "\n", + "\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n", + "\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n", + "\n", + "\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n", + "\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n", + "\n", + "\t//position is normalized 0..1 coord on the screen\n", + "\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n", + "\n", + "\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", + "\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n", + "\n", + "\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n", + "\n", + "\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n", + "\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n", + "\n", + "\t//bevel miter cutoffs\n", + "\tif (miterMode == 1.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n", + "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", + "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", + "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", + "\t\t\tstartCutoff += viewport.xyxy;\n", + "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n", + "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", + "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", + "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", + "\t\t\tendCutoff += viewport.xyxy;\n", + "\t\t\tendCutoff += endMiterWidth.xyxy;\n", + "\t\t}\n", + "\t}\n", + "\n", + "\t//round miter cutoffs\n", + "\telse if (miterMode == 2.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n", + "\t\t\tstartCutoff = vec4(aCoord, aCoord);\n", + "\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n", + "\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", + "\t\t\tstartCutoff += viewport.xyxy;\n", + "\t\t\tstartCutoff += startMiterWidth.xyxy;\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n", + "\t\t\tendCutoff = vec4(bCoord, bCoord);\n", + "\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n", + "\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n", + "\t\t\tendCutoff += viewport.xyxy;\n", + "\t\t\tendCutoff += endMiterWidth.xyxy;\n", + "\t\t}\n", + "\t}\n", + "}\n", + "`,bOt=`\n", + "precision highp float;\n", + "\n", + "uniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\n", + "uniform sampler2D dashTexture;\n", + "\n", + "varying vec4 fragColor;\n", + "varying vec2 tangent;\n", + "varying vec4 startCutoff, endCutoff;\n", + "varying vec2 startCoord, endCoord;\n", + "varying float enableStartMiter, enableEndMiter;\n", + "\n", + "float distToLine(vec2 p, vec2 a, vec2 b) {\n", + "\tvec2 diff = b - a;\n", + "\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n", + "\treturn dot(p - a, perp);\n", + "}\n", + "\n", + "void main() {\n", + "\tfloat alpha = 1., distToStart, distToEnd;\n", + "\tfloat cutoff = thickness * .5;\n", + "\n", + "\t//bevel miter\n", + "\tif (miterMode == 1.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n", + "\t\t\tif (distToStart < -1.) {\n", + "\t\t\t\tdiscard;\n", + "\t\t\t\treturn;\n", + "\t\t\t}\n", + "\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n", + "\t\t\tif (distToEnd < -1.) {\n", + "\t\t\t\tdiscard;\n", + "\t\t\t\treturn;\n", + "\t\t\t}\n", + "\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n", + "\t\t}\n", + "\t}\n", + "\n", + "\t// round miter\n", + "\telse if (miterMode == 2.) {\n", + "\t\tif (enableStartMiter == 1.) {\n", + "\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n", + "\t\t\tif (distToStart < 0.) {\n", + "\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n", + "\n", + "\t\t\t\tif(radius > cutoff + .5) {\n", + "\t\t\t\t\tdiscard;\n", + "\t\t\t\t\treturn;\n", + "\t\t\t\t}\n", + "\n", + "\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n", + "\t\t\t}\n", + "\t\t}\n", + "\n", + "\t\tif (enableEndMiter == 1.) {\n", + "\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n", + "\t\t\tif (distToEnd < 0.) {\n", + "\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n", + "\n", + "\t\t\t\tif(radius > cutoff + .5) {\n", + "\t\t\t\t\tdiscard;\n", + "\t\t\t\t\treturn;\n", + "\t\t\t\t}\n", + "\n", + "\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n", + "\t\t\t}\n", + "\t\t}\n", + "\t}\n", + "\n", + "\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n", + "\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n", + "\n", + "\tgl_FragColor = fragColor;\n", + "\tgl_FragColor.a *= alpha * opacity * dash;\n", + "}\n", + "`;rqe.exports=uc;function uc(e,t){if(!(this instanceof uc))return new uc(e,t);if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");this.gl=e._gl,this.regl=e,this.passes=[],this.shaders=uc.shaders.has(e)?uc.shaders.get(e):uc.shaders.set(e,uc.createShaders(e)).get(e),this.update(t)}uc.dashMult=2;uc.maxPatternLength=256;uc.precisionThreshold=3e6;uc.maxPoints=1e4;uc.maxLines=2048;uc.shaders=new vOt;uc.createShaders=function(e){let t=e.buffer({usage:\"static\",type:\"float\",data:[0,1,0,0,1,1,1,0]}),r={primitive:\"triangle strip\",instances:e.prop(\"count\"),count:4,offset:0,uniforms:{miterMode:(o,s)=>s.join===\"round\"?2:1,miterLimit:e.prop(\"miterLimit\"),scale:e.prop(\"scale\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),thickness:e.prop(\"thickness\"),dashTexture:e.prop(\"dashTexture\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),dashLength:e.prop(\"dashLength\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight],depth:e.prop(\"depth\")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:(o,s)=>!s.overlay},stencil:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\")},n=e(CY({vert:gOt,frag:mOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:16,divisor:1},color:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1}}},r)),i;try{i=e(CY({cull:{enable:!0,face:\"back\"},vert:xOt,frag:bOt,attributes:{lineEnd:{buffer:t,divisor:0,stride:8,offset:0},lineTop:{buffer:t,divisor:0,stride:8,offset:4},aColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:0,divisor:1},bColor:{buffer:e.prop(\"colorBuffer\"),stride:4,offset:4,divisor:1},prevCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:0,divisor:1},aCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8,divisor:1},bCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:16,divisor:1},nextCoord:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:24,divisor:1}}},r))}catch(o){i=n}return{fill:e({primitive:\"triangle\",elements:(o,s)=>s.triangles,offset:0,vert:yOt,frag:_Ot,uniforms:{scale:e.prop(\"scale\"),color:e.prop(\"fill\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),translate:e.prop(\"translate\"),opacity:e.prop(\"opacity\"),pixelRatio:e.context(\"pixelRatio\"),id:e.prop(\"id\"),viewport:(o,s)=>[s.viewport.x,s.viewport.y,o.viewportWidth,o.viewportHeight]},attributes:{position:{buffer:e.prop(\"positionBuffer\"),stride:8,offset:8},positionFract:{buffer:e.prop(\"positionFractBuffer\"),stride:8,offset:8}},blend:r.blend,depth:{enable:!1},scissor:r.scissor,stencil:r.stencil,viewport:r.viewport}),rect:n,miter:i}};uc.defaults={dashes:null,join:\"miter\",miterLimit:1,thickness:10,cap:\"square\",color:\"black\",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null};uc.prototype.render=function(...e){e.length&&this.update(...e),this.draw()};uc.prototype.draw=function(...e){return(e.length?e:this.passes).forEach((t,r)=>{if(t&&Array.isArray(t))return this.draw(...t);typeof t==\"number\"&&(t=this.passes[t]),t&&t.count>1&&t.opacity&&(this.regl._refresh(),t.fill&&t.triangles&&t.triangles.length>2&&this.shaders.fill(t),t.thickness&&(t.scale[0]*t.viewport.width>uc.precisionThreshold||t.scale[1]*t.viewport.height>uc.precisionThreshold?this.shaders.rect(t):t.join===\"rect\"||!t.join&&(t.thickness<=2||t.count>=uc.maxPoints)?this.shaders.rect(t):this.shaders.miter(t)))}),this};uc.prototype.update=function(e){if(!e)return;e.length!=null?typeof e[0]==\"number\"&&(e=[{positions:e}]):Array.isArray(e)||(e=[e]);let{regl:t,gl:r}=this;if(e.forEach((i,a)=>{let o=this.passes[a];if(i!==void 0){if(i===null){this.passes[a]=null;return}if(typeof i[0]==\"number\"&&(i={positions:i}),i=cOt(i,{positions:\"positions points data coords\",thickness:\"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth\",join:\"lineJoin linejoin join type mode\",miterLimit:\"miterlimit miterLimit\",dashes:\"dash dashes dasharray dash-array dashArray\",color:\"color colour stroke colors colours stroke-color strokeColor\",fill:\"fill fill-color fillColor\",opacity:\"alpha opacity\",overlay:\"overlay crease overlap intersect\",close:\"closed close closed-path closePath\",range:\"range dataBox\",viewport:\"viewport viewBox\",hole:\"holes hole hollow\",splitNull:\"splitNull\"}),o||(this.passes[a]=o={id:a,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:t.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:\"linear\",min:\"linear\"}),colorBuffer:t.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array}),positionBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array}),positionFractBuffer:t.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array})},i=CY({},uc.defaults,i)),i.thickness!=null&&(o.thickness=parseFloat(i.thickness)),i.opacity!=null&&(o.opacity=parseFloat(i.opacity)),i.miterLimit!=null&&(o.miterLimit=parseFloat(i.miterLimit)),i.overlay!=null&&(o.overlay=!!i.overlay,aL-_),E=[],k=0,A=o.hole!=null?o.hole[0]:null;if(A!=null){let L=pOt(g,_=>_>=A);g=g.slice(0,L),g.push(A)}for(let L=0;Lp-A+(g[L]-k)),M=eqe(_,C);M=M.map(p=>p+k+(p+k{e.colorBuffer.destroy(),e.positionBuffer.destroy(),e.dashTexture.destroy()}),this.passes.length=0,this}});var sqe=ye((Ygr,oqe)=>{\"use strict\";var wOt=j2(),TOt=J_(),AOt=JX(),SOt=Zm(),iqe=bh(),nqe=W2(),{float32:MOt,fract32:PY}=Xz();oqe.exports=EOt;var aqe=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]];function EOt(e,t){if(typeof e==\"function\"?(t||(t={}),t.regl=e):t=e,t.length&&(t.positions=t),e=t.regl,!e.hasExtension(\"ANGLE_instanced_arrays\"))throw Error(\"regl-error2d: `ANGLE_instanced_arrays` extension should be enabled\");let r=e._gl,n,i,a,o,s,l,u={color:\"black\",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},c=[];return o=e.buffer({usage:\"dynamic\",type:\"uint8\",data:new Uint8Array(0)}),i=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),a=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),s=e.buffer({usage:\"dynamic\",type:\"float\",data:new Uint8Array(0)}),l=e.buffer({usage:\"static\",type:\"float\",data:aqe}),v(t),n=e({vert:`\n", + "\t\tprecision highp float;\n", + "\n", + "\t\tattribute vec2 position, positionFract;\n", + "\t\tattribute vec4 error;\n", + "\t\tattribute vec4 color;\n", + "\n", + "\t\tattribute vec2 direction, lineOffset, capOffset;\n", + "\n", + "\t\tuniform vec4 viewport;\n", + "\t\tuniform float lineWidth, capSize;\n", + "\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n", + "\n", + "\t\tvarying vec4 fragColor;\n", + "\n", + "\t\tvoid main() {\n", + "\t\t\tfragColor = color / 255.;\n", + "\n", + "\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n", + "\n", + "\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n", + "\n", + "\t\t\tvec2 position = position + dxy;\n", + "\n", + "\t\t\tvec2 pos = (position + translate) * scale\n", + "\t\t\t\t+ (positionFract + translateFract) * scale\n", + "\t\t\t\t+ (position + translate) * scaleFract\n", + "\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n", + "\n", + "\t\t\tpos += pixelOffset / viewport.zw;\n", + "\n", + "\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n", + "\t\t}\n", + "\t\t`,frag:`\n", + "\t\tprecision highp float;\n", + "\n", + "\t\tvarying vec4 fragColor;\n", + "\n", + "\t\tuniform float opacity;\n", + "\n", + "\t\tvoid main() {\n", + "\t\t\tgl_FragColor = fragColor;\n", + "\t\t\tgl_FragColor.a *= opacity;\n", + "\t\t}\n", + "\t\t`,uniforms:{range:e.prop(\"range\"),lineWidth:e.prop(\"lineWidth\"),capSize:e.prop(\"capSize\"),opacity:e.prop(\"opacity\"),scale:e.prop(\"scale\"),translate:e.prop(\"translate\"),scaleFract:e.prop(\"scaleFract\"),translateFract:e.prop(\"translateFract\"),viewport:(b,g)=>[g.viewport.x,g.viewport.y,b.viewportWidth,b.viewportHeight]},attributes:{color:{buffer:o,offset:(b,g)=>g.offset*4,divisor:1},position:{buffer:i,offset:(b,g)=>g.offset*8,divisor:1},positionFract:{buffer:a,offset:(b,g)=>g.offset*8,divisor:1},error:{buffer:s,offset:(b,g)=>g.offset*16,divisor:1},direction:{buffer:l,stride:24,offset:0},lineOffset:{buffer:l,stride:24,offset:8},capOffset:{buffer:l,stride:24,offset:16}},primitive:\"triangles\",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:\"add\",alpha:\"add\"},func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},depth:{enable:!1},scissor:{enable:!0,box:e.prop(\"viewport\")},viewport:e.prop(\"viewport\"),stencil:!1,instances:e.prop(\"count\"),count:aqe.length}),iqe(f,{update:v,draw:h,destroy:x,regl:e,gl:r,canvas:r.canvas,groups:c}),f;function f(b){b?v(b):b===null&&x(),h()}function h(b){if(typeof b==\"number\")return d(b);b&&!Array.isArray(b)&&(b=[b]),e._refresh(),c.forEach((g,E)=>{if(g){if(b&&(b[E]?g.draw=!0:g.draw=!1),!g.draw){g.draw=!0;return}d(E)}})}function d(b){typeof b==\"number\"&&(b=c[b]),b!=null&&b&&b.count&&b.color&&b.opacity&&b.positions&&b.positions.length>1&&(b.scaleRatio=[b.scale[0]*b.viewport.width,b.scale[1]*b.viewport.height],n(b),b.after&&b.after(b))}function v(b){if(!b)return;b.length!=null?typeof b[0]==\"number\"&&(b=[{positions:b}]):Array.isArray(b)||(b=[b]);let g=0,E=0;if(f.groups=c=b.map((L,_)=>{let C=c[_];if(L)typeof L==\"function\"?L={after:L}:typeof L[0]==\"number\"&&(L={positions:L});else return C;return L=SOt(L,{color:\"color colors fill\",capSize:\"capSize cap capsize cap-size\",lineWidth:\"lineWidth line-width width line thickness\",opacity:\"opacity alpha\",range:\"range dataBox\",viewport:\"viewport viewBox\",errors:\"errors error\",positions:\"positions position data points\"}),C||(c[_]=C={id:_,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},L=iqe({},u,L)),AOt(C,L,[{lineWidth:M=>+M*.5,capSize:M=>+M*.5,opacity:parseFloat,errors:M=>(M=nqe(M),E+=M.length,M),positions:(M,p)=>(M=nqe(M,\"float64\"),p.count=Math.floor(M.length/2),p.bounds=wOt(M,2),p.offset=g,g+=p.count,M)},{color:(M,p)=>{let P=p.count;if(M||(M=\"transparent\"),!Array.isArray(M)||typeof M[0]==\"number\"){let F=M;M=Array(P);for(let q=0;q{let T=p.bounds;return M||(M=T),p.scale=[1/(M[2]-M[0]),1/(M[3]-M[1])],p.translate=[-M[0],-M[1]],p.scaleFract=PY(p.scale),p.translateFract=PY(p.translate),M},viewport:M=>{let p;return Array.isArray(M)?p={x:M[0],y:M[1],width:M[2]-M[0],height:M[3]-M[1]}:M?(p={x:M.x||M.left||0,y:M.y||M.top||0},M.right?p.width=M.right-p.x:p.width=M.w||M.width||0,M.bottom?p.height=M.bottom-p.y:p.height=M.h||M.height||0):p={x:0,y:0,width:r.drawingBufferWidth,height:r.drawingBufferHeight},p}}]),C}),g||E){let L=c.reduce((p,P,T)=>p+(P?P.count:0),0),_=new Float64Array(L*2),C=new Uint8Array(L*4),M=new Float32Array(L*4);c.forEach((p,P)=>{if(!p)return;let{positions:T,count:F,offset:q,color:V,errors:H}=p;F&&(C.set(V,q*4),M.set(H,q*4),_.set(T,q*2))});var k=MOt(_);i(k);var A=PY(_,k);a(A),o(C),s(M)}}function x(){i.destroy(),a.destroy(),o.destroy(),s.destroy(),l.destroy()}}});var cqe=ye((Kgr,uqe)=>{var lqe=/[\\'\\\"]/;uqe.exports=function(t){return t?(lqe.test(t.charAt(0))&&(t=t.substr(1)),lqe.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):\"\"}});var IY=ye(()=>{});var RY=ye(()=>{});var DY=ye(()=>{});var zY=ye(()=>{});var FY=ye(()=>{});var vqe=ye((smr,dqe)=>{\"use strict\";function fqe(e,t){if(typeof e!=\"string\")return[e];var r=[e];typeof t==\"string\"||Array.isArray(t)?t={brackets:t}:t||(t={});var n=t.brackets?Array.isArray(t.brackets)?t.brackets:[t.brackets]:[\"{}\",\"[]\",\"()\"],i=t.escape||\"___\",a=!!t.flat;n.forEach(function(l){var u=new RegExp([\"\\\\\",l[0],\"[^\\\\\",l[0],\"\\\\\",l[1],\"]*\\\\\",l[1]].join(\"\")),c=[];function f(h,d,v){var x=r.push(h.slice(l[0].length,-l[1].length))-1;return c.push(x),i+x+i}r.forEach(function(h,d){for(var v,x=0;h!=v;)if(v=h,h=h.replace(u,f),x++>1e4)throw Error(\"References have circular dependency. Please, check them.\");r[d]=h}),c=c.reverse(),r=r.map(function(h){return c.forEach(function(d){h=h.replace(new RegExp(\"(\\\\\"+i+d+\"\\\\\"+i+\")\",\"g\"),l[0]+\"$1\"+l[1])}),h})});var o=new RegExp(\"\\\\\"+i+\"([0-9]+)\\\\\"+i);function s(l,u,c){for(var f=[],h,d=0;h=o.exec(l);){if(d++>1e4)throw Error(\"Circular references in parenthesis\");f.push(l.slice(0,h.index)),f.push(s(u[h[1]],u)),l=l.slice(h.index+h[0].length)}return f.push(l),f}return a?r:s(r[0],r)}function hqe(e,t){if(t&&t.flat){var r=t&&t.escape||\"___\",n=e[0],i;if(!n)return\"\";for(var a=new RegExp(\"\\\\\"+r+\"([0-9]+)\\\\\"+r),o=0;n!=i;){if(o++>1e4)throw Error(\"Circular references in \"+e);i=n,n=n.replace(a,s)}return n}return e.reduce(function l(u,c){return Array.isArray(c)&&(c=c.reduce(l,\"\")),u+c},\"\");function s(l,u){if(e[u]==null)throw Error(\"Reference \"+u+\"is undefined\");return e[u]}}function qY(e,t){return Array.isArray(e)?hqe(e,t):fqe(e,t)}qY.parse=fqe;qY.stringify=hqe;dqe.exports=qY});var mqe=ye((lmr,gqe)=>{\"use strict\";var pqe=vqe();gqe.exports=function(t,r,n){if(t==null)throw Error(\"First argument should be a string\");if(r==null)throw Error(\"Separator should be a string or a RegExp\");n?(typeof n==\"string\"||Array.isArray(n))&&(n={ignore:n}):n={},n.escape==null&&(n.escape=!0),n.ignore==null?n.ignore=[\"[]\",\"()\",\"{}\",\"<>\",'\"\"',\"''\",\"``\",\"\\u201C\\u201D\",\"\\xAB\\xBB\"]:(typeof n.ignore==\"string\"&&(n.ignore=[n.ignore]),n.ignore=n.ignore.map(function(f){return f.length===1&&(f=f+f),f}));var i=pqe.parse(t,{flat:!0,brackets:n.ignore}),a=i[0],o=a.split(r);if(n.escape){for(var s=[],l=0;l{});var OY=ye((fmr,_qe)=>{\"use strict\";var kOt=yqe();_qe.exports={isSize:function(t){return/^[\\d\\.]/.test(t)||t.indexOf(\"/\")!==-1||kOt.indexOf(t)!==-1}}});var Tqe=ye((hmr,wqe)=>{\"use strict\";var COt=cqe(),LOt=IY(),POt=RY(),IOt=DY(),ROt=zY(),DOt=FY(),BY=mqe(),zOt=OY().isSize;wqe.exports=bqe;var pk=bqe.cache={};function bqe(e){if(typeof e!=\"string\")throw new Error(\"Font argument must be a string.\");if(pk[e])return pk[e];if(e===\"\")throw new Error(\"Cannot parse an empty string.\");if(POt.indexOf(e)!==-1)return pk[e]={system:e};for(var t={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",lineHeight:\"normal\",size:\"1rem\",family:[\"serif\"]},r=BY(e,/\\s+/),n;n=r.shift();){if(LOt.indexOf(n)!==-1)return[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(function(a){t[a]=n}),pk[e]=t;if(ROt.indexOf(n)!==-1){t.style=n;continue}if(n===\"normal\"||n===\"small-caps\"){t.variant=n;continue}if(DOt.indexOf(n)!==-1){t.stretch=n;continue}if(IOt.indexOf(n)!==-1){t.weight=n;continue}if(zOt(n)){var i=BY(n,\"/\");if(t.size=i[0],i[1]!=null?t.lineHeight=xqe(i[1]):r[0]===\"/\"&&(r.shift(),t.lineHeight=xqe(r.shift())),!r.length)throw new Error(\"Missing required font-family.\");return t.family=BY(r.join(\" \"),/\\s*,\\s*/).map(COt),pk[e]=t}throw new Error(\"Unknown or unsupported font token: \"+n)}throw new Error(\"Missing required font-size.\")}function xqe(e){var t=parseFloat(e);return t.toString()===e?t:e}});var UY=ye((dmr,Aqe)=>{\"use strict\";var FOt=Zm(),qOt=OY().isSize,OOt=mk(IY()),BOt=mk(RY()),NOt=mk(DY()),UOt=mk(zY()),VOt=mk(FY()),HOt={normal:1,\"small-caps\":1},GOt={serif:1,\"sans-serif\":1,monospace:1,cursive:1,fantasy:1,\"system-ui\":1},NY={style:\"normal\",variant:\"normal\",weight:\"normal\",stretch:\"normal\",size:\"1rem\",lineHeight:\"normal\",family:\"serif\"};Aqe.exports=function(t){if(t=FOt(t,{style:\"style fontstyle fontStyle font-style slope distinction\",variant:\"variant font-variant fontVariant fontvariant var capitalization\",weight:\"weight w font-weight fontWeight fontweight\",stretch:\"stretch font-stretch fontStretch fontstretch width\",size:\"size s font-size fontSize fontsize height em emSize\",lineHeight:\"lh line-height lineHeight lineheight leading\",family:\"font family fontFamily font-family fontfamily type typeface face\",system:\"system reserved default global\"}),t.system)return t.system&&gk(t.system,BOt),t.system;if(gk(t.style,UOt),gk(t.variant,HOt),gk(t.weight,NOt),gk(t.stretch,VOt),t.size==null&&(t.size=NY.size),typeof t.size==\"number\"&&(t.size+=\"px\"),!qOt)throw Error(\"Bad size value `\"+t.size+\"`\");t.family||(t.family=NY.family),Array.isArray(t.family)&&(t.family.length||(t.family=[NY.family]),t.family=t.family.map(function(n){return GOt[n]?n:'\"'+n+'\"'}).join(\", \"));var r=[];return r.push(t.style),t.variant!==t.style&&r.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&r.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&r.push(t.stretch),r.push(t.size+(t.lineHeight==null||t.lineHeight===\"normal\"||t.lineHeight+\"\"==\"1\"?\"\":\"/\"+t.lineHeight)),r.push(t.family),r.filter(Boolean).join(\" \")};function gk(e,t){if(e&&!t[e]&&!OOt[e])throw Error(\"Unknown keyword `\"+e+\"`\");return e}function mk(e){for(var t={},r=0;r{\"use strict\";Sqe.exports={parse:Tqe(),stringify:UY()}});var GY=ye((VY,HY)=>{(function(e,t){typeof VY==\"object\"&&typeof HY!=\"undefined\"?HY.exports=t():typeof define==\"function\"&&define.amd?define(t):e.createREGL=t()})(VY,function(){\"use strict\";var e=function(At,Er){for(var Wr=Object.keys(Er),wi=0;wi1&&Er===Wr&&(Er==='\"'||Er===\"'\"))return['\"'+o(At.substr(1,At.length-2))+'\"'];var wi=/\\[(false|true|null|\\d+|'[^']*'|\"[^\"]*\")\\]/.exec(At);if(wi)return s(At.substr(0,wi.index)).concat(s(wi[1])).concat(s(At.substr(wi.index+wi[0].length)));var Ui=At.split(\".\");if(Ui.length===1)return['\"'+o(At)+'\"'];for(var Oi=[],Bi=0;Bi65535)<<4,At>>>=Er,Wr=(At>255)<<3,At>>>=Wr,Er|=Wr,Wr=(At>15)<<2,At>>>=Wr,Er|=Wr,Wr=(At>3)<<1,At>>>=Wr,Er|=Wr,Er|At>>1}function N(){var At=M(8,function(){return[]});function Er(Oi){var Bi=X(Oi),cn=At[G(Bi)>>2];return cn.length>0?cn.pop():new ArrayBuffer(Bi)}function Wr(Oi){At[G(Oi.byteLength)>>2].push(Oi)}function wi(Oi,Bi){var cn=null;switch(Oi){case p:cn=new Int8Array(Er(Bi),0,Bi);break;case P:cn=new Uint8Array(Er(Bi),0,Bi);break;case T:cn=new Int16Array(Er(2*Bi),0,Bi);break;case F:cn=new Uint16Array(Er(2*Bi),0,Bi);break;case q:cn=new Int32Array(Er(4*Bi),0,Bi);break;case V:cn=new Uint32Array(Er(4*Bi),0,Bi);break;case H:cn=new Float32Array(Er(4*Bi),0,Bi);break;default:return null}return cn.length!==Bi?cn.subarray(0,Bi):cn}function Ui(Oi){Wr(Oi.buffer)}return{alloc:Er,free:Wr,allocType:wi,freeType:Ui}}var W=N();W.zero=N();var re=3408,ae=3410,_e=3411,Me=3412,ke=3413,ge=3414,ie=3415,Te=33901,Ee=33902,Ae=3379,ze=3386,Ce=34921,me=36347,Re=36348,ce=35661,Ge=35660,nt=34930,ct=36349,qt=34076,rt=34024,ot=7936,Rt=7937,kt=7938,Ct=35724,Yt=34047,xr=36063,er=34852,Ke=3553,xt=34067,bt=34069,Lt=33984,St=6408,Et=5126,dt=5121,Ht=36160,$t=36053,fr=36064,_r=16384,Br=function(At,Er){var Wr=1;Er.ext_texture_filter_anisotropic&&(Wr=At.getParameter(Yt));var wi=1,Ui=1;Er.webgl_draw_buffers&&(wi=At.getParameter(er),Ui=At.getParameter(xr));var Oi=!!Er.oes_texture_float;if(Oi){var Bi=At.createTexture();At.bindTexture(Ke,Bi),At.texImage2D(Ke,0,St,1,1,0,St,Et,null);var cn=At.createFramebuffer();if(At.bindFramebuffer(Ht,cn),At.framebufferTexture2D(Ht,fr,Ke,Bi,0),At.bindTexture(Ke,null),At.checkFramebufferStatus(Ht)!==$t)Oi=!1;else{At.viewport(0,0,1,1),At.clearColor(1,0,0,1),At.clear(_r);var On=W.allocType(Et,4);At.readPixels(0,0,1,1,St,Et,On),At.getError()?Oi=!1:(At.deleteFramebuffer(cn),At.deleteTexture(Bi),Oi=On[0]===1),W.freeType(On)}}var Bn=typeof navigator!=\"undefined\"&&(/MSIE/.test(navigator.userAgent)||/Trident\\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent)),yn=!0;if(!Bn){var to=At.createTexture(),Rn=W.allocType(dt,36);At.activeTexture(Lt),At.bindTexture(xt,to),At.texImage2D(bt,0,St,3,3,0,St,dt,Rn),W.freeType(Rn),At.bindTexture(xt,null),At.deleteTexture(to),yn=!At.getError()}return{colorBits:[At.getParameter(ae),At.getParameter(_e),At.getParameter(Me),At.getParameter(ke)],depthBits:At.getParameter(ge),stencilBits:At.getParameter(ie),subpixelBits:At.getParameter(re),extensions:Object.keys(Er).filter(function(Dn){return!!Er[Dn]}),maxAnisotropic:Wr,maxDrawbuffers:wi,maxColorAttachments:Ui,pointSizeDims:At.getParameter(Te),lineWidthDims:At.getParameter(Ee),maxViewportDims:At.getParameter(ze),maxCombinedTextureUnits:At.getParameter(ce),maxCubeMapSize:At.getParameter(qt),maxRenderbufferSize:At.getParameter(rt),maxTextureUnits:At.getParameter(nt),maxTextureSize:At.getParameter(Ae),maxAttributes:At.getParameter(Ce),maxVertexUniforms:At.getParameter(me),maxVertexTextureUnits:At.getParameter(Ge),maxVaryingVectors:At.getParameter(Re),maxFragmentUniforms:At.getParameter(ct),glsl:At.getParameter(Ct),renderer:At.getParameter(Rt),vendor:At.getParameter(ot),version:At.getParameter(kt),readFloat:Oi,npotTextureCube:yn}},Or=function(At){return At instanceof Uint8Array||At instanceof Uint16Array||At instanceof Uint32Array||At instanceof Int8Array||At instanceof Int16Array||At instanceof Int32Array||At instanceof Float32Array||At instanceof Float64Array||At instanceof Uint8ClampedArray};function Nr(At){return!!At&&typeof At==\"object\"&&Array.isArray(At.shape)&&Array.isArray(At.stride)&&typeof At.offset==\"number\"&&At.shape.length===At.stride.length&&(Array.isArray(At.data)||Or(At.data))}var ut=function(At){return Object.keys(At).map(function(Er){return At[Er]})},Ne={shape:xe,flatten:Le};function Ye(At,Er,Wr){for(var wi=0;wi0){var Za;if(Array.isArray(ji[0])){Kn=$i(ji);for(var wn=1,vn=1;vn0){if(typeof wn[0]==\"number\"){var Xn=W.allocType(gn.dtype,wn.length);yr(Xn,wn),Kn(Xn,Aa),W.freeType(Xn)}else if(Array.isArray(wn[0])||Or(wn[0])){aa=$i(wn);var Vn=_n(wn,aa,gn.dtype);Kn(Vn,Aa),W.freeType(Vn)}}}else if(Nr(wn)){aa=wn.shape;var ma=wn.stride,ro=0,Ao=0,Jn=0,Oa=0;aa.length===1?(ro=aa[0],Ao=1,Jn=ma[0],Oa=0):aa.length===2&&(ro=aa[0],Ao=aa[1],Jn=ma[0],Oa=ma[1]);var _o=Array.isArray(wn.data)?gn.dtype:Zt(wn.data),Po=W.allocType(_o,ro*Ao);Fr(Po,wn.data,ro,Ao,Jn,Oa,wn.offset),Kn(Po,Aa),W.freeType(Po)}return ca}return Ln||ca(Ai),ca._reglType=\"buffer\",ca._buffer=gn,ca.subdata=Za,Wr.profile&&(ca.stats=gn.stats),ca.destroy=function(){Rn(gn)},ca}function fn(){ut(Oi).forEach(function(Ai){Ai.buffer=At.createBuffer(),At.bindBuffer(Ai.type,Ai.buffer),At.bufferData(Ai.type,Ai.persistentData||Ai.byteLength,Ai.usage)})}return Wr.profile&&(Er.getTotalBufferSize=function(){var Ai=0;return Object.keys(Oi).forEach(function(ji){Ai+=Oi[ji].stats.size}),Ai}),{create:Dn,createStream:On,destroyStream:Bn,clear:function(){ut(Oi).forEach(Rn),cn.forEach(Rn)},getBuffer:function(Ai){return Ai&&Ai._buffer instanceof Bi?Ai._buffer:null},restore:fn,_initBuffer:to}}var Vr=0,gi=0,Si=1,Mi=1,Pi=4,Gi=4,Ki={points:Vr,point:gi,lines:Si,line:Mi,triangles:Pi,triangle:Gi,\"line loop\":2,\"line strip\":3,\"triangle strip\":5,\"triangle fan\":6},ka=0,jn=1,la=4,Fa=5120,Ra=5121,jo=5122,oa=5123,Sn=5124,Ha=5125,oo=34963,xn=35040,_t=35044;function br(At,Er,Wr,wi){var Ui={},Oi=0,Bi={uint8:Ra,uint16:oa};Er.oes_element_index_uint&&(Bi.uint32=Ha);function cn(fn){this.id=Oi++,Ui[this.id]=this,this.buffer=fn,this.primType=la,this.vertCount=0,this.type=0}cn.prototype.bind=function(){this.buffer.bind()};var On=[];function Bn(fn){var Ai=On.pop();return Ai||(Ai=new cn(Wr.create(null,oo,!0,!1)._buffer)),to(Ai,fn,xn,-1,-1,0,0),Ai}function yn(fn){On.push(fn)}function to(fn,Ai,ji,Ln,Un,gn,ca){fn.buffer.bind();var Kn;if(Ai){var Za=ca;!ca&&(!Or(Ai)||Nr(Ai)&&!Or(Ai.data))&&(Za=Er.oes_element_index_uint?Ha:oa),Wr._initBuffer(fn.buffer,Ai,ji,Za,3)}else At.bufferData(oo,gn,ji),fn.buffer.dtype=Kn||Ra,fn.buffer.usage=ji,fn.buffer.dimension=3,fn.buffer.byteLength=gn;if(Kn=ca,!ca){switch(fn.buffer.dtype){case Ra:case Fa:Kn=Ra;break;case oa:case jo:Kn=oa;break;case Ha:case Sn:Kn=Ha;break;default:}fn.buffer.dtype=Kn}fn.type=Kn;var wn=Un;wn<0&&(wn=fn.buffer.byteLength,Kn===oa?wn>>=1:Kn===Ha&&(wn>>=2)),fn.vertCount=wn;var vn=Ln;if(Ln<0){vn=la;var Aa=fn.buffer.dimension;Aa===1&&(vn=ka),Aa===2&&(vn=jn),Aa===3&&(vn=la)}fn.primType=vn}function Rn(fn){wi.elementsCount--,delete Ui[fn.id],fn.buffer.destroy(),fn.buffer=null}function Dn(fn,Ai){var ji=Wr.create(null,oo,!0),Ln=new cn(ji._buffer);wi.elementsCount++;function Un(gn){if(!gn)ji(),Ln.primType=la,Ln.vertCount=0,Ln.type=Ra;else if(typeof gn==\"number\")ji(gn),Ln.primType=la,Ln.vertCount=gn|0,Ln.type=Ra;else{var ca=null,Kn=_t,Za=-1,wn=-1,vn=0,Aa=0;Array.isArray(gn)||Or(gn)||Nr(gn)?ca=gn:(\"data\"in gn&&(ca=gn.data),\"usage\"in gn&&(Kn=Ni[gn.usage]),\"primitive\"in gn&&(Za=Ki[gn.primitive]),\"count\"in gn&&(wn=gn.count|0),\"type\"in gn&&(Aa=Bi[gn.type]),\"length\"in gn?vn=gn.length|0:(vn=wn,Aa===oa||Aa===jo?vn*=2:(Aa===Ha||Aa===Sn)&&(vn*=4))),to(Ln,ca,Kn,Za,wn,vn,Aa)}return Un}return Un(fn),Un._reglType=\"elements\",Un._elements=Ln,Un.subdata=function(gn,ca){return ji.subdata(gn,ca),Un},Un.destroy=function(){Rn(Ln)},Un}return{create:Dn,createStream:Bn,destroyStream:yn,getElements:function(fn){return typeof fn==\"function\"&&fn._elements instanceof cn?fn._elements:null},clear:function(){ut(Ui).forEach(Rn)}}}var Hr=new Float32Array(1),ti=new Uint32Array(Hr.buffer),zi=5123;function Yi(At){for(var Er=W.allocType(zi,At.length),Wr=0;Wr>>31<<15,Oi=(wi<<1>>>24)-127,Bi=wi>>13&1023;if(Oi<-24)Er[Wr]=Ui;else if(Oi<-14){var cn=-14-Oi;Er[Wr]=Ui+(Bi+1024>>cn)}else Oi>15?Er[Wr]=Ui+31744:Er[Wr]=Ui+(Oi+15<<10)+Bi}return Er}function an(At){return Array.isArray(At)||Or(At)}var hi=34467,Ji=3553,ua=34067,Fn=34069,Sa=6408,go=6406,Oo=6407,ho=6409,Mo=6410,xo=32854,zs=32855,ks=36194,Zs=32819,Xs=32820,wl=33635,os=34042,cl=6402,Cs=34041,ml=35904,Ys=35906,Hs=36193,Eo=33776,fs=33777,$l=33778,Hu=33779,fc=35986,ms=35987,on=34798,fa=35840,Qu=35841,Il=35842,vo=35843,Wl=36196,Ks=5121,Zl=5123,Ec=5125,Zn=5126,ko=10242,Co=10243,Tl=10497,uf=33071,So=33648,cf=10240,rh=10241,Al=9728,Hc=9729,Ql=9984,Ls=9985,mu=9986,kc=9987,Of=33170,Gc=4352,vd=4353,Bf=4354,ss=34046,ff=3317,ih=37440,Ul=37441,Js=37443,hc=37444,Cc=33984,ws=[Ql,mu,Ls,kc],$s=[0,ho,Mo,Oo,Sa],hs={};hs[ho]=hs[go]=hs[cl]=1,hs[Cs]=hs[Mo]=2,hs[Oo]=hs[ml]=3,hs[Sa]=hs[Ys]=4;function Ms(At){return\"[object \"+At+\"]\"}var dc=Ms(\"HTMLCanvasElement\"),Sl=Ms(\"OffscreenCanvas\"),ec=Ms(\"CanvasRenderingContext2D\"),Ps=Ms(\"ImageBitmap\"),ov=Ms(\"HTMLImageElement\"),wo=Ms(\"HTMLVideoElement\"),Od=Object.keys(Se).concat([dc,Sl,ec,Ps,ov,wo]),$o=[];$o[Ks]=1,$o[Zn]=4,$o[Hs]=2,$o[Zl]=2,$o[Ec]=4;var Ja=[];Ja[xo]=2,Ja[zs]=2,Ja[ks]=2,Ja[Cs]=4,Ja[Eo]=.5,Ja[fs]=.5,Ja[$l]=1,Ja[Hu]=1,Ja[fc]=.5,Ja[ms]=1,Ja[on]=1,Ja[fa]=.5,Ja[Qu]=.25,Ja[Il]=.5,Ja[vo]=.25,Ja[Wl]=.5;function Ef(At){return Array.isArray(At)&&(At.length===0||typeof At[0]==\"number\")}function tc(At){if(!Array.isArray(At))return!1;var Er=At.length;return!(Er===0||!an(At[0]))}function uu(At){return Object.prototype.toString.call(At)}function Mh(At){return uu(At)===dc}function jc(At){return uu(At)===Sl}function kf(At){return uu(At)===ec}function Ml(At){return uu(At)===Ps}function Yh(At){return uu(At)===ov}function Eh(At){return uu(At)===wo}function nh(At){if(!At)return!1;var Er=uu(At);return Od.indexOf(Er)>=0?!0:Ef(At)||tc(At)||Nr(At)}function hf(At){return Se[Object.prototype.toString.call(At)]|0}function kh(At,Er){var Wr=Er.length;switch(At.type){case Ks:case Zl:case Ec:case Zn:var wi=W.allocType(At.type,Wr);wi.set(Er),At.data=wi;break;case Hs:At.data=Yi(Er);break;default:}}function Kh(At,Er){return W.allocType(At.type===Hs?Zn:At.type,Er)}function rc(At,Er){At.type===Hs?(At.data=Yi(Er),W.freeType(Er)):At.data=Er}function ah(At,Er,Wr,wi,Ui,Oi){for(var Bi=At.width,cn=At.height,On=At.channels,Bn=Bi*cn*On,yn=Kh(At,Bn),to=0,Rn=0;Rn=1;)cn+=Bi*On*On,On/=2;return cn}else return Bi*Wr*wi}function df(At,Er,Wr,wi,Ui,Oi,Bi){var cn={\"don't care\":Gc,\"dont care\":Gc,nice:Bf,fast:vd},On={repeat:Tl,clamp:uf,mirror:So},Bn={nearest:Al,linear:Hc},yn=e({mipmap:kc,\"nearest mipmap nearest\":Ql,\"linear mipmap nearest\":Ls,\"nearest mipmap linear\":mu,\"linear mipmap linear\":kc},Bn),to={none:0,browser:hc},Rn={uint8:Ks,rgba4:Zs,rgb565:wl,\"rgb5 a1\":Xs},Dn={alpha:go,luminance:ho,\"luminance alpha\":Mo,rgb:Oo,rgba:Sa,rgba4:xo,\"rgb5 a1\":zs,rgb565:ks},fn={};Er.ext_srgb&&(Dn.srgb=ml,Dn.srgba=Ys),Er.oes_texture_float&&(Rn.float32=Rn.float=Zn),Er.oes_texture_half_float&&(Rn.float16=Rn[\"half float\"]=Hs),Er.webgl_depth_texture&&(e(Dn,{depth:cl,\"depth stencil\":Cs}),e(Rn,{uint16:Zl,uint32:Ec,\"depth stencil\":os})),Er.webgl_compressed_texture_s3tc&&e(fn,{\"rgb s3tc dxt1\":Eo,\"rgba s3tc dxt1\":fs,\"rgba s3tc dxt3\":$l,\"rgba s3tc dxt5\":Hu}),Er.webgl_compressed_texture_atc&&e(fn,{\"rgb atc\":fc,\"rgba atc explicit alpha\":ms,\"rgba atc interpolated alpha\":on}),Er.webgl_compressed_texture_pvrtc&&e(fn,{\"rgb pvrtc 4bppv1\":fa,\"rgb pvrtc 2bppv1\":Qu,\"rgba pvrtc 4bppv1\":Il,\"rgba pvrtc 2bppv1\":vo}),Er.webgl_compressed_texture_etc1&&(fn[\"rgb etc1\"]=Wl);var Ai=Array.prototype.slice.call(At.getParameter(hi));Object.keys(fn).forEach(function(de){var Ie=fn[de];Ai.indexOf(Ie)>=0&&(Dn[de]=Ie)});var ji=Object.keys(Dn);Wr.textureFormats=ji;var Ln=[];Object.keys(Dn).forEach(function(de){var Ie=Dn[de];Ln[Ie]=de});var Un=[];Object.keys(Rn).forEach(function(de){var Ie=Rn[de];Un[Ie]=de});var gn=[];Object.keys(Bn).forEach(function(de){var Ie=Bn[de];gn[Ie]=de});var ca=[];Object.keys(yn).forEach(function(de){var Ie=yn[de];ca[Ie]=de});var Kn=[];Object.keys(On).forEach(function(de){var Ie=On[de];Kn[Ie]=de});var Za=ji.reduce(function(de,Ie){var $e=Dn[Ie];return $e===ho||$e===go||$e===ho||$e===Mo||$e===cl||$e===Cs||Er.ext_srgb&&($e===ml||$e===Ys)?de[$e]=$e:$e===zs||Ie.indexOf(\"rgba\")>=0?de[$e]=Sa:de[$e]=Oo,de},{});function wn(){this.internalformat=Sa,this.format=Sa,this.type=Ks,this.compressed=!1,this.premultiplyAlpha=!1,this.flipY=!1,this.unpackAlignment=1,this.colorSpace=hc,this.width=0,this.height=0,this.channels=0}function vn(de,Ie){de.internalformat=Ie.internalformat,de.format=Ie.format,de.type=Ie.type,de.compressed=Ie.compressed,de.premultiplyAlpha=Ie.premultiplyAlpha,de.flipY=Ie.flipY,de.unpackAlignment=Ie.unpackAlignment,de.colorSpace=Ie.colorSpace,de.width=Ie.width,de.height=Ie.height,de.channels=Ie.channels}function Aa(de,Ie){if(!(typeof Ie!=\"object\"||!Ie)){if(\"premultiplyAlpha\"in Ie&&(de.premultiplyAlpha=Ie.premultiplyAlpha),\"flipY\"in Ie&&(de.flipY=Ie.flipY),\"alignment\"in Ie&&(de.unpackAlignment=Ie.alignment),\"colorSpace\"in Ie&&(de.colorSpace=to[Ie.colorSpace]),\"type\"in Ie){var $e=Ie.type;de.type=Rn[$e]}var pt=de.width,Kt=de.height,ir=de.channels,Jt=!1;\"shape\"in Ie?(pt=Ie.shape[0],Kt=Ie.shape[1],Ie.shape.length===3&&(ir=Ie.shape[2],Jt=!0)):(\"radius\"in Ie&&(pt=Kt=Ie.radius),\"width\"in Ie&&(pt=Ie.width),\"height\"in Ie&&(Kt=Ie.height),\"channels\"in Ie&&(ir=Ie.channels,Jt=!0)),de.width=pt|0,de.height=Kt|0,de.channels=ir|0;var vt=!1;if(\"format\"in Ie){var Pt=Ie.format,Wt=de.internalformat=Dn[Pt];de.format=Za[Wt],Pt in Rn&&(\"type\"in Ie||(de.type=Rn[Pt])),Pt in fn&&(de.compressed=!0),vt=!0}!Jt&&vt?de.channels=hs[de.format]:Jt&&!vt&&de.channels!==$s[de.format]&&(de.format=de.internalformat=$s[de.channels])}}function aa(de){At.pixelStorei(ih,de.flipY),At.pixelStorei(Ul,de.premultiplyAlpha),At.pixelStorei(Js,de.colorSpace),At.pixelStorei(ff,de.unpackAlignment)}function Xn(){wn.call(this),this.xOffset=0,this.yOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function Vn(de,Ie){var $e=null;if(nh(Ie)?$e=Ie:Ie&&(Aa(de,Ie),\"x\"in Ie&&(de.xOffset=Ie.x|0),\"y\"in Ie&&(de.yOffset=Ie.y|0),nh(Ie.data)&&($e=Ie.data)),Ie.copy){var pt=Ui.viewportWidth,Kt=Ui.viewportHeight;de.width=de.width||pt-de.xOffset,de.height=de.height||Kt-de.yOffset,de.needsCopy=!0}else if(!$e)de.width=de.width||1,de.height=de.height||1,de.channels=de.channels||4;else if(Or($e))de.channels=de.channels||4,de.data=$e,!(\"type\"in Ie)&&de.type===Ks&&(de.type=hf($e));else if(Ef($e))de.channels=de.channels||4,kh(de,$e),de.alignment=1,de.needsFree=!0;else if(Nr($e)){var ir=$e.data;!Array.isArray(ir)&&de.type===Ks&&(de.type=hf(ir));var Jt=$e.shape,vt=$e.stride,Pt,Wt,rr,dr,pr,kr;Jt.length===3?(rr=Jt[2],kr=vt[2]):(rr=1,kr=1),Pt=Jt[0],Wt=Jt[1],dr=vt[0],pr=vt[1],de.alignment=1,de.width=Pt,de.height=Wt,de.channels=rr,de.format=de.internalformat=$s[rr],de.needsFree=!0,ah(de,ir,dr,pr,kr,$e.offset)}else if(Mh($e)||jc($e)||kf($e))Mh($e)||jc($e)?de.element=$e:de.element=$e.canvas,de.width=de.element.width,de.height=de.element.height,de.channels=4;else if(Ml($e))de.element=$e,de.width=$e.width,de.height=$e.height,de.channels=4;else if(Yh($e))de.element=$e,de.width=$e.naturalWidth,de.height=$e.naturalHeight,de.channels=4;else if(Eh($e))de.element=$e,de.width=$e.videoWidth,de.height=$e.videoHeight,de.channels=4;else if(tc($e)){var Ar=de.width||$e[0].length,gr=de.height||$e.length,Cr=de.channels;an($e[0][0])?Cr=Cr||$e[0][0].length:Cr=Cr||1;for(var cr=Ne.shape($e),Gr=1,ei=0;ei>=Kt,$e.height>>=Kt,Vn($e,pt[Kt]),de.mipmask|=1<=0&&!(\"faces\"in Ie)&&(de.genMipmaps=!0)}if(\"mag\"in Ie){var pt=Ie.mag;de.magFilter=Bn[pt]}var Kt=de.wrapS,ir=de.wrapT;if(\"wrap\"in Ie){var Jt=Ie.wrap;typeof Jt==\"string\"?Kt=ir=On[Jt]:Array.isArray(Jt)&&(Kt=On[Jt[0]],ir=On[Jt[1]])}else{if(\"wrapS\"in Ie){var vt=Ie.wrapS;Kt=On[vt]}if(\"wrapT\"in Ie){var Pt=Ie.wrapT;ir=On[Pt]}}if(de.wrapS=Kt,de.wrapT=ir,\"anisotropic\"in Ie){var Wt=Ie.anisotropic;de.anisotropic=Ie.anisotropic}if(\"mipmap\"in Ie){var rr=!1;switch(typeof Ie.mipmap){case\"string\":de.mipmapHint=cn[Ie.mipmap],de.genMipmaps=!0,rr=!0;break;case\"boolean\":rr=de.genMipmaps=Ie.mipmap;break;case\"object\":de.genMipmaps=!1,rr=!0;break;default:}rr&&!(\"min\"in Ie)&&(de.minFilter=Ql)}}function wc(de,Ie){At.texParameteri(Ie,rh,de.minFilter),At.texParameteri(Ie,cf,de.magFilter),At.texParameteri(Ie,ko,de.wrapS),At.texParameteri(Ie,Co,de.wrapT),Er.ext_texture_filter_anisotropic&&At.texParameteri(Ie,ss,de.anisotropic),de.genMipmaps&&(At.hint(Of,de.mipmapHint),At.generateMipmap(Ie))}var yf=0,Hl={},Fc=Wr.maxTextureUnits,ef=Array(Fc).map(function(){return null});function ls(de){wn.call(this),this.mipmask=0,this.internalformat=Sa,this.id=yf++,this.refCount=1,this.target=de,this.texture=At.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new El,Bi.profile&&(this.stats={size:0})}function _f(de){At.activeTexture(Cc),At.bindTexture(de.target,de.texture)}function ns(){var de=ef[0];de?At.bindTexture(de.target,de.texture):At.bindTexture(Ji,null)}function Y(de){var Ie=de.texture,$e=de.unit,pt=de.target;$e>=0&&(At.activeTexture(Cc+$e),At.bindTexture(pt,null),ef[$e]=null),At.deleteTexture(Ie),de.texture=null,de.params=null,de.pixels=null,de.refCount=0,delete Hl[de.id],Oi.textureCount--}e(ls.prototype,{bind:function(){var de=this;de.bindCount+=1;var Ie=de.unit;if(Ie<0){for(var $e=0;$e0)continue;pt.unit=-1}ef[$e]=de,Ie=$e;break}Ie>=Fc,Bi.profile&&Oi.maxTextureUnits>pr)-rr,kr.height=kr.height||($e.height>>pr)-dr,_f($e),ro(kr,Ji,rr,dr,pr),ns(),Oa(kr),pt}function ir(Jt,vt){var Pt=Jt|0,Wt=vt|0||Pt;if(Pt===$e.width&&Wt===$e.height)return pt;pt.width=$e.width=Pt,pt.height=$e.height=Wt,_f($e);for(var rr=0;$e.mipmask>>rr;++rr){var dr=Pt>>rr,pr=Wt>>rr;if(!dr||!pr)break;At.texImage2D(Ji,rr,$e.format,dr,pr,0,$e.format,$e.type,null)}return ns(),Bi.profile&&($e.stats.size=Wc($e.internalformat,$e.type,Pt,Wt,!1,!1)),pt}return pt(de,Ie),pt.subimage=Kt,pt.resize=ir,pt._reglType=\"texture2d\",pt._texture=$e,Bi.profile&&(pt.stats=$e.stats),pt.destroy=function(){$e.decRef()},pt}function K(de,Ie,$e,pt,Kt,ir){var Jt=new ls(ua);Hl[Jt.id]=Jt,Oi.cubeCount++;var vt=new Array(6);function Pt(dr,pr,kr,Ar,gr,Cr){var cr,Gr=Jt.texInfo;for(El.call(Gr),cr=0;cr<6;++cr)vt[cr]=xs();if(typeof dr==\"number\"||!dr){var ei=dr|0||1;for(cr=0;cr<6;++cr)Po(vt[cr],ei,ei)}else if(typeof dr==\"object\")if(pr)Jo(vt[0],dr),Jo(vt[1],pr),Jo(vt[2],kr),Jo(vt[3],Ar),Jo(vt[4],gr),Jo(vt[5],Cr);else if(bc(Gr,dr),Aa(Jt,dr),\"faces\"in dr){var yi=dr.faces;for(cr=0;cr<6;++cr)vn(vt[cr],Jt),Jo(vt[cr],yi[cr])}else for(cr=0;cr<6;++cr)Jo(vt[cr],dr);for(vn(Jt,vt[0]),Gr.genMipmaps?Jt.mipmask=(vt[0].width<<1)-1:Jt.mipmask=vt[0].mipmask,Jt.internalformat=vt[0].internalformat,Pt.width=vt[0].width,Pt.height=vt[0].height,_f(Jt),cr=0;cr<6;++cr)Xl(vt[cr],Fn+cr);for(wc(Gr,ua),ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,Gr.genMipmaps,!0)),Pt.format=Ln[Jt.internalformat],Pt.type=Un[Jt.type],Pt.mag=gn[Gr.magFilter],Pt.min=ca[Gr.minFilter],Pt.wrapS=Kn[Gr.wrapS],Pt.wrapT=Kn[Gr.wrapT],cr=0;cr<6;++cr)Qc(vt[cr]);return Pt}function Wt(dr,pr,kr,Ar,gr){var Cr=kr|0,cr=Ar|0,Gr=gr|0,ei=Jn();return vn(ei,Jt),ei.width=0,ei.height=0,Vn(ei,pr),ei.width=ei.width||(Jt.width>>Gr)-Cr,ei.height=ei.height||(Jt.height>>Gr)-cr,_f(Jt),ro(ei,Fn+dr,Cr,cr,Gr),ns(),Oa(ei),Pt}function rr(dr){var pr=dr|0;if(pr!==Jt.width){Pt.width=Jt.width=pr,Pt.height=Jt.height=pr,_f(Jt);for(var kr=0;kr<6;++kr)for(var Ar=0;Jt.mipmask>>Ar;++Ar)At.texImage2D(Fn+kr,Ar,Jt.format,pr>>Ar,pr>>Ar,0,Jt.format,Jt.type,null);return ns(),Bi.profile&&(Jt.stats.size=Wc(Jt.internalformat,Jt.type,Pt.width,Pt.height,!1,!0)),Pt}}return Pt(de,Ie,$e,pt,Kt,ir),Pt.subimage=Wt,Pt.resize=rr,Pt._reglType=\"textureCube\",Pt._texture=Jt,Bi.profile&&(Pt.stats=Jt.stats),Pt.destroy=function(){Jt.decRef()},Pt}function O(){for(var de=0;de>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);else for(var Kt=0;Kt<6;++Kt)At.texImage2D(Fn+Kt,pt,$e.internalformat,$e.width>>pt,$e.height>>pt,0,$e.internalformat,$e.type,null);wc($e.texInfo,$e.target)})}function pe(){for(var de=0;de=0?Qc=!0:On.indexOf(El)>=0&&(Qc=!1))),(\"depthTexture\"in ls||\"depthStencilTexture\"in ls)&&(ef=!!(ls.depthTexture||ls.depthStencilTexture)),\"depth\"in ls&&(typeof ls.depth==\"boolean\"?Xl=ls.depth:(yf=ls.depth,$c=!1)),\"stencil\"in ls&&(typeof ls.stencil==\"boolean\"?$c=ls.stencil:(Hl=ls.stencil,Xl=!1)),\"depthStencil\"in ls&&(typeof ls.depthStencil==\"boolean\"?Xl=$c=ls.depthStencil:(Fc=ls.depthStencil,Xl=!1,$c=!1))}var ns=null,Y=null,z=null,K=null;if(Array.isArray(xs))ns=xs.map(fn);else if(xs)ns=[fn(xs)];else for(ns=new Array(wc),_o=0;_o0&&(Oa.depth=Vn[0].depth,Oa.stencil=Vn[0].stencil,Oa.depthStencil=Vn[0].depthStencil),Vn[Jn]?Vn[Jn](Oa):Vn[Jn]=vn(Oa)}return e(ma,{width:_o,height:_o,color:El})}function ro(Ao){var Jn,Oa=Ao|0;if(Oa===ma.width)return ma;var _o=ma.color;for(Jn=0;Jn<_o.length;++Jn)_o[Jn].resize(Oa);for(Jn=0;Jn<6;++Jn)Vn[Jn].resize(Oa);return ma.width=ma.height=Oa,ma}return ma(Xn),e(ma,{faces:Vn,resize:ro,_reglType:\"framebufferCube\",destroy:function(){Vn.forEach(function(Ao){Ao.destroy()})}})}function aa(){Bi.cur=null,Bi.next=null,Bi.dirty=!0,ut(gn).forEach(function(Xn){Xn.framebuffer=At.createFramebuffer(),wn(Xn)})}return e(Bi,{getFramebuffer:function(Xn){if(typeof Xn==\"function\"&&Xn._reglType===\"framebuffer\"){var Vn=Xn._framebuffer;if(Vn instanceof ca)return Vn}return null},create:vn,createCube:Aa,clear:function(){ut(gn).forEach(Za)},restore:aa})}var md=5126,sh=34962,Fs=34963;function _u(){this.state=0,this.x=0,this.y=0,this.z=0,this.w=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=md,this.offset=0,this.stride=0,this.divisor=0}function xu(At,Er,Wr,wi,Ui,Oi,Bi){for(var cn=Wr.maxAttributes,On=new Array(cn),Bn=0;Bn=_o.byteLength?Po.subdata(_o):(Po.destroy(),vn.buffers[Ao]=null)),vn.buffers[Ao]||(Po=vn.buffers[Ao]=Ui.create(Jn,sh,!1,!0)),Oa.buffer=Ui.getBuffer(Po),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1,ma[Ao]=1}else Ui.getBuffer(Jn)?(Oa.buffer=Ui.getBuffer(Jn),Oa.size=Oa.buffer.dimension|0,Oa.normalized=!1,Oa.type=Oa.buffer.dtype,Oa.offset=0,Oa.stride=0,Oa.divisor=0,Oa.state=1):Ui.getBuffer(Jn.buffer)?(Oa.buffer=Ui.getBuffer(Jn.buffer),Oa.size=(+Jn.size||Oa.buffer.dimension)|0,Oa.normalized=!!Jn.normalized||!1,\"type\"in Jn?Oa.type=bi[Jn.type]:Oa.type=Oa.buffer.dtype,Oa.offset=(Jn.offset||0)|0,Oa.stride=(Jn.stride||0)|0,Oa.divisor=(Jn.divisor||0)|0,Oa.state=1):\"x\"in Jn&&(Oa.x=+Jn.x||0,Oa.y=+Jn.y||0,Oa.z=+Jn.z||0,Oa.w=+Jn.w||0,Oa.state=2)}for(var Jo=0;Jo1)for(var aa=0;aaAi&&(Ai=ji.stats.uniformsCount)}),Ai},Wr.getMaxAttributesCount=function(){var Ai=0;return yn.forEach(function(ji){ji.stats.attributesCount>Ai&&(Ai=ji.stats.attributesCount)}),Ai});function fn(){Ui={},Oi={};for(var Ai=0;Ai16&&(Wr=Ti(Wr,At.length*8));for(var wi=Array(16),Ui=Array(16),Oi=0;Oi<16;Oi++)wi[Oi]=Wr[Oi]^909522486,Ui[Oi]=Wr[Oi]^1549556828;var Bi=Ti(wi.concat(gf(Er)),512+Er.length*8);return gt(Ti(Ui.concat(Bi),768))}function ru(At){for(var Er=Ih?\"0123456789ABCDEF\":\"0123456789abcdef\",Wr=\"\",wi,Ui=0;Ui>>4&15)+Er.charAt(wi&15);return Wr}function mc(At){for(var Er=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Wr=\"\",wi=At.length,Ui=0;UiAt.length*8?Wr+=Wu:Wr+=Er.charAt(Oi>>>6*(3-Bi)&63);return Wr}function Yc(At,Er){var Wr=Er.length,wi=Array(),Ui,Oi,Bi,cn,On=Array(Math.ceil(At.length/2));for(Ui=0;Ui0;){for(cn=Array(),Bi=0,Ui=0;Ui0||Oi>0)&&(cn[cn.length]=Oi);wi[wi.length]=Bi,On=cn}var Bn=\"\";for(Ui=wi.length-1;Ui>=0;Ui--)Bn+=Er.charAt(wi[Ui]);var yn=Math.ceil(At.length*8/(Math.log(Er.length)/Math.log(2)));for(Ui=Bn.length;Ui>>6&31,128|wi&63):wi<=65535?Er+=String.fromCharCode(224|wi>>>12&15,128|wi>>>6&63,128|wi&63):wi<=2097151&&(Er+=String.fromCharCode(240|wi>>>18&7,128|wi>>>12&63,128|wi>>>6&63,128|wi&63));return Er}function gf(At){for(var Er=Array(At.length>>2),Wr=0;Wr>5]|=(At.charCodeAt(Wr/8)&255)<<24-Wr%32;return Er}function gt(At){for(var Er=\"\",Wr=0;Wr>5]>>>24-Wr%32&255);return Er}function Bt(At,Er){return At>>>Er|At<<32-Er}function wr(At,Er){return At>>>Er}function vr(At,Er,Wr){return At&Er^~At&Wr}function Ur(At,Er,Wr){return At&Er^At&Wr^Er&Wr}function fi(At){return Bt(At,2)^Bt(At,13)^Bt(At,22)}function xi(At){return Bt(At,6)^Bt(At,11)^Bt(At,25)}function Fi(At){return Bt(At,7)^Bt(At,18)^wr(At,3)}function Xi(At){return Bt(At,17)^Bt(At,19)^wr(At,10)}var hn=new Array(1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998);function Ti(At,Er){var Wr=new Array(1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225),wi=new Array(64),Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai;for(At[Er>>5]|=128<<24-Er%32,At[(Er+64>>9<<4)+15]=Er,Rn=0;Rn>16)+(Er>>16)+(Wr>>16);return wi<<16|Wr&65535}function Ii(At){return Array.prototype.slice.call(At)}function mi(At){return Ii(At).join(\"\")}function Pn(At){var Er=At&&At.cache,Wr=0,wi=[],Ui=[],Oi=[];function Bi(fn,Ai){var ji=Ai&&Ai.stable;if(!ji){for(var Ln=0;Ln0&&(fn.push(Un,\"=\"),fn.push.apply(fn,Ii(arguments)),fn.push(\";\")),Un}return e(Ai,{def:Ln,toString:function(){return mi([ji.length>0?\"var \"+ji.join(\",\")+\";\":\"\",mi(fn)])}})}function On(){var fn=cn(),Ai=cn(),ji=fn.toString,Ln=Ai.toString;function Un(gn,ca){Ai(gn,ca,\"=\",fn.def(gn,ca),\";\")}return e(function(){fn.apply(fn,Ii(arguments))},{def:fn.def,entry:fn,exit:Ai,save:Un,set:function(gn,ca,Kn){Un(gn,ca),fn(gn,ca,\"=\",Kn,\";\")},toString:function(){return ji()+Ln()}})}function Bn(){var fn=mi(arguments),Ai=On(),ji=On(),Ln=Ai.toString,Un=ji.toString;return e(Ai,{then:function(){return Ai.apply(Ai,Ii(arguments)),this},else:function(){return ji.apply(ji,Ii(arguments)),this},toString:function(){var gn=Un();return gn&&(gn=\"else{\"+gn+\"}\"),mi([\"if(\",fn,\"){\",Ln(),\"}\",gn])}})}var yn=cn(),to={};function Rn(fn,Ai){var ji=[];function Ln(){var Za=\"a\"+ji.length;return ji.push(Za),Za}Ai=Ai||0;for(var Un=0;Un\":516,notequal:517,\"!=\":517,\"!==\":517,gequal:518,\">=\":518,always:519},Kr={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,\"increment wrap\":34055,\"decrement wrap\":34056,invert:5386},ii={cw:we,ccw:Be};function vi(At){return Array.isArray(At)||Or(At)||Nr(At)}function ci(At){return At.sort(function(Er,Wr){return Er===ee?-1:Wr===ee?1:Er=1,wi>=2,Er)}else if(Wr===Xo){var Ui=At.data;return new Jr(Ui.thisDep,Ui.contextDep,Ui.propDep,Er)}else{if(Wr===Ts)return new Jr(!1,!1,!1,Er);if(Wr===Qo){for(var Oi=!1,Bi=!1,cn=!1,On=0;On=1&&(Bi=!0),yn>=2&&(cn=!0)}else Bn.type===Xo&&(Oi=Oi||Bn.data.thisDep,Bi=Bi||Bn.data.contextDep,cn=cn||Bn.data.propDep)}return new Jr(Oi,Bi,cn,Er)}else return new Jr(Wr===mo,Wr===Ua,Wr===sn,Er)}}var Nn=new Jr(!1,!1,!1,function(){});function ga(At,Er,Wr,wi,Ui,Oi,Bi,cn,On,Bn,yn,to,Rn,Dn,fn,Ai){var ji=Bn.Record,Ln={add:32774,subtract:32778,\"reverse subtract\":32779};Wr.ext_blend_minmax&&(Ln.min=Ue,Ln.max=We);var Un=Wr.angle_instanced_arrays,gn=Wr.webgl_draw_buffers,ca=Wr.oes_vertex_array_object,Kn={dirty:!0,profile:Ai.profile},Za={},wn=[],vn={},Aa={};function aa(vt){return vt.replace(\".\",\"_\")}function Xn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Za[rr]=Kn[rr]=!!Wt,vn[rr]=Pt}function Vn(vt,Pt,Wt){var rr=aa(vt);wn.push(vt),Array.isArray(Wt)?(Kn[rr]=Wt.slice(),Za[rr]=Wt.slice()):Kn[rr]=Za[rr]=Wt,Aa[rr]=Pt}function ma(vt){return!!isNaN(vt)}Xn(ys,di),Xn(Bo,Xr),Vn(yl,\"blendColor\",[0,0,0,0]),Vn(Gs,\"blendEquationSeparate\",[lr,lr]),Vn(Rs,\"blendFuncSeparate\",[or,zt,or,zt]),Xn(ia,Ci,!0),Vn(Ka,\"depthFunc\",Dr),Vn(vs,\"depthRange\",[0,1]),Vn(Ko,\"depthMask\",!0),Vn(iu,iu,[!0,!0,!0,!0]),Xn(Ru,zr),Vn(ac,\"cullFace\",oe),Vn(mf,mf,Be),Vn(bu,bu,1),Xn(Kc,Mn),Vn(Du,\"polygonOffset\",[0,0]),Xn(Dc,pa),Xn(Da,ea),Vn(eo,\"sampleCoverage\",[1,!1]),Xn(Jc,Li),Vn(yc,\"stencilMask\",-1),Vn(_c,\"stencilFunc\",[wt,0,-1]),Vn(le,\"stencilOpSeparate\",[Z,tt,tt,tt]),Vn(w,\"stencilOpSeparate\",[oe,tt,tt,tt]),Xn(B,Qi),Vn(Q,\"scissor\",[0,0,At.drawingBufferWidth,At.drawingBufferHeight]),Vn(ee,ee,[0,0,At.drawingBufferWidth,At.drawingBufferHeight]);var ro={gl:At,context:Rn,strings:Er,next:Za,current:Kn,draw:to,elements:Oi,buffer:Ui,shader:yn,attributes:Bn.state,vao:Bn,uniforms:On,framebuffer:cn,extensions:Wr,timer:Dn,isBufferArgs:vi},Ao={primTypes:Ki,compareFuncs:qr,blendFuncs:ui,blendEquations:Ln,stencilOps:Kr,glTypes:bi,orientationType:ii};gn&&(Ao.backBuffer=[oe],Ao.drawBuffer=M(wi.maxDrawbuffers,function(vt){return vt===0?[0]:M(vt,function(Pt){return oi+Pt})}));var Jn=0;function Oa(){var vt=Pn({cache:fn}),Pt=vt.link,Wt=vt.global;vt.id=Jn++,vt.batchId=\"0\";var rr=Pt(ro),dr=vt.shared={props:\"a0\"};Object.keys(ro).forEach(function(Cr){dr[Cr]=Wt.def(rr,\".\",Cr)});var pr=vt.next={},kr=vt.current={};Object.keys(Aa).forEach(function(Cr){Array.isArray(Kn[Cr])&&(pr[Cr]=Wt.def(dr.next,\".\",Cr),kr[Cr]=Wt.def(dr.current,\".\",Cr))});var Ar=vt.constants={};Object.keys(Ao).forEach(function(Cr){Ar[Cr]=Wt.def(JSON.stringify(Ao[Cr]))}),vt.invoke=function(Cr,cr){switch(cr.type){case Cn:var Gr=[\"this\",dr.context,dr.props,vt.batchId];return Cr.def(Pt(cr.data),\".call(\",Gr.slice(0,Math.max(cr.data.length+1,4)),\")\");case sn:return Cr.def(dr.props,cr.data);case Ua:return Cr.def(dr.context,cr.data);case mo:return Cr.def(\"this\",cr.data);case Xo:return cr.data.append(vt,Cr),cr.data.ref;case Ts:return cr.data.toString();case Qo:return cr.data.map(function(ei){return vt.invoke(Cr,ei)})}},vt.attribCache={};var gr={};return vt.scopeAttrib=function(Cr){var cr=Er.id(Cr);if(cr in gr)return gr[cr];var Gr=Bn.scope[cr];Gr||(Gr=Bn.scope[cr]=new ji);var ei=gr[cr]=Pt(Gr);return ei},vt}function _o(vt){var Pt=vt.static,Wt=vt.dynamic,rr;if(se in Pt){var dr=!!Pt[se];rr=dn(function(kr,Ar){return dr}),rr.enable=dr}else if(se in Wt){var pr=Wt[se];rr=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}return rr}function Po(vt,Pt){var Wt=vt.static,rr=vt.dynamic;if(qe in Wt){var dr=Wt[qe];return dr?(dr=cn.getFramebuffer(dr),dn(function(kr,Ar){var gr=kr.link(dr),Cr=kr.shared;Ar.set(Cr.framebuffer,\".next\",gr);var cr=Cr.context;return Ar.set(cr,\".\"+Oe,gr+\".width\"),Ar.set(cr,\".\"+Je,gr+\".height\"),gr})):dn(function(kr,Ar){var gr=kr.shared;Ar.set(gr.framebuffer,\".next\",\"null\");var Cr=gr.context;return Ar.set(Cr,\".\"+Oe,Cr+\".\"+Dt),Ar.set(Cr,\".\"+Je,Cr+\".\"+Ut),\"null\"})}else if(qe in rr){var pr=rr[qe];return En(pr,function(kr,Ar){var gr=kr.invoke(Ar,pr),Cr=kr.shared,cr=Cr.framebuffer,Gr=Ar.def(cr,\".getFramebuffer(\",gr,\")\");Ar.set(cr,\".next\",Gr);var ei=Cr.context;return Ar.set(ei,\".\"+Oe,Gr+\"?\"+Gr+\".width:\"+ei+\".\"+Dt),Ar.set(ei,\".\"+Je,Gr+\"?\"+Gr+\".height:\"+ei+\".\"+Ut),Gr})}else return null}function Jo(vt,Pt,Wt){var rr=vt.static,dr=vt.dynamic;function pr(gr){if(gr in rr){var Cr=rr[gr],cr=!0,Gr=Cr.x|0,ei=Cr.y|0,yi,tn;return\"width\"in Cr?yi=Cr.width|0:cr=!1,\"height\"in Cr?tn=Cr.height|0:cr=!1,new Jr(!cr&&Pt&&Pt.thisDep,!cr&&Pt&&Pt.contextDep,!cr&&Pt&&Pt.propDep,function(Qn,qn){var rn=Qn.shared.context,bn=yi;\"width\"in Cr||(bn=qn.def(rn,\".\",Oe,\"-\",Gr));var mn=tn;return\"height\"in Cr||(mn=qn.def(rn,\".\",Je,\"-\",ei)),[Gr,ei,bn,mn]})}else if(gr in dr){var Ri=dr[gr],ln=En(Ri,function(Qn,qn){var rn=Qn.invoke(qn,Ri),bn=Qn.shared.context,mn=qn.def(rn,\".x|0\"),Gn=qn.def(rn,\".y|0\"),da=qn.def('\"width\" in ',rn,\"?\",rn,\".width|0:\",\"(\",bn,\".\",Oe,\"-\",mn,\")\"),No=qn.def('\"height\" in ',rn,\"?\",rn,\".height|0:\",\"(\",bn,\".\",Je,\"-\",Gn,\")\");return[mn,Gn,da,No]});return Pt&&(ln.thisDep=ln.thisDep||Pt.thisDep,ln.contextDep=ln.contextDep||Pt.contextDep,ln.propDep=ln.propDep||Pt.propDep),ln}else return Pt?new Jr(Pt.thisDep,Pt.contextDep,Pt.propDep,function(Qn,qn){var rn=Qn.shared.context;return[0,0,qn.def(rn,\".\",Oe),qn.def(rn,\".\",Je)]}):null}var kr=pr(ee);if(kr){var Ar=kr;kr=new Jr(kr.thisDep,kr.contextDep,kr.propDep,function(gr,Cr){var cr=Ar.append(gr,Cr),Gr=gr.shared.context;return Cr.set(Gr,\".\"+He,cr[2]),Cr.set(Gr,\".\"+et,cr[3]),cr})}return{viewport:kr,scissor_box:pr(Q)}}function Xl(vt,Pt){var Wt=vt.static,rr=typeof Wt[it]==\"string\"&&typeof Wt[je]==\"string\";if(rr){if(Object.keys(Pt.dynamic).length>0)return null;var dr=Pt.static,pr=Object.keys(dr);if(pr.length>0&&typeof dr[pr[0]]==\"number\"){for(var kr=[],Ar=0;Ar\"+mn+\"?\"+cr+\".constant[\"+mn+\"]:0;\"}).join(\"\"),\"}}else{\",\"if(\",yi,\"(\",cr,\".buffer)){\",Qn,\"=\",tn,\".createStream(\",mr,\",\",cr,\".buffer);\",\"}else{\",Qn,\"=\",tn,\".getBuffer(\",cr,\".buffer);\",\"}\",qn,'=\"type\" in ',cr,\"?\",ei.glTypes,\"[\",cr,\".type]:\",Qn,\".dtype;\",Ri.normalized,\"=!!\",cr,\".normalized;\");function rn(bn){Cr(Ri[bn],\"=\",cr,\".\",bn,\"|0;\")}return rn(\"size\"),rn(\"offset\"),rn(\"stride\"),rn(\"divisor\"),Cr(\"}}\"),Cr.exit(\"if(\",Ri.isStream,\"){\",tn,\".destroyStream(\",Qn,\");\",\"}\"),Ri}dr[pr]=En(kr,Ar)}),dr}function wc(vt){var Pt=vt.static,Wt=vt.dynamic,rr={};return Object.keys(Pt).forEach(function(dr){var pr=Pt[dr];rr[dr]=dn(function(kr,Ar){return typeof pr==\"number\"||typeof pr==\"boolean\"?\"\"+pr:kr.link(pr)})}),Object.keys(Wt).forEach(function(dr){var pr=Wt[dr];rr[dr]=En(pr,function(kr,Ar){return kr.invoke(Ar,pr)})}),rr}function yf(vt,Pt,Wt,rr,dr){var pr=vt.static,kr=vt.dynamic,Ar=Xl(vt,Pt),gr=Po(vt,dr),Cr=Jo(vt,gr,dr),cr=xs(vt,dr),Gr=Qc(vt,dr),ei=$c(vt,dr,Ar);function yi(rn){var bn=Cr[rn];bn&&(Gr[rn]=bn)}yi(ee),yi(aa(Q));var tn=Object.keys(Gr).length>0,Ri={framebuffer:gr,draw:cr,shader:ei,state:Gr,dirty:tn,scopeVAO:null,drawVAO:null,useVAO:!1,attributes:{}};if(Ri.profile=_o(vt,dr),Ri.uniforms=El(Wt,dr),Ri.drawVAO=Ri.scopeVAO=cr.vao,!Ri.drawVAO&&ei.program&&!Ar&&Wr.angle_instanced_arrays&&cr.static.elements){var ln=!0,Qn=ei.program.attributes.map(function(rn){var bn=Pt.static[rn];return ln=ln&&!!bn,bn});if(ln&&Qn.length>0){var qn=Bn.getVAO(Bn.createVAO({attributes:Qn,elements:cr.static.elements}));Ri.drawVAO=new Jr(null,null,null,function(rn,bn){return rn.link(qn)}),Ri.useVAO=!0}}return Ar?Ri.useVAO=!0:Ri.attributes=bc(Pt,dr),Ri.context=wc(rr,dr),Ri}function Hl(vt,Pt,Wt){var rr=vt.shared,dr=rr.context,pr=vt.scope();Object.keys(Wt).forEach(function(kr){Pt.save(dr,\".\"+kr);var Ar=Wt[kr],gr=Ar.append(vt,Pt);Array.isArray(gr)?pr(dr,\".\",kr,\"=[\",gr.join(),\"];\"):pr(dr,\".\",kr,\"=\",gr,\";\")}),Pt(pr)}function Fc(vt,Pt,Wt,rr){var dr=vt.shared,pr=dr.gl,kr=dr.framebuffer,Ar;gn&&(Ar=Pt.def(dr.extensions,\".webgl_draw_buffers\"));var gr=vt.constants,Cr=gr.drawBuffer,cr=gr.backBuffer,Gr;Wt?Gr=Wt.append(vt,Pt):Gr=Pt.def(kr,\".next\"),rr||Pt(\"if(\",Gr,\"!==\",kr,\".cur){\"),Pt(\"if(\",Gr,\"){\",pr,\".bindFramebuffer(\",Ir,\",\",Gr,\".framebuffer);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",Cr,\"[\",Gr,\".colorAttachments.length]);\"),Pt(\"}else{\",pr,\".bindFramebuffer(\",Ir,\",null);\"),gn&&Pt(Ar,\".drawBuffersWEBGL(\",cr,\");\"),Pt(\"}\",kr,\".cur=\",Gr,\";\"),rr||Pt(\"}\")}function ef(vt,Pt,Wt){var rr=vt.shared,dr=rr.gl,pr=vt.current,kr=vt.next,Ar=rr.current,gr=rr.next,Cr=vt.cond(Ar,\".dirty\");wn.forEach(function(cr){var Gr=aa(cr);if(!(Gr in Wt.state)){var ei,yi;if(Gr in kr){ei=kr[Gr],yi=pr[Gr];var tn=M(Kn[Gr].length,function(ln){return Cr.def(ei,\"[\",ln,\"]\")});Cr(vt.cond(tn.map(function(ln,Qn){return ln+\"!==\"+yi+\"[\"+Qn+\"]\"}).join(\"||\")).then(dr,\".\",Aa[Gr],\"(\",tn,\");\",tn.map(function(ln,Qn){return yi+\"[\"+Qn+\"]=\"+ln}).join(\";\"),\";\"))}else{ei=Cr.def(gr,\".\",Gr);var Ri=vt.cond(ei,\"!==\",Ar,\".\",Gr);Cr(Ri),Gr in vn?Ri(vt.cond(ei).then(dr,\".enable(\",vn[Gr],\");\").else(dr,\".disable(\",vn[Gr],\");\"),Ar,\".\",Gr,\"=\",ei,\";\"):Ri(dr,\".\",Aa[Gr],\"(\",ei,\");\",Ar,\".\",Gr,\"=\",ei,\";\")}}}),Object.keys(Wt.state).length===0&&Cr(Ar,\".dirty=false;\"),Pt(Cr)}function ls(vt,Pt,Wt,rr){var dr=vt.shared,pr=vt.current,kr=dr.current,Ar=dr.gl,gr;ci(Object.keys(Wt)).forEach(function(Cr){var cr=Wt[Cr];if(!(rr&&!rr(cr))){var Gr=cr.append(vt,Pt);if(vn[Cr]){var ei=vn[Cr];un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(vt.cond(gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",gr,\";\")):(Pt(vt.cond(Gr).then(Ar,\".enable(\",ei,\");\").else(Ar,\".disable(\",ei,\");\")),Pt(kr,\".\",Cr,\"=\",Gr,\";\"))}else if(an(Gr)){var yi=pr[Cr];Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",Gr.map(function(tn,Ri){return yi+\"[\"+Ri+\"]=\"+tn}).join(\";\"),\";\")}else un(cr)?(gr=vt.link(Gr,{stable:!0}),Pt(Ar,\".\",Aa[Cr],\"(\",gr,\");\",kr,\".\",Cr,\"=\",gr,\";\")):Pt(Ar,\".\",Aa[Cr],\"(\",Gr,\");\",kr,\".\",Cr,\"=\",Gr,\";\")}})}function _f(vt,Pt){Un&&(vt.instancing=Pt.def(vt.shared.extensions,\".angle_instanced_arrays\"))}function ns(vt,Pt,Wt,rr,dr){var pr=vt.shared,kr=vt.stats,Ar=pr.current,gr=pr.timer,Cr=Wt.profile;function cr(){return typeof performance==\"undefined\"?\"Date.now()\":\"performance.now()\"}var Gr,ei;function yi(rn){Gr=Pt.def(),rn(Gr,\"=\",cr(),\";\"),typeof dr==\"string\"?rn(kr,\".count+=\",dr,\";\"):rn(kr,\".count++;\"),Dn&&(rr?(ei=Pt.def(),rn(ei,\"=\",gr,\".getNumPendingQueries();\")):rn(gr,\".beginQuery(\",kr,\");\"))}function tn(rn){rn(kr,\".cpuTime+=\",cr(),\"-\",Gr,\";\"),Dn&&(rr?rn(gr,\".pushScopeStats(\",ei,\",\",gr,\".getNumPendingQueries(),\",kr,\");\"):rn(gr,\".endQuery();\"))}function Ri(rn){var bn=Pt.def(Ar,\".profile\");Pt(Ar,\".profile=\",rn,\";\"),Pt.exit(Ar,\".profile=\",bn,\";\")}var ln;if(Cr){if(un(Cr)){Cr.enable?(yi(Pt),tn(Pt.exit),Ri(\"true\")):Ri(\"false\");return}ln=Cr.append(vt,Pt),Ri(ln)}else ln=Pt.def(Ar,\".profile\");var Qn=vt.block();yi(Qn),Pt(\"if(\",ln,\"){\",Qn,\"}\");var qn=vt.block();tn(qn),Pt.exit(\"if(\",ln,\"){\",qn,\"}\")}function Y(vt,Pt,Wt,rr,dr){var pr=vt.shared;function kr(gr){switch(gr){case To:case Ds:case _l:return 2;case Wa:case As:case Vl:return 3;case co:case yo:case Zu:return 4;default:return 1}}function Ar(gr,Cr,cr){var Gr=pr.gl,ei=Pt.def(gr,\".location\"),yi=Pt.def(pr.attributes,\"[\",ei,\"]\"),tn=cr.state,Ri=cr.buffer,ln=[cr.x,cr.y,cr.z,cr.w],Qn=[\"buffer\",\"normalized\",\"offset\",\"stride\"];function qn(){Pt(\"if(!\",yi,\".buffer){\",Gr,\".enableVertexAttribArray(\",ei,\");}\");var bn=cr.type,mn;if(cr.size?mn=Pt.def(cr.size,\"||\",Cr):mn=Cr,Pt(\"if(\",yi,\".type!==\",bn,\"||\",yi,\".size!==\",mn,\"||\",Qn.map(function(da){return yi+\".\"+da+\"!==\"+cr[da]}).join(\"||\"),\"){\",Gr,\".bindBuffer(\",mr,\",\",Ri,\".buffer);\",Gr,\".vertexAttribPointer(\",[ei,mn,bn,cr.normalized,cr.stride,cr.offset],\");\",yi,\".type=\",bn,\";\",yi,\".size=\",mn,\";\",Qn.map(function(da){return yi+\".\"+da+\"=\"+cr[da]+\";\"}).join(\"\"),\"}\"),Un){var Gn=cr.divisor;Pt(\"if(\",yi,\".divisor!==\",Gn,\"){\",vt.instancing,\".vertexAttribDivisorANGLE(\",[ei,Gn],\");\",yi,\".divisor=\",Gn,\";}\")}}function rn(){Pt(\"if(\",yi,\".buffer){\",Gr,\".disableVertexAttribArray(\",ei,\");\",yi,\".buffer=null;\",\"}if(\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"!==\"+ln[mn]}).join(\"||\"),\"){\",Gr,\".vertexAttrib4f(\",ei,\",\",ln,\");\",Ma.map(function(bn,mn){return yi+\".\"+bn+\"=\"+ln[mn]+\";\"}).join(\"\"),\"}\")}tn===Ea?qn():tn===qa?rn():(Pt(\"if(\",tn,\"===\",Ea,\"){\"),qn(),Pt(\"}else{\"),rn(),Pt(\"}\"))}rr.forEach(function(gr){var Cr=gr.name,cr=Wt.attributes[Cr],Gr;if(cr){if(!dr(cr))return;Gr=cr.append(vt,Pt)}else{if(!dr(Nn))return;var ei=vt.scopeAttrib(Cr);Gr={},Object.keys(new ji).forEach(function(yi){Gr[yi]=Pt.def(ei,\".\",yi)})}Ar(vt.link(gr),kr(gr.info.type),Gr)})}function z(vt,Pt,Wt,rr,dr,pr){for(var kr=vt.shared,Ar=kr.gl,gr,Cr=0;Cr1){for(var Do=[],ps=[],fo=0;fo>1)\",Ri],\");\")}function Gn(){Wt(ln,\".drawArraysInstancedANGLE(\",[ei,yi,tn,Ri],\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}function bn(){function mn(){Wt(pr+\".drawElements(\"+[ei,tn,Qn,yi+\"<<((\"+Qn+\"-\"+Ta+\")>>1)\"]+\");\")}function Gn(){Wt(pr+\".drawArrays(\"+[ei,yi,tn]+\");\")}cr&&cr!==\"null\"?qn?mn():(Wt(\"if(\",cr,\"){\"),mn(),Wt(\"}else{\"),Gn(),Wt(\"}\")):Gn()}Un&&(typeof Ri!=\"number\"||Ri>=0)?typeof Ri==\"string\"?(Wt(\"if(\",Ri,\">0){\"),rn(),Wt(\"}else if(\",Ri,\"<0){\"),bn(),Wt(\"}\")):rn():bn()}function O(vt,Pt,Wt,rr,dr){var pr=Oa(),kr=pr.proc(\"body\",dr);return Un&&(pr.instancing=kr.def(pr.shared.extensions,\".angle_instanced_arrays\")),vt(pr,kr,Wt,rr),pr.compile().body}function $(vt,Pt,Wt,rr){_f(vt,Pt),Wt.useVAO?Wt.drawVAO?Pt(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Pt),\");\"):Pt(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Pt(vt.shared.vao,\".setVAO(null);\"),Y(vt,Pt,Wt,rr.attributes,function(){return!0})),z(vt,Pt,Wt,rr.uniforms,function(){return!0},!1),K(vt,Pt,Pt,Wt)}function pe(vt,Pt){var Wt=vt.proc(\"draw\",1);_f(vt,Wt),Hl(vt,Wt,Pt.context),Fc(vt,Wt,Pt.framebuffer),ef(vt,Wt,Pt),ls(vt,Wt,Pt.state),ns(vt,Wt,Pt,!1,!0);var rr=Pt.shader.progVar.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",rr,\".program);\"),Pt.shader.program)$(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var dr=vt.global.def(\"{}\"),pr=Wt.def(rr,\".id\"),kr=Wt.def(dr,\"[\",pr,\"]\");Wt(vt.cond(kr).then(kr,\".call(this,a0);\").else(kr,\"=\",dr,\"[\",pr,\"]=\",vt.link(function(Ar){return O($,vt,Pt,Ar,1)}),\"(\",rr,\");\",kr,\".call(this,a0);\"))}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function de(vt,Pt,Wt,rr){vt.batchId=\"a1\",_f(vt,Pt);function dr(){return!0}Y(vt,Pt,Wt,rr.attributes,dr),z(vt,Pt,Wt,rr.uniforms,dr,!1),K(vt,Pt,Pt,Wt)}function Ie(vt,Pt,Wt,rr){_f(vt,Pt);var dr=Wt.contextDep,pr=Pt.def(),kr=\"a0\",Ar=\"a1\",gr=Pt.def();vt.shared.props=gr,vt.batchId=pr;var Cr=vt.scope(),cr=vt.scope();Pt(Cr.entry,\"for(\",pr,\"=0;\",pr,\"<\",Ar,\";++\",pr,\"){\",gr,\"=\",kr,\"[\",pr,\"];\",cr,\"}\",Cr.exit);function Gr(Qn){return Qn.contextDep&&dr||Qn.propDep}function ei(Qn){return!Gr(Qn)}if(Wt.needsContext&&Hl(vt,cr,Wt.context),Wt.needsFramebuffer&&Fc(vt,cr,Wt.framebuffer),ls(vt,cr,Wt.state,Gr),Wt.profile&&Gr(Wt.profile)&&ns(vt,cr,Wt,!1,!0),rr)Wt.useVAO?Wt.drawVAO?Gr(Wt.drawVAO)?cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",Wt.drawVAO.append(vt,Cr),\");\"):Cr(vt.shared.vao,\".setVAO(\",vt.shared.vao,\".targetVAO);\"):(Cr(vt.shared.vao,\".setVAO(null);\"),Y(vt,Cr,Wt,rr.attributes,ei),Y(vt,cr,Wt,rr.attributes,Gr)),z(vt,Cr,Wt,rr.uniforms,ei,!1),z(vt,cr,Wt,rr.uniforms,Gr,!0),K(vt,Cr,cr,Wt);else{var yi=vt.global.def(\"{}\"),tn=Wt.shader.progVar.append(vt,cr),Ri=cr.def(tn,\".id\"),ln=cr.def(yi,\"[\",Ri,\"]\");cr(vt.shared.gl,\".useProgram(\",tn,\".program);\",\"if(!\",ln,\"){\",ln,\"=\",yi,\"[\",Ri,\"]=\",vt.link(function(Qn){return O(de,vt,Wt,Qn,2)}),\"(\",tn,\");}\",ln,\".call(this,a0[\",pr,\"],\",pr,\");\")}}function $e(vt,Pt){var Wt=vt.proc(\"batch\",2);vt.batchId=\"0\",_f(vt,Wt);var rr=!1,dr=!0;Object.keys(Pt.context).forEach(function(yi){rr=rr||Pt.context[yi].propDep}),rr||(Hl(vt,Wt,Pt.context),dr=!1);var pr=Pt.framebuffer,kr=!1;pr?(pr.propDep?rr=kr=!0:pr.contextDep&&rr&&(kr=!0),kr||Fc(vt,Wt,pr)):Fc(vt,Wt,null),Pt.state.viewport&&Pt.state.viewport.propDep&&(rr=!0);function Ar(yi){return yi.contextDep&&rr||yi.propDep}ef(vt,Wt,Pt),ls(vt,Wt,Pt.state,function(yi){return!Ar(yi)}),(!Pt.profile||!Ar(Pt.profile))&&ns(vt,Wt,Pt,!1,\"a1\"),Pt.contextDep=rr,Pt.needsContext=dr,Pt.needsFramebuffer=kr;var gr=Pt.shader.progVar;if(gr.contextDep&&rr||gr.propDep)Ie(vt,Wt,Pt,null);else{var Cr=gr.append(vt,Wt);if(Wt(vt.shared.gl,\".useProgram(\",Cr,\".program);\"),Pt.shader.program)Ie(vt,Wt,Pt,Pt.shader.program);else{Wt(vt.shared.vao,\".setVAO(null);\");var cr=vt.global.def(\"{}\"),Gr=Wt.def(Cr,\".id\"),ei=Wt.def(cr,\"[\",Gr,\"]\");Wt(vt.cond(ei).then(ei,\".call(this,a0,a1);\").else(ei,\"=\",cr,\"[\",Gr,\"]=\",vt.link(function(yi){return O(Ie,vt,Pt,yi,2)}),\"(\",Cr,\");\",ei,\".call(this,a0,a1);\"))}}Object.keys(Pt.state).length>0&&Wt(vt.shared.current,\".dirty=true;\"),vt.shared.vao&&Wt(vt.shared.vao,\".setVAO(null);\")}function pt(vt,Pt){var Wt=vt.proc(\"scope\",3);vt.batchId=\"a2\";var rr=vt.shared,dr=rr.current;if(Hl(vt,Wt,Pt.context),Pt.framebuffer&&Pt.framebuffer.append(vt,Wt),ci(Object.keys(Pt.state)).forEach(function(Ar){var gr=Pt.state[Ar],Cr=gr.append(vt,Wt);an(Cr)?Cr.forEach(function(cr,Gr){ma(cr)?Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",cr):Wt.set(vt.next[Ar],\"[\"+Gr+\"]\",vt.link(cr,{stable:!0}))}):un(gr)?Wt.set(rr.next,\".\"+Ar,vt.link(Cr,{stable:!0})):Wt.set(rr.next,\".\"+Ar,Cr)}),ns(vt,Wt,Pt,!0,!0),[yt,hr,Nt,Sr,Ot].forEach(function(Ar){var gr=Pt.draw[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.draw,\".\"+Ar,Cr):Wt.set(rr.draw,\".\"+Ar,vt.link(Cr),{stable:!0})}}),Object.keys(Pt.uniforms).forEach(function(Ar){var gr=Pt.uniforms[Ar].append(vt,Wt);Array.isArray(gr)&&(gr=\"[\"+gr.map(function(Cr){return ma(Cr)?Cr:vt.link(Cr,{stable:!0})})+\"]\"),Wt.set(rr.uniforms,\"[\"+vt.link(Er.id(Ar),{stable:!0})+\"]\",gr)}),Object.keys(Pt.attributes).forEach(function(Ar){var gr=Pt.attributes[Ar].append(vt,Wt),Cr=vt.scopeAttrib(Ar);Object.keys(new ji).forEach(function(cr){Wt.set(Cr,\".\"+cr,gr[cr])})}),Pt.scopeVAO){var pr=Pt.scopeVAO.append(vt,Wt);ma(pr)?Wt.set(rr.vao,\".targetVAO\",pr):Wt.set(rr.vao,\".targetVAO\",vt.link(pr,{stable:!0}))}function kr(Ar){var gr=Pt.shader[Ar];if(gr){var Cr=gr.append(vt,Wt);ma(Cr)?Wt.set(rr.shader,\".\"+Ar,Cr):Wt.set(rr.shader,\".\"+Ar,vt.link(Cr,{stable:!0}))}}kr(je),kr(it),Object.keys(Pt.state).length>0&&(Wt(dr,\".dirty=true;\"),Wt.exit(dr,\".dirty=true;\")),Wt(\"a1(\",vt.shared.context,\",a0,\",vt.batchId,\");\")}function Kt(vt){if(!(typeof vt!=\"object\"||an(vt))){for(var Pt=Object.keys(vt),Wt=0;Wt=0;--O){var $=ro[O];$&&$(fn,null,0)}Wr.flush(),yn&&yn.update()}function Jo(){!_o&&ro.length>0&&(_o=d.next(Po))}function Xl(){_o&&(d.cancel(Po),_o=null)}function $c(O){O.preventDefault(),Ui=!0,Xl(),Ao.forEach(function($){$()})}function xs(O){Wr.getError(),Ui=!1,Oi.restore(),Za.restore(),Un.restore(),wn.restore(),vn.restore(),Aa.restore(),ca.restore(),yn&&yn.restore(),aa.procs.refresh(),Jo(),Jn.forEach(function($){$()})}ma&&(ma.addEventListener(Lo,$c,!1),ma.addEventListener(Fo,xs,!1));function Qc(){ro.length=0,Xl(),ma&&(ma.removeEventListener(Lo,$c),ma.removeEventListener(Fo,xs)),Za.clear(),Aa.clear(),vn.clear(),ca.clear(),wn.clear(),gn.clear(),Un.clear(),yn&&yn.clear(),Oa.forEach(function(O){O()})}function El(O){function $(pr){var kr=e({},pr);delete kr.uniforms,delete kr.attributes,delete kr.context,delete kr.vao,\"stencil\"in kr&&kr.stencil.op&&(kr.stencil.opBack=kr.stencil.opFront=kr.stencil.op,delete kr.stencil.op);function Ar(gr){if(gr in kr){var Cr=kr[gr];delete kr[gr],Object.keys(Cr).forEach(function(cr){kr[gr+\".\"+cr]=Cr[cr]})}}return Ar(\"blend\"),Ar(\"depth\"),Ar(\"cull\"),Ar(\"stencil\"),Ar(\"polygonOffset\"),Ar(\"scissor\"),Ar(\"sample\"),\"vao\"in pr&&(kr.vao=pr.vao),kr}function pe(pr,kr){var Ar={},gr={};return Object.keys(pr).forEach(function(Cr){var cr=pr[Cr];if(h.isDynamic(cr)){gr[Cr]=h.unbox(cr,Cr);return}else if(kr&&Array.isArray(cr)){for(var Gr=0;Gr0)return vt.call(this,rr(pr|0),pr|0)}else if(Array.isArray(pr)){if(pr.length)return vt.call(this,pr,pr.length)}else return Jt.call(this,pr)}return e(dr,{stats:Kt,destroy:function(){ir.destroy()}})}var bc=Aa.setFBO=El({framebuffer:h.define.call(null,js,\"framebuffer\")});function wc(O,$){var pe=0;aa.procs.poll();var de=$.color;de&&(Wr.clearColor(+de[0]||0,+de[1]||0,+de[2]||0,+de[3]||0),pe|=_s),\"depth\"in $&&(Wr.clearDepth(+$.depth),pe|=Ns),\"stencil\"in $&&(Wr.clearStencil($.stencil|0),pe|=pn),Wr.clear(pe)}function yf(O){if(\"framebuffer\"in O)if(O.framebuffer&&O.framebuffer_reglType===\"framebufferCube\")for(var $=0;$<6;++$)bc(e({framebuffer:O.framebuffer.faces[$]},O),wc);else bc(O,wc);else wc(null,O)}function Hl(O){ro.push(O);function $(){var pe=dl(ro,O);function de(){var Ie=dl(ro,de);ro[Ie]=ro[ro.length-1],ro.length-=1,ro.length<=0&&Xl()}ro[pe]=de}return Jo(),{cancel:$}}function Fc(){var O=Vn.viewport,$=Vn.scissor_box;O[0]=O[1]=$[0]=$[1]=0,fn.viewportWidth=fn.framebufferWidth=fn.drawingBufferWidth=O[2]=$[2]=Wr.drawingBufferWidth,fn.viewportHeight=fn.framebufferHeight=fn.drawingBufferHeight=O[3]=$[3]=Wr.drawingBufferHeight}function ef(){fn.tick+=1,fn.time=_f(),Fc(),aa.procs.poll()}function ls(){wn.refresh(),Fc(),aa.procs.refresh(),yn&&yn.update()}function _f(){return(v()-to)/1e3}ls();function ns(O,$){var pe;switch(O){case\"frame\":return Hl($);case\"lost\":pe=Ao;break;case\"restore\":pe=Jn;break;case\"destroy\":pe=Oa;break;default:}return pe.push($),{cancel:function(){for(var de=0;de=0},read:Xn,destroy:Qc,_gl:Wr,_refresh:ls,poll:function(){ef(),yn&&yn.update()},now:_f,stats:cn,getCachedCode:Y,preloadCachedCode:z});return Er.onDone(null,K),K}return xc})});var Pqe=ye((pmr,Lqe)=>{\"use strict\";var jOt=Zm();Lqe.exports=function(t){if(t?typeof t==\"string\"&&(t={container:t}):t={},kqe(t)?t={container:t}:WOt(t)?t={container:t}:ZOt(t)?t={gl:t}:t=jOt(t,{container:\"container target element el canvas holder parent parentNode wrapper use ref root node\",gl:\"gl context webgl glContext\",attrs:\"attributes attrs contextAttributes\",pixelRatio:\"pixelRatio pxRatio px ratio pxratio pixelratio\",width:\"w width\",height:\"h height\"},!0),t.pixelRatio||(t.pixelRatio=window.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if(typeof t.container==\"string\"){var r=document.querySelector(t.container);if(!r)throw Error(\"Element \"+t.container+\" is not found\");t.container=r}kqe(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=Cqe(),t.container.appendChild(t.canvas),Eqe(t))}else if(!t.canvas)if(typeof document!=\"undefined\")t.container=document.body||document.documentElement,t.canvas=Cqe(),t.container.appendChild(t.canvas),Eqe(t);else throw Error(\"Not DOM environment. Use headless-gl.\");return t.gl||[\"webgl\",\"experimental-webgl\",\"webgl-experimental\"].some(function(n){try{t.gl=t.canvas.getContext(n,t.attrs)}catch(i){}return t.gl}),t.gl};function Eqe(e){if(e.container)if(e.container==document.body)document.body.style.width||(e.canvas.width=e.width||e.pixelRatio*window.innerWidth),document.body.style.height||(e.canvas.height=e.height||e.pixelRatio*window.innerHeight);else{var t=e.container.getBoundingClientRect();e.canvas.width=e.width||t.right-t.left,e.canvas.height=e.height||t.bottom-t.top}}function kqe(e){return typeof e.getContext==\"function\"&&\"width\"in e&&\"height\"in e}function WOt(e){return typeof e.nodeName==\"string\"&&typeof e.appendChild==\"function\"&&typeof e.getBoundingClientRect==\"function\"}function ZOt(e){return typeof e.drawArrays==\"function\"||typeof e.drawElements==\"function\"}function Cqe(){var e=document.createElement(\"canvas\");return e.style.position=\"absolute\",e.style.top=0,e.style.left=0,e}});var Rqe=ye((gmr,Iqe)=>{\"use strict\";var XOt=UY(),YOt=[32,126];Iqe.exports=KOt;function KOt(e){e=e||{};var t=e.shape?e.shape:e.canvas?[e.canvas.width,e.canvas.height]:[512,512],r=e.canvas||document.createElement(\"canvas\"),n=e.font,i=typeof e.step==\"number\"?[e.step,e.step]:e.step||[32,32],a=e.chars||YOt;if(n&&typeof n!=\"string\"&&(n=XOt(n)),!Array.isArray(a))a=String(a).split(\"\");else if(a.length===2&&typeof a[0]==\"number\"&&typeof a[1]==\"number\"){for(var o=[],s=a[0],l=0;s<=a[1];s++)o[l++]=String.fromCharCode(s);a=o}t=t.slice(),r.width=t[0],r.height=t[1];var u=r.getContext(\"2d\");u.fillStyle=\"#000\",u.fillRect(0,0,r.width,r.height),u.font=n,u.textAlign=\"center\",u.textBaseline=\"middle\",u.fillStyle=\"#fff\";for(var c=i[0]/2,f=i[1]/2,s=0;st[0]-i[0]/2&&(c=i[0]/2,f+=i[1]);return r}});var WY=ye(Th=>{\"use strict\";\"use restrict\";var jY=32;Th.INT_BITS=jY;Th.INT_MAX=2147483647;Th.INT_MIN=-1<0)-(e<0)};Th.abs=function(e){var t=e>>jY-1;return(e^t)-t};Th.min=function(e,t){return t^(e^t)&-(e65535)<<4,e>>>=t,r=(e>255)<<3,e>>>=r,t|=r,r=(e>15)<<2,e>>>=r,t|=r,r=(e>3)<<1,e>>>=r,t|=r,t|e>>1};Th.log10=function(e){return e>=1e9?9:e>=1e8?8:e>=1e7?7:e>=1e6?6:e>=1e5?5:e>=1e4?4:e>=1e3?3:e>=100?2:e>=10?1:0};Th.popCount=function(e){return e=e-(e>>>1&1431655765),e=(e&858993459)+(e>>>2&858993459),(e+(e>>>4)&252645135)*16843009>>>24};function Dqe(e){var t=32;return e&=-e,e&&t--,e&65535&&(t-=16),e&16711935&&(t-=8),e&252645135&&(t-=4),e&858993459&&(t-=2),e&1431655765&&(t-=1),t}Th.countTrailingZeros=Dqe;Th.nextPow2=function(e){return e+=e===0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1};Th.prevPow2=function(e){return e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e-(e>>>1)};Th.parity=function(e){return e^=e>>>16,e^=e>>>8,e^=e>>>4,e&=15,27030>>>e&1};var yk=new Array(256);(function(e){for(var t=0;t<256;++t){var r=t,n=t,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=r&1,--i;e[t]=n<>>8&255]<<16|yk[e>>>16&255]<<8|yk[e>>>24&255]};Th.interleave2=function(e,t){return e&=65535,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t&=65535,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1};Th.deinterleave2=function(e,t){return e=e>>>t&1431655765,e=(e|e>>>1)&858993459,e=(e|e>>>2)&252645135,e=(e|e>>>4)&16711935,e=(e|e>>>16)&65535,e<<16>>16};Th.interleave3=function(e,t,r){return e&=1023,e=(e|e<<16)&4278190335,e=(e|e<<8)&251719695,e=(e|e<<4)&3272356035,e=(e|e<<2)&1227133513,t&=1023,t=(t|t<<16)&4278190335,t=(t|t<<8)&251719695,t=(t|t<<4)&3272356035,t=(t|t<<2)&1227133513,e|=t<<1,r&=1023,r=(r|r<<16)&4278190335,r=(r|r<<8)&251719695,r=(r|r<<4)&3272356035,r=(r|r<<2)&1227133513,e|r<<2};Th.deinterleave3=function(e,t){return e=e>>>t&1227133513,e=(e|e>>>2)&3272356035,e=(e|e>>>4)&251719695,e=(e|e>>>8)&4278190335,e=(e|e>>>16)&1023,e<<22>>22};Th.nextCombination=function(e){var t=e|e-1;return t+1|(~t&-~t)-1>>>Dqe(e)+1}});var qqe=ye((ymr,Fqe)=>{\"use strict\";function zqe(e,t,r){var n=e[r]|0;if(n<=0)return[];var i=new Array(n),a;if(r===e.length-1)for(a=0;a0)return JOt(e|0,t);break;case\"object\":if(typeof e.length==\"number\")return zqe(e,t,0);break}return[]}Fqe.exports=$Ot});var $qe=ye(jl=>{\"use strict\";var cx=WY(),Av=qqe(),Oqe=u2().Buffer;window.__TYPEDARRAY_POOL||(window.__TYPEDARRAY_POOL={UINT8:Av([32,0]),UINT16:Av([32,0]),UINT32:Av([32,0]),BIGUINT64:Av([32,0]),INT8:Av([32,0]),INT16:Av([32,0]),INT32:Av([32,0]),BIGINT64:Av([32,0]),FLOAT:Av([32,0]),DOUBLE:Av([32,0]),DATA:Av([32,0]),UINT8C:Av([32,0]),BUFFER:Av([32,0])});var QOt=typeof Uint8ClampedArray!=\"undefined\",eBt=typeof BigUint64Array!=\"undefined\",tBt=typeof BigInt64Array!=\"undefined\",Xh=window.__TYPEDARRAY_POOL;Xh.UINT8C||(Xh.UINT8C=Av([32,0]));Xh.BIGUINT64||(Xh.BIGUINT64=Av([32,0]));Xh.BIGINT64||(Xh.BIGINT64=Av([32,0]));Xh.BUFFER||(Xh.BUFFER=Av([32,0]));var dF=Xh.DATA,vF=Xh.BUFFER;jl.free=function(t){if(Oqe.isBuffer(t))vF[cx.log2(t.length)].push(t);else{if(Object.prototype.toString.call(t)!==\"[object ArrayBuffer]\"&&(t=t.buffer),!t)return;var r=t.length||t.byteLength,n=cx.log2(r)|0;dF[n].push(t)}};function Bqe(e){if(e){var t=e.length||e.byteLength,r=cx.log2(t);dF[r].push(e)}}function rBt(e){Bqe(e.buffer)}jl.freeUint8=jl.freeUint16=jl.freeUint32=jl.freeBigUint64=jl.freeInt8=jl.freeInt16=jl.freeInt32=jl.freeBigInt64=jl.freeFloat32=jl.freeFloat=jl.freeFloat64=jl.freeDouble=jl.freeUint8Clamped=jl.freeDataView=rBt;jl.freeArrayBuffer=Bqe;jl.freeBuffer=function(t){vF[cx.log2(t.length)].push(t)};jl.malloc=function(t,r){if(r===void 0||r===\"arraybuffer\")return Bp(t);switch(r){case\"uint8\":return ZY(t);case\"uint16\":return Nqe(t);case\"uint32\":return Uqe(t);case\"int8\":return Vqe(t);case\"int16\":return Hqe(t);case\"int32\":return Gqe(t);case\"float\":case\"float32\":return jqe(t);case\"double\":case\"float64\":return Wqe(t);case\"uint8_clamped\":return Zqe(t);case\"bigint64\":return Yqe(t);case\"biguint64\":return Xqe(t);case\"buffer\":return Jqe(t);case\"data\":case\"dataview\":return Kqe(t);default:return null}return null};function Bp(t){var t=cx.nextPow2(t),r=cx.log2(t),n=dF[r];return n.length>0?n.pop():new ArrayBuffer(t)}jl.mallocArrayBuffer=Bp;function ZY(e){return new Uint8Array(Bp(e),0,e)}jl.mallocUint8=ZY;function Nqe(e){return new Uint16Array(Bp(2*e),0,e)}jl.mallocUint16=Nqe;function Uqe(e){return new Uint32Array(Bp(4*e),0,e)}jl.mallocUint32=Uqe;function Vqe(e){return new Int8Array(Bp(e),0,e)}jl.mallocInt8=Vqe;function Hqe(e){return new Int16Array(Bp(2*e),0,e)}jl.mallocInt16=Hqe;function Gqe(e){return new Int32Array(Bp(4*e),0,e)}jl.mallocInt32=Gqe;function jqe(e){return new Float32Array(Bp(4*e),0,e)}jl.mallocFloat32=jl.mallocFloat=jqe;function Wqe(e){return new Float64Array(Bp(8*e),0,e)}jl.mallocFloat64=jl.mallocDouble=Wqe;function Zqe(e){return QOt?new Uint8ClampedArray(Bp(e),0,e):ZY(e)}jl.mallocUint8Clamped=Zqe;function Xqe(e){return eBt?new BigUint64Array(Bp(8*e),0,e):null}jl.mallocBigUint64=Xqe;function Yqe(e){return tBt?new BigInt64Array(Bp(8*e),0,e):null}jl.mallocBigInt64=Yqe;function Kqe(e){return new DataView(Bp(e),0,e)}jl.mallocDataView=Kqe;function Jqe(e){e=cx.nextPow2(e);var t=cx.log2(e),r=vF[t];return r.length>0?r.pop():new Oqe(e)}jl.mallocBuffer=Jqe;jl.clearCache=function(){for(var t=0;t<32;++t)Xh.UINT8[t].length=0,Xh.UINT16[t].length=0,Xh.UINT32[t].length=0,Xh.INT8[t].length=0,Xh.INT16[t].length=0,Xh.INT32[t].length=0,Xh.FLOAT[t].length=0,Xh.DOUBLE[t].length=0,Xh.BIGUINT64[t].length=0,Xh.BIGINT64[t].length=0,Xh.UINT8C[t].length=0,dF[t].length=0,vF[t].length=0}});var eOe=ye((xmr,Qqe)=>{\"use strict\";var iBt=Object.prototype.toString;Qqe.exports=function(e){var t;return iBt.call(e)===\"[object Object]\"&&(t=Object.getPrototypeOf(e),t===null||t===Object.getPrototypeOf({}))}});var XY=ye((bmr,tOe)=>{tOe.exports=function(t,r){r||(r=[0,\"\"]),t=String(t);var n=parseFloat(t,10);return r[0]=n,r[1]=t.match(/[\\d.\\-\\+]*\\s*(.*)/)[1]||\"\",r}});var nOe=ye((wmr,iOe)=>{\"use strict\";var nBt=XY();iOe.exports=rOe;var _k=96;function YY(e,t){var r=nBt(getComputedStyle(e).getPropertyValue(t));return r[0]*rOe(r[1],e)}function aBt(e,t){var r=document.createElement(\"div\");r.style[\"font-size\"]=\"128\"+e,t.appendChild(r);var n=YY(r,\"font-size\")/128;return t.removeChild(r),n}function rOe(e,t){switch(t=t||document.body,e=(e||\"px\").trim().toLowerCase(),(t===window||t===document)&&(t=document.body),e){case\"%\":return t.clientHeight/100;case\"ch\":case\"ex\":return aBt(e,t);case\"em\":return YY(t,\"font-size\");case\"rem\":return YY(document.body,\"font-size\");case\"vw\":return window.innerWidth/100;case\"vh\":return window.innerHeight/100;case\"vmin\":return Math.min(window.innerWidth,window.innerHeight)/100;case\"vmax\":return Math.max(window.innerWidth,window.innerHeight)/100;case\"in\":return _k;case\"cm\":return _k/2.54;case\"mm\":return _k/25.4;case\"pt\":return _k/72;case\"pc\":return _k/6}return 1}});var sOe=ye((Tmr,oOe)=>{\"use strict\";oOe.exports=mF;var oBt=mF.canvas=document.createElement(\"canvas\"),pF=oBt.getContext(\"2d\"),aOe=gF([32,126]);mF.createPairs=gF;mF.ascii=aOe;function mF(e,t){Array.isArray(e)&&(e=e.join(\", \"));var r={},n,i=16,a=.05;t&&(t.length===2&&typeof t[0]==\"number\"?n=gF(t):Array.isArray(t)?n=t:(t.o?n=gF(t.o):t.pairs&&(n=t.pairs),t.fontSize&&(i=t.fontSize),t.threshold!=null&&(a=t.threshold))),n||(n=aOe),pF.font=i+\"px \"+e;for(var o=0;oi*a){var c=(u-l)/i;r[s]=c*1e3}}return r}function gF(e){for(var t=[],r=e[0];r<=e[1];r++)for(var n=String.fromCharCode(r),i=e[0];i{\"use strict\";cOe.exports=fx;fx.canvas=document.createElement(\"canvas\");fx.cache={};function fx(o,t){t||(t={}),(typeof o==\"string\"||Array.isArray(o))&&(t.family=o);var r=Array.isArray(t.family)?t.family.join(\", \"):t.family;if(!r)throw Error(\"`family` must be defined\");var n=t.size||t.fontSize||t.em||48,i=t.weight||t.fontWeight||\"\",a=t.style||t.fontStyle||\"\",o=[a,i,n].join(\" \")+\"px \"+r,s=t.origin||\"top\";if(fx.cache[r]&&n<=fx.cache[r].em)return lOe(fx.cache[r],s);var l=t.canvas||fx.canvas,u=l.getContext(\"2d\"),c={upper:t.upper!==void 0?t.upper:\"H\",lower:t.lower!==void 0?t.lower:\"x\",descent:t.descent!==void 0?t.descent:\"p\",ascent:t.ascent!==void 0?t.ascent:\"h\",tittle:t.tittle!==void 0?t.tittle:\"i\",overshoot:t.overshoot!==void 0?t.overshoot:\"O\"},f=Math.ceil(n*1.5);l.height=f,l.width=f*.5,u.font=o;var h=\"H\",d={top:0};u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillStyle=\"black\",u.fillText(h,0,0);var v=Ym(u.getImageData(0,0,f,f));u.clearRect(0,0,f,f),u.textBaseline=\"bottom\",u.fillText(h,0,f);var x=Ym(u.getImageData(0,0,f,f));d.lineHeight=d.bottom=f-x+v,u.clearRect(0,0,f,f),u.textBaseline=\"alphabetic\",u.fillText(h,0,f);var b=Ym(u.getImageData(0,0,f,f)),g=f-b-1+v;d.baseline=d.alphabetic=g,u.clearRect(0,0,f,f),u.textBaseline=\"middle\",u.fillText(h,0,f*.5);var E=Ym(u.getImageData(0,0,f,f));d.median=d.middle=f-E-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"hanging\",u.fillText(h,0,f*.5);var k=Ym(u.getImageData(0,0,f,f));d.hanging=f-k-1+v-f*.5,u.clearRect(0,0,f,f),u.textBaseline=\"ideographic\",u.fillText(h,0,f);var A=Ym(u.getImageData(0,0,f,f));if(d.ideographic=f-A-1+v,c.upper&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.upper,0,0),d.upper=Ym(u.getImageData(0,0,f,f)),d.capHeight=d.baseline-d.upper),c.lower&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.lower,0,0),d.lower=Ym(u.getImageData(0,0,f,f)),d.xHeight=d.baseline-d.lower),c.tittle&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.tittle,0,0),d.tittle=Ym(u.getImageData(0,0,f,f))),c.ascent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.ascent,0,0),d.ascent=Ym(u.getImageData(0,0,f,f))),c.descent&&(u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.descent,0,0),d.descent=uOe(u.getImageData(0,0,f,f))),c.overshoot){u.clearRect(0,0,f,f),u.textBaseline=\"top\",u.fillText(c.overshoot,0,0);var L=uOe(u.getImageData(0,0,f,f));d.overshoot=L-g}for(var _ in d)d[_]/=n;return d.em=n,fx.cache[r]=d,lOe(d,s)}function lOe(e,t){var r={};typeof t==\"string\"&&(t=e[t]);for(var n in e)n!==\"em\"&&(r[n]=e[n]-t);return r}function Ym(e){for(var t=e.height,r=e.data,n=3;n0;n-=4)if(r[n]!==0)return Math.floor((n-3)*.25/t)}});var pOe=ye((Smr,vOe)=>{\"use strict\";var hA=Mqe(),sBt=Zm(),lBt=GY(),uBt=Pqe(),cBt=EY(),KY=J_(),fBt=Rqe(),hx=$qe(),hBt=eA(),dBt=eOe(),vBt=XY(),pBt=nOe(),gBt=sOe(),mBt=bh(),yBt=fOe(),_Bt=W2(),xBt=WY(),hOe=xBt.nextPow2,dOe=new cBt,_F=!1;document.body&&(yF=document.body.appendChild(document.createElement(\"div\")),yF.style.font=\"italic small-caps bold condensed 16px/2 cursive\",getComputedStyle(yF).fontStretch&&(_F=!0),document.body.removeChild(yF));var yF,Vu=function(t){bBt(t)?(t={regl:t},this.gl=t.regl._gl):this.gl=uBt(t),this.shader=dOe.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||lBt({gl:this.gl}),this.charBuffer=this.regl.buffer({type:\"uint8\",usage:\"stream\"}),this.sizeBuffer=this.regl.buffer({type:\"float\",usage:\"stream\"}),this.shader||(this.shader=this.createShader(),dOe.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(dBt(t)?t:{})};Vu.prototype.createShader=function(){var t=this.regl,r=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:\"src alpha\",dstRGB:\"one minus src alpha\",srcAlpha:\"one minus dst alpha\",dstAlpha:\"one\"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop(\"count\"),offset:t.prop(\"offset\"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this(\"sizeBuffer\")},width:{offset:0,stride:8,buffer:t.this(\"sizeBuffer\")},char:t.this(\"charBuffer\"),position:t.this(\"position\")},uniforms:{atlasSize:function(i,a){return[a.atlas.width,a.atlas.height]},atlasDim:function(i,a){return[a.atlas.cols,a.atlas.rows]},atlas:function(i,a){return a.atlas.texture},charStep:function(i,a){return a.atlas.step},em:function(i,a){return a.atlas.em},color:t.prop(\"color\"),opacity:t.prop(\"opacity\"),viewport:t.this(\"viewportArray\"),scale:t.this(\"scale\"),align:t.prop(\"align\"),baseline:t.prop(\"baseline\"),translate:t.this(\"translate\"),positionOffset:t.prop(\"positionOffset\")},primitive:\"points\",viewport:t.this(\"viewport\"),vert:`\n", + "\t\t\tprecision highp float;\n", + "\t\t\tattribute float width, charOffset, char;\n", + "\t\t\tattribute vec2 position;\n", + "\t\t\tuniform float fontSize, charStep, em, align, baseline;\n", + "\t\t\tuniform vec4 viewport;\n", + "\t\t\tuniform vec4 color;\n", + "\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n", + "\t\t\tvarying vec2 charCoord, charId;\n", + "\t\t\tvarying float charWidth;\n", + "\t\t\tvarying vec4 fontColor;\n", + "\t\t\tvoid main () {\n", + "\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n", + "\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n", + "\t\t\t\t\t/ (viewport.zw * scale.xy);\n", + "\n", + "\t\t\t\tvec2 position = (position + translate) * scale;\n", + "\t\t\t\tposition += offset * scale;\n", + "\n", + "\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n", + "\n", + "\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n", + "\n", + "\t\t\t\tgl_PointSize = charStep;\n", + "\n", + "\t\t\t\tcharId.x = mod(char, atlasDim.x);\n", + "\t\t\t\tcharId.y = floor(char / atlasDim.x);\n", + "\n", + "\t\t\t\tcharWidth = width * em;\n", + "\n", + "\t\t\t\tfontColor = color / 255.;\n", + "\t\t\t}`,frag:`\n", + "\t\t\tprecision highp float;\n", + "\t\t\tuniform float fontSize, charStep, opacity;\n", + "\t\t\tuniform vec2 atlasSize;\n", + "\t\t\tuniform vec4 viewport;\n", + "\t\t\tuniform sampler2D atlas;\n", + "\t\t\tvarying vec4 fontColor;\n", + "\t\t\tvarying vec2 charCoord, charId;\n", + "\t\t\tvarying float charWidth;\n", + "\n", + "\t\t\tfloat lightness(vec4 color) {\n", + "\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n", + "\t\t\t}\n", + "\n", + "\t\t\tvoid main () {\n", + "\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n", + "\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n", + "\n", + "\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n", + "\t\t\t\tuv.y = charStep - uv.y;\n", + "\n", + "\t\t\t\t// ignore points outside of character bounding box\n", + "\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n", + "\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n", + "\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n", + "\n", + "\t\t\t\tuv += charId * charStep;\n", + "\t\t\t\tuv = uv / atlasSize;\n", + "\n", + "\t\t\t\tvec4 color = fontColor;\n", + "\t\t\t\tvec4 mask = texture2D(atlas, uv);\n", + "\n", + "\t\t\t\tfloat maskY = lightness(mask);\n", + "\t\t\t\t// float colorY = lightness(color);\n", + "\t\t\t\tcolor.a *= maskY;\n", + "\t\t\t\tcolor.a *= opacity;\n", + "\n", + "\t\t\t\t// color.a += .1;\n", + "\n", + "\t\t\t\t// antialiasing, see yiq color space y-channel formula\n", + "\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n", + "\n", + "\t\t\t\tgl_FragColor = color;\n", + "\t\t\t}`}),n={};return{regl:t,draw:r,atlas:n}};Vu.prototype.update=function(t){var r=this;if(typeof t==\"string\")t={text:t};else if(!t)return;t=sBt(t,{position:\"position positions coord coords coordinates\",font:\"font fontFace fontface typeface cssFont css-font family fontFamily\",fontSize:\"fontSize fontsize size font-size\",text:\"text texts chars characters value values symbols\",align:\"align alignment textAlign textbaseline\",baseline:\"baseline textBaseline textbaseline\",direction:\"dir direction textDirection\",color:\"color colour fill fill-color fillColor textColor textcolor\",kerning:\"kerning kern\",range:\"range dataBox\",viewport:\"vp viewport viewBox viewbox viewPort\",opacity:\"opacity alpha transparency visible visibility opaque\",offset:\"offset positionOffset padding shift indent indentation\"},!0),t.opacity!=null&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(ke){return parseFloat(ke)}):this.opacity=parseFloat(t.opacity)),t.viewport!=null&&(this.viewport=hBt(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),this.viewport==null&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),t.kerning!=null&&(this.kerning=t.kerning),t.offset!=null&&(typeof t.offset==\"number\"&&(t.offset=[t.offset,0]),this.positionOffset=_Bt(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),!this.font.length&&!t.font&&(t.font=Vu.baseFontSize+\"px sans-serif\");var n=!1,i=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(ke,ge){if(typeof ke==\"string\")try{ke=hA.parse(ke)}catch(Ge){ke=hA.parse(Vu.baseFontSize+\"px \"+ke)}else{var ie=ke.style,Te=ke.weight,Ee=ke.stretch,Ae=ke.variant;ke=hA.parse(hA.stringify(ke)),ie&&(ke.style=ie),Te&&(ke.weight=Te),Ee&&(ke.stretch=Ee),Ae&&(ke.variant=Ae)}var ze=hA.stringify({size:Vu.baseFontSize,family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style}),Ce=vBt(ke.size),me=Math.round(Ce[0]*pBt(Ce[1]));if(me!==r.fontSize[ge]&&(i=!0,r.fontSize[ge]=me),(!r.font[ge]||ze!=r.font[ge].baseString)&&(n=!0,r.font[ge]=Vu.fonts[ze],!r.font[ge])){var Re=ke.family.join(\", \"),ce=[ke.style];ke.style!=ke.variant&&ce.push(ke.variant),ke.variant!=ke.weight&&ce.push(ke.weight),_F&&ke.weight!=ke.stretch&&ce.push(ke.stretch),r.font[ge]={baseString:ze,family:Re,weight:ke.weight,stretch:ke.stretch,style:ke.style,variant:ke.variant,width:{},kerning:{},metrics:yBt(Re,{origin:\"top\",fontSize:Vu.baseFontSize,fontStyle:ce.join(\" \")})},Vu.fonts[ze]=r.font[ge]}}),(n||i)&&this.font.forEach(function(ke,ge){var ie=hA.stringify({size:r.fontSize[ge],family:ke.family,stretch:_F?ke.stretch:void 0,variant:ke.variant,weight:ke.weight,style:ke.style});if(r.fontAtlas[ge]=r.shader.atlas[ie],!r.fontAtlas[ge]){var Te=ke.metrics;r.shader.atlas[ie]=r.fontAtlas[ge]={fontString:ie,step:Math.ceil(r.fontSize[ge]*Te.bottom*.5)*2,em:r.fontSize[ge],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:r.regl.texture()}}t.text==null&&(t.text=r.text)}),typeof t.text==\"string\"&&t.position&&t.position.length>2){for(var a=Array(t.position.length*.5),o=0;o2){for(var u=!t.position[0].length,c=hx.mallocFloat(this.count*2),f=0,h=0;f1?r.align[ge]:r.align[0]:r.align;if(typeof ie==\"number\")return ie;switch(ie){case\"right\":case\"end\":return-ke;case\"center\":case\"centre\":case\"middle\":return-ke*.5}return 0})),this.baseline==null&&t.baseline==null&&(t.baseline=0),t.baseline!=null&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(ke,ge){var ie=(r.font[ge]||r.font[0]).metrics,Te=0;return Te+=ie.bottom*.5,typeof ke==\"number\"?Te+=ke-ie.baseline:Te+=-ie[ke],Te*=-1,Te})),t.color!=null)if(t.color||(t.color=\"transparent\"),typeof t.color==\"string\"||!isNaN(t.color))this.color=KY(t.color,\"uint8\");else{var H;if(typeof t.color[0]==\"number\"&&t.color.length>this.counts.length){var X=t.color.length;H=hx.mallocUint8(X);for(var G=(t.color.subarray||t.color.slice).bind(t.color),N=0;N4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2;if(ae){var _e=Math.max(this.position.length*.5||0,this.color.length*.25||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,this.positionOffset.length*.5||0);this.batch=Array(_e);for(var Me=0;Me1?this.counts[Me]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[Me]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(Me*4,Me*4+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[Me]:this.opacity,baseline:this.baselineOffset[Me]!=null?this.baselineOffset[Me]:this.baselineOffset[0],align:this.align?this.alignOffset[Me]!=null?this.alignOffset[Me]:this.alignOffset[0]:0,atlas:this.fontAtlas[Me]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(Me*2,Me*2+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]}};Vu.prototype.destroy=function(){};Vu.prototype.kerning=!0;Vu.prototype.position={constant:new Float32Array(2)};Vu.prototype.translate=null;Vu.prototype.scale=null;Vu.prototype.font=null;Vu.prototype.text=\"\";Vu.prototype.positionOffset=[0,0];Vu.prototype.opacity=1;Vu.prototype.color=new Uint8Array([0,0,0,255]);Vu.prototype.alignOffset=[0,0];Vu.maxAtlasSize=1024;Vu.atlasCanvas=document.createElement(\"canvas\");Vu.atlasContext=Vu.atlasCanvas.getContext(\"2d\",{alpha:!1});Vu.baseFontSize=64;Vu.fonts={};function bBt(e){return typeof e==\"function\"&&e._gl&&e.prop&&e.texture&&e.buffer}vOe.exports=Vu});var xF=ye((Mmr,gOe)=>{\"use strict\";var wBt=pZ(),TBt=GY();gOe.exports=function(t,r,n){var i=t._fullLayout,a=!0;return i._glcanvas.each(function(o){if(o.regl){o.regl.preloadCachedCode(n);return}if(!(o.pick&&!i._has(\"parcoords\"))){try{o.regl=TBt({canvas:this,attributes:{antialias:!o.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||window.devicePixelRatio,extensions:r||[],cachedCode:n||{}})}catch(s){a=!1}o.regl||(a=!1),a&&this.addEventListener(\"webglcontextlost\",function(s){t&&t.emit&&t.emit(\"plotly_webglcontextlost\",{event:s,layer:o.key})},!1)}}),a||wBt({container:i._glcontainer.node()}),a}});var QY=ye(($Y,bOe)=>{\"use strict\";var mOe=QX(),yOe=LY(),ABt=sqe(),_Oe=pOe(),JY=Mr(),SBt=Sg().selectMode,MBt=xF(),EBt=lu(),kBt=hU(),CBt=YX().styleTextSelection,xOe={};function LBt(e,t,r,n){var i=e._size,a=e.width*n,o=e.height*n,s=i.l*n,l=i.b*n,u=i.r*n,c=i.t*n,f=i.w*n,h=i.h*n;return[s+t.domain[0]*f,l+r.domain[0]*h,a-u-(1-t.domain[1])*f,o-c-(1-r.domain[1])*h]}var $Y=bOe.exports=function(t,r,n){if(n.length){var i=t._fullLayout,a=r._scene,o=r.xaxis,s=r.yaxis,l,u;if(a){var c=MBt(t,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],xOe);if(!c){a.init();return}var f=a.count,h=i._glcanvas.data()[0].regl;if(kBt(t,r,n),a.dirty){if((a.line2d||a.error2d)&&!(a.scatter2d||a.fill2d||a.glText)&&h.clear({}),a.error2d===!0&&(a.error2d=ABt(h)),a.line2d===!0&&(a.line2d=yOe(h)),a.scatter2d===!0&&(a.scatter2d=mOe(h)),a.fill2d===!0&&(a.fill2d=yOe(h)),a.glText===!0)for(a.glText=new Array(f),l=0;la.glText.length){var d=f-a.glText.length;for(l=0;lae&&(isNaN(re[_e])||isNaN(re[_e+1]));)_e-=2;W.positions=re.slice(ae,_e+2)}return W}),a.line2d.update(a.lineOptions)),a.error2d){var b=(a.errorXOptions||[]).concat(a.errorYOptions||[]);a.error2d.update(b)}a.scatter2d&&a.scatter2d.update(a.markerOptions),a.fillOrder=JY.repeat(null,f),a.fill2d&&(a.fillOptions=a.fillOptions.map(function(W,re){var ae=n[re];if(!(!W||!ae||!ae[0]||!ae[0].trace)){var _e=ae[0],Me=_e.trace,ke=_e.t,ge=a.lineOptions[re],ie,Te,Ee=[];Me._ownfill&&Ee.push(re),Me._nexttrace&&Ee.push(re+1),Ee.length&&(a.fillOrder[re]=Ee);var Ae=[],ze=ge&&ge.positions||ke.positions,Ce,me;if(Me.fill===\"tozeroy\"){for(Ce=0;CeCe&&isNaN(ze[me+1]);)me-=2;ze[Ce+1]!==0&&(Ae=[ze[Ce],0]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me+1]!==0&&(Ae=Ae.concat([ze[me],0]))}else if(Me.fill===\"tozerox\"){for(Ce=0;CeCe&&isNaN(ze[me]);)me-=2;ze[Ce]!==0&&(Ae=[0,ze[Ce+1]]),Ae=Ae.concat(ze.slice(Ce,me+2)),ze[me]!==0&&(Ae=Ae.concat([0,ze[me+1]]))}else if(Me.fill===\"toself\"||Me.fill===\"tonext\"){for(Ae=[],ie=0,W.splitNull=!0,Te=0;Te-1;for(l=0;l{\"use strict\";var wOe=Vze();wOe.plot=QY();TOe.exports=wOe});var MOe=ye((kmr,SOe)=>{\"use strict\";SOe.exports=AOe()});var eK=ye((Cmr,LOe)=>{\"use strict\";var PBt=Uc(),COe=Kl(),EOe=Oc().axisHoverFormat,IBt=Wo().hovertemplateAttrs,xk=ek(),RBt=ad().idRegex,DBt=Vs().templatedArray,dA=no().extendFlat,o1=PBt.marker,zBt=o1.line,FBt=dA(COe(\"marker.line\",{editTypeOverride:\"calc\"}),{width:dA({},zBt.width,{editType:\"calc\"}),editType:\"calc\"}),bF=dA(COe(\"marker\"),{symbol:o1.symbol,angle:o1.angle,size:dA({},o1.size,{editType:\"markerSize\"}),sizeref:o1.sizeref,sizemin:o1.sizemin,sizemode:o1.sizemode,opacity:o1.opacity,colorbar:o1.colorbar,line:FBt,editType:\"calc\"});bF.color.editType=bF.cmin.editType=bF.cmax.editType=\"style\";function kOe(e){return{valType:\"info_array\",freeLength:!0,editType:\"calc\",items:{valType:\"subplotid\",regex:RBt[e],editType:\"plot\"}}}LOe.exports={dimensions:DBt(\"dimension\",{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},label:{valType:\"string\",editType:\"calc\"},values:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},axis:{type:{valType:\"enumerated\",values:[\"linear\",\"log\",\"date\",\"category\"],editType:\"calc+clearAxisTypes\"},matches:{valType:\"boolean\",dflt:!1,editType:\"calc\"},editType:\"calc+clearAxisTypes\"},editType:\"calc+clearAxisTypes\"}),text:dA({},xk.text,{}),hovertext:dA({},xk.hovertext,{}),hovertemplate:IBt(),xhoverformat:EOe(\"x\"),yhoverformat:EOe(\"y\"),marker:bF,xaxes:kOe(\"x\"),yaxes:kOe(\"y\"),diagonal:{visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"},editType:\"calc\"},showupperhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},showlowerhalf:{valType:\"boolean\",dflt:!0,editType:\"calc\"},selected:{marker:xk.selected.marker,editType:\"calc\"},unselected:{marker:xk.unselected.marker,editType:\"calc\"},opacity:xk.opacity}});var wF=ye((Lmr,POe)=>{\"use strict\";POe.exports=function(e,t,r,n){n||(n=1/0);var i,a;for(i=0;i{\"use strict\";var tK=Mr(),qBt=Zd(),IOe=eK(),OBt=lu(),BBt=$p(),NBt=wF(),UBt=Fz().isOpenSymbol;ROe.exports=function(t,r,n,i){function a(d,v){return tK.coerce(t,r,IOe,d,v)}var o=qBt(t,r,{name:\"dimensions\",handleItemDefaults:VBt}),s=a(\"diagonal.visible\"),l=a(\"showupperhalf\"),u=a(\"showlowerhalf\"),c=NBt(r,o,\"values\");if(!c||!s&&!l&&!u){r.visible=!1;return}a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"xhoverformat\"),a(\"yhoverformat\"),BBt(t,r,n,i,a,{noAngleRef:!0,noStandOff:!0});var f=UBt(r.marker.symbol),h=OBt.isBubble(r);a(\"marker.line.width\",f||h?1:0),HBt(t,r,i,a),tK.coerceSelectionMarkerOpacity(r,a)};function VBt(e,t){function r(i,a){return tK.coerce(e,t,IOe.dimensions,i,a)}r(\"label\");var n=r(\"values\");n&&n.length?r(\"visible\"):t.visible=!1,r(\"axis.type\"),r(\"axis.matches\")}function HBt(e,t,r,n){var i=t.dimensions,a=i.length,o=t.showupperhalf,s=t.showlowerhalf,l=t.diagonal.visible,u,c,f=new Array(a),h=new Array(a);for(u=0;uc&&o||u{\"use strict\";var zOe=Mr();FOe.exports=function(t,r){var n=t._fullLayout,i=r.uid,a=n._splomScenes;a||(a=n._splomScenes={});var o={dirty:!0,selectBatch:[],unselectBatch:[]},s={matrix:!1,selectBatch:[],unselectBatch:[]},l=a[r.uid];return l||(l=a[i]=zOe.extendFlat({},o,s),l.draw=function(){l.matrix&&l.matrix.draw&&(l.selectBatch.length||l.unselectBatch.length?l.matrix.draw(l.unselectBatch,l.selectBatch):l.matrix.draw()),l.dirty=!1},l.destroy=function(){l.matrix&&l.matrix.destroy&&l.matrix.destroy(),l.matrixOptions=null,l.selectBatch=null,l.unselectBatch=null,l=null}),l.dirty||zOe.extendFlat(l,o),l}});var NOe=ye((Rmr,BOe)=>{\"use strict\";var rK=Mr(),TF=af(),GBt=q0().calcMarkerSize,jBt=q0().calcAxisExpansion,WBt=z0(),OOe=Y2().markerSelection,ZBt=Y2().markerStyle,XBt=qOe(),YBt=es().BADNUM,KBt=ox().TOO_MANY_POINTS;BOe.exports=function(t,r){var n=r.dimensions,i=r._length,a={},o=a.cdata=[],s=a.data=[],l=r._visibleDims=[],u,c,f,h,d;function v(k,A){for(var L=k.makeCalcdata({v:A.values,vcalendar:r.calendar},\"v\"),_=0;_KBt,g;for(b?g=a.sizeAvg||Math.max(a.size,3):g=GBt(r,i),c=0;c{(function(){var e,t,r,n,i,a;typeof performance!=\"undefined\"&&performance!==null&&performance.now?bk.exports=function(){return performance.now()}:typeof process!=\"undefined\"&&process!==null&&process.hrtime?(bk.exports=function(){return(e()-i)/1e6},t=process.hrtime,e=function(){var o;return o=t(),o[0]*1e9+o[1]},n=e(),a=process.uptime()*1e9,i=n-a):Date.now?(bk.exports=function(){return Date.now()-r},r=Date.now()):(bk.exports=function(){return new Date().getTime()-r},r=new Date().getTime())}).call(UOe)});var GOe=ye((Dmr,MF)=>{var JBt=VOe(),s1=window,AF=[\"moz\",\"webkit\"],pA=\"AnimationFrame\",gA=s1[\"request\"+pA],wk=s1[\"cancel\"+pA]||s1[\"cancelRequest\"+pA];for(vA=0;!gA&&vA{jOe.exports=function(t,r){var n=typeof t==\"number\",i=typeof r==\"number\";n&&!i?(r=t,t=0):!n&&!i&&(t=0,r=0),t=t|0,r=r|0;var a=r-t;if(a<0)throw new Error(\"array length must be positive\");for(var o=new Array(a),s=0,l=t;s{\"use strict\";var $Bt=QX(),QBt=Zm(),eNt=j2(),ZOe=GOe(),tNt=WOe(),nK=eA(),rNt=W2();YOe.exports=vx;function vx(e,t){if(!(this instanceof vx))return new vx(e,t);this.traces=[],this.passes={},this.regl=e,this.scatter=$Bt(e),this.canvas=this.scatter.canvas}vx.prototype.render=function(...e){return e.length&&this.update(...e),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?this.planned==null&&(this.planned=ZOe(()=>{this.draw(),this.dirty=!0,this.planned=null})):(this.draw(),this.dirty=!0,ZOe(()=>{this.dirty=!1})),this)};vx.prototype.update=function(...e){if(!e.length)return;for(let n=0;nb||!i.lower&&x{t[a+s]=n})}this.scatter.draw(...t)}return this};vx.prototype.destroy=function(){return this.traces.forEach(e=>{e.buffer&&e.buffer.destroy&&e.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this};function iNt(e,t,r){let n=e.id!=null?e.id:e,i=t,a=r;return n<<16|(i&255)<<8|a&255}function EF(e,t,r){let n,i,a,o,s,l,u,c,f=e[t],h=e[r];return f.length>2?(n=f[0],a=f[2],i=f[1],o=f[3]):f.length?(n=i=f[0],a=o=f[1]):(n=f.x,i=f.y,a=f.x+f.width,o=f.y+f.height),h.length>2?(s=h[0],u=h[2],l=h[1],c=h[3]):h.length?(s=l=h[0],u=c=h[1]):(s=h.x,l=h.y,u=h.x+h.width,c=h.y+h.height),[s,i,u,o]}function XOe(e){if(typeof e==\"number\")return[e,e,e,e];if(e.length===2)return[e[0],e[1],e[0],e[1]];{let t=nK(e);return[t.x,t.y,t.x+t.width,t.y+t.height]}}});var $Oe=ye((qmr,JOe)=>{\"use strict\";var nNt=KOe(),aK=Mr(),kF=af(),aNt=Sg().selectMode;JOe.exports=function(t,r,n){if(n.length)for(var i=0;i-1,T=aNt(c)||!!i.selectedpoints||P,F=!0;if(T){var q=i._length;if(i.selectedpoints){o.selectBatch=i.selectedpoints;var V=i.selectedpoints,H={};for(d=0;d{\"use strict\";QOe.getDimIndex=function(t,r){for(var n=r._id,i=n.charAt(0),a={x:0,y:1}[i],o=t._visibleDims,s=0;s{\"use strict\";var eBe=oK(),sNt=zz().calcHover,tBe=Qa().getFromId,lNt=no().extendFlat;function uNt(e,t,r,n,i){i||(i={});var a=(n||\"\").charAt(0)===\"x\",o=(n||\"\").charAt(0)===\"y\",s=rBe(e,t,r);if((a||o)&&i.hoversubplots===\"axis\"&&s[0])for(var l=(a?e.xa:e.ya)._subplotsWith,u=i.gd,c=lNt({},e),f=0;f{\"use strict\";var lBe=Mr(),aBe=lBe.pushUnique,oBe=lu(),sBe=oK();uBe.exports=function(t,r){var n=t.cd,i=n[0].trace,a=n[0].t,o=t.scene,s=o.matrixOptions.cdata,l=t.xaxis,u=t.yaxis,c=[];if(!o)return c;var f=!oBe.hasMarkers(i)&&!oBe.hasText(i);if(i.visible!==!0||f)return c;var h=sBe.getDimIndex(i,l),d=sBe.getDimIndex(i,u);if(h===!1||d===!1)return c;var v=a.xpx[h],x=a.ypx[d],b=s[h],g=s[d],E=(t.scene.selectBatch||[]).slice(),k=[];if(r!==!1&&!r.degenerate)for(var A=0;A{\"use strict\";var fBe=Mr(),cNt=z0(),fNt=Y2().markerStyle;hBe.exports=function(t,r){var n=r.trace,i=t._fullLayout._splomScenes[n.uid];if(i){cNt(t,n),fBe.extendFlat(i.matrixOptions,fNt(t,n));var a=fBe.extendFlat({},i.matrixOptions,i.viewOpts);i.matrix.update(a,null)}}});var pBe=ye((Vmr,vBe)=>{\"use strict\";var hNt=ba(),dNt=nV();vBe.exports={moduleType:\"trace\",name:\"splom\",categories:[\"gl\",\"regl\",\"cartesian\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:eK(),supplyDefaults:DOe(),colorbar:Kd(),calc:NOe(),plot:$Oe(),hoverPoints:nBe().hoverPoints,selectPoints:cBe(),editStyle:dBe(),meta:{}};hNt.register(dNt)});var bBe=ye((Hmr,xBe)=>{\"use strict\";var vNt=LY(),pNt=ba(),gNt=xF(),mNt=kd().getModuleCalcData,px=Jf(),gBe=af().getFromId,mBe=Qa().shouldShowZeroLine,yBe=\"splom\",_Be={};function yNt(e){var t=e._fullLayout,r=pNt.getModule(yBe),n=mNt(e.calcdata,r)[0],i=gNt(e,[\"ANGLE_instanced_arrays\",\"OES_element_index_uint\"],_Be);i&&(t._hasOnlyLargeSploms&&sK(e),r.plot(e,{},n))}function _Nt(e){var t=e.calcdata,r=e._fullLayout;r._hasOnlyLargeSploms&&sK(e);for(var n=0;n{\"use strict\";var wBe=pBe();wBe.basePlotModule=bBe(),TBe.exports=wBe});var MBe=ye((jmr,SBe)=>{\"use strict\";SBe.exports=ABe()});var cK=ye((Wmr,EBe)=>{\"use strict\";var TNt=Kl(),lK=Cd(),uK=Su(),ANt=Ju().attributes,CF=no().extendFlat,SNt=Vs().templatedArray;EBe.exports={domain:ANt({name:\"parcoords\",trace:!0,editType:\"plot\"}),labelangle:{valType:\"angle\",dflt:0,editType:\"plot\"},labelside:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},labelfont:uK({editType:\"plot\"}),tickfont:uK({autoShadowDflt:!0,editType:\"plot\"}),rangefont:uK({editType:\"plot\"}),dimensions:SNt(\"dimension\",{label:{valType:\"string\",editType:\"plot\"},tickvals:CF({},lK.tickvals,{editType:\"plot\"}),ticktext:CF({},lK.ticktext,{editType:\"plot\"}),tickformat:CF({},lK.tickformat,{editType:\"plot\"}),visible:{valType:\"boolean\",dflt:!0,editType:\"plot\"},range:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},constraintrange:{valType:\"info_array\",freeLength:!0,dimensions:\"1-2\",items:[{valType:\"any\",editType:\"plot\"},{valType:\"any\",editType:\"plot\"}],editType:\"plot\"},multiselect:{valType:\"boolean\",dflt:!0,editType:\"plot\"},values:{valType:\"data_array\",editType:\"calc\"},editType:\"calc\"}),line:CF({editType:\"calc\"},TNt(\"line\",{colorscaleDflt:\"Viridis\",autoColorDflt:!1,editTypeOverride:\"calc\"})),unselected:{line:{color:{valType:\"color\",dflt:\"#7f7f7f\",editType:\"plot\"},opacity:{valType:\"number\",min:0,max:1,dflt:\"auto\",editType:\"plot\"},editType:\"plot\"},editType:\"plot\"}}});var Tk=ye((Zmr,kBe)=>{\"use strict\";kBe.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:[\"contextLineLayer\",\"focusLineLayer\",\"pickLineLayer\"],axisTitleOffset:28,axisExtentOffset:10,bar:{width:4,captureWidth:10,fillColor:\"magenta\",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:\"axis-extent-text\",parcoordsLineLayers:\"parcoords-line-layers\",parcoordsLineLayer:\"parcoords-lines\",parcoords:\"parcoords\",parcoordsControlView:\"parcoords-control-view\",yAxis:\"y-axis\",axisOverlays:\"axis-overlays\",axis:\"axis\",axisHeading:\"axis-heading\",axisTitle:\"axis-title\",axisExtent:\"axis-extent\",axisExtentTop:\"axis-extent-top\",axisExtentTopText:\"axis-extent-top-text\",axisExtentBottom:\"axis-extent-bottom\",axisExtentBottomText:\"axis-extent-bottom-text\",axisBrush:\"axis-brush\"},id:{filterBarPattern:\"filter-bar-pattern\"}}});var Km=ye((Xmr,LBe)=>{\"use strict\";var MNt=OS();function CBe(e){return[e]}LBe.exports={keyFun:function(e){return e.key},repeat:CBe,descend:MNt,wrap:CBe,unwrap:function(e){return e[0]}}});var dK=ye((Ymr,UBe)=>{\"use strict\";var th=Tk(),em=xa(),ENt=Km().keyFun,LF=Km().repeat,mA=Mr().sorterAsc,kNt=Mr().strTranslate,PBe=th.bar.snapRatio;function IBe(e,t){return e*(1-PBe)+t*PBe}var RBe=th.bar.snapClose;function CNt(e,t){return e*(1-RBe)+t*RBe}function IF(e,t,r,n){if(LNt(r,n))return r;var i=e?-1:1,a=0,o=t.length-1;if(i<0){var s=a;a=o,o=s}for(var l=t[a],u=l,c=a;i*c=t[r][0]&&e<=t[r][1])return!0;return!1}function PNt(e){e.attr(\"x\",-th.bar.captureWidth/2).attr(\"width\",th.bar.captureWidth)}function INt(e){e.attr(\"visibility\",\"visible\").style(\"visibility\",\"visible\").attr(\"fill\",\"yellow\").attr(\"opacity\",0)}function RNt(e){if(!e.brush.filterSpecified)return\"0,\"+e.height;for(var t=DBe(e.brush.filter.getConsolidated(),e.height),r=[0],n,i,a,o=t.length?t[0][0]:null,s=0;se[1]+r||t=.9*e[1]+.1*e[0]?\"n\":t<=.9*e[0]+.1*e[1]?\"s\":\"ns\"}function zBe(){em.select(document.body).style(\"cursor\",null)}function hK(e){e.attr(\"stroke-dasharray\",RNt)}function PF(e,t){var r=em.select(e).selectAll(\".highlight, .highlight-shadow\"),n=t?r.transition().duration(th.bar.snapDuration).each(\"end\",t):r;hK(n)}function FBe(e,t){var r=e.brush,n=r.filterSpecified,i=NaN,a={},o;if(n){var s=e.height,l=r.filter.getConsolidated(),u=DBe(l,s),c=NaN,f=NaN,h=NaN;for(o=0;o<=u.length;o++){var d=u[o];if(d&&d[0]<=t&&t<=d[1]){c=o;break}else if(f=o?o-1:NaN,d&&d[0]>t){h=o;break}}if(i=c,isNaN(i)&&(isNaN(f)||isNaN(h)?i=isNaN(f)?h:f:i=t-u[f][1]=E[0]&&g<=E[1]){a.clickableOrdinalRange=E;break}}}return a}function zNt(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.unitToPaddedPx.invert(r),i=t.brush,a=FBe(t,r),o=a.interval,s=i.svgBrush;if(s.wasDragged=!1,s.grabbingBar=a.region===\"ns\",s.grabbingBar){var l=o.map(t.unitToPaddedPx);s.grabPoint=r-l[0]-th.verticalPadding,s.barLength=l[1]-l[0]}s.clickableOrdinalRange=a.clickableOrdinalRange,s.stayingIntervals=t.multiselect&&i.filterSpecified?i.filter.getConsolidated():[],o&&(s.stayingIntervals=s.stayingIntervals.filter(function(u){return u[0]!==o[0]&&u[1]!==o[1]})),s.startExtent=a.region?o[a.region===\"s\"?1:0]:n,t.parent.inBrushDrag=!0,s.brushStartCallback()}function qBe(e,t){em.event.sourceEvent.stopPropagation();var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=t.brush.svgBrush;n.wasDragged=!0,n._dragging=!0,n.grabbingBar?n.newExtent=[r-n.grabPoint,r+n.barLength-n.grabPoint].map(t.unitToPaddedPx.invert):n.newExtent=[n.startExtent,t.unitToPaddedPx.invert(r)].sort(mA),t.brush.filterSpecified=!0,n.extent=n.stayingIntervals.concat([n.newExtent]),n.brushCallback(t),PF(e.parentNode)}function FNt(e,t){var r=t.brush,n=r.filter,i=r.svgBrush;i._dragging||(OBe(e,t),qBe(e,t),t.brush.svgBrush.wasDragged=!1),i._dragging=!1;var a=em.event;a.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,t.parent.inBrushDrag=!1,zBe(),!i.wasDragged){i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&t.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,i.extent.length===0&&fK(r)):fK(r),i.brushCallback(t),PF(e.parentNode),i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);return}var s=function(){n.set(n.getConsolidated())};if(t.ordinal){var l=t.unitTickvals;l[l.length-1]i.newExtent[0];i.extent=i.stayingIntervals.concat(u?[i.newExtent]:[]),i.extent.length||fK(r),i.brushCallback(t),u?PF(e.parentNode,s):(s(),PF(e.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}function OBe(e,t){var r=t.height-em.mouse(e)[1]-2*th.verticalPadding,n=FBe(t,r),i=\"crosshair\";n.clickableOrdinalRange?i=\"pointer\":n.region&&(i=n.region+\"-resize\"),em.select(document.body).style(\"cursor\",i)}function qNt(e){e.on(\"mousemove\",function(t){em.event.preventDefault(),t.parent.inBrushDrag||OBe(this,t)}).on(\"mouseleave\",function(t){t.parent.inBrushDrag||zBe()}).call(em.behavior.drag().on(\"dragstart\",function(t){zNt(this,t)}).on(\"drag\",function(t){qBe(this,t)}).on(\"dragend\",function(t){FNt(this,t)}))}function BBe(e,t){return e[0]-t[0]}function ONt(e,t,r){var n=r._context.staticPlot,i=e.selectAll(\".background\").data(LF);i.enter().append(\"rect\").classed(\"background\",!0).call(PNt).call(INt).style(\"pointer-events\",n?\"none\":\"auto\").attr(\"transform\",kNt(0,th.verticalPadding)),i.call(qNt).attr(\"height\",function(s){return s.height-th.verticalPadding});var a=e.selectAll(\".highlight-shadow\").data(LF);a.enter().append(\"line\").classed(\"highlight-shadow\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width+th.bar.strokeWidth).attr(\"stroke\",t).attr(\"opacity\",th.bar.strokeOpacity).attr(\"stroke-linecap\",\"butt\"),a.attr(\"y1\",function(s){return s.height}).call(hK);var o=e.selectAll(\".highlight\").data(LF);o.enter().append(\"line\").classed(\"highlight\",!0).attr(\"x\",-th.bar.width/2).attr(\"stroke-width\",th.bar.width-th.bar.strokeWidth).attr(\"stroke\",th.bar.fillColor).attr(\"opacity\",th.bar.fillOpacity).attr(\"stroke-linecap\",\"butt\"),o.attr(\"y1\",function(s){return s.height}).call(hK)}function BNt(e,t,r){var n=e.selectAll(\".\"+th.cn.axisBrush).data(LF,ENt);n.enter().append(\"g\").classed(th.cn.axisBrush,!0),ONt(n,t,r)}function NNt(e){return e.svgBrush.extent.map(function(t){return t.slice()})}function fK(e){e.filterSpecified=!1,e.svgBrush.extent=[[-1/0,1/0]]}function UNt(e){return function(r){var n=r.brush,i=NNt(n),a=i.slice();n.filter.set(a),e()}}function NBe(e){for(var t=e.slice(),r=[],n,i=t.shift();i;){for(n=i.slice();(i=t.shift())&&i[0]<=n[1];)n[1]=Math.max(n[1],i[1]);r.push(n)}return r.length===1&&r[0][0]>r[0][1]&&(r=[]),r}function VNt(){var e=[],t,r;return{set:function(n){e=n.map(function(i){return i.slice().sort(mA)}).sort(BBe),e.length===1&&e[0][0]===-1/0&&e[0][1]===1/0&&(e=[[0,-1]]),t=NBe(e),r=e.reduce(function(i,a){return[Math.min(i[0],a[0]),Math.max(i[1],a[1])]},[1/0,-1/0])},get:function(){return e.slice()},getConsolidated:function(){return t},getBounds:function(){return r}}}function HNt(e,t,r,n,i,a){var o=VNt();return o.set(r),{filter:o,filterSpecified:t,svgBrush:{extent:[],brushStartCallback:n,brushCallback:UNt(i),brushEndCallback:a}}}function GNt(e,t){if(Array.isArray(e[0])?(e=e.map(function(n){return n.sort(mA)}),t.multiselect?e=NBe(e.sort(BBe)):e=[e[0]]):e=[e.sort(mA)],t.tickvals){var r=t.tickvals.slice().sort(mA);if(e=e.map(function(n){var i=[IF(0,r,n[0],[]),IF(1,r,n[1],[])];if(i[1]>i[0])return i}).filter(function(n){return n}),!e.length)return}return e.length>1?e:e[0]}UBe.exports={makeBrush:HNt,ensureAxisBrush:BNt,cleanRanges:GNt}});var GBe=ye((Kmr,HBe)=>{\"use strict\";var gx=Mr(),jNt=Dv().hasColorscale,WNt=Uh(),ZNt=Ju().defaults,XNt=Zd(),YNt=Qa(),VBe=cK(),KNt=dK(),vK=Tk().maxDimensionCount,JNt=wF();function $Nt(e,t,r,n,i){var a=i(\"line.color\",r);if(jNt(e,\"line\")&&gx.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),WNt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function QNt(e,t,r,n){function i(u,c){return gx.coerce(e,t,VBe.dimensions,u,c)}var a=i(\"values\"),o=i(\"visible\");if(a&&a.length||(o=t.visible=!1),o){i(\"label\"),i(\"tickvals\"),i(\"ticktext\"),i(\"tickformat\");var s=i(\"range\");t._ax={_id:\"y\",type:\"linear\",showexponent:\"all\",exponentformat:\"B\",range:s},YNt.setConvert(t._ax,n.layout),i(\"multiselect\");var l=i(\"constraintrange\");l&&(t.constraintrange=KNt.cleanRanges(l,t))}}HBe.exports=function(t,r,n,i){function a(c,f){return gx.coerce(t,r,VBe,c,f)}var o=t.dimensions;Array.isArray(o)&&o.length>vK&&(gx.log(\"parcoords traces support up to \"+vK+\" dimensions at the moment\"),o.splice(vK));var s=XNt(t,r,{name:\"dimensions\",layout:i,handleItemDefaults:QNt}),l=$Nt(t,r,n,i,a);ZNt(r,i,a),(!Array.isArray(s)||!s.length)&&(r.visible=!1),JNt(r,s,\"values\",l);var u=gx.extendFlat({},i.font,{size:Math.round(i.font.size/1.2)});gx.coerceFont(a,\"labelfont\",u),gx.coerceFont(a,\"tickfont\",u,{autoShadowDflt:!0}),gx.coerceFont(a,\"rangefont\",u),a(\"labelangle\"),a(\"labelside\"),a(\"unselected.line.color\"),a(\"unselected.line.opacity\")}});var WBe=ye((Jmr,jBe)=>{\"use strict\";var eUt=Mr().isArrayOrTypedArray,pK=Mu(),tUt=Km().wrap;jBe.exports=function(t,r){var n,i;return pK.hasColorscale(r,\"line\")&&eUt(r.line.color)?(n=r.line.color,i=pK.extractOpts(r.line).colorscale,pK.calc(t,r,{vals:n,containerStr:\"line\",cLetter:\"c\"})):(n=rUt(r._length),i=[[0,r.line.color],[1,r.line.color]]),tUt({lineColor:n,cscale:i})};function rUt(e){for(var t=new Array(e),r=0;r{\"use strict\";var iUt=Mr().isTypedArray;RF.convertTypedArray=function(e){return iUt(e)?Array.prototype.slice.call(e):e};RF.isOrdinal=function(e){return!!e.tickvals};RF.isVisible=function(e){return e.visible||!(\"visible\"in e)}});var rNe=ye((Qmr,tNe)=>{\"use strict\";var nUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"attribute vec4 p01_04, p05_08, p09_12, p13_16,\",\" p17_20, p21_24, p25_28, p29_32,\",\" p33_36, p37_40, p41_44, p45_48,\",\" p49_52, p53_56, p57_60, colors;\",\"\",\"uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\",\" loA, hiA, loB, hiB, loC, hiC, loD, hiD;\",\"\",\"uniform vec2 resolution, viewBoxPos, viewBoxSize;\",\"uniform float maskHeight;\",\"uniform float drwLayer; // 0: context, 1: focus, 2: pick\",\"uniform vec4 contextColor;\",\"uniform sampler2D maskTexture, palette;\",\"\",\"bool isPick = (drwLayer > 1.5);\",\"bool isContext = (drwLayer < 0.5);\",\"\",\"const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\",\"const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\",\"\",\"float val(mat4 p, mat4 v) {\",\" return dot(matrixCompMult(p, v) * UNITS, UNITS);\",\"}\",\"\",\"float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\",\" float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\",\" return y1 * (1.0 - ratio) + y2 * ratio;\",\"}\",\"\",\"int iMod(int a, int b) {\",\" return a - b * (a / b);\",\"}\",\"\",\"bool fOutside(float p, float lo, float hi) {\",\" return (lo < hi) && (lo > p || p > hi);\",\"}\",\"\",\"bool vOutside(vec4 p, vec4 lo, vec4 hi) {\",\" return (\",\" fOutside(p[0], lo[0], hi[0]) ||\",\" fOutside(p[1], lo[1], hi[1]) ||\",\" fOutside(p[2], lo[2], hi[2]) ||\",\" fOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool mOutside(mat4 p, mat4 lo, mat4 hi) {\",\" return (\",\" vOutside(p[0], lo[0], hi[0]) ||\",\" vOutside(p[1], lo[1], hi[1]) ||\",\" vOutside(p[2], lo[2], hi[2]) ||\",\" vOutside(p[3], lo[3], hi[3])\",\" );\",\"}\",\"\",\"bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" return mOutside(A, loA, hiA) ||\",\" mOutside(B, loB, hiB) ||\",\" mOutside(C, loC, hiC) ||\",\" mOutside(D, loD, hiD);\",\"}\",\"\",\"bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\",\" mat4 pnts[4];\",\" pnts[0] = A;\",\" pnts[1] = B;\",\" pnts[2] = C;\",\" pnts[3] = D;\",\"\",\" for(int i = 0; i < 4; ++i) {\",\" for(int j = 0; j < 4; ++j) {\",\" for(int k = 0; k < 4; ++k) {\",\" if(0 == iMod(\",\" int(255.0 * texture2D(maskTexture,\",\" vec2(\",\" (float(i * 2 + j / 2) + 0.5) / 8.0,\",\" (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\",\" ))[3]\",\" ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\",\" 2\",\" )) return true;\",\" }\",\" }\",\" }\",\" return false;\",\"}\",\"\",\"vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\",\" float x = 0.5 * sign(v) + 0.5;\",\" float y = axisY(x, A, B, C, D);\",\" float z = 1.0 - abs(v);\",\"\",\" z += isContext ? 0.0 : 2.0 * float(\",\" outsideBoundingBox(A, B, C, D) ||\",\" outsideRasterMask(A, B, C, D)\",\" );\",\"\",\" return vec4(\",\" 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\",\" z,\",\" 1.0\",\" );\",\"}\",\"\",\"void main() {\",\" mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\",\" mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\",\" mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\",\" mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\",\"\",\" float v = colors[3];\",\"\",\" gl_Position = position(isContext, v, A, B, C, D);\",\"\",\" fragColor =\",\" isContext ? vec4(contextColor) :\",\" isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\",\"}\"].join(`\n", + "`),aUt=[\"precision highp float;\",\"\",\"varying vec4 fragColor;\",\"\",\"void main() {\",\" gl_FragColor = fragColor;\",\"}\"].join(`\n", + "`),Ak=Tk().maxDimensionCount,$Be=Mr(),ZBe=1e-6,DF=2048,oUt=new Uint8Array(4),XBe=new Uint8Array(4),YBe={shape:[256,1],format:\"rgba\",type:\"uint8\",mag:\"nearest\",min:\"nearest\"};function sUt(e){e.read({x:0,y:0,width:1,height:1,data:oUt})}function QBe(e,t,r,n,i){var a=e._gl;a.enable(a.SCISSOR_TEST),a.scissor(t,r,n,i),e.clear({color:[0,0,0,0],depth:1})}function lUt(e,t,r,n,i,a){var o=a.key;function s(l){var u=Math.min(n,i-l*n);l===0&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],QBe(e,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),!r.clearOnly&&(a.count=2*u,a.offset=2*l*n,t(a),l*n+u>>8*t)%256/255}function fUt(e,t,r){for(var n=new Array(e*(Ak+4)),i=0,a=0;aX&&(X=M[F].dim1.canvasX,V=F);T===0&&QBe(i,0,0,u.canvasWidth,u.canvasHeight);var G=k(r);for(F=0;F{\"use strict\";var zd=xa(),l1=Mr(),yK=l1.isArrayOrTypedArray,lNe=l1.numberFormat,uNe=rZ(),cNe=Qa(),gUt=l1.strRotate,Jm=l1.strTranslate,mUt=Ll(),zF=ao(),iNe=Mu(),bK=Km(),tg=bK.keyFun,$m=bK.repeat,fNe=bK.unwrap,yA=gK(),ll=Tk(),hNe=dK(),yUt=rNe();function nNe(e,t,r){return l1.aggNums(e,null,t,r)}function dNe(e,t){return wK(nNe(Math.min,e,t),nNe(Math.max,e,t))}function FF(e){var t=e.range;return t?wK(t[0],t[1]):dNe(e.values,e._length)}function wK(e,t){return(isNaN(e)||!isFinite(e))&&(e=0),(isNaN(t)||!isFinite(t))&&(t=0),e===t&&(e===0?(e-=1,t+=1):(e*=.9,t*=1.1)),[e,t]}function _Ut(e,t){return t?function(r,n){var i=t[n];return i==null?e(r):i}:e}function xUt(e,t,r,n,i){var a=FF(r);return n?zd.scale.ordinal().domain(n.map(_Ut(lNe(r.tickformat),i))).range(n.map(function(o){var s=(o-a[0])/(a[1]-a[0]);return e-t+s*(2*t-e)})):zd.scale.linear().domain(a).range([e-t,t])}function bUt(e,t){return zd.scale.linear().range([t,e-t])}function wUt(e,t){return zd.scale.linear().domain(FF(e)).range([t,1-t])}function TUt(e){if(e.tickvals){var t=FF(e);return zd.scale.ordinal().domain(e.tickvals).range(e.tickvals.map(function(r){return(r-t[0])/(t[1]-t[0])}))}}function AUt(e){var t=e.map(function(a){return a[0]}),r=e.map(function(a){var o=uNe(a[1]);return zd.rgb(\"rgb(\"+o[0]+\",\"+o[1]+\",\"+o[2]+\")\")}),n=function(a){return function(o){return o[a]}},i=\"rgb\".split(\"\").map(function(a){return zd.scale.linear().clamp(!0).domain(t).range(r.map(n(a)))});return function(a){return i.map(function(o){return o(a)})}}function xK(e){return e.dimensions.some(function(t){return t.brush.filterSpecified})}function SUt(e,t,r){var n=fNe(t),i=n.trace,a=yA.convertTypedArray(n.lineColor),o=i.line,s={color:uNe(i.unselected.line.color),opacity:i.unselected.line.opacity},l=iNe.extractOpts(o),u=l.reversescale?iNe.flipScale(n.cscale):n.cscale,c=i.domain,f=i.dimensions,h=e.width,d=i.labelangle,v=i.labelside,x=i.labelfont,b=i.tickfont,g=i.rangefont,E=l1.extendDeepNoArrays({},o,{color:a.map(zd.scale.linear().domain(FF({values:a,range:[l.min,l.max],_length:i._length}))),blockLineCount:ll.blockLineCount,canvasOverdrag:ll.overdrag*ll.canvasPixelRatio}),k=Math.floor(h*(c.x[1]-c.x[0])),A=Math.floor(e.height*(c.y[1]-c.y[0])),L=e.margin||{l:80,r:80,t:100,b:80},_=k,C=A;return{key:r,colCount:f.filter(yA.isVisible).length,dimensions:f,tickDistance:ll.tickDistance,unitToColor:AUt(u),lines:E,deselectedLines:s,labelAngle:d,labelSide:v,labelFont:x,tickFont:b,rangeFont:g,layoutWidth:h,layoutHeight:e.height,domain:c,translateX:c.x[0]*h,translateY:e.height-c.y[1]*e.height,pad:L,canvasWidth:_*ll.canvasPixelRatio+2*E.canvasOverdrag,canvasHeight:C*ll.canvasPixelRatio,width:_,height:C,canvasPixelRatio:ll.canvasPixelRatio}}function MUt(e,t,r){var n=r.width,i=r.height,a=r.dimensions,o=r.canvasPixelRatio,s=function(h){return n*h/Math.max(1,r.colCount-1)},l=ll.verticalPadding/i,u=bUt(i,ll.verticalPadding),c={key:r.key,xScale:s,model:r,inBrushDrag:!1},f={};return c.dimensions=a.filter(yA.isVisible).map(function(h,d){var v=wUt(h,l),x=f[h.label];f[h.label]=(x||0)+1;var b=h.label+(x?\"__\"+x:\"\"),g=h.constraintrange,E=g&&g.length;E&&!yK(g[0])&&(g=[g]);var k=E?g.map(function(q){return q.map(v)}):[[-1/0,1/0]],A=function(){var q=c;q.focusLayer&&q.focusLayer.render(q.panels,!0);var V=xK(q);!e.contextShown()&&V?(q.contextLayer&&q.contextLayer.render(q.panels,!0),e.contextShown(!0)):e.contextShown()&&!V&&(q.contextLayer&&q.contextLayer.render(q.panels,!0,!0),e.contextShown(!1))},L=h.values;L.length>h._length&&(L=L.slice(0,h._length));var _=h.tickvals,C;function M(q,V){return{val:q,text:C[V]}}function p(q,V){return q.val-V.val}if(yK(_)&&_.length){l1.isTypedArray(_)&&(_=Array.from(_)),C=h.ticktext,!yK(C)||!C.length?C=_.map(lNe(h.tickformat)):C.length>_.length?C=C.slice(0,_.length):_.length>C.length&&(_=_.slice(0,C.length));for(var P=1;P<_.length;P++)if(_[P]<_[P-1]){for(var T=_.map(M).sort(p),F=0;F<_.length;F++)_[F]=T[F].val,C[F]=T[F].text;break}}else _=void 0;return L=yA.convertTypedArray(L),{key:b,label:h.label,tickFormat:h.tickformat,tickvals:_,ticktext:C,ordinal:yA.isOrdinal(h),multiselect:h.multiselect,xIndex:d,crossfilterDimensionIndex:d,visibleIndex:h._index,height:i,values:L,paddedUnitValues:L.map(v),unitTickvals:_&&_.map(v),xScale:s,x:s(d),canvasX:s(d)*o,unitToPaddedPx:u,domainScale:xUt(i,ll.verticalPadding,h,_,C),ordinalScale:TUt(h),parent:c,model:r,brush:hNe.makeBrush(e,E,k,function(){e.linePickActive(!1)},A,function(q){if(c.focusLayer.render(c.panels,!0),c.pickLayer&&c.pickLayer.render(c.panels,!0),e.linePickActive(!0),t&&t.filterChanged){var V=v.invert,H=q.map(function(X){return X.map(V).sort(l1.sorterAsc)}).sort(function(X,G){return X[0]-G[0]});t.filterChanged(c.key,h._index,H)}})}}),c}function aNe(e){e.classed(ll.cn.axisExtentText,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"default\")}function EUt(){var e=!0,t=!1;return{linePickActive:function(r){return arguments.length?e=!!r:e},contextShown:function(r){return arguments.length?t=!!r:t}}}function oNe(e,t){var r=t===\"top\"?1:-1,n=e*Math.PI/180,i=Math.sin(n),a=Math.cos(n);return{dir:r,dx:i,dy:a,degrees:e}}function _K(e,t,r){for(var n=t.panels||(t.panels=[]),i=e.data(),a=0;a=V||N>=H)return;var W=F.lineLayer.readPixel(G,H-1-N),re=W[3]!==0,ae=re?W[2]+256*(W[1]+256*W[0]):null,_e={x:G,y:N,clientX:q.clientX,clientY:q.clientY,dataIndex:F.model.key,curveNumber:ae};ae!==v&&(re?i.hover(_e):i.unhover&&i.unhover(_e),v=ae)}}),d.style(\"opacity\",function(F){return F.pick?0:1}),s.style(\"background\",\"rgba(255, 255, 255, 0)\");var b=s.selectAll(\".\"+ll.cn.parcoords).data(h,tg);b.exit().remove(),b.enter().append(\"g\").classed(ll.cn.parcoords,!0).style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"none\"),b.attr(\"transform\",function(F){return Jm(F.model.translateX,F.model.translateY)});var g=b.selectAll(\".\"+ll.cn.parcoordsControlView).data($m,tg);g.enter().append(\"g\").classed(ll.cn.parcoordsControlView,!0),g.attr(\"transform\",function(F){return Jm(F.model.pad.l,F.model.pad.t)});var E=g.selectAll(\".\"+ll.cn.yAxis).data(function(F){return F.dimensions},tg);E.enter().append(\"g\").classed(ll.cn.yAxis,!0),g.each(function(F){_K(E,F,u)}),d.each(function(F){if(F.viewModel){!F.lineLayer||i?F.lineLayer=yUt(this,F):F.lineLayer.update(F),(F.key||F.key===0)&&(F.viewModel[F.key]=F.lineLayer);var q=!F.context||i;F.lineLayer.render(F.viewModel.panels,q)}}),E.attr(\"transform\",function(F){return Jm(F.xScale(F.xIndex),0)}),E.call(zd.behavior.drag().origin(function(F){return F}).on(\"drag\",function(F){var q=F.parent;f.linePickActive(!1),F.x=Math.max(-ll.overdrag,Math.min(F.model.width+ll.overdrag,zd.event.x)),F.canvasX=F.x*F.model.canvasPixelRatio,E.sort(function(V,H){return V.x-H.x}).each(function(V,H){V.xIndex=H,V.x=F===V?V.x:V.xScale(V.xIndex),V.canvasX=V.x*V.model.canvasPixelRatio}),_K(E,q,u),E.filter(function(V){return Math.abs(F.xIndex-V.xIndex)!==0}).attr(\"transform\",function(V){return Jm(V.xScale(V.xIndex),0)}),zd.select(this).attr(\"transform\",Jm(F.x,0)),E.each(function(V,H,X){X===F.parent.key&&(q.dimensions[H]=V)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!xK(q)),q.focusLayer.render&&q.focusLayer.render(q.panels)}).on(\"dragend\",function(F){var q=F.parent;F.x=F.xScale(F.xIndex),F.canvasX=F.x*F.model.canvasPixelRatio,_K(E,q,u),zd.select(this).attr(\"transform\",function(V){return Jm(V.x,0)}),q.contextLayer&&q.contextLayer.render(q.panels,!1,!xK(q)),q.focusLayer&&q.focusLayer.render(q.panels),q.pickLayer&&q.pickLayer.render(q.panels,!0),f.linePickActive(!0),i&&i.axesMoved&&i.axesMoved(q.key,q.dimensions.map(function(V){return V.crossfilterDimensionIndex}))})),E.exit().remove();var k=E.selectAll(\".\"+ll.cn.axisOverlays).data($m,tg);k.enter().append(\"g\").classed(ll.cn.axisOverlays,!0),k.selectAll(\".\"+ll.cn.axis).remove();var A=k.selectAll(\".\"+ll.cn.axis).data($m,tg);A.enter().append(\"g\").classed(ll.cn.axis,!0),A.each(function(F){var q=F.model.height/F.model.tickDistance,V=F.domainScale,H=V.domain();zd.select(this).call(zd.svg.axis().orient(\"left\").tickSize(4).outerTickSize(2).ticks(q,F.tickFormat).tickValues(F.ordinal?H:null).tickFormat(function(X){return yA.isOrdinal(F)?X:vNe(F.model.dimensions[F.visibleIndex],X)}).scale(V)),zF.font(A.selectAll(\"text\"),F.model.tickFont)}),A.selectAll(\".domain, .tick>line\").attr(\"fill\",\"none\").attr(\"stroke\",\"black\").attr(\"stroke-opacity\",.25).attr(\"stroke-width\",\"1px\"),A.selectAll(\"text\").style(\"cursor\",\"default\");var L=k.selectAll(\".\"+ll.cn.axisHeading).data($m,tg);L.enter().append(\"g\").classed(ll.cn.axisHeading,!0);var _=L.selectAll(\".\"+ll.cn.axisTitle).data($m,tg);_.enter().append(\"text\").classed(ll.cn.axisTitle,!0).attr(\"text-anchor\",\"middle\").style(\"cursor\",\"ew-resize\").style(\"pointer-events\",a?\"none\":\"auto\"),_.text(function(F){return F.label}).each(function(F){var q=zd.select(this);zF.font(q,F.model.labelFont),mUt.convertToTspans(q,t)}).attr(\"transform\",function(F){var q=oNe(F.model.labelAngle,F.model.labelSide),V=ll.axisTitleOffset;return(q.dir>0?\"\":Jm(0,2*V+F.model.height))+gUt(q.degrees)+Jm(-V*q.dx,-V*q.dy)}).attr(\"text-anchor\",function(F){var q=oNe(F.model.labelAngle,F.model.labelSide),V=Math.abs(q.dx),H=Math.abs(q.dy);return 2*V>H?q.dir*q.dx<0?\"start\":\"end\":\"middle\"});var C=k.selectAll(\".\"+ll.cn.axisExtent).data($m,tg);C.enter().append(\"g\").classed(ll.cn.axisExtent,!0);var M=C.selectAll(\".\"+ll.cn.axisExtentTop).data($m,tg);M.enter().append(\"g\").classed(ll.cn.axisExtentTop,!0),M.attr(\"transform\",Jm(0,-ll.axisExtentOffset));var p=M.selectAll(\".\"+ll.cn.axisExtentTopText).data($m,tg);p.enter().append(\"text\").classed(ll.cn.axisExtentTopText,!0).call(aNe),p.text(function(F){return sNe(F,!0)}).each(function(F){zF.font(zd.select(this),F.model.rangeFont)});var P=C.selectAll(\".\"+ll.cn.axisExtentBottom).data($m,tg);P.enter().append(\"g\").classed(ll.cn.axisExtentBottom,!0),P.attr(\"transform\",function(F){return Jm(0,F.model.height+ll.axisExtentOffset)});var T=P.selectAll(\".\"+ll.cn.axisExtentBottomText).data($m,tg);T.enter().append(\"text\").classed(ll.cn.axisExtentBottomText,!0).attr(\"dy\",\"0.75em\").call(aNe),T.text(function(F){return sNe(F,!1)}).each(function(F){zF.font(zd.select(this),F.model.rangeFont)}),hNe.ensureAxisBrush(k,c,t)}});var AK=ye((TK,xNe)=>{\"use strict\";var CUt=gNe(),LUt=xF(),mNe=gK().isVisible,_Ne={};function yNe(e,t,r){var n=t.indexOf(r),i=e.indexOf(n);return i===-1&&(i+=t.length),i}function PUt(e,t){return function(n,i){return yNe(e,t,n)-yNe(e,t,i)}}var TK=xNe.exports=function(t,r){var n=t._fullLayout,i=LUt(t,[],_Ne);if(i){var a={},o={},s={},l={},u=n._size;r.forEach(function(v,x){var b=v[0].trace;s[x]=b.index;var g=l[x]=b.index;a[x]=t.data[g].dimensions,o[x]=t.data[g].dimensions.slice()});var c=function(v,x,b){var g=o[v][x],E=b.map(function(M){return M.slice()}),k=\"dimensions[\"+x+\"].constraintrange\",A=n._tracePreGUI[t._fullData[s[v]]._fullInput.uid];if(A[k]===void 0){var L=g.constraintrange;A[k]=L||null}var _=t._fullData[s[v]].dimensions[x];E.length?(E.length===1&&(E=E[0]),g.constraintrange=E,_.constraintrange=E.slice(),E=[E]):(delete g.constraintrange,delete _.constraintrange,E=null);var C={};C[k]=E,t.emit(\"plotly_restyle\",[C,[l[v]]])},f=function(v){t.emit(\"plotly_hover\",v)},h=function(v){t.emit(\"plotly_unhover\",v)},d=function(v,x){var b=PUt(x,o[v].filter(mNe));a[v].sort(b),o[v].filter(function(g){return!mNe(g)}).sort(function(g){return o[v].indexOf(g)}).forEach(function(g){a[v].splice(a[v].indexOf(g),1),a[v].splice(o[v].indexOf(g),0,g)}),t.emit(\"plotly_restyle\",[{dimensions:[a[v]]},[l[v]]])};CUt(t,r,{width:u.w,height:u.h,margin:{t:u.t,r:u.r,b:u.b,l:u.l}},{filterChanged:c,hover:f,unhover:h,axesMoved:d})}};TK.reglPrecompiled=_Ne});var wNe=ye(Sk=>{\"use strict\";var bNe=xa(),IUt=kd().getModuleCalcData,RUt=AK(),DUt=Zp();Sk.name=\"parcoords\";Sk.plot=function(e){var t=IUt(e.calcdata,\"parcoords\")[0];t.length&&RUt(e,t)};Sk.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcoords\"),a=t._has&&t._has(\"parcoords\");i&&!a&&(n._paperdiv.selectAll(\".parcoords\").remove(),n._glimages.selectAll(\"*\").remove())};Sk.toSVG=function(e){var t=e._fullLayout._glimages,r=bNe.select(e).selectAll(\".svg-container\"),n=r.filter(function(a,o){return o===r.size()-1}).selectAll(\".gl-canvas-context, .gl-canvas-focus\");function i(){var a=this,o=a.toDataURL(\"image/png\"),s=t.append(\"svg:image\");s.attr({xmlns:DUt.svg,\"xlink:href\":o,preserveAspectRatio:\"none\",x:0,y:0,width:a.style.width,height:a.style.height})}n.each(i),window.setTimeout(function(){bNe.selectAll(\"#filterBarPattern\").attr(\"id\",\"filterBarPattern\")},60)}});var ANe=ye((ryr,TNe)=>{\"use strict\";TNe.exports={attributes:cK(),supplyDefaults:GBe(),calc:WBe(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcoords\",basePlotModule:wNe(),categories:[\"gl\",\"regl\",\"noOpacity\",\"noHover\"],meta:{}}});var ENe=ye((iyr,MNe)=>{\"use strict\";var SNe=ANe();SNe.plot=AK();MNe.exports=SNe});var CNe=ye((nyr,kNe)=>{\"use strict\";kNe.exports=ENe()});var SK=ye((ayr,RNe)=>{\"use strict\";var PNe=no().extendFlat,zUt=vl(),LNe=Su(),FUt=Kl(),INe=Wo().hovertemplateAttrs,qUt=Ju().attributes,OUt=PNe({editType:\"calc\"},FUt(\"line\",{editTypeOverride:\"calc\"}),{shape:{valType:\"enumerated\",values:[\"linear\",\"hspline\"],dflt:\"linear\",editType:\"plot\"},hovertemplate:INe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\"]})});RNe.exports={domain:qUt({name:\"parcats\",trace:!0,editType:\"calc\"}),hoverinfo:PNe({},zUt.hoverinfo,{flags:[\"count\",\"probability\"],editType:\"plot\",arrayOk:!1}),hoveron:{valType:\"enumerated\",values:[\"category\",\"color\",\"dimension\"],dflt:\"category\",editType:\"plot\"},hovertemplate:INe({editType:\"plot\",arrayOk:!1},{keys:[\"count\",\"probability\",\"category\",\"categorycount\",\"colorcount\",\"bandcolorcount\"]}),arrangement:{valType:\"enumerated\",values:[\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"perpendicular\",editType:\"plot\"},bundlecolors:{valType:\"boolean\",dflt:!0,editType:\"plot\"},sortpaths:{valType:\"enumerated\",values:[\"forward\",\"backward\"],dflt:\"forward\",editType:\"plot\"},labelfont:LNe({editType:\"calc\"}),tickfont:LNe({autoShadowDflt:!0,editType:\"calc\"}),dimensions:{_isLinkedToArray:\"dimension\",label:{valType:\"string\",editType:\"calc\"},categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},values:{valType:\"data_array\",dflt:[],editType:\"calc\"},displayindex:{valType:\"integer\",editType:\"calc\"},editType:\"calc\",visible:{valType:\"boolean\",dflt:!0,editType:\"calc\"}},line:OUt,counts:{valType:\"number\",min:0,dflt:1,arrayOk:!0,editType:\"calc\"},customdata:void 0,hoverlabel:void 0,ids:void 0,legend:void 0,legendgroup:void 0,legendrank:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}});var FNe=ye((oyr,zNe)=>{\"use strict\";var _A=Mr(),BUt=Dv().hasColorscale,NUt=Uh(),UUt=Ju().defaults,VUt=Zd(),DNe=SK(),HUt=wF(),GUt=vv().isTypedArraySpec;function jUt(e,t,r,n,i){i(\"line.shape\"),i(\"line.hovertemplate\");var a=i(\"line.color\",n.colorway[0]);if(BUt(e,\"line\")&&_A.isArrayOrTypedArray(a)){if(a.length)return i(\"line.colorscale\"),NUt(e,t,n,i,{prefix:\"line.\",cLetter:\"c\"}),a.length;t.line.color=r}return 1/0}function WUt(e,t){function r(u,c){return _A.coerce(e,t,DNe.dimensions,u,c)}var n=r(\"values\"),i=r(\"visible\");if(n&&n.length||(i=t.visible=!1),i){r(\"label\"),r(\"displayindex\",t._index);var a=e.categoryarray,o=_A.isArrayOrTypedArray(a)&&a.length>0||GUt(a),s;o&&(s=\"array\");var l=r(\"categoryorder\",s);l===\"array\"?(r(\"categoryarray\"),r(\"ticktext\")):(delete e.categoryarray,delete e.ticktext),!o&&l===\"array\"&&(t.categoryorder=\"trace\")}}zNe.exports=function(t,r,n,i){function a(u,c){return _A.coerce(t,r,DNe,u,c)}var o=VUt(t,r,{name:\"dimensions\",handleItemDefaults:WUt}),s=jUt(t,r,n,i,a);UUt(r,i,a),(!Array.isArray(o)||!o.length)&&(r.visible=!1),HUt(r,o,\"values\",s),a(\"hoveron\"),a(\"hovertemplate\"),a(\"arrangement\"),a(\"bundlecolors\"),a(\"sortpaths\"),a(\"counts\");var l=i.font;_A.coerceFont(a,\"labelfont\",l,{overrideDflt:{size:Math.round(l.size)}}),_A.coerceFont(a,\"tickfont\",l,{autoShadowDflt:!0,overrideDflt:{size:Math.round(l.size/1.2)}})}});var ONe=ye((syr,qNe)=>{\"use strict\";var ZUt=Km().wrap,XUt=Dv().hasColorscale,YUt=zv(),KUt=Gq(),JUt=ao(),Mk=Mr(),$Ut=uo();qNe.exports=function(t,r){var n=Mk.filterVisible(r.dimensions);if(n.length===0)return[];var i=n.map(function(p){var P;if(p.categoryorder===\"trace\")P=null;else if(p.categoryorder===\"array\")P=p.categoryarray;else{P=KUt(p.values);for(var T=!0,F=0;F=e.length||t[e[r]]!==void 0)return!1;t[e[r]]=!0}return!0}});var ZNe=ye((lyr,WNe)=>{\"use strict\";var ul=xa(),uVt=(R2(),ab(I2)).interpolateNumber,cVt=qP(),Ck=Nc(),mx=Mr(),Ek=mx.strTranslate,BNe=ao(),MK=id(),fVt=Ll();function hVt(e,t,r,n){var i=t._context.staticPlot,a=e.map(EVt.bind(0,t,r)),o=n.selectAll(\"g.parcatslayer\").data([null]);o.enter().append(\"g\").attr(\"class\",\"parcatslayer\").style(\"pointer-events\",i?\"none\":\"all\");var s=o.selectAll(\"g.trace.parcats\").data(a,u1),l=s.enter().append(\"g\").attr(\"class\",\"trace parcats\");s.attr(\"transform\",function(E){return Ek(E.x,E.y)}),l.append(\"g\").attr(\"class\",\"paths\");var u=s.select(\"g.paths\"),c=u.selectAll(\"path.path\").data(function(E){return E.paths},u1);c.attr(\"fill\",function(E){return E.model.color});var f=c.enter().append(\"path\").attr(\"class\",\"path\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.model.color}).attr(\"fill-opacity\",0);CK(f),c.attr(\"d\",function(E){return E.svgD}),f.empty()||c.sort(EK),c.exit().remove(),c.on(\"mouseover\",dVt).on(\"mouseout\",vVt).on(\"click\",pVt),l.append(\"g\").attr(\"class\",\"dimensions\");var h=s.select(\"g.dimensions\"),d=h.selectAll(\"g.dimension\").data(function(E){return E.dimensions},u1);d.enter().append(\"g\").attr(\"class\",\"dimension\"),d.attr(\"transform\",function(E){return Ek(E.x,0)}),d.exit().remove();var v=d.selectAll(\"g.category\").data(function(E){return E.categories},u1),x=v.enter().append(\"g\").attr(\"class\",\"category\");v.attr(\"transform\",function(E){return Ek(0,E.y)}),x.append(\"rect\").attr(\"class\",\"catrect\").attr(\"pointer-events\",\"none\"),v.select(\"rect.catrect\").attr(\"fill\",\"none\").attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),UNe(x);var b=v.selectAll(\"rect.bandrect\").data(function(E){return E.bands},u1);b.each(function(){mx.raiseToTop(this)}),b.attr(\"fill\",function(E){return E.color});var g=b.enter().append(\"rect\").attr(\"class\",\"bandrect\").attr(\"stroke-opacity\",0).attr(\"fill\",function(E){return E.color}).attr(\"fill-opacity\",0);b.attr(\"fill\",function(E){return E.color}).attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}).attr(\"y\",function(E){return E.y}).attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":E.parcatsViewModel.arrangement===\"perpendicular\"?\"ns-resize\":\"move\"}),PK(g),b.exit().remove(),x.append(\"text\").attr(\"class\",\"catlabel\").attr(\"pointer-events\",\"none\"),v.select(\"text.catlabel\").attr(\"text-anchor\",function(E){return kk(E)?\"start\":\"end\"}).attr(\"alignment-baseline\",\"middle\").style(\"fill\",\"rgb(0, 0, 0)\").attr(\"x\",function(E){return kk(E)?E.width+5:-5}).attr(\"y\",function(E){return E.height/2}).text(function(E){return E.model.categoryLabel}).each(function(E){BNe.font(ul.select(this),E.parcatsViewModel.categorylabelfont),fVt.convertToTspans(ul.select(this),t)}),x.append(\"text\").attr(\"class\",\"dimlabel\"),v.select(\"text.dimlabel\").attr(\"text-anchor\",\"middle\").attr(\"alignment-baseline\",\"baseline\").attr(\"cursor\",function(E){return E.parcatsViewModel.arrangement===\"fixed\"?\"default\":\"ew-resize\"}).attr(\"x\",function(E){return E.width/2}).attr(\"y\",-5).text(function(E,k){return k===0?E.parcatsViewModel.model.dimensions[E.model.dimensionInd].dimensionLabel:null}).each(function(E){BNe.font(ul.select(this),E.parcatsViewModel.labelfont)}),v.selectAll(\"rect.bandrect\").on(\"mouseover\",wVt).on(\"mouseout\",TVt),v.exit().remove(),d.call(ul.behavior.drag().origin(function(E){return{x:E.x,y:0}}).on(\"dragstart\",AVt).on(\"drag\",SVt).on(\"dragend\",MVt)),s.each(function(E){E.traceSelection=ul.select(this),E.pathSelection=ul.select(this).selectAll(\"g.paths\").selectAll(\"path.path\"),E.dimensionSelection=ul.select(this).selectAll(\"g.dimensions\").selectAll(\"g.dimension\")}),s.exit().remove()}WNe.exports=function(e,t,r,n){hVt(r,e,n,t)};function u1(e){return e.key}function kk(e){var t=e.parcatsViewModel.dimensions.length,r=e.parcatsViewModel.dimensions[t-1].model.dimensionInd;return e.model.dimensionInd===r}function EK(e,t){return e.model.rawColor>t.model.rawColor?1:e.model.rawColor\"),_=ul.mouse(i)[0];Ck.loneHover({trace:a,x:v-s.left+l.left,y:x-s.top+l.top,text:L,color:e.model.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:10,fontColor:b,idealAlign:_1&&u.displayInd===l.dimensions.length-1?(h=o.left,d=\"left\"):(h=o.left+o.width,d=\"right\");var v=s.model.count,x=s.model.categoryLabel,b=v/s.parcatsViewModel.model.count,g={countLabel:v,categoryLabel:x,probabilityLabel:b.toFixed(3)},E=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&E.push([\"Count:\",g.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&E.push([\"P(\"+g.categoryLabel+\"):\",g.probabilityLabel].join(\" \"));var k=E.join(\"
\");return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:k,color:\"lightgray\",borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontSize:12,fontColor:\"black\",idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:g,eventData:[{data:c._input,fullData:c,count:v,category:x,probability:b}]}}function xVt(e,t,r){var n=[];return ul.select(r.parentNode.parentNode).selectAll(\"g.category\").select(\"rect.catrect\").each(function(){var i=this;n.push(VNe(e,t,i))}),n}function bVt(e,t,r){e._fullLayout._calcInverseTransform(e);var n=e._fullLayout._invScaleX,i=e._fullLayout._invScaleY,a=r.getBoundingClientRect(),o=ul.select(r).datum(),s=o.categoryViewModel,l=s.parcatsViewModel,u=l.model.dimensions[s.model.dimensionInd],c=l.trace,f=a.y+a.height/2,h,d;l.dimensions.length>1&&u.displayInd===l.dimensions.length-1?(h=a.left,d=\"left\"):(h=a.left+a.width,d=\"right\");var v=s.model.categoryLabel,x=o.parcatsViewModel.model.count,b=0;o.categoryViewModel.bands.forEach(function(P){P.color===o.color&&(b+=P.count)});var g=s.model.count,E=0;l.pathSelection.each(function(P){P.model.color===o.color&&(E+=P.model.count)});var k=b/x,A=b/E,L=b/g,_={countLabel:b,categoryLabel:v,probabilityLabel:k.toFixed(3)},C=[];s.parcatsViewModel.hoverinfoItems.indexOf(\"count\")!==-1&&C.push([\"Count:\",_.countLabel].join(\" \")),s.parcatsViewModel.hoverinfoItems.indexOf(\"probability\")!==-1&&(C.push(\"P(color \\u2229 \"+v+\"): \"+_.probabilityLabel),C.push(\"P(\"+v+\" | color): \"+A.toFixed(3)),C.push(\"P(color | \"+v+\"): \"+L.toFixed(3)));var M=C.join(\"
\"),p=MK.mostReadable(o.color,[\"black\",\"white\"]);return{trace:c,x:n*(h-t.left),y:i*(f-t.top),text:M,color:o.color,borderColor:\"black\",fontFamily:'Monaco, \"Courier New\", monospace',fontColor:p,fontSize:10,idealAlign:d,hovertemplate:c.hovertemplate,hovertemplateLabels:_,eventData:[{data:c._input,fullData:c,category:v,count:x,probability:k,categorycount:g,colorcount:E,bandcolorcount:b}]}}function wVt(e){if(!e.parcatsViewModel.dragDimension&&e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1){var t=ul.mouse(this)[1];if(t<-1)return;var r=e.parcatsViewModel.graphDiv,n=r._fullLayout,i=n._paperdiv.node().getBoundingClientRect(),a=e.parcatsViewModel.hoveron,o=this;if(a===\"color\"?(_Vt(o),RK(o,\"plotly_hover\",ul.event)):(yVt(o),IK(o,\"plotly_hover\",ul.event)),e.parcatsViewModel.hoverinfoItems.indexOf(\"none\")===-1){var s;a===\"category\"?s=VNe(r,i,o):a===\"color\"?s=bVt(r,i,o):a===\"dimension\"&&(s=xVt(r,i,o)),s&&Ck.loneHover(s,{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:r})}}}function TVt(e){var t=e.parcatsViewModel;if(!t.dragDimension&&(CK(t.pathSelection),UNe(t.dimensionSelection.selectAll(\"g.category\")),PK(t.dimensionSelection.selectAll(\"g.category\").selectAll(\"rect.bandrect\")),Ck.loneUnhover(t.graphDiv._fullLayout._hoverlayer.node()),t.pathSelection.sort(EK),t.hoverinfoItems.indexOf(\"skip\")===-1)){var r=e.parcatsViewModel.hoveron,n=this;r===\"color\"?RK(n,\"plotly_unhover\",ul.event):IK(n,\"plotly_unhover\",ul.event)}}function AVt(e){e.parcatsViewModel.arrangement!==\"fixed\"&&(e.dragDimensionDisplayInd=e.model.displayInd,e.initialDragDimensionDisplayInds=e.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),e.dragHasMoved=!1,e.dragCategoryDisplayInd=null,ul.select(this).selectAll(\"g.category\").select(\"rect.catrect\").each(function(t){var r=ul.mouse(this)[0],n=ul.mouse(this)[1];-2<=r&&r<=t.width+2&&-2<=n&&n<=t.height+2&&(e.dragCategoryDisplayInd=t.model.displayInd,e.initialDragCategoryDisplayInds=e.model.categories.map(function(i){return i.displayInd}),t.model.dragY=t.y,mx.raiseToTop(this.parentNode),ul.select(this.parentNode).selectAll(\"rect.bandrect\").each(function(i){i.yc.y+c.height/2&&(a.model.displayInd=c.model.displayInd,c.model.displayInd=s),e.dragCategoryDisplayInd=a.model.displayInd}if(e.dragCategoryDisplayInd===null||e.parcatsViewModel.arrangement===\"freeform\"){i.model.dragX=ul.event.x;var f=e.parcatsViewModel.dimensions[r],h=e.parcatsViewModel.dimensions[n];f!==void 0&&i.model.dragXh.x&&(i.model.displayInd=h.model.displayInd,h.model.displayInd=e.dragDimensionDisplayInd),e.dragDimensionDisplayInd=i.model.displayInd}zK(e.parcatsViewModel),DK(e.parcatsViewModel),jNe(e.parcatsViewModel),GNe(e.parcatsViewModel)}}function MVt(e){if(e.parcatsViewModel.arrangement!==\"fixed\"&&e.dragDimensionDisplayInd!==null){ul.select(this).selectAll(\"text\").attr(\"font-weight\",\"normal\");var t={},r=HNe(e.parcatsViewModel),n=e.parcatsViewModel.model.dimensions.map(function(h){return h.displayInd}),i=e.initialDragDimensionDisplayInds.some(function(h,d){return h!==n[d]});i&&n.forEach(function(h,d){var v=e.parcatsViewModel.model.dimensions[d].containerInd;t[\"dimensions[\"+v+\"].displayindex\"]=h});var a=!1;if(e.dragCategoryDisplayInd!==null){var o=e.model.categories.map(function(h){return h.displayInd});if(a=e.initialDragCategoryDisplayInds.some(function(h,d){return h!==o[d]}),a){var s=e.model.categories.slice().sort(function(h,d){return h.displayInd-d.displayInd}),l=s.map(function(h){return h.categoryValue}),u=s.map(function(h){return h.categoryLabel});t[\"dimensions[\"+e.model.containerInd+\"].categoryarray\"]=[l],t[\"dimensions[\"+e.model.containerInd+\"].ticktext\"]=[u],t[\"dimensions[\"+e.model.containerInd+\"].categoryorder\"]=\"array\"}}if(e.parcatsViewModel.hoverinfoItems.indexOf(\"skip\")===-1&&!e.dragHasMoved&&e.potentialClickBand&&(e.parcatsViewModel.hoveron===\"color\"?RK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent):IK(e.potentialClickBand,\"plotly_click\",ul.event.sourceEvent)),e.model.dragX=null,e.dragCategoryDisplayInd!==null){var c=e.parcatsViewModel.dimensions[e.dragDimensionDisplayInd].categories[e.dragCategoryDisplayInd];c.model.dragY=null,e.dragCategoryDisplayInd=null}e.dragDimensionDisplayInd=null,e.parcatsViewModel.dragDimension=null,e.dragHasMoved=null,e.potentialClickBand=null,zK(e.parcatsViewModel),DK(e.parcatsViewModel);var f=ul.transition().duration(300).ease(\"cubic-in-out\");f.each(function(){jNe(e.parcatsViewModel,!0),GNe(e.parcatsViewModel,!0)}).each(\"end\",function(){(i||a)&&cVt.restyle(e.parcatsViewModel.graphDiv,t,[r])})}}function HNe(e){for(var t,r=e.graphDiv._fullData,n=0;n=0;l--)u+=\"C\"+o[l]+\",\"+(t[l+1]+n)+\" \"+a[l]+\",\"+(t[l]+n)+\" \"+(e[l]+r[l])+\",\"+(t[l]+n),u+=\"l-\"+r[l]+\",0 \";return u+=\"Z\",u}function DK(e){var t=e.dimensions,r=e.model,n=t.map(function(q){return q.categories.map(function(V){return V.y})}),i=e.model.dimensions.map(function(q){return q.categories.map(function(V){return V.displayInd})}),a=e.model.dimensions.map(function(q){return q.displayInd}),o=e.dimensions.map(function(q){return q.model.dimensionInd}),s=t.map(function(q){return q.x}),l=t.map(function(q){return q.width}),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(q){var V=q.categoryInds.map(function(X,G){return i[G][X]}),H=o.map(function(X){return V[X]});return H}u.sort(function(q,V){var H=f(q),X=f(V);return e.sortpaths===\"backward\"&&(H.reverse(),X.reverse()),H.push(q.valueInds[0]),X.push(V.valueInds[0]),e.bundlecolors&&(H.unshift(q.rawColor),X.unshift(V.rawColor)),HX?1:0});for(var h=new Array(u.length),d=t[0].model.count,v=t[0].categories.map(function(q){return q.height}).reduce(function(q,V){return q+V}),x=0;x0?g=v*(b.count/d):g=0;for(var E=new Array(n.length),k=0;k1?o=(e.width-2*r-n)/(i-1):o=0,s=r,l=s+o*a;var u=[],c=e.model.maxCats,f=t.categories.length,h=8,d=t.count,v=e.height-h*(c-1),x,b,g,E,k,A=(c-f)*h/2,L=t.categories.map(function(_){return{displayInd:_.displayInd,categoryInd:_.categoryInd}});for(L.sort(function(_,C){return _.displayInd-C.displayInd}),k=0;k0?x=b.count/d*v:x=0,g={key:b.valueInds[0],model:b,width:n,height:x,y:b.dragY!==null?b.dragY:A,bands:[],parcatsViewModel:e},A=A+x+h,u.push(g);return{key:t.dimensionInd,x:t.dragX!==null?t.dragX:l,y:0,width:n,model:t,categories:u,parcatsViewModel:e,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}});var FK=ye((uyr,XNe)=>{\"use strict\";var CVt=ZNe();XNe.exports=function(t,r,n,i){var a=t._fullLayout,o=a._paper,s=a._size;CVt(t,o,r,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},n,i)}});var KNe=ye(OF=>{\"use strict\";var LVt=kd().getModuleCalcData,PVt=FK(),YNe=\"parcats\";OF.name=YNe;OF.plot=function(e,t,r,n){var i=LVt(e.calcdata,YNe);if(i.length){var a=i[0];PVt(e,a,r,n)}};OF.clean=function(e,t,r,n){var i=n._has&&n._has(\"parcats\"),a=t._has&&t._has(\"parcats\");i&&!a&&n._paperdiv.selectAll(\".parcats\").remove()}});var $Ne=ye((fyr,JNe)=>{\"use strict\";JNe.exports={attributes:SK(),supplyDefaults:FNe(),calc:ONe(),plot:FK(),colorbar:{container:\"line\",min:\"cmin\",max:\"cmax\"},moduleType:\"trace\",name:\"parcats\",basePlotModule:KNe(),categories:[\"noOpacity\"],meta:{}}});var eUe=ye((hyr,QNe)=>{\"use strict\";QNe.exports=$Ne()});var c1=ye((dyr,sUe)=>{\"use strict\";var IVt=X1(),tUe=\"1.13.4\",aUe='\\xA9 OpenStreetMap contributors',rUe=['\\xA9 Carto',aUe].join(\" \"),iUe=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under ODbL'].join(\" \"),RVt=['Map tiles by Stamen Design','under CC BY 3.0',\"|\",'Data by OpenStreetMap contributors','under CC BY SA'].join(\" \"),oUe={\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:aUe,tiles:[\"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png\",\"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":{id:\"carto-positron\",version:8,sources:{\"plotly-carto-positron\":{type:\"raster\",attribution:rUe,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-positron\",type:\"raster\",source:\"plotly-carto-positron\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-darkmatter\":{id:\"carto-darkmatter\",version:8,sources:{\"plotly-carto-darkmatter\":{type:\"raster\",attribution:rUe,tiles:[\"https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-carto-darkmatter\",type:\"raster\",source:\"plotly-carto-darkmatter\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-terrain\":{id:\"stamen-terrain\",version:8,sources:{\"plotly-stamen-terrain\":{type:\"raster\",attribution:iUe,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-terrain\",type:\"raster\",source:\"plotly-stamen-terrain\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-toner\":{id:\"stamen-toner\",version:8,sources:{\"plotly-stamen-toner\":{type:\"raster\",attribution:iUe,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-toner\",type:\"raster\",source:\"plotly-stamen-toner\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"stamen-watercolor\":{id:\"stamen-watercolor\",version:8,sources:{\"plotly-stamen-watercolor\":{type:\"raster\",attribution:RVt,tiles:[\"https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key=\"],tileSize:256}},layers:[{id:\"plotly-stamen-watercolor\",type:\"raster\",source:\"plotly-stamen-watercolor\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"}},nUe=IVt(oUe);sUe.exports={requiredVersion:tUe,styleUrlPrefix:\"mapbox://styles/mapbox/\",styleUrlSuffix:\"v9\",styleValuesMapbox:[\"basic\",\"streets\",\"outdoors\",\"light\",\"dark\",\"satellite\",\"satellite-streets\"],styleValueDflt:\"basic\",stylesNonMapbox:oUe,styleValuesNonMapbox:nUe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",wrongVersionErrorMsg:[\"Your custom plotly.js bundle is not using the correct mapbox-gl version\",\"Please install @plotly/mapbox-gl@\"+tUe+\".\"].join(`\n", + "`),noAccessTokenErrorMsg:[\"Missing Mapbox access token.\",\"Mapbox trace type require a Mapbox access token to be registered.\",\"For example:\",\" Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });\",\"More info here: https://www.mapbox.com/help/define-access-token/\"].join(`\n", + "`),missingStyleErrorMsg:[\"No valid mapbox style found, please set `mapbox.style` to one of:\",nUe.join(\", \"),\"or register a Mapbox access token to use a Mapbox-served style.\"].join(`\n", + "`),multipleTokensErrorMsg:[\"Set multiple mapbox access token across different mapbox subplot,\",\"using first token found as mapbox-gl does not allow multipleaccess tokens on the same page.\"].join(`\n", + "`),mapOnErrorMsg:\"Mapbox error.\",mapboxLogo:{path0:\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\",path1:\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\",path2:\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\",polygon:\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34\"},styleRules:{map:\"overflow:hidden;position:relative;\",\"missing-css\":\"display:none;\",canary:\"background-color:salmon;\",\"ctrl-bottom-left\":\"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;\",\"ctrl-bottom-right\":\"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;\",ctrl:\"clear: both; pointer-events: auto; transform: translate(0, 0);\",\"ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner\":\"display: none;\",\"ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner\":\"display: block; margin-top:2px\",\"ctrl-attrib.mapboxgl-compact:hover\":\"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;\",\"ctrl-attrib.mapboxgl-compact::after\":`content: \"\"; cursor: pointer; position: absolute; background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"%3E %3Cpath fill=\"%23333333\" fill-rule=\"evenodd\" d=\"M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0\"/%3E %3C/svg%3E'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;`,\"ctrl-attrib.mapboxgl-compact\":\"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;\",\"ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; right: 0\",\"ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after\":\"bottom: 0; left: 0\",\"ctrl-bottom-left .mapboxgl-ctrl\":\"margin: 0 0 10px 10px; float: left;\",\"ctrl-bottom-right .mapboxgl-ctrl\":\"margin: 0 10px 10px 0; float: right;\",\"ctrl-attrib\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a\":\"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px\",\"ctrl-attrib a:hover\":\"color: inherit; text-decoration: underline;\",\"ctrl-attrib .mapbox-improve-map\":\"font-weight: bold; margin-left: 2px;\",\"attrib-empty\":\"display: none;\",\"ctrl-logo\":`display:block; width: 21px; height: 21px; background-image: url('data:image/svg+xml;charset=utf-8,%3C?xml version=\"1.0\" encoding=\"utf-8\"?%3E %3Csvg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 21 21\" style=\"enable-background:new 0 0 21 21;\" xml:space=\"preserve\"%3E%3Cg transform=\"translate(0,0.01)\"%3E%3Cpath d=\"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z\" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3Cpath d=\"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpath d=\"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z\" style=\"opacity:0.35;enable-background:new\" class=\"st1\"/%3E%3Cpolygon points=\"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 \" style=\"opacity:0.9;fill:%23ffffff;enable-background:new\" class=\"st0\"/%3E%3C/g%3E%3C/svg%3E')`}}});var Pk=ye((vyr,fUe)=>{\"use strict\";var lUe=Mr(),uUe=va().defaultLine,DVt=Ju().attributes,zVt=Su(),FVt=Uc().textposition,qVt=Bu().overrideAll,OVt=Vs().templatedArray,qK=c1(),cUe=zVt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});cUe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var BVt=fUe.exports=qVt({_arrayAttrRegexps:[lUe.counterRegex(\"mapbox\",\".layers\",!0)],domain:DVt({name:\"mapbox\"}),accesstoken:{valType:\"string\",noBlank:!0,strict:!0},style:{valType:\"any\",values:qK.styleValuesMapbox.concat(qK.styleValuesNonMapbox),dflt:qK.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:OVt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:uUe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:uUe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:cUe,textposition:lUe.extendFlat({},FVt,{arrayOk:!1})}})},\"plot\",\"from-root\");BVt.uirevision={valType:\"any\",editType:\"none\"}});var BF=ye((pyr,vUe)=>{\"use strict\";var NVt=Wo().hovertemplateAttrs,UVt=Wo().texttemplateAttrs,VVt=Eg(),Ik=H2(),xA=Uc(),hUe=Pk(),HVt=vl(),GVt=Kl(),ew=no().extendFlat,jVt=Bu().overrideAll,WVt=Pk(),dUe=Ik.line,bA=Ik.marker;vUe.exports=jVt({lon:Ik.lon,lat:Ik.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:ew({},WVt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:ew({},bA.opacity,{dflt:1})},mode:ew({},xA.mode,{dflt:\"markers\"}),text:ew({},xA.text,{}),texttemplate:UVt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:ew({},xA.hovertext,{}),line:{color:dUe.color,width:dUe.width},connectgaps:xA.connectgaps,marker:ew({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:bA.opacity,size:bA.size,sizeref:bA.sizeref,sizemin:bA.sizemin,sizemode:bA.sizemode},GVt(\"marker\")),fill:Ik.fill,fillcolor:VVt(),textfont:hUe.layers.symbol.textfont,textposition:hUe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:xA.selected.marker},unselected:{marker:xA.unselected.marker},hoverinfo:ew({},HVt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:NVt()},\"calc\",\"nested\")});var OK=ye((gyr,pUe)=>{\"use strict\";var ZVt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];pUe.exports={isSupportedFont:function(e){return ZVt.indexOf(e)!==-1}}});var yUe=ye((myr,mUe)=>{\"use strict\";var Rk=Mr(),BK=lu(),XVt=$p(),YVt=R0(),KVt=D0(),JVt=Ig(),gUe=BF(),$Vt=OK().isSupportedFont;mUe.exports=function(t,r,n,i){function a(g,E){return Rk.coerce(t,r,gUe,g,E)}function o(g,E){return Rk.coerce2(t,r,gUe,g,E)}var s=QVt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),BK.hasMarkers(r)){XVt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Rk.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Rk.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}BK.hasLines(r)&&(YVt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||BK.hasText(r)){var b=i.font.family;KVt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:$Vt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&JVt(t,r,n,a),Rk.coerceSelectionMarkerOpacity(r,a)};function QVt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var NK=ye((yyr,xUe)=>{\"use strict\";var _Ue=Qa();xUe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=_Ue.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=_Ue.tickText(o,o.c2l(s[1]),!0).text,i}});var UK=ye((_yr,wUe)=>{\"use strict\";var bUe=Mr();wUe.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=bUe.isArrayOrTypedArray(r)?bUe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var kUe=ye((xyr,EUe)=>{\"use strict\";var SUe=uo(),iv=Mr(),eHt=es().BADNUM,UF=tx(),TUe=Mu(),tHt=ao(),rHt=S3(),VF=lu(),iHt=OK().isSupportedFont,nHt=UK(),aHt=rp().appendArrayPointValue,oHt=Ll().NEWLINES,sHt=Ll().BR_TAG_ALL;EUe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=VF.hasLines(n),s=VF.hasMarkers(n),l=VF.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=NF(\"fill\"),d=NF(\"line\"),v=NF(\"circle\"),x=NF(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var g;if((a||o)&&(g=UF.calcTraceToLineCoords(r)),a&&(h.geojson=UF.makePolygon(g),h.layout.visibility=\"visible\",iv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=UF.makeLine(g),d.layout.visibility=\"visible\",iv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=lHt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":HK(n.cluster.color,n.cluster.step),\"circle-radius\":HK(n.cluster.size,n.cluster.step),\"circle-opacity\":HK(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":AUe(n),\"text-size\":12}}),iv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=uHt(r,t),iv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(iv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&iv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,iv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=nHt(n.textposition,k);iv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":AUe(n)}),iv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function NF(e){return{type:e,geojson:UF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function lHt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=iv.isArrayOrTypedArray(r.color),a=iv.isArrayOrTypedArray(r.size),o=iv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(TUe.hasColorscale(t,\"marker\")?c=TUe.makeColorScaleFuncFromTrace(r):c=iv.identity);var f;a&&(f=rHt(t));var h;o&&(h=function(k){var A=SUe(k)?+iv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),iHt(s)||(s=r);var l=s.split(\", \");return l}});var IUe=ye((byr,PUe)=>{\"use strict\";var cHt=Mr(),CUe=kUe(),wA=c1().traceLayerPrefix,rg={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function LUe(e,t,r,n){this.type=\"scattermapbox\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:wA+t+\"-fill\",line:wA+t+\"-line\",circle:wA+t+\"-circle\",symbol:wA+t+\"-symbol\",cluster:wA+t+\"-cluster\",clusterCount:wA+t+\"-cluster-count\"},this.below=null}var Dk=LUe.prototype;Dk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&cHt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Dk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Dk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=rg.nonCluster,L=0;L=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?rg.cluster:rg.nonCluster,A=0;A=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};PUe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new LUe(t,n.uid,i,a),s=CUe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u{\"use strict\";var fHt=Nc(),GK=Mr(),hHt=oT(),dHt=GK.fillText,vHt=es().BADNUM,pHt=c1().traceLayerPrefix;function gHt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=pHt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var p=M.lonlat;if(p[0]===vHt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=GK.modHalf(p[0],360),T=p[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if(fHt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],g=b.lonlat,E=[GK.modHalf(g[0],360)+d,g[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=hHt(i,b),e.extraText=RUe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function RUe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&dHt(t,e,u),u.join(\"
\")}DUe.exports={hoverPoints:gHt,getExtraText:RUe}});var FUe=ye((Tyr,zUe)=>{\"use strict\";zUe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var OUe=ye((Ayr,qUe)=>{\"use strict\";var mHt=Mr(),yHt=lu(),_Ht=es().BADNUM;qUe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!yHt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof jK==\"object\"&&typeof WK!=\"undefined\"?WK.exports=t():typeof define==\"function\"&&define.amd?define(t):(e=e||self,e.mapboxgl=t())})(jK,function(){\"use strict\";var e,t,r;function n(i,a){if(!e)e=a;else if(!t)t=a;else{var o=\"var sharedChunk = {}; (\"+e+\")(sharedChunk); (\"+t+\")(sharedChunk);\",s={};e(s),r=a(s),typeof window!=\"undefined\"&&(r.workerUrl=window.URL.createObjectURL(new Blob([o],{type:\"text/javascript\"})))}}return n([\"exports\"],function(i){\"use strict\";function a(m,y){return y={exports:{}},m(y,y.exports),y.exports}var o=\"1.13.4\",s=l;function l(m,y,I,U){this.cx=3*m,this.bx=3*(I-m)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*y,this.by=3*(U-y)-this.cy,this.ay=1-this.cy-this.by,this.p1x=m,this.p1y=U,this.p2x=I,this.p2y=U}l.prototype.sampleCurveX=function(m){return((this.ax*m+this.bx)*m+this.cx)*m},l.prototype.sampleCurveY=function(m){return((this.ay*m+this.by)*m+this.cy)*m},l.prototype.sampleCurveDerivativeX=function(m){return(3*this.ax*m+2*this.bx)*m+this.cx},l.prototype.solveCurveX=function(m,y){typeof y==\"undefined\"&&(y=1e-6);var I,U,J,ne,fe;for(J=m,fe=0;fe<8;fe++){if(ne=this.sampleCurveX(J)-m,Math.abs(ne)U)return U;for(;Ine?I=J:U=J,J=(U-I)*.5+I}return J},l.prototype.solve=function(m,y){return this.sampleCurveY(this.solveCurveX(m,y))};var u=c;function c(m,y){this.x=m,this.y=y}c.prototype={clone:function(){return new c(this.x,this.y)},add:function(m){return this.clone()._add(m)},sub:function(m){return this.clone()._sub(m)},multByPoint:function(m){return this.clone()._multByPoint(m)},divByPoint:function(m){return this.clone()._divByPoint(m)},mult:function(m){return this.clone()._mult(m)},div:function(m){return this.clone()._div(m)},rotate:function(m){return this.clone()._rotate(m)},rotateAround:function(m,y){return this.clone()._rotateAround(m,y)},matMult:function(m){return this.clone()._matMult(m)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(m){return this.x===m.x&&this.y===m.y},dist:function(m){return Math.sqrt(this.distSqr(m))},distSqr:function(m){var y=m.x-this.x,I=m.y-this.y;return y*y+I*I},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(m){return Math.atan2(this.y-m.y,this.x-m.x)},angleWith:function(m){return this.angleWithSep(m.x,m.y)},angleWithSep:function(m,y){return Math.atan2(this.x*y-this.y*m,this.x*m+this.y*y)},_matMult:function(m){var y=m[0]*this.x+m[1]*this.y,I=m[2]*this.x+m[3]*this.y;return this.x=y,this.y=I,this},_add:function(m){return this.x+=m.x,this.y+=m.y,this},_sub:function(m){return this.x-=m.x,this.y-=m.y,this},_mult:function(m){return this.x*=m,this.y*=m,this},_div:function(m){return this.x/=m,this.y/=m,this},_multByPoint:function(m){return this.x*=m.x,this.y*=m.y,this},_divByPoint:function(m){return this.x/=m.x,this.y/=m.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var m=this.y;return this.y=this.x,this.x=-m,this},_rotate:function(m){var y=Math.cos(m),I=Math.sin(m),U=y*this.x-I*this.y,J=I*this.x+y*this.y;return this.x=U,this.y=J,this},_rotateAround:function(m,y){var I=Math.cos(m),U=Math.sin(m),J=y.x+I*(this.x-y.x)-U*(this.y-y.y),ne=y.y+U*(this.x-y.x)+I*(this.y-y.y);return this.x=J,this.y=ne,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},c.convert=function(m){return m instanceof c?m:Array.isArray(m)?new c(m[0],m[1]):m};var f=typeof self!=\"undefined\"?self:{};function h(m,y){if(Array.isArray(m)){if(!Array.isArray(y)||m.length!==y.length)return!1;for(var I=0;I=1)return 1;var y=m*m,I=y*m;return 4*(m<.5?I:3*(m-y)+I-.75)}function x(m,y,I,U){var J=new s(m,y,I,U);return function(ne){return J.solve(ne)}}var b=x(.25,.1,.25,1);function g(m,y,I){return Math.min(I,Math.max(y,m))}function E(m,y,I){var U=I-y,J=((m-y)%U+U)%U+y;return J===y?I:J}function k(m,y,I){if(!m.length)return I(null,[]);var U=m.length,J=new Array(m.length),ne=null;m.forEach(function(fe,Fe){y(fe,function(Qe,st){Qe&&(ne=Qe),J[Fe]=st,--U===0&&I(ne,J)})})}function A(m){var y=[];for(var I in m)y.push(m[I]);return y}function L(m,y){var I=[];for(var U in m)U in y||I.push(U);return I}function _(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U>y/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,m)}return m()}function T(m){return m<=1?1:Math.pow(2,Math.ceil(Math.log(m)/Math.LN2))}function F(m){return m?/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(m):!1}function q(m,y){m.forEach(function(I){y[I]&&(y[I]=y[I].bind(y))})}function V(m,y){return m.indexOf(y,m.length-y.length)!==-1}function H(m,y,I){var U={};for(var J in m)U[J]=y.call(I||this,m[J],J,m);return U}function X(m,y,I){var U={};for(var J in m)y.call(I||this,m[J],J,m)&&(U[J]=m[J]);return U}function G(m){return Array.isArray(m)?m.map(G):typeof m==\"object\"&&m?H(m,G):m}function N(m,y){for(var I=0;I=0)return!0;return!1}var W={};function re(m){W[m]||(typeof console!=\"undefined\"&&console.warn(m),W[m]=!0)}function ae(m,y,I){return(I.y-m.y)*(y.x-m.x)>(y.y-m.y)*(I.x-m.x)}function _e(m){for(var y=0,I=0,U=m.length,J=U-1,ne=void 0,fe=void 0;I@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,I={};if(m.replace(y,function(J,ne,fe,Fe){var Qe=fe||Fe;return I[ne]=Qe?Qe.toLowerCase():!0,\"\"}),I[\"max-age\"]){var U=parseInt(I[\"max-age\"],10);isNaN(U)?delete I[\"max-age\"]:I[\"max-age\"]=U}return I}var ie=null;function Te(m){if(ie==null){var y=m.navigator?m.navigator.userAgent:null;ie=!!m.safari||!!(y&&(/\\b(iPad|iPhone|iPod)\\b/.test(y)||y.match(\"Safari\")&&!y.match(\"Chrome\")))}return ie}function Ee(m){try{var y=f[m];return y.setItem(\"_mapbox_test_\",1),y.removeItem(\"_mapbox_test_\"),!0}catch(I){return!1}}function Ae(m){return f.btoa(encodeURIComponent(m).replace(/%([0-9A-F]{2})/g,function(y,I){return String.fromCharCode(+(\"0x\"+I))}))}function ze(m){return decodeURIComponent(f.atob(m).split(\"\").map(function(y){return\"%\"+(\"00\"+y.charCodeAt(0).toString(16)).slice(-2)}).join(\"\"))}var Ce=f.performance&&f.performance.now?f.performance.now.bind(f.performance):Date.now.bind(Date),me=f.requestAnimationFrame||f.mozRequestAnimationFrame||f.webkitRequestAnimationFrame||f.msRequestAnimationFrame,Re=f.cancelAnimationFrame||f.mozCancelAnimationFrame||f.webkitCancelAnimationFrame||f.msCancelAnimationFrame,ce,Ge,nt={now:Ce,frame:function(y){var I=me(y);return{cancel:function(){return Re(I)}}},getImageData:function(y,I){I===void 0&&(I=0);var U=f.document.createElement(\"canvas\"),J=U.getContext(\"2d\");if(!J)throw new Error(\"failed to create canvas 2d context\");return U.width=y.width,U.height=y.height,J.drawImage(y,0,0,y.width,y.height),J.getImageData(-I,-I,y.width+2*I,y.height+2*I)},resolveURL:function(y){return ce||(ce=f.document.createElement(\"a\")),ce.href=y,ce.href},hardwareConcurrency:f.navigator&&f.navigator.hardwareConcurrency||4,get devicePixelRatio(){return f.devicePixelRatio},get prefersReducedMotion(){return f.matchMedia?(Ge==null&&(Ge=f.matchMedia(\"(prefers-reduced-motion: reduce)\")),Ge.matches):!1}},ct={API_URL:\"https://api.mapbox.com\",get EVENTS_URL(){return this.API_URL?this.API_URL.indexOf(\"https://api.mapbox.cn\")===0?\"https://events.mapbox.cn/events/v2\":this.API_URL.indexOf(\"https://api.mapbox.com\")===0?\"https://events.mapbox.com/events/v2\":null:null},FEEDBACK_URL:\"https://apps.mapbox.com/feedback\",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},qt={supported:!1,testSupport:Ct},rt,ot=!1,Rt,kt=!1;f.document&&(Rt=f.document.createElement(\"img\"),Rt.onload=function(){rt&&Yt(rt),rt=null,kt=!0},Rt.onerror=function(){ot=!0,rt=null},Rt.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\");function Ct(m){ot||!Rt||(kt?Yt(m):rt=m)}function Yt(m){var y=m.createTexture();m.bindTexture(m.TEXTURE_2D,y);try{if(m.texImage2D(m.TEXTURE_2D,0,m.RGBA,m.RGBA,m.UNSIGNED_BYTE,Rt),m.isContextLost())return;qt.supported=!0}catch(I){}m.deleteTexture(y),ot=!0}var xr=\"01\";function er(){for(var m=\"1\",y=\"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\",I=\"\",U=0;U<10;U++)I+=y[Math.floor(Math.random()*62)];var J=12*60*60*1e3,ne=[m,xr,I].join(\"\"),fe=Date.now()+J;return{token:ne,tokenExpiresAt:fe}}var Ke=function(y,I){this._transformRequestFn=y,this._customAccessToken=I,this._createSkuToken()};Ke.prototype._createSkuToken=function(){var y=er();this._skuToken=y.token,this._skuTokenExpiresAt=y.tokenExpiresAt},Ke.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Ke.prototype.transformRequest=function(y,I){return this._transformRequestFn?this._transformRequestFn(y,I)||{url:y}:{url:y}},Ke.prototype.normalizeStyleURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/styles/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeGlyphsURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/fonts/v1\"+U.path,this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSourceURL=function(y,I){if(!xt(y))return y;var U=Ht(y);return U.path=\"/v4/\"+U.authority+\".json\",U.params.push(\"secure\"),this._makeAPIURL(U,this._customAccessToken||I)},Ke.prototype.normalizeSpriteURL=function(y,I,U,J){var ne=Ht(y);return xt(y)?(ne.path=\"/styles/v1\"+ne.path+\"/sprite\"+I+U,this._makeAPIURL(ne,this._customAccessToken||J)):(ne.path+=\"\"+I+U,$t(ne))},Ke.prototype.normalizeTileURL=function(y,I){if(this._isSkuTokenExpired()&&this._createSkuToken(),y&&!xt(y))return y;var U=Ht(y),J=/(\\.(png|jpg)\\d*)(?=$)/,ne=/^.+\\/v4\\//,fe=nt.devicePixelRatio>=2||I===512?\"@2x\":\"\",Fe=qt.supported?\".webp\":\"$1\";U.path=U.path.replace(J,\"\"+fe+Fe),U.path=U.path.replace(ne,\"/\"),U.path=\"/v4\"+U.path;var Qe=this._customAccessToken||Et(U.params)||ct.ACCESS_TOKEN;return ct.REQUIRE_ACCESS_TOKEN&&Qe&&this._skuToken&&U.params.push(\"sku=\"+this._skuToken),this._makeAPIURL(U,Qe)},Ke.prototype.canonicalizeTileURL=function(y,I){var U=\"/v4/\",J=/\\.[\\w]+$/,ne=Ht(y);if(!ne.path.match(/(^\\/v4\\/)/)||!ne.path.match(J))return y;var fe=\"mapbox://tiles/\";fe+=ne.path.replace(U,\"\");var Fe=ne.params;return I&&(Fe=Fe.filter(function(Qe){return!Qe.match(/^access_token=/)})),Fe.length&&(fe+=\"?\"+Fe.join(\"&\")),fe},Ke.prototype.canonicalizeTileset=function(y,I){for(var U=I?xt(I):!1,J=[],ne=0,fe=y.tiles||[];ne=0&&y.params.splice(ne,1)}if(J.path!==\"/\"&&(y.path=\"\"+J.path+y.path),!ct.REQUIRE_ACCESS_TOKEN)return $t(y);if(I=I||ct.ACCESS_TOKEN,!I)throw new Error(\"An API access token is required to use Mapbox GL. \"+U);if(I[0]===\"s\")throw new Error(\"Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). \"+U);return y.params=y.params.filter(function(fe){return fe.indexOf(\"access_token\")===-1}),y.params.push(\"access_token=\"+I),$t(y)};function xt(m){return m.indexOf(\"mapbox:\")===0}var bt=/^((https?:)?\\/\\/)?([^\\/]+\\.)?mapbox\\.c(n|om)(\\/|\\?|$)/i;function Lt(m){return bt.test(m)}function St(m){return m.indexOf(\"sku=\")>0&&Lt(m)}function Et(m){for(var y=0,I=m;y=1&&f.localStorage.setItem(I,JSON.stringify(this.eventData))}catch(J){re(\"Unable to write to LocalStorage\")}},Br.prototype.processRequests=function(y){},Br.prototype.postEvent=function(y,I,U,J){var ne=this;if(ct.EVENTS_URL){var fe=Ht(ct.EVENTS_URL);fe.params.push(\"access_token=\"+(J||ct.ACCESS_TOKEN||\"\"));var Fe={event:this.type,created:new Date(y).toISOString(),sdkIdentifier:\"mapbox-gl-js\",sdkVersion:o,skuId:xr,userId:this.anonId},Qe=I?_(Fe,I):Fe,st={url:$t(fe),headers:{\"Content-Type\":\"text/plain\"},body:JSON.stringify([Qe])};this.pendingRequest=Vr(st,function(mt){ne.pendingRequest=null,U(mt),ne.saveEventData(),ne.processRequests(J)})}},Br.prototype.queueRequest=function(y,I){this.queue.push(y),this.processRequests(I)};var Or=function(m){function y(){m.call(this,\"map.load\"),this.success={},this.skuToken=\"\"}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postMapLoadEvent=function(U,J,ne,fe){this.skuToken=ne,(ct.EVENTS_URL&&fe||ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(Fe){return xt(Fe)||Lt(Fe)}))&&this.queueRequest({id:J,timestamp:Date.now()},fe)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){var ne=this.queue.shift(),fe=ne.id,Fe=ne.timestamp;fe&&this.success[fe]||(this.anonId||this.fetchEventData(),F(this.anonId)||(this.anonId=P()),this.postEvent(Fe,{skuToken:this.skuToken},function(Qe){Qe||fe&&(J.success[fe]=!0)},U))}},y}(Br),Nr=function(m){function y(I){m.call(this,\"appUserTurnstile\"),this._customAccessToken=I}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.postTurnstileEvent=function(U,J){ct.EVENTS_URL&&ct.ACCESS_TOKEN&&Array.isArray(U)&&U.some(function(ne){return xt(ne)||Lt(ne)})&&this.queueRequest(Date.now(),J)},y.prototype.processRequests=function(U){var J=this;if(!(this.pendingRequest||this.queue.length===0)){(!this.anonId||!this.eventData.lastSuccess||!this.eventData.tokenU)&&this.fetchEventData();var ne=_r(ct.ACCESS_TOKEN),fe=ne?ne.u:ct.ACCESS_TOKEN,Fe=fe!==this.eventData.tokenU;F(this.anonId)||(this.anonId=P(),Fe=!0);var Qe=this.queue.shift();if(this.eventData.lastSuccess){var st=new Date(this.eventData.lastSuccess),mt=new Date(Qe),Xt=(Qe-this.eventData.lastSuccess)/(24*60*60*1e3);Fe=Fe||Xt>=1||Xt<-1||st.getDate()!==mt.getDate()}else Fe=!0;if(!Fe)return this.processRequests();this.postEvent(Qe,{\"enabled.telemetry\":!1},function(ur){ur||(J.eventData.lastSuccess=Qe,J.eventData.tokenU=fe)},U)}},y}(Br),ut=new Nr,Ne=ut.postTurnstileEvent.bind(ut),Ye=new Or,Ve=Ye.postMapLoadEvent.bind(Ye),Xe=\"mapbox-tiles\",ht=500,Le=50,xe=1e3*60*7,Se;function lt(){f.caches&&!Se&&(Se=f.caches.open(Xe))}var Gt;function Vt(m,y){if(Gt===void 0)try{new Response(new ReadableStream),Gt=!0}catch(I){Gt=!1}Gt?y(m.body):m.blob().then(y)}function ar(m,y,I){if(lt(),!!Se){var U={status:y.status,statusText:y.statusText,headers:new f.Headers};y.headers.forEach(function(fe,Fe){return U.headers.set(Fe,fe)});var J=ge(y.headers.get(\"Cache-Control\")||\"\");if(!J[\"no-store\"]){J[\"max-age\"]&&U.headers.set(\"Expires\",new Date(I+J[\"max-age\"]*1e3).toUTCString());var ne=new Date(U.headers.get(\"Expires\")).getTime()-I;neDate.now()&&!I[\"no-cache\"]}var ri=1/0;function bi(m){ri++,ri>Le&&(m.getActor().send(\"enforceCacheSizeLimit\",ht),ri=0)}function nn(m){lt(),Se&&Se.then(function(y){y.keys().then(function(I){for(var U=0;U=200&&I.status<300||I.status===0)&&I.response!==null){var J=I.response;if(m.type===\"json\")try{J=JSON.parse(I.response)}catch(ne){return y(ne)}y(null,J,I.getResponseHeader(\"Cache-Control\"),I.getResponseHeader(\"Expires\"))}else y(new Wn(I.statusText,I.status,m.url))},I.send(m.body),{cancel:function(){return I.abort()}}}var yr=function(m,y){if(!ft(m.url)){if(f.fetch&&f.Request&&f.AbortController&&f.Request.prototype.hasOwnProperty(\"signal\"))return jt(m,y);if(ke()&&self.worker&&self.worker.actor){var I=!0;return self.worker.actor.send(\"getResource\",m,y,void 0,I)}}return Zt(m,y)},Fr=function(m,y){return yr(_(m,{type:\"json\"}),y)},Zr=function(m,y){return yr(_(m,{type:\"arrayBuffer\"}),y)},Vr=function(m,y){return yr(_(m,{method:\"POST\"}),y)};function gi(m){var y=f.document.createElement(\"a\");return y.href=m,y.protocol===f.document.location.protocol&&y.host===f.document.location.host}var Si=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function Mi(m,y,I,U){var J=new f.Image,ne=f.URL;J.onload=function(){y(null,J),ne.revokeObjectURL(J.src),J.onload=null,f.requestAnimationFrame(function(){J.src=Si})},J.onerror=function(){return y(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))};var fe=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});J.cacheControl=I,J.expires=U,J.src=m.byteLength?ne.createObjectURL(fe):Si}function Pi(m,y){var I=new f.Blob([new Uint8Array(m)],{type:\"image/png\"});f.createImageBitmap(I).then(function(U){y(null,U)}).catch(function(U){y(new Error(\"Could not load image because of \"+U.message+\". Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))})}var Gi,Ki,ka=function(){Gi=[],Ki=0};ka();var jn=function(m,y){if(qt.supported&&(m.headers||(m.headers={}),m.headers.accept=\"image/webp,*/*\"),Ki>=ct.MAX_PARALLEL_IMAGE_REQUESTS){var I={requestParameters:m,callback:y,cancelled:!1,cancel:function(){this.cancelled=!0}};return Gi.push(I),I}Ki++;var U=!1,J=function(){if(!U)for(U=!0,Ki--;Gi.length&&Ki0||this._oneTimeListeners&&this._oneTimeListeners[y]&&this._oneTimeListeners[y].length>0||this._eventedParent&&this._eventedParent.listens(y)},Sn.prototype.setEventedParent=function(y,I){return this._eventedParent=y,this._eventedParentData=I,this};var Ha=8,oo={version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"string\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},xn={\"*\":{type:\"source\"}},_t=[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],br={type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},Hr={type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},ti={type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{}},default:\"mapbox\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},zi={type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},Yi={type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},an={type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},hi={id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},Ji=[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],ua={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Fn={\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Sa={\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},go={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Oo={\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},ho={\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},Mo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},xo={visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},zs={type:\"array\",value:\"*\"},ks={type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{},within:{}}},Zs={type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},Xs={type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},wl={type:\"array\",value:\"*\",minimum:1},os={anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},cl=[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],Cs={\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},ml={\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},Ys={\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},Hs={\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},Eo={\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},fs={\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},$l={\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},Hu={\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},fc={duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},ms={\"*\":{type:\"string\"}},on={$version:Ha,$root:oo,sources:xn,source:_t,source_vector:br,source_raster:Hr,source_raster_dem:ti,source_geojson:zi,source_video:Yi,source_image:an,layer:hi,layout:Ji,layout_background:ua,layout_fill:Fn,layout_circle:Sa,layout_heatmap:go,\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:Oo,layout_symbol:ho,layout_raster:Mo,layout_hillshade:xo,filter:zs,filter_operator:ks,geometry_type:Zs,function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:Xs,expression:wl,light:os,paint:cl,paint_fill:Cs,\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:ml,paint_circle:Ys,paint_heatmap:Hs,paint_symbol:Eo,paint_raster:fs,paint_hillshade:$l,paint_background:Hu,transition:fc,\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:ms},fa=function(y,I,U,J){this.message=(y?y+\": \":\"\")+U,J&&(this.identifier=J),I!=null&&I.__line__&&(this.line=I.__line__)};function Qu(m){var y=m.key,I=m.value;return I?[new fa(y,I,\"constants have been deprecated as of v8\")]:[]}function Il(m){for(var y=[],I=arguments.length-1;I-- >0;)y[I]=arguments[I+1];for(var U=0,J=y;U\":m.itemType.kind===\"value\"?\"array\":\"array<\"+y+\">\"}else return m.kind}var mu=[Ec,Zn,ko,Co,Tl,Al,uf,Ql(So),Hc];function kc(m,y){if(y.kind===\"error\")return null;if(m.kind===\"array\"){if(y.kind===\"array\"&&(y.N===0&&y.itemType.kind===\"value\"||!kc(m.itemType,y.itemType))&&(typeof m.N!=\"number\"||m.N===y.N))return null}else{if(m.kind===y.kind)return null;if(m.kind===\"value\")for(var I=0,U=mu;I255?255:st}function J(st){return st<0?0:st>1?1:st}function ne(st){return st[st.length-1]===\"%\"?U(parseFloat(st)/100*255):U(parseInt(st))}function fe(st){return st[st.length-1]===\"%\"?J(parseFloat(st)/100):J(parseFloat(st))}function Fe(st,mt,Xt){return Xt<0?Xt+=1:Xt>1&&(Xt-=1),Xt*6<1?st+(mt-st)*Xt*6:Xt*2<1?mt:Xt*3<2?st+(mt-st)*(2/3-Xt)*6:st}function Qe(st){var mt=st.replace(/ /g,\"\").toLowerCase();if(mt in I)return I[mt].slice();if(mt[0]===\"#\"){if(mt.length===4){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=4095?[(Xt&3840)>>4|(Xt&3840)>>8,Xt&240|(Xt&240)>>4,Xt&15|(Xt&15)<<4,1]:null}else if(mt.length===7){var Xt=parseInt(mt.substr(1),16);return Xt>=0&&Xt<=16777215?[(Xt&16711680)>>16,(Xt&65280)>>8,Xt&255,1]:null}return null}var ur=mt.indexOf(\"(\"),nr=mt.indexOf(\")\");if(ur!==-1&&nr+1===mt.length){var Lr=mt.substr(0,ur),Yr=mt.substr(ur+1,nr-(ur+1)).split(\",\"),_i=1;switch(Lr){case\"rgba\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"rgb\":return Yr.length!==3?null:[ne(Yr[0]),ne(Yr[1]),ne(Yr[2]),_i];case\"hsla\":if(Yr.length!==4)return null;_i=fe(Yr.pop());case\"hsl\":if(Yr.length!==3)return null;var si=(parseFloat(Yr[0])%360+360)%360/360,Hi=fe(Yr[1]),Ei=fe(Yr[2]),Vi=Ei<=.5?Ei*(Hi+1):Ei+Hi-Ei*Hi,en=Ei*2-Vi;return[U(Fe(en,Vi,si+1/3)*255),U(Fe(en,Vi,si)*255),U(Fe(en,Vi,si-1/3)*255),_i];default:return null}}return null}try{y.parseCSSColor=Qe}catch(st){}}),Bf=vd.parseCSSColor,ss=function(y,I,U,J){J===void 0&&(J=1),this.r=y,this.g=I,this.b=U,this.a=J};ss.parse=function(y){if(y){if(y instanceof ss)return y;if(typeof y==\"string\"){var I=Bf(y);if(I)return new ss(I[0]/255*I[3],I[1]/255*I[3],I[2]/255*I[3],I[3])}}},ss.prototype.toString=function(){var y=this.toArray(),I=y[0],U=y[1],J=y[2],ne=y[3];return\"rgba(\"+Math.round(I)+\",\"+Math.round(U)+\",\"+Math.round(J)+\",\"+ne+\")\"},ss.prototype.toArray=function(){var y=this,I=y.r,U=y.g,J=y.b,ne=y.a;return ne===0?[0,0,0,0]:[I*255/ne,U*255/ne,J*255/ne,ne]},ss.black=new ss(0,0,0,1),ss.white=new ss(1,1,1,1),ss.transparent=new ss(0,0,0,0),ss.red=new ss(1,0,0,1);var ff=function(y,I,U){y?this.sensitivity=I?\"variant\":\"case\":this.sensitivity=I?\"accent\":\"base\",this.locale=U,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})};ff.prototype.compare=function(y,I){return this.collator.compare(y,I)},ff.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var ih=function(y,I,U,J,ne){this.text=y,this.image=I,this.scale=U,this.fontStack=J,this.textColor=ne},Ul=function(y){this.sections=y};Ul.fromString=function(y){return new Ul([new ih(y,null,null,null,null)])},Ul.prototype.isEmpty=function(){return this.sections.length===0?!0:!this.sections.some(function(y){return y.text.length!==0||y.image&&y.image.name.length!==0})},Ul.factory=function(y){return y instanceof Ul?y:Ul.fromString(y)},Ul.prototype.toString=function(){return this.sections.length===0?\"\":this.sections.map(function(y){return y.text}).join(\"\")},Ul.prototype.serialize=function(){for(var y=[\"format\"],I=0,U=this.sections;I=0&&m<=255&&typeof y==\"number\"&&y>=0&&y<=255&&typeof I==\"number\"&&I>=0&&I<=255)){var J=typeof U==\"number\"?[m,y,I,U]:[m,y,I];return\"Invalid rgba value [\"+J.join(\", \")+\"]: 'r', 'g', and 'b' must be between 0 and 255.\"}return typeof U==\"undefined\"||typeof U==\"number\"&&U>=0&&U<=1?null:\"Invalid rgba value [\"+[m,y,I,U].join(\", \")+\"]: 'a' must be between 0 and 1.\"}function Cc(m){if(m===null)return!0;if(typeof m==\"string\")return!0;if(typeof m==\"boolean\")return!0;if(typeof m==\"number\")return!0;if(m instanceof ss)return!0;if(m instanceof ff)return!0;if(m instanceof Ul)return!0;if(m instanceof Js)return!0;if(Array.isArray(m)){for(var y=0,I=m;y2){var Fe=y[1];if(typeof Fe!=\"string\"||!(Fe in dc)||Fe===\"object\")return I.error('The item type argument of \"array\" must be one of string, number, boolean',1);fe=dc[Fe],U++}else fe=So;var Qe;if(y.length>3){if(y[2]!==null&&(typeof y[2]!=\"number\"||y[2]<0||y[2]!==Math.floor(y[2])))return I.error('The length argument to \"array\" must be a positive integer literal',2);Qe=y[2],U++}J=Ql(fe,Qe)}else J=dc[ne];for(var st=[];U1)&&I.push(J)}}return I.concat(this.args.map(function(ne){return ne.serialize()}))};var ec=function(y){this.type=Al,this.sections=y};ec.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[1];if(!Array.isArray(U)&&typeof U==\"object\")return I.error(\"First argument must be an image or text section.\");for(var J=[],ne=!1,fe=1;fe<=y.length-1;++fe){var Fe=y[fe];if(ne&&typeof Fe==\"object\"&&!Array.isArray(Fe)){ne=!1;var Qe=null;if(Fe[\"font-scale\"]&&(Qe=I.parse(Fe[\"font-scale\"],1,Zn),!Qe))return null;var st=null;if(Fe[\"text-font\"]&&(st=I.parse(Fe[\"text-font\"],1,Ql(ko)),!st))return null;var mt=null;if(Fe[\"text-color\"]&&(mt=I.parse(Fe[\"text-color\"],1,Tl),!mt))return null;var Xt=J[J.length-1];Xt.scale=Qe,Xt.font=st,Xt.textColor=mt}else{var ur=I.parse(y[fe],1,So);if(!ur)return null;var nr=ur.type.kind;if(nr!==\"string\"&&nr!==\"value\"&&nr!==\"null\"&&nr!==\"resolvedImage\")return I.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ne=!0,J.push({content:ur,scale:null,font:null,textColor:null})}}return new ec(J)},ec.prototype.evaluate=function(y){var I=function(U){var J=U.content.evaluate(y);return ws(J)===Hc?new ih(\"\",J,null,null,null):new ih($s(J),null,U.scale?U.scale.evaluate(y):null,U.font?U.font.evaluate(y).join(\",\"):null,U.textColor?U.textColor.evaluate(y):null)};return new Ul(this.sections.map(I))},ec.prototype.eachChild=function(y){for(var I=0,U=this.sections;I-1),U},Ps.prototype.eachChild=function(y){y(this.input)},Ps.prototype.outputDefined=function(){return!1},Ps.prototype.serialize=function(){return[\"image\",this.input.serialize()]};var ov={\"to-boolean\":Co,\"to-color\":Tl,\"to-number\":Zn,\"to-string\":ko},wo=function(y,I){this.type=y,this.args=I};wo.parse=function(y,I){if(y.length<2)return I.error(\"Expected at least one argument.\");var U=y[0];if((U===\"to-boolean\"||U===\"to-string\")&&y.length!==2)return I.error(\"Expected one argument.\");for(var J=ov[U],ne=[],fe=1;fe4?U=\"Invalid rbga value \"+JSON.stringify(I)+\": expected an array containing either three or four numeric values.\":U=hc(I[0],I[1],I[2],I[3]),!U))return new ss(I[0]/255,I[1]/255,I[2]/255,I[3])}throw new Ms(U||\"Could not parse color from value '\"+(typeof I==\"string\"?I:String(JSON.stringify(I)))+\"'\")}else if(this.type.kind===\"number\"){for(var Qe=null,st=0,mt=this.args;st=y[2]||m[1]<=y[1]||m[3]>=y[3])}function Yh(m,y){var I=jc(m[0]),U=kf(m[1]),J=Math.pow(2,y.z);return[Math.round(I*J*uu),Math.round(U*J*uu)]}function Eh(m,y,I){var U=m[0]-y[0],J=m[1]-y[1],ne=m[0]-I[0],fe=m[1]-I[1];return U*fe-ne*J===0&&U*ne<=0&&J*fe<=0}function nh(m,y,I){return y[1]>m[1]!=I[1]>m[1]&&m[0]<(I[0]-y[0])*(m[1]-y[1])/(I[1]-y[1])+y[0]}function hf(m,y){for(var I=!1,U=0,J=y.length;U0&&Xt<0||mt<0&&Xt>0}function ah(m,y,I,U){var J=[y[0]-m[0],y[1]-m[1]],ne=[U[0]-I[0],U[1]-I[1]];return Kh(ne,J)===0?!1:!!(rc(m,y,I,U)&&rc(I,U,m,y))}function Wc(m,y,I){for(var U=0,J=I;UI[2]){var J=U*.5,ne=m[0]-I[0]>J?-U:I[0]-m[0]>J?U:0;ne===0&&(ne=m[0]-I[2]>J?-U:I[2]-m[0]>J?U:0),m[0]+=ne}Mh(y,m)}function Ch(m){m[0]=m[1]=1/0,m[2]=m[3]=-1/0}function Bd(m,y,I,U){for(var J=Math.pow(2,U.z)*uu,ne=[U.x*uu,U.y*uu],fe=[],Fe=0,Qe=m;Fe=0)return!1;var I=!0;return m.eachChild(function(U){I&&!Pu(U,y)&&(I=!1)}),I}var Lc=function(y,I){this.type=I.type,this.name=y,this.boundExpression=I};Lc.parse=function(y,I){if(y.length!==2||typeof y[1]!=\"string\")return I.error(\"'var' expression requires exactly one string literal argument.\");var U=y[1];return I.scope.has(U)?new Lc(U,I.scope.get(U)):I.error('Unknown variable \"'+U+'\". Make sure \"'+U+'\" has been bound in an enclosing \"let\" expression before using it.',1)},Lc.prototype.evaluate=function(y){return this.boundExpression.evaluate(y)},Lc.prototype.eachChild=function(){},Lc.prototype.outputDefined=function(){return!1},Lc.prototype.serialize=function(){return[\"var\",this.name]};var fl=function(y,I,U,J,ne){I===void 0&&(I=[]),J===void 0&&(J=new Zl),ne===void 0&&(ne=[]),this.registry=y,this.path=I,this.key=I.map(function(fe){return\"[\"+fe+\"]\"}).join(\"\"),this.scope=J,this.errors=ne,this.expectedType=U};fl.prototype.parse=function(y,I,U,J,ne){return ne===void 0&&(ne={}),I?this.concat(I,U,J)._parse(y,ne):this._parse(y,ne)},fl.prototype._parse=function(y,I){(y===null||typeof y==\"string\"||typeof y==\"boolean\"||typeof y==\"number\")&&(y=[\"literal\",y]);function U(mt,Xt,ur){return ur===\"assert\"?new Sl(Xt,[mt]):ur===\"coerce\"?new wo(Xt,[mt]):mt}if(Array.isArray(y)){if(y.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');var J=y[0];if(typeof J!=\"string\")return this.error(\"Expression name must be a string, but found \"+typeof J+' instead. If you wanted a literal array, use [\"literal\", [...]].',0),null;var ne=this.registry[J];if(ne){var fe=ne.parse(y,this);if(!fe)return null;if(this.expectedType){var Fe=this.expectedType,Qe=fe.type;if((Fe.kind===\"string\"||Fe.kind===\"number\"||Fe.kind===\"boolean\"||Fe.kind===\"object\"||Fe.kind===\"array\")&&Qe.kind===\"value\")fe=U(fe,Fe,I.typeAnnotation||\"assert\");else if((Fe.kind===\"color\"||Fe.kind===\"formatted\"||Fe.kind===\"resolvedImage\")&&(Qe.kind===\"value\"||Qe.kind===\"string\"))fe=U(fe,Fe,I.typeAnnotation||\"coerce\");else if(this.checkSubtype(Fe,Qe))return null}if(!(fe instanceof hs)&&fe.type.kind!==\"resolvedImage\"&&Xc(fe)){var st=new $o;try{fe=new hs(fe.type,fe.evaluate(st))}catch(mt){return this.error(mt.message),null}}return fe}return this.error('Unknown expression \"'+J+'\". If you wanted a literal array, use [\"literal\", [...]].',0)}else return typeof y==\"undefined\"?this.error(\"'undefined' value invalid. Use null instead.\"):typeof y==\"object\"?this.error('Bare objects invalid. Use [\"literal\", {...}] instead.'):this.error(\"Expected an array, but found \"+typeof y+\" instead.\")},fl.prototype.concat=function(y,I,U){var J=typeof y==\"number\"?this.path.concat(y):this.path,ne=U?this.scope.concat(U):this.scope;return new fl(this.registry,J,I||null,ne,this.errors)},fl.prototype.error=function(y){for(var I=[],U=arguments.length-1;U-- >0;)I[U]=arguments[U+1];var J=\"\"+this.key+I.map(function(ne){return\"[\"+ne+\"]\"}).join(\"\");this.errors.push(new Ks(J,y))},fl.prototype.checkSubtype=function(y,I){var U=kc(y,I);return U&&this.error(U),U};function Xc(m){if(m instanceof Lc)return Xc(m.boundExpression);if(m instanceof Ja&&m.name===\"error\")return!1;if(m instanceof tc)return!1;if(m instanceof Lu)return!1;var y=m instanceof wo||m instanceof Sl,I=!0;return m.eachChild(function(U){y?I=I&&Xc(U):I=I&&U instanceof hs}),I?$h(m)&&Pu(m,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"]):!1}function ic(m,y){for(var I=m.length-1,U=0,J=I,ne=0,fe,Fe;U<=J;)if(ne=Math.floor((U+J)/2),fe=m[ne],Fe=m[ne+1],fe<=y){if(ne===I||yy)J=ne-1;else throw new Ms(\"Input is not a number.\");return 0}var yu=function(y,I,U){this.type=y,this.input=I,this.labels=[],this.outputs=[];for(var J=0,ne=U;J=Fe)return I.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',st);var Xt=I.parse(Qe,mt,ne);if(!Xt)return null;ne=ne||Xt.type,J.push([Fe,Xt])}return new yu(ne,U,J)},yu.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J);return U[fe].evaluate(y)},yu.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I0&&y.push(this.labels[I]),y.push(this.outputs[I].serialize());return y};function Qs(m,y,I){return m*(1-I)+y*I}function Qh(m,y,I){return new ss(Qs(m.r,y.r,I),Qs(m.g,y.g,I),Qs(m.b,y.b,I),Qs(m.a,y.a,I))}function gd(m,y,I){return m.map(function(U,J){return Qs(U,y[J],I)})}var Gu=Object.freeze({__proto__:null,number:Qs,color:Qh,array:gd}),Pc=.95047,vc=1,sv=1.08883,Lf=4/29,Uf=6/29,Iu=3*Uf*Uf,oh=Uf*Uf*Uf,tu=Math.PI/180,vf=180/Math.PI;function md(m){return m>oh?Math.pow(m,1/3):m/Iu+Lf}function sh(m){return m>Uf?m*m*m:Iu*(m-Lf)}function Fs(m){return 255*(m<=.0031308?12.92*m:1.055*Math.pow(m,1/2.4)-.055)}function _u(m){return m/=255,m<=.04045?m/12.92:Math.pow((m+.055)/1.055,2.4)}function xu(m){var y=_u(m.r),I=_u(m.g),U=_u(m.b),J=md((.4124564*y+.3575761*I+.1804375*U)/Pc),ne=md((.2126729*y+.7151522*I+.072175*U)/vc),fe=md((.0193339*y+.119192*I+.9503041*U)/sv);return{l:116*ne-16,a:500*(J-ne),b:200*(ne-fe),alpha:m.a}}function Lh(m){var y=(m.l+16)/116,I=isNaN(m.a)?y:y+m.a/500,U=isNaN(m.b)?y:y-m.b/200;return y=vc*sh(y),I=Pc*sh(I),U=sv*sh(U),new ss(Fs(3.2404542*I-1.5371385*y-.4985314*U),Fs(-.969266*I+1.8760108*y+.041556*U),Fs(.0556434*I-.2040259*y+1.0572252*U),m.alpha)}function Is(m,y,I){return{l:Qs(m.l,y.l,I),a:Qs(m.a,y.a,I),b:Qs(m.b,y.b,I),alpha:Qs(m.alpha,y.alpha,I)}}function Pf(m){var y=xu(m),I=y.l,U=y.a,J=y.b,ne=Math.atan2(J,U)*vf;return{h:ne<0?ne+360:ne,c:Math.sqrt(U*U+J*J),l:I,alpha:m.a}}function Ic(m){var y=m.h*tu,I=m.c,U=m.l;return Lh({l:U,a:Math.cos(y)*I,b:Math.sin(y)*I,alpha:m.alpha})}function ju(m,y,I){var U=y-m;return m+I*(U>180||U<-180?U-360*Math.round(U/360):U)}function Vf(m,y,I){return{h:ju(m.h,y.h,I),c:Qs(m.c,y.c,I),l:Qs(m.l,y.l,I),alpha:Qs(m.alpha,y.alpha,I)}}var pc={forward:xu,reverse:Lh,interpolate:Is},pf={forward:Pf,reverse:Ic,interpolate:Vf},Ph=Object.freeze({__proto__:null,lab:pc,hcl:pf}),Rl=function(y,I,U,J,ne){this.type=y,this.operator=I,this.interpolation=U,this.input=J,this.labels=[],this.outputs=[];for(var fe=0,Fe=ne;fe1}))return I.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);J={name:\"cubic-bezier\",controlPoints:Qe}}else return I.error(\"Unknown interpolation type \"+String(J[0]),1,0);if(y.length-1<4)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if((y.length-1)%2!==0)return I.error(\"Expected an even number of arguments.\");if(ne=I.parse(ne,2,Zn),!ne)return null;var st=[],mt=null;U===\"interpolate-hcl\"||U===\"interpolate-lab\"?mt=Tl:I.expectedType&&I.expectedType.kind!==\"value\"&&(mt=I.expectedType);for(var Xt=0;Xt=ur)return I.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Lr);var _i=I.parse(nr,Yr,mt);if(!_i)return null;mt=mt||_i.type,st.push([ur,_i])}return mt.kind!==\"number\"&&mt.kind!==\"color\"&&!(mt.kind===\"array\"&&mt.itemType.kind===\"number\"&&typeof mt.N==\"number\")?I.error(\"Type \"+Ls(mt)+\" is not interpolatable.\"):new Rl(mt,U,J,ne,st)},Rl.prototype.evaluate=function(y){var I=this.labels,U=this.outputs;if(I.length===1)return U[0].evaluate(y);var J=this.input.evaluate(y);if(J<=I[0])return U[0].evaluate(y);var ne=I.length;if(J>=I[ne-1])return U[ne-1].evaluate(y);var fe=ic(I,J),Fe=I[fe],Qe=I[fe+1],st=Rl.interpolationFactor(this.interpolation,J,Fe,Qe),mt=U[fe].evaluate(y),Xt=U[fe+1].evaluate(y);return this.operator===\"interpolate\"?Gu[this.type.kind.toLowerCase()](mt,Xt,st):this.operator===\"interpolate-hcl\"?pf.reverse(pf.interpolate(pf.forward(mt),pf.forward(Xt),st)):pc.reverse(pc.interpolate(pc.forward(mt),pc.forward(Xt),st))},Rl.prototype.eachChild=function(y){y(this.input);for(var I=0,U=this.outputs;I=U.length)throw new Ms(\"Array index out of bounds: \"+I+\" > \"+(U.length-1)+\".\");if(I!==Math.floor(I))throw new Ms(\"Array index must be an integer, but found \"+I+\" instead.\");return U[I]},gc.prototype.eachChild=function(y){y(this.index),y(this.input)},gc.prototype.outputDefined=function(){return!1},gc.prototype.serialize=function(){return[\"at\",this.index.serialize(),this.input.serialize()]};var hl=function(y,I){this.type=Co,this.needle=y,this.haystack=I};hl.parse=function(y,I){if(y.length!==3)return I.error(\"Expected 2 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);return!U||!J?null:Of(U.type,[Co,ko,Zn,Ec,So])?new hl(U,J):I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\")},hl.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!U)return!1;if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");return U.indexOf(I)>=0},hl.prototype.eachChild=function(y){y(this.needle),y(this.haystack)},hl.prototype.outputDefined=function(){return!0},hl.prototype.serialize=function(){return[\"in\",this.needle.serialize(),this.haystack.serialize()]};var ru=function(y,I,U){this.type=Zn,this.needle=y,this.haystack=I,this.fromIndex=U};ru.parse=function(y,I){if(y.length<=2||y.length>=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,So);if(!U||!J)return null;if(!Of(U.type,[Co,ko,Zn,Ec,So]))return I.error(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new ru(U,J,ne):null}else return new ru(U,J)},ru.prototype.evaluate=function(y){var I=this.needle.evaluate(y),U=this.haystack.evaluate(y);if(!Gc(I,[\"boolean\",\"string\",\"number\",\"null\"]))throw new Ms(\"Expected first argument to be of type boolean, string, number or null, but found \"+Ls(ws(I))+\" instead.\");if(!Gc(U,[\"string\",\"array\"]))throw new Ms(\"Expected second argument to be of type array or string, but found \"+Ls(ws(U))+\" instead.\");if(this.fromIndex){var J=this.fromIndex.evaluate(y);return U.indexOf(I,J)}return U.indexOf(I)},ru.prototype.eachChild=function(y){y(this.needle),y(this.haystack),this.fromIndex&&y(this.fromIndex)},ru.prototype.outputDefined=function(){return!1},ru.prototype.serialize=function(){if(this.fromIndex!=null&&this.fromIndex!==void 0){var y=this.fromIndex.serialize();return[\"index-of\",this.needle.serialize(),this.haystack.serialize(),y]}return[\"index-of\",this.needle.serialize(),this.haystack.serialize()]};var mc=function(y,I,U,J,ne,fe){this.inputType=y,this.type=I,this.input=U,this.cases=J,this.outputs=ne,this.otherwise=fe};mc.parse=function(y,I){if(y.length<5)return I.error(\"Expected at least 4 arguments, but found only \"+(y.length-1)+\".\");if(y.length%2!==1)return I.error(\"Expected an even number of arguments.\");var U,J;I.expectedType&&I.expectedType.kind!==\"value\"&&(J=I.expectedType);for(var ne={},fe=[],Fe=2;FeNumber.MAX_SAFE_INTEGER)return mt.error(\"Branch labels must be integers no larger than \"+Number.MAX_SAFE_INTEGER+\".\");if(typeof nr==\"number\"&&Math.floor(nr)!==nr)return mt.error(\"Numeric branch labels must be integer values.\");if(!U)U=ws(nr);else if(mt.checkSubtype(U,ws(nr)))return null;if(typeof ne[String(nr)]!=\"undefined\")return mt.error(\"Branch labels must be unique.\");ne[String(nr)]=fe.length}var Lr=I.parse(st,Fe,J);if(!Lr)return null;J=J||Lr.type,fe.push(Lr)}var Yr=I.parse(y[1],1,So);if(!Yr)return null;var _i=I.parse(y[y.length-1],y.length-1,J);return!_i||Yr.type.kind!==\"value\"&&I.concat(1).checkSubtype(U,Yr.type)?null:new mc(U,J,Yr,ne,fe,_i)},mc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=ws(I)===this.inputType&&this.outputs[this.cases[I]]||this.otherwise;return U.evaluate(y)},mc.prototype.eachChild=function(y){y(this.input),this.outputs.forEach(y),y(this.otherwise)},mc.prototype.outputDefined=function(){return this.outputs.every(function(y){return y.outputDefined()})&&this.otherwise.outputDefined()},mc.prototype.serialize=function(){for(var y=this,I=[\"match\",this.input.serialize()],U=Object.keys(this.cases).sort(),J=[],ne={},fe=0,Fe=U;fe=5)return I.error(\"Expected 3 or 4 arguments, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1,So),J=I.parse(y[2],2,Zn);if(!U||!J)return null;if(!Of(U.type,[Ql(So),ko,So]))return I.error(\"Expected first argument to be of type array or string, but found \"+Ls(U.type)+\" instead\");if(y.length===4){var ne=I.parse(y[3],3,Zn);return ne?new nc(U.type,U,J,ne):null}else return new nc(U.type,U,J)},nc.prototype.evaluate=function(y){var I=this.input.evaluate(y),U=this.beginIndex.evaluate(y);if(!Gc(I,[\"string\",\"array\"]))throw new Ms(\"Expected first argument to be of type array or string, but found \"+Ls(ws(I))+\" instead.\");if(this.endIndex){var J=this.endIndex.evaluate(y);return I.slice(U,J)}return I.slice(U)},nc.prototype.eachChild=function(y){y(this.input),y(this.beginIndex),this.endIndex&&y(this.endIndex)},nc.prototype.outputDefined=function(){return!1},nc.prototype.serialize=function(){if(this.endIndex!=null&&this.endIndex!==void 0){var y=this.endIndex.serialize();return[\"slice\",this.input.serialize(),this.beginIndex.serialize(),y]}return[\"slice\",this.input.serialize(),this.beginIndex.serialize()]};function gf(m,y){return m===\"==\"||m===\"!=\"?y.kind===\"boolean\"||y.kind===\"string\"||y.kind===\"number\"||y.kind===\"null\"||y.kind===\"value\":y.kind===\"string\"||y.kind===\"number\"||y.kind===\"value\"}function gt(m,y,I){return y===I}function Bt(m,y,I){return y!==I}function wr(m,y,I){return yI}function Ur(m,y,I){return y<=I}function fi(m,y,I){return y>=I}function xi(m,y,I,U){return U.compare(y,I)===0}function Fi(m,y,I,U){return!xi(m,y,I,U)}function Xi(m,y,I,U){return U.compare(y,I)<0}function hn(m,y,I,U){return U.compare(y,I)>0}function Ti(m,y,I,U){return U.compare(y,I)<=0}function qi(m,y,I,U){return U.compare(y,I)>=0}function Ii(m,y,I){var U=m!==\"==\"&&m!==\"!=\";return function(){function J(ne,fe,Fe){this.type=Co,this.lhs=ne,this.rhs=fe,this.collator=Fe,this.hasUntypedArgument=ne.type.kind===\"value\"||fe.type.kind===\"value\"}return J.parse=function(fe,Fe){if(fe.length!==3&&fe.length!==4)return Fe.error(\"Expected two or three arguments.\");var Qe=fe[0],st=Fe.parse(fe[1],1,So);if(!st)return null;if(!gf(Qe,st.type))return Fe.concat(1).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(st.type)+\"'.\");var mt=Fe.parse(fe[2],2,So);if(!mt)return null;if(!gf(Qe,mt.type))return Fe.concat(2).error('\"'+Qe+`\" comparisons are not supported for type '`+Ls(mt.type)+\"'.\");if(st.type.kind!==mt.type.kind&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot compare types '\"+Ls(st.type)+\"' and '\"+Ls(mt.type)+\"'.\");U&&(st.type.kind===\"value\"&&mt.type.kind!==\"value\"?st=new Sl(mt.type,[st]):st.type.kind!==\"value\"&&mt.type.kind===\"value\"&&(mt=new Sl(st.type,[mt])));var Xt=null;if(fe.length===4){if(st.type.kind!==\"string\"&&mt.type.kind!==\"string\"&&st.type.kind!==\"value\"&&mt.type.kind!==\"value\")return Fe.error(\"Cannot use collator to compare non-string types.\");if(Xt=Fe.parse(fe[3],3,rh),!Xt)return null}return new J(st,mt,Xt)},J.prototype.evaluate=function(fe){var Fe=this.lhs.evaluate(fe),Qe=this.rhs.evaluate(fe);if(U&&this.hasUntypedArgument){var st=ws(Fe),mt=ws(Qe);if(st.kind!==mt.kind||!(st.kind===\"string\"||st.kind===\"number\"))throw new Ms('Expected arguments for \"'+m+'\" to be (string, string) or (number, number), but found ('+st.kind+\", \"+mt.kind+\") instead.\")}if(this.collator&&!U&&this.hasUntypedArgument){var Xt=ws(Fe),ur=ws(Qe);if(Xt.kind!==\"string\"||ur.kind!==\"string\")return y(fe,Fe,Qe)}return this.collator?I(fe,Fe,Qe,this.collator.evaluate(fe)):y(fe,Fe,Qe)},J.prototype.eachChild=function(fe){fe(this.lhs),fe(this.rhs),this.collator&&fe(this.collator)},J.prototype.outputDefined=function(){return!0},J.prototype.serialize=function(){var fe=[m];return this.eachChild(function(Fe){fe.push(Fe.serialize())}),fe},J}()}var mi=Ii(\"==\",gt,xi),Pn=Ii(\"!=\",Bt,Fi),Ma=Ii(\"<\",wr,Xi),Ta=Ii(\">\",vr,hn),Ea=Ii(\"<=\",Ur,Ti),qa=Ii(\">=\",fi,qi),Cn=function(y,I,U,J,ne){this.type=ko,this.number=y,this.locale=I,this.currency=U,this.minFractionDigits=J,this.maxFractionDigits=ne};Cn.parse=function(y,I){if(y.length!==3)return I.error(\"Expected two arguments.\");var U=I.parse(y[1],1,Zn);if(!U)return null;var J=y[2];if(typeof J!=\"object\"||Array.isArray(J))return I.error(\"NumberFormat options argument must be an object.\");var ne=null;if(J.locale&&(ne=I.parse(J.locale,1,ko),!ne))return null;var fe=null;if(J.currency&&(fe=I.parse(J.currency,1,ko),!fe))return null;var Fe=null;if(J[\"min-fraction-digits\"]&&(Fe=I.parse(J[\"min-fraction-digits\"],1,Zn),!Fe))return null;var Qe=null;return J[\"max-fraction-digits\"]&&(Qe=I.parse(J[\"max-fraction-digits\"],1,Zn),!Qe)?null:new Cn(U,ne,fe,Fe,Qe)},Cn.prototype.evaluate=function(y){return new Intl.NumberFormat(this.locale?this.locale.evaluate(y):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(y):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(y):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(y):void 0}).format(this.number.evaluate(y))},Cn.prototype.eachChild=function(y){y(this.number),this.locale&&y(this.locale),this.currency&&y(this.currency),this.minFractionDigits&&y(this.minFractionDigits),this.maxFractionDigits&&y(this.maxFractionDigits)},Cn.prototype.outputDefined=function(){return!1},Cn.prototype.serialize=function(){var y={};return this.locale&&(y.locale=this.locale.serialize()),this.currency&&(y.currency=this.currency.serialize()),this.minFractionDigits&&(y[\"min-fraction-digits\"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(y[\"max-fraction-digits\"]=this.maxFractionDigits.serialize()),[\"number-format\",this.number.serialize(),y]};var sn=function(y){this.type=Zn,this.input=y};sn.parse=function(y,I){if(y.length!==2)return I.error(\"Expected 1 argument, but found \"+(y.length-1)+\" instead.\");var U=I.parse(y[1],1);return U?U.type.kind!==\"array\"&&U.type.kind!==\"string\"&&U.type.kind!==\"value\"?I.error(\"Expected argument of type string or array, but found \"+Ls(U.type)+\" instead.\"):new sn(U):null},sn.prototype.evaluate=function(y){var I=this.input.evaluate(y);if(typeof I==\"string\")return I.length;if(Array.isArray(I))return I.length;throw new Ms(\"Expected value to be of type string or array, but found \"+Ls(ws(I))+\" instead.\")},sn.prototype.eachChild=function(y){y(this.input)},sn.prototype.outputDefined=function(){return!1},sn.prototype.serialize=function(){var y=[\"length\"];return this.eachChild(function(I){y.push(I.serialize())}),y};var Ua={\"==\":mi,\"!=\":Pn,\">\":Ta,\"<\":Ma,\">=\":qa,\"<=\":Ea,array:Sl,at:gc,boolean:Sl,case:Yc,coalesce:Wu,collator:tc,format:ec,image:Ps,in:hl,\"index-of\":ru,interpolate:Rl,\"interpolate-hcl\":Rl,\"interpolate-lab\":Rl,length:sn,let:Rc,literal:hs,match:mc,number:Sl,\"number-format\":Cn,object:Sl,slice:nc,step:yu,string:Sl,\"to-boolean\":wo,\"to-color\":wo,\"to-number\":wo,\"to-string\":wo,var:Lc,within:Lu};function mo(m,y){var I=y[0],U=y[1],J=y[2],ne=y[3];I=I.evaluate(m),U=U.evaluate(m),J=J.evaluate(m);var fe=ne?ne.evaluate(m):1,Fe=hc(I,U,J,fe);if(Fe)throw new Ms(Fe);return new ss(I/255*fe,U/255*fe,J/255*fe,fe)}function Xo(m,y){return m in y}function Ts(m,y){var I=y[m];return typeof I==\"undefined\"?null:I}function Qo(m,y,I,U){for(;I<=U;){var J=I+U>>1;if(y[J]===m)return!0;y[J]>m?U=J-1:I=J+1}return!1}function ys(m){return{type:m}}Ja.register(Ua,{error:[cf,[ko],function(m,y){var I=y[0];throw new Ms(I.evaluate(m))}],typeof:[ko,[So],function(m,y){var I=y[0];return Ls(ws(I.evaluate(m)))}],\"to-rgba\":[Ql(Zn,4),[Tl],function(m,y){var I=y[0];return I.evaluate(m).toArray()}],rgb:[Tl,[Zn,Zn,Zn],mo],rgba:[Tl,[Zn,Zn,Zn,Zn],mo],has:{type:Co,overloads:[[[ko],function(m,y){var I=y[0];return Xo(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Xo(I.evaluate(m),U.evaluate(m))}]]},get:{type:So,overloads:[[[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.properties())}],[[ko,uf],function(m,y){var I=y[0],U=y[1];return Ts(I.evaluate(m),U.evaluate(m))}]]},\"feature-state\":[So,[ko],function(m,y){var I=y[0];return Ts(I.evaluate(m),m.featureState||{})}],properties:[uf,[],function(m){return m.properties()}],\"geometry-type\":[ko,[],function(m){return m.geometryType()}],id:[So,[],function(m){return m.id()}],zoom:[Zn,[],function(m){return m.globals.zoom}],\"heatmap-density\":[Zn,[],function(m){return m.globals.heatmapDensity||0}],\"line-progress\":[Zn,[],function(m){return m.globals.lineProgress||0}],accumulated:[So,[],function(m){return m.globals.accumulated===void 0?null:m.globals.accumulated}],\"+\":[Zn,ys(Zn),function(m,y){for(var I=0,U=0,J=y;U\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>ne}],\"filter-id->\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>J}],\"filter-<=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J<=ne}],\"filter-id-<=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U<=J}],\"filter->=\":[Co,[ko,So],function(m,y){var I=y[0],U=y[1],J=m.properties()[I.value],ne=U.value;return typeof J==typeof ne&&J>=ne}],\"filter-id->=\":[Co,[So],function(m,y){var I=y[0],U=m.id(),J=I.value;return typeof U==typeof J&&U>=J}],\"filter-has\":[Co,[So],function(m,y){var I=y[0];return I.value in m.properties()}],\"filter-has-id\":[Co,[],function(m){return m.id()!==null&&m.id()!==void 0}],\"filter-type-in\":[Co,[Ql(ko)],function(m,y){var I=y[0];return I.value.indexOf(m.geometryType())>=0}],\"filter-id-in\":[Co,[Ql(So)],function(m,y){var I=y[0];return I.value.indexOf(m.id())>=0}],\"filter-in-small\":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return U.value.indexOf(m.properties()[I.value])>=0}],\"filter-in-large\":[Co,[ko,Ql(So)],function(m,y){var I=y[0],U=y[1];return Qo(m.properties()[I.value],U.value,0,U.value.length-1)}],all:{type:Co,overloads:[[[Co,Co],function(m,y){var I=y[0],U=y[1];return I.evaluate(m)&&U.evaluate(m)}],[ys(Co),function(m,y){for(var I=0,U=y;I-1}function ia(m){return!!m.expression&&m.expression.interpolated}function Ka(m){return m instanceof Number?\"number\":m instanceof String?\"string\":m instanceof Boolean?\"boolean\":Array.isArray(m)?\"array\":m===null?\"null\":typeof m}function vs(m){return typeof m==\"object\"&&m!==null&&!Array.isArray(m)}function Ko(m){return m}function iu(m,y){var I=y.type===\"color\",U=m.stops&&typeof m.stops[0][0]==\"object\",J=U||m.property!==void 0,ne=U||!J,fe=m.type||(ia(y)?\"exponential\":\"interval\");if(I&&(m=Il({},m),m.stops&&(m.stops=m.stops.map(function($n){return[$n[0],ss.parse($n[1])]})),m.default?m.default=ss.parse(m.default):m.default=ss.parse(y.default)),m.colorSpace&&m.colorSpace!==\"rgb\"&&!Ph[m.colorSpace])throw new Error(\"Unknown color space: \"+m.colorSpace);var Fe,Qe,st;if(fe===\"exponential\")Fe=bu;else if(fe===\"interval\")Fe=mf;else if(fe===\"categorical\"){Fe=ac,Qe=Object.create(null);for(var mt=0,Xt=m.stops;mt=m.stops[U-1][0])return m.stops[U-1][1];var J=ic(m.stops.map(function(ne){return ne[0]}),I);return m.stops[J][1]}function bu(m,y,I){var U=m.base!==void 0?m.base:1;if(Ka(I)!==\"number\")return Ru(m.default,y.default);var J=m.stops.length;if(J===1||I<=m.stops[0][0])return m.stops[0][1];if(I>=m.stops[J-1][0])return m.stops[J-1][1];var ne=ic(m.stops.map(function(Xt){return Xt[0]}),I),fe=Du(I,U,m.stops[ne][0],m.stops[ne+1][0]),Fe=m.stops[ne][1],Qe=m.stops[ne+1][1],st=Gu[y.type]||Ko;if(m.colorSpace&&m.colorSpace!==\"rgb\"){var mt=Ph[m.colorSpace];st=function(Xt,ur){return mt.reverse(mt.interpolate(mt.forward(Xt),mt.forward(ur),fe))}}return typeof Fe.evaluate==\"function\"?{evaluate:function(){for(var ur=[],nr=arguments.length;nr--;)ur[nr]=arguments[nr];var Lr=Fe.evaluate.apply(void 0,ur),Yr=Qe.evaluate.apply(void 0,ur);if(!(Lr===void 0||Yr===void 0))return st(Lr,Yr,fe)}}:st(Fe,Qe,fe)}function Kc(m,y,I){return y.type===\"color\"?I=ss.parse(I):y.type===\"formatted\"?I=Ul.fromString(I.toString()):y.type===\"resolvedImage\"?I=Js.fromString(I.toString()):Ka(I)!==y.type&&(y.type!==\"enum\"||!y.values[I])&&(I=void 0),Ru(I,m.default,y.default)}function Du(m,y,I,U){var J=U-I,ne=m-I;return J===0?0:y===1?ne/J:(Math.pow(y,ne)-1)/(Math.pow(y,J)-1)}var Dc=function(y,I){this.expression=y,this._warningHistory={},this._evaluator=new $o,this._defaultValue=I?ee(I):null,this._enumValues=I&&I.type===\"enum\"?I.values:null};Dc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._evaluator.globals=y,this._evaluator.feature=I,this._evaluator.featureState=U,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe,this.expression.evaluate(this._evaluator)},Dc.prototype.evaluate=function(y,I,U,J,ne,fe){this._evaluator.globals=y,this._evaluator.feature=I||null,this._evaluator.featureState=U||null,this._evaluator.canonical=J,this._evaluator.availableImages=ne||null,this._evaluator.formattedSection=fe||null;try{var Fe=this.expression.evaluate(this._evaluator);if(Fe==null||typeof Fe==\"number\"&&Fe!==Fe)return this._defaultValue;if(this._enumValues&&!(Fe in this._enumValues))throw new Ms(\"Expected value to be one of \"+Object.keys(this._enumValues).map(function(Qe){return JSON.stringify(Qe)}).join(\", \")+\", but found \"+JSON.stringify(Fe)+\" instead.\");return Fe}catch(Qe){return this._warningHistory[Qe.message]||(this._warningHistory[Qe.message]=!0,typeof console!=\"undefined\"&&console.warn(Qe.message)),this._defaultValue}};function Da(m){return Array.isArray(m)&&m.length>0&&typeof m[0]==\"string\"&&m[0]in Ua}function eo(m,y){var I=new fl(Ua,[],y?Q(y):void 0),U=I.parse(m,void 0,void 0,void 0,y&&y.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return U?Bo(new Dc(U,y)):yl(I.errors)}var Jc=function(y,I){this.kind=y,this._styleExpression=I,this.isStateDependent=y!==\"constant\"&&!eu(I.expression)};Jc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},Jc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)};var yc=function(y,I,U,J){this.kind=y,this.zoomStops=U,this._styleExpression=I,this.isStateDependent=y!==\"camera\"&&!eu(I.expression),this.interpolationType=J};yc.prototype.evaluateWithoutErrorHandling=function(y,I,U,J,ne,fe){return this._styleExpression.evaluateWithoutErrorHandling(y,I,U,J,ne,fe)},yc.prototype.evaluate=function(y,I,U,J,ne,fe){return this._styleExpression.evaluate(y,I,U,J,ne,fe)},yc.prototype.interpolationFactor=function(y,I,U){return this.interpolationType?Rl.interpolationFactor(this.interpolationType,y,I,U):0};function _c(m,y){if(m=eo(m,y),m.result===\"error\")return m;var I=m.value.expression,U=$h(I);if(!U&&!Gs(y))return yl([new Ks(\"\",\"data expressions not supported\")]);var J=Pu(I,[\"zoom\"]);if(!J&&!Rs(y))return yl([new Ks(\"\",\"zoom expressions not supported\")]);var ne=B(I);if(!ne&&!J)return yl([new Ks(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')]);if(ne instanceof Ks)return yl([ne]);if(ne instanceof Rl&&!ia(y))return yl([new Ks(\"\",'\"interpolate\" expressions cannot be used with this property')]);if(!ne)return Bo(U?new Jc(\"constant\",m.value):new Jc(\"source\",m.value));var fe=ne instanceof Rl?ne.interpolation:void 0;return Bo(U?new yc(\"camera\",m.value,ne.labels,fe):new yc(\"composite\",m.value,ne.labels,fe))}var le=function(y,I){this._parameters=y,this._specification=I,Il(this,iu(this._parameters,this._specification))};le.deserialize=function(y){return new le(y._parameters,y._specification)},le.serialize=function(y){return{_parameters:y._parameters,_specification:y._specification}};function w(m,y){if(vs(m))return new le(m,y);if(Da(m)){var I=_c(m,y);if(I.result===\"error\")throw new Error(I.value.map(function(J){return J.key+\": \"+J.message}).join(\", \"));return I.value}else{var U=m;return typeof m==\"string\"&&y.type===\"color\"&&(U=ss.parse(m)),{kind:\"constant\",evaluate:function(){return U}}}}function B(m){var y=null;if(m instanceof Rc)y=B(m.result);else if(m instanceof Wu)for(var I=0,U=m.args;IU.maximum?[new fa(y,I,I+\" is greater than the maximum value \"+U.maximum)]:[]}function it(m){var y=m.valueSpec,I=vo(m.value.type),U,J={},ne,fe,Fe=I!==\"categorical\"&&m.value.property===void 0,Qe=!Fe,st=Ka(m.value.stops)===\"array\"&&Ka(m.value.stops[0])===\"array\"&&Ka(m.value.stops[0][0])===\"object\",mt=se({key:m.key,value:m.value,valueSpec:m.styleSpec.function,style:m.style,styleSpec:m.styleSpec,objectElementValidators:{stops:Xt,default:Lr}});return I===\"identity\"&&Fe&&mt.push(new fa(m.key,m.value,'missing required property \"property\"')),I!==\"identity\"&&!m.value.stops&&mt.push(new fa(m.key,m.value,'missing required property \"stops\"')),I===\"exponential\"&&m.valueSpec.expression&&!ia(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"exponential functions not supported\")),m.styleSpec.$version>=8&&(Qe&&!Gs(m.valueSpec)?mt.push(new fa(m.key,m.value,\"property functions not supported\")):Fe&&!Rs(m.valueSpec)&&mt.push(new fa(m.key,m.value,\"zoom functions not supported\"))),(I===\"categorical\"||st)&&m.value.property===void 0&&mt.push(new fa(m.key,m.value,'\"property\" property is required')),mt;function Xt(Yr){if(I===\"identity\")return[new fa(Yr.key,Yr.value,'identity function may not have a \"stops\" property')];var _i=[],si=Yr.value;return _i=_i.concat(qe({key:Yr.key,value:si,valueSpec:Yr.valueSpec,style:Yr.style,styleSpec:Yr.styleSpec,arrayElementValidator:ur})),Ka(si)===\"array\"&&si.length===0&&_i.push(new fa(Yr.key,si,\"array must have at least one stop\")),_i}function ur(Yr){var _i=[],si=Yr.value,Hi=Yr.key;if(Ka(si)!==\"array\")return[new fa(Hi,si,\"array expected, \"+Ka(si)+\" found\")];if(si.length!==2)return[new fa(Hi,si,\"array length 2 expected, length \"+si.length+\" found\")];if(st){if(Ka(si[0])!==\"object\")return[new fa(Hi,si,\"object expected, \"+Ka(si[0])+\" found\")];if(si[0].zoom===void 0)return[new fa(Hi,si,\"object stop key must have zoom\")];if(si[0].value===void 0)return[new fa(Hi,si,\"object stop key must have value\")];if(fe&&fe>vo(si[0].zoom))return[new fa(Hi,si[0].zoom,\"stop zoom values must appear in ascending order\")];vo(si[0].zoom)!==fe&&(fe=vo(si[0].zoom),ne=void 0,J={}),_i=_i.concat(se({key:Hi+\"[0]\",value:si[0],valueSpec:{zoom:{}},style:Yr.style,styleSpec:Yr.styleSpec,objectElementValidators:{zoom:je,value:nr}}))}else _i=_i.concat(nr({key:Hi+\"[0]\",value:si[0],valueSpec:{},style:Yr.style,styleSpec:Yr.styleSpec},si));return Da(Wl(si[1]))?_i.concat([new fa(Hi+\"[1]\",si[1],\"expressions are not allowed in function stops.\")]):_i.concat(Wa({key:Hi+\"[1]\",value:si[1],valueSpec:y,style:Yr.style,styleSpec:Yr.styleSpec}))}function nr(Yr,_i){var si=Ka(Yr.value),Hi=vo(Yr.value),Ei=Yr.value!==null?Yr.value:_i;if(!U)U=si;else if(si!==U)return[new fa(Yr.key,Ei,si+\" stop domain type must match previous stop domain type \"+U)];if(si!==\"number\"&&si!==\"string\"&&si!==\"boolean\")return[new fa(Yr.key,Ei,\"stop domain value must be a number, string, or boolean\")];if(si!==\"number\"&&I!==\"categorical\"){var Vi=\"number expected, \"+si+\" found\";return Gs(y)&&I===void 0&&(Vi+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new fa(Yr.key,Ei,Vi)]}return I===\"categorical\"&&si===\"number\"&&(!isFinite(Hi)||Math.floor(Hi)!==Hi)?[new fa(Yr.key,Ei,\"integer expected, found \"+Hi)]:I!==\"categorical\"&&si===\"number\"&&ne!==void 0&&Hi=2&&m[1]!==\"$id\"&&m[1]!==\"$type\";case\"in\":return m.length>=3&&(typeof m[1]!=\"string\"||Array.isArray(m[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return m.length!==3||Array.isArray(m[1])||Array.isArray(m[2]);case\"any\":case\"all\":for(var y=0,I=m.slice(1);yy?1:0}function Oe(m){if(!Array.isArray(m))return!1;if(m[0]===\"within\")return!0;for(var y=1;y\"||y===\"<=\"||y===\">=\"?He(m[1],m[2],y):y===\"any\"?et(m.slice(1)):y===\"all\"?[\"all\"].concat(m.slice(1).map(Je)):y===\"none\"?[\"all\"].concat(m.slice(1).map(Je).map(Ut)):y===\"in\"?Mt(m[1],m.slice(2)):y===\"!in\"?Ut(Mt(m[1],m.slice(2))):y===\"has\"?Dt(m[1]):y===\"!has\"?Ut(Dt(m[1])):y===\"within\"?m:!0;return I}function He(m,y,I){switch(m){case\"$type\":return[\"filter-type-\"+I,y];case\"$id\":return[\"filter-id-\"+I,y];default:return[\"filter-\"+I,m,y]}}function et(m){return[\"any\"].concat(m.map(Je))}function Mt(m,y){if(y.length===0)return!1;switch(m){case\"$type\":return[\"filter-type-in\",[\"literal\",y]];case\"$id\":return[\"filter-id-in\",[\"literal\",y]];default:return y.length>200&&!y.some(function(I){return typeof I!=typeof y[0]})?[\"filter-in-large\",m,[\"literal\",y.sort(Pe)]]:[\"filter-in-small\",m,[\"literal\",y]]}}function Dt(m){switch(m){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",m]}}function Ut(m){return[\"!\",m]}function tr(m){return Sr(Wl(m.value))?yt(Il({},m,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):mr(m)}function mr(m){var y=m.value,I=m.key;if(Ka(y)!==\"array\")return[new fa(I,y,\"array expected, \"+Ka(y)+\" found\")];var U=m.styleSpec,J,ne=[];if(y.length<1)return[new fa(I,y,\"filter array must have at least 1 element\")];switch(ne=ne.concat(hr({key:I+\"[0]\",value:y[0],valueSpec:U.filter_operator,style:m.style,styleSpec:m.styleSpec})),vo(y[0])){case\"<\":case\"<=\":case\">\":case\">=\":y.length>=2&&vo(y[1])===\"$type\"&&ne.push(new fa(I,y,'\"$type\" cannot be use with operator \"'+y[0]+'\"'));case\"==\":case\"!=\":y.length!==3&&ne.push(new fa(I,y,'filter array for operator \"'+y[0]+'\" must have 3 elements'));case\"in\":case\"!in\":y.length>=2&&(J=Ka(y[1]),J!==\"string\"&&ne.push(new fa(I+\"[1]\",y[1],\"string expected, \"+J+\" found\")));for(var fe=2;fe=mt[nr+0]&&U>=mt[nr+1])?(fe[ur]=!0,ne.push(st[ur])):fe[ur]=!1}}},nu.prototype._forEachCell=function(m,y,I,U,J,ne,fe,Fe){for(var Qe=this._convertToCellCoord(m),st=this._convertToCellCoord(y),mt=this._convertToCellCoord(I),Xt=this._convertToCellCoord(U),ur=Qe;ur<=mt;ur++)for(var nr=st;nr<=Xt;nr++){var Lr=this.d*nr+ur;if(!(Fe&&!Fe(this._convertFromCellCoord(ur),this._convertFromCellCoord(nr),this._convertFromCellCoord(ur+1),this._convertFromCellCoord(nr+1)))&&J.call(this,m,y,I,U,Lr,ne,fe,Fe))return}},nu.prototype._convertFromCellCoord=function(m){return(m-this.padding)/this.scale},nu.prototype._convertToCellCoord=function(m){return Math.max(0,Math.min(this.d-1,Math.floor(m*this.scale)+this.padding))},nu.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var m=this.cells,y=el+this.cells.length+1+1,I=0,U=0;U=0)){var Xt=m[mt];st[mt]=zl[Qe].shallow.indexOf(mt)>=0?Xt:Ue(Xt,y)}m instanceof Error&&(st.message=m.message)}if(st.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return Qe!==\"Object\"&&(st.$name=Qe),st}throw new Error(\"can't serialize object of type \"+typeof m)}function We(m){if(m==null||typeof m==\"boolean\"||typeof m==\"number\"||typeof m==\"string\"||m instanceof Boolean||m instanceof Number||m instanceof String||m instanceof Date||m instanceof RegExp||we(m)||Be(m)||ArrayBuffer.isView(m)||m instanceof zc)return m;if(Array.isArray(m))return m.map(We);if(typeof m==\"object\"){var y=m.$name||\"Object\",I=zl[y],U=I.klass;if(!U)throw new Error(\"can't deserialize unregistered class \"+y);if(U.deserialize)return U.deserialize(m);for(var J=Object.create(U.prototype),ne=0,fe=Object.keys(m);ne=0?Qe:We(Qe)}}return J}throw new Error(\"can't deserialize object of type \"+typeof m)}var wt=function(){this.first=!0};wt.prototype.update=function(y,I){var U=Math.floor(y);return this.first?(this.first=!1,this.lastIntegerZoom=U,this.lastIntegerZoomTime=0,this.lastZoom=y,this.lastFloorZoom=U,!0):(this.lastFloorZoom>U?(this.lastIntegerZoom=U+1,this.lastIntegerZoomTime=I):this.lastFloorZoom=128&&m<=255},Arabic:function(m){return m>=1536&&m<=1791},\"Arabic Supplement\":function(m){return m>=1872&&m<=1919},\"Arabic Extended-A\":function(m){return m>=2208&&m<=2303},\"Hangul Jamo\":function(m){return m>=4352&&m<=4607},\"Unified Canadian Aboriginal Syllabics\":function(m){return m>=5120&&m<=5759},Khmer:function(m){return m>=6016&&m<=6143},\"Unified Canadian Aboriginal Syllabics Extended\":function(m){return m>=6320&&m<=6399},\"General Punctuation\":function(m){return m>=8192&&m<=8303},\"Letterlike Symbols\":function(m){return m>=8448&&m<=8527},\"Number Forms\":function(m){return m>=8528&&m<=8591},\"Miscellaneous Technical\":function(m){return m>=8960&&m<=9215},\"Control Pictures\":function(m){return m>=9216&&m<=9279},\"Optical Character Recognition\":function(m){return m>=9280&&m<=9311},\"Enclosed Alphanumerics\":function(m){return m>=9312&&m<=9471},\"Geometric Shapes\":function(m){return m>=9632&&m<=9727},\"Miscellaneous Symbols\":function(m){return m>=9728&&m<=9983},\"Miscellaneous Symbols and Arrows\":function(m){return m>=11008&&m<=11263},\"CJK Radicals Supplement\":function(m){return m>=11904&&m<=12031},\"Kangxi Radicals\":function(m){return m>=12032&&m<=12255},\"Ideographic Description Characters\":function(m){return m>=12272&&m<=12287},\"CJK Symbols and Punctuation\":function(m){return m>=12288&&m<=12351},Hiragana:function(m){return m>=12352&&m<=12447},Katakana:function(m){return m>=12448&&m<=12543},Bopomofo:function(m){return m>=12544&&m<=12591},\"Hangul Compatibility Jamo\":function(m){return m>=12592&&m<=12687},Kanbun:function(m){return m>=12688&&m<=12703},\"Bopomofo Extended\":function(m){return m>=12704&&m<=12735},\"CJK Strokes\":function(m){return m>=12736&&m<=12783},\"Katakana Phonetic Extensions\":function(m){return m>=12784&&m<=12799},\"Enclosed CJK Letters and Months\":function(m){return m>=12800&&m<=13055},\"CJK Compatibility\":function(m){return m>=13056&&m<=13311},\"CJK Unified Ideographs Extension A\":function(m){return m>=13312&&m<=19903},\"Yijing Hexagram Symbols\":function(m){return m>=19904&&m<=19967},\"CJK Unified Ideographs\":function(m){return m>=19968&&m<=40959},\"Yi Syllables\":function(m){return m>=40960&&m<=42127},\"Yi Radicals\":function(m){return m>=42128&&m<=42191},\"Hangul Jamo Extended-A\":function(m){return m>=43360&&m<=43391},\"Hangul Syllables\":function(m){return m>=44032&&m<=55215},\"Hangul Jamo Extended-B\":function(m){return m>=55216&&m<=55295},\"Private Use Area\":function(m){return m>=57344&&m<=63743},\"CJK Compatibility Ideographs\":function(m){return m>=63744&&m<=64255},\"Arabic Presentation Forms-A\":function(m){return m>=64336&&m<=65023},\"Vertical Forms\":function(m){return m>=65040&&m<=65055},\"CJK Compatibility Forms\":function(m){return m>=65072&&m<=65103},\"Small Form Variants\":function(m){return m>=65104&&m<=65135},\"Arabic Presentation Forms-B\":function(m){return m>=65136&&m<=65279},\"Halfwidth and Fullwidth Forms\":function(m){return m>=65280&&m<=65519}};function zt(m){for(var y=0,I=m;y=65097&&m<=65103)||tt[\"CJK Compatibility Ideographs\"](m)||tt[\"CJK Compatibility\"](m)||tt[\"CJK Radicals Supplement\"](m)||tt[\"CJK Strokes\"](m)||tt[\"CJK Symbols and Punctuation\"](m)&&!(m>=12296&&m<=12305)&&!(m>=12308&&m<=12319)&&m!==12336||tt[\"CJK Unified Ideographs Extension A\"](m)||tt[\"CJK Unified Ideographs\"](m)||tt[\"Enclosed CJK Letters and Months\"](m)||tt[\"Hangul Compatibility Jamo\"](m)||tt[\"Hangul Jamo Extended-A\"](m)||tt[\"Hangul Jamo Extended-B\"](m)||tt[\"Hangul Jamo\"](m)||tt[\"Hangul Syllables\"](m)||tt.Hiragana(m)||tt[\"Ideographic Description Characters\"](m)||tt.Kanbun(m)||tt[\"Kangxi Radicals\"](m)||tt[\"Katakana Phonetic Extensions\"](m)||tt.Katakana(m)&&m!==12540||tt[\"Halfwidth and Fullwidth Forms\"](m)&&m!==65288&&m!==65289&&m!==65293&&!(m>=65306&&m<=65310)&&m!==65339&&m!==65341&&m!==65343&&!(m>=65371&&m<=65503)&&m!==65507&&!(m>=65512&&m<=65519)||tt[\"Small Form Variants\"](m)&&!(m>=65112&&m<=65118)&&!(m>=65123&&m<=65126)||tt[\"Unified Canadian Aboriginal Syllabics\"](m)||tt[\"Unified Canadian Aboriginal Syllabics Extended\"](m)||tt[\"Vertical Forms\"](m)||tt[\"Yijing Hexagram Symbols\"](m)||tt[\"Yi Syllables\"](m)||tt[\"Yi Radicals\"](m))}function oi(m){return!!(tt[\"Latin-1 Supplement\"](m)&&(m===167||m===169||m===174||m===177||m===188||m===189||m===190||m===215||m===247)||tt[\"General Punctuation\"](m)&&(m===8214||m===8224||m===8225||m===8240||m===8241||m===8251||m===8252||m===8258||m===8263||m===8264||m===8265||m===8273)||tt[\"Letterlike Symbols\"](m)||tt[\"Number Forms\"](m)||tt[\"Miscellaneous Technical\"](m)&&(m>=8960&&m<=8967||m>=8972&&m<=8991||m>=8996&&m<=9e3||m===9003||m>=9085&&m<=9114||m>=9150&&m<=9165||m===9167||m>=9169&&m<=9179||m>=9186&&m<=9215)||tt[\"Control Pictures\"](m)&&m!==9251||tt[\"Optical Character Recognition\"](m)||tt[\"Enclosed Alphanumerics\"](m)||tt[\"Geometric Shapes\"](m)||tt[\"Miscellaneous Symbols\"](m)&&!(m>=9754&&m<=9759)||tt[\"Miscellaneous Symbols and Arrows\"](m)&&(m>=11026&&m<=11055||m>=11088&&m<=11097||m>=11192&&m<=11243)||tt[\"CJK Symbols and Punctuation\"](m)||tt.Katakana(m)||tt[\"Private Use Area\"](m)||tt[\"CJK Compatibility Forms\"](m)||tt[\"Small Form Variants\"](m)||tt[\"Halfwidth and Fullwidth Forms\"](m)||m===8734||m===8756||m===8757||m>=9984&&m<=10087||m>=10102&&m<=10131||m===65532||m===65533)}function ui(m){return!(Ir(m)||oi(m))}function qr(m){return tt.Arabic(m)||tt[\"Arabic Supplement\"](m)||tt[\"Arabic Extended-A\"](m)||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function Kr(m){return m>=1424&&m<=2303||tt[\"Arabic Presentation Forms-A\"](m)||tt[\"Arabic Presentation Forms-B\"](m)}function ii(m,y){return!(!y&&Kr(m)||m>=2304&&m<=3583||m>=3840&&m<=4255||tt.Khmer(m))}function vi(m){for(var y=0,I=m;y-1&&(dn=Jr.error),un&&un(m)};function ga(){ya.fire(new jo(\"pluginStateChange\",{pluginStatus:dn,pluginURL:En}))}var ya=new Sn,so=function(){return dn},wa=function(m){return m({pluginStatus:dn,pluginURL:En}),ya.on(\"pluginStateChange\",m),m},io=function(m,y,I){if(I===void 0&&(I=!1),dn===Jr.deferred||dn===Jr.loading||dn===Jr.loaded)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");En=nt.resolveURL(m),dn=Jr.deferred,un=y,ga(),I||Ss()},Ss=function(){if(dn!==Jr.deferred||!En)throw new Error(\"rtl-text-plugin cannot be downloaded unless a pluginURL is specified\");dn=Jr.loading,ga(),En&&Zr({url:En},function(m){m?Nn(m):(dn=Jr.loaded,ga())})},_s={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return dn===Jr.loaded||_s.applyArabicShaping!=null},isLoading:function(){return dn===Jr.loading},setState:function(y){dn=y.pluginStatus,En=y.pluginURL},isParsed:function(){return _s.applyArabicShaping!=null&&_s.processBidirectionalText!=null&&_s.processStyledBidirectionalText!=null},getPluginURL:function(){return En}},Ns=function(){!_s.isLoading()&&!_s.isLoaded()&&so()===\"deferred\"&&Ss()},pn=function(y,I){this.zoom=y,I?(this.now=I.now,this.fadeDuration=I.fadeDuration,this.zoomHistory=I.zoomHistory,this.transition=I.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new wt,this.transition={})};pn.prototype.isSupportedScript=function(y){return ci(y,_s.isLoaded())},pn.prototype.crossFadingFactor=function(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},pn.prototype.getCrossfadeParameters=function(){var y=this.zoom,I=y-Math.floor(y),U=this.crossFadingFactor();return y>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:I+(1-I)*U}:{fromScale:.5,toScale:1,t:1-(1-U)*I}};var za=function(y,I){this.property=y,this.value=I,this.expression=w(I===void 0?y.specification.default:I,y.specification)};za.prototype.isDataDriven=function(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"},za.prototype.possiblyEvaluate=function(y,I,U){return this.property.possiblyEvaluate(this,y,I,U)};var Lo=function(y){this.property=y,this.value=new za(y,void 0)};Lo.prototype.transitioned=function(y,I){return new js(this.property,this.value,I,_({},y.transition,this.transition),y.now)},Lo.prototype.untransitioned=function(){return new js(this.property,this.value,null,{},0)};var Fo=function(y){this._properties=y,this._values=Object.create(y.defaultTransitionablePropertyValues)};Fo.prototype.getValue=function(y){return G(this._values[y].value.value)},Fo.prototype.setValue=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].value=new za(this._values[y].property,I===null?void 0:G(I))},Fo.prototype.getTransition=function(y){return G(this._values[y].transition)},Fo.prototype.setTransition=function(y,I){this._values.hasOwnProperty(y)||(this._values[y]=new Lo(this._values[y].property)),this._values[y].transition=G(I)||void 0},Fo.prototype.serialize=function(){for(var y={},I=0,U=Object.keys(this._values);Ithis.end)return this.prior=null,ne;if(this.value.isDataDriven())return this.prior=null,ne;if(Jfe.zoomHistory.lastIntegerZoom?{from:U,to:J}:{from:ne,to:J}},y.prototype.interpolate=function(U){return U},y}(Er),wi=function(y){this.specification=y};wi.prototype.possiblyEvaluate=function(y,I,U,J){if(y.value!==void 0)if(y.expression.kind===\"constant\"){var ne=y.expression.evaluate(I,null,{},U,J);return this._calculate(ne,ne,ne,I)}else return this._calculate(y.expression.evaluate(new pn(Math.floor(I.zoom-1),I)),y.expression.evaluate(new pn(Math.floor(I.zoom),I)),y.expression.evaluate(new pn(Math.floor(I.zoom+1),I)),I)},wi.prototype._calculate=function(y,I,U,J){var ne=J.zoom;return ne>J.zoomHistory.lastIntegerZoom?{from:y,to:I}:{from:U,to:I}},wi.prototype.interpolate=function(y){return y};var Ui=function(y){this.specification=y};Ui.prototype.possiblyEvaluate=function(y,I,U,J){return!!y.expression.evaluate(I,null,{},U,J)},Ui.prototype.interpolate=function(){return!1};var Oi=function(y){this.properties=y,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(var I in y){var U=y[I];U.specification.overridable&&this.overridableProperties.push(I);var J=this.defaultPropertyValues[I]=new za(U,void 0),ne=this.defaultTransitionablePropertyValues[I]=new Lo(U);this.defaultTransitioningPropertyValues[I]=ne.untransitioned(),this.defaultPossiblyEvaluatedValues[I]=J.possiblyEvaluate({})}};Z(\"DataDrivenProperty\",Er),Z(\"DataConstantProperty\",At),Z(\"CrossFadedDataDrivenProperty\",Wr),Z(\"CrossFadedProperty\",wi),Z(\"ColorRampProperty\",Ui);var Bi=\"-transition\",cn=function(m){function y(I,U){if(m.call(this),this.id=I.id,this.type=I.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},I.type!==\"custom\"&&(I=I,this.metadata=I.metadata,this.minzoom=I.minzoom,this.maxzoom=I.maxzoom,I.type!==\"background\"&&(this.source=I.source,this.sourceLayer=I[\"source-layer\"],this.filter=I.filter),U.layout&&(this._unevaluatedLayout=new fu(U.layout)),U.paint)){this._transitionablePaint=new Fo(U.paint);for(var J in I.paint)this.setPaintProperty(J,I.paint[J],{validate:!1});for(var ne in I.layout)this.setLayoutProperty(ne,I.layout[ne],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xc(U.paint)}}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},y.prototype.getLayoutProperty=function(U){return U===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(U)},y.prototype.setLayoutProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".layout.\"+U;if(this._validate(Vl,fe,U,J,ne))return}if(U===\"visibility\"){this.visibility=J;return}this._unevaluatedLayout.setValue(U,J)},y.prototype.getPaintProperty=function(U){return V(U,Bi)?this._transitionablePaint.getTransition(U.slice(0,-Bi.length)):this._transitionablePaint.getValue(U)},y.prototype.setPaintProperty=function(U,J,ne){if(ne===void 0&&(ne={}),J!=null){var fe=\"layers.\"+this.id+\".paint.\"+U;if(this._validate(_l,fe,U,J,ne))return!1}if(V(U,Bi))return this._transitionablePaint.setTransition(U.slice(0,-Bi.length),J||void 0),!1;var Fe=this._transitionablePaint._values[U],Qe=Fe.property.specification[\"property-type\"]===\"cross-faded-data-driven\",st=Fe.value.isDataDriven(),mt=Fe.value;this._transitionablePaint.setValue(U,J),this._handleSpecialPaintPropertyUpdate(U);var Xt=this._transitionablePaint._values[U].value,ur=Xt.isDataDriven();return ur||st||Qe||this._handleOverridablePaintPropertyUpdate(U,mt,Xt)},y.prototype._handleSpecialPaintPropertyUpdate=function(U){},y.prototype._handleOverridablePaintPropertyUpdate=function(U,J,ne){return!1},y.prototype.isHidden=function(U){return this.minzoom&&U=this.maxzoom?!0:this.visibility===\"none\"},y.prototype.updateTransitions=function(U){this._transitioningPaint=this._transitionablePaint.transitioned(U,this._transitioningPaint)},y.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},y.prototype.recalculate=function(U,J){U.getCrossfadeParameters&&(this._crossfadeParameters=U.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(U,void 0,J)),this.paint=this._transitioningPaint.possiblyEvaluate(U,void 0,J)},y.prototype.serialize=function(){var U={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(U.layout=U.layout||{},U.layout.visibility=this.visibility),X(U,function(J,ne){return J!==void 0&&!(ne===\"layout\"&&!Object.keys(J).length)&&!(ne===\"paint\"&&!Object.keys(J).length)})},y.prototype._validate=function(U,J,ne,fe,Fe){return Fe===void 0&&(Fe={}),Fe&&Fe.validate===!1?!1:Zu(this,U.call(yo,{key:J,layerType:this.type,objectKey:ne,value:fe,styleSpec:on,style:{glyphs:!0,sprite:!0}}))},y.prototype.is3D=function(){return!1},y.prototype.isTileClipped=function(){return!1},y.prototype.hasOffscreenPass=function(){return!1},y.prototype.resize=function(){},y.prototype.isStateDependent=function(){for(var U in this.paint._values){var J=this.paint.get(U);if(!(!(J instanceof dl)||!Gs(J.property.specification))&&(J.value.kind===\"source\"||J.value.kind===\"composite\")&&J.value.isStateDependent)return!0}return!1},y}(Sn),On={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Bn=function(y,I){this._structArray=y,this._pos1=I*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},yn=128,to=5,Rn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};Rn.serialize=function(y,I){return y._trim(),I&&(y.isTransferred=!0,I.push(y.arrayBuffer)),{length:y.length,arrayBuffer:y.arrayBuffer}},Rn.deserialize=function(y){var I=Object.create(this.prototype);return I.arrayBuffer=y.arrayBuffer,I.length=y.length,I.capacity=y.arrayBuffer.byteLength/I.bytesPerElement,I._refreshViews(),I},Rn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Rn.prototype.clear=function(){this.length=0},Rn.prototype.resize=function(y){this.reserve(y),this.length=y},Rn.prototype.reserve=function(y){if(y>this.capacity){this.capacity=Math.max(y,Math.floor(this.capacity*to),yn),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var I=this.uint8;this._refreshViews(),I&&this.uint8.set(I)}},Rn.prototype._refreshViews=function(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")};function Dn(m,y){y===void 0&&(y=1);var I=0,U=0,J=m.map(function(fe){var Fe=fn(fe.type),Qe=I=Ai(I,Math.max(y,Fe)),st=fe.components||1;return U=Math.max(U,Fe),I+=Fe*st,{name:fe.name,type:fe.type,components:st,offset:Qe}}),ne=Ai(I,Math.max(U,y));return{members:J,size:ne,alignment:y}}function fn(m){return On[m].BYTES_PER_ELEMENT}function Ai(m,y){return Math.ceil(m/y)*y}var ji=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.int16[fe+0]=J,this.int16[fe+1]=ne,U},y}(Rn);ji.prototype.bytesPerElement=4,Z(\"StructArrayLayout2i4\",ji);var Ln=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.int16[Qe+0]=J,this.int16[Qe+1]=ne,this.int16[Qe+2]=fe,this.int16[Qe+3]=Fe,U},y}(Rn);Ln.prototype.bytesPerElement=8,Z(\"StructArrayLayout4i8\",Ln);var Un=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);Un.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i4i12\",Un);var gn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*4,Xt=U*8;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.uint8[Xt+4]=fe,this.uint8[Xt+5]=Fe,this.uint8[Xt+6]=Qe,this.uint8[Xt+7]=st,U},y}(Rn);gn.prototype.bytesPerElement=8,Z(\"StructArrayLayout2i4ub8\",gn);var ca=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.float32[fe+0]=J,this.float32[fe+1]=ne,U},y}(Rn);ca.prototype.bytesPerElement=8,Z(\"StructArrayLayout2f8\",ca);var Kn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=this.length;return this.resize(nr+1),this.emplace(nr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr){var Lr=U*10;return this.uint16[Lr+0]=J,this.uint16[Lr+1]=ne,this.uint16[Lr+2]=fe,this.uint16[Lr+3]=Fe,this.uint16[Lr+4]=Qe,this.uint16[Lr+5]=st,this.uint16[Lr+6]=mt,this.uint16[Lr+7]=Xt,this.uint16[Lr+8]=ur,this.uint16[Lr+9]=nr,U},y}(Rn);Kn.prototype.bytesPerElement=20,Z(\"StructArrayLayout10ui20\",Kn);var Za=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr){var Yr=this.length;return this.resize(Yr+1),this.emplace(Yr,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr){var _i=U*12;return this.int16[_i+0]=J,this.int16[_i+1]=ne,this.int16[_i+2]=fe,this.int16[_i+3]=Fe,this.uint16[_i+4]=Qe,this.uint16[_i+5]=st,this.uint16[_i+6]=mt,this.uint16[_i+7]=Xt,this.int16[_i+8]=ur,this.int16[_i+9]=nr,this.int16[_i+10]=Lr,this.int16[_i+11]=Yr,U},y}(Rn);Za.prototype.bytesPerElement=24,Z(\"StructArrayLayout4i4ui4i24\",Za);var wn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.float32[Fe+0]=J,this.float32[Fe+1]=ne,this.float32[Fe+2]=fe,U},y}(Rn);wn.prototype.bytesPerElement=12,Z(\"StructArrayLayout3f12\",wn);var vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint32[ne+0]=J,U},y}(Rn);vn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1ul4\",vn);var Aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt){var ur=this.length;return this.resize(ur+1),this.emplace(ur,U,J,ne,fe,Fe,Qe,st,mt,Xt)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur){var nr=U*10,Lr=U*5;return this.int16[nr+0]=J,this.int16[nr+1]=ne,this.int16[nr+2]=fe,this.int16[nr+3]=Fe,this.int16[nr+4]=Qe,this.int16[nr+5]=st,this.uint32[Lr+3]=mt,this.uint16[nr+8]=Xt,this.uint16[nr+9]=ur,U},y}(Rn);Aa.prototype.bytesPerElement=20,Z(\"StructArrayLayout6i1ul2ui20\",Aa);var aa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe){var st=this.length;return this.resize(st+1),this.emplace(st,U,J,ne,fe,Fe,Qe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st){var mt=U*6;return this.int16[mt+0]=J,this.int16[mt+1]=ne,this.int16[mt+2]=fe,this.int16[mt+3]=Fe,this.int16[mt+4]=Qe,this.int16[mt+5]=st,U},y}(Rn);aa.prototype.bytesPerElement=12,Z(\"StructArrayLayout2i2i2i12\",aa);var Xn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe){var Qe=this.length;return this.resize(Qe+1),this.emplace(Qe,U,J,ne,fe,Fe)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe){var st=U*4,mt=U*8;return this.float32[st+0]=J,this.float32[st+1]=ne,this.float32[st+2]=fe,this.int16[mt+6]=Fe,this.int16[mt+7]=Qe,U},y}(Rn);Xn.prototype.bytesPerElement=16,Z(\"StructArrayLayout2f1f2i16\",Xn);var Vn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*12,st=U*3;return this.uint8[Qe+0]=J,this.uint8[Qe+1]=ne,this.float32[st+1]=fe,this.float32[st+2]=Fe,U},y}(Rn);Vn.prototype.bytesPerElement=12,Z(\"StructArrayLayout2ub2f12\",Vn);var ma=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.uint16[Fe+0]=J,this.uint16[Fe+1]=ne,this.uint16[Fe+2]=fe,U},y}(Rn);ma.prototype.bytesPerElement=6,Z(\"StructArrayLayout3ui6\",ma);var ro=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei){var Vi=this.length;return this.resize(Vi+1),this.emplace(Vi,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi){var en=U*24,An=U*12,ra=U*48;return this.int16[en+0]=J,this.int16[en+1]=ne,this.uint16[en+2]=fe,this.uint16[en+3]=Fe,this.uint32[An+2]=Qe,this.uint32[An+3]=st,this.uint32[An+4]=mt,this.uint16[en+10]=Xt,this.uint16[en+11]=ur,this.uint16[en+12]=nr,this.float32[An+7]=Lr,this.float32[An+8]=Yr,this.uint8[ra+36]=_i,this.uint8[ra+37]=si,this.uint8[ra+38]=Hi,this.uint32[An+10]=Ei,this.int16[en+22]=Vi,U},y}(Rn);ro.prototype.bytesPerElement=48,Z(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ro);var Ao=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja){var us=this.length;return this.resize(us+1),this.emplace(us,U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja)},y.prototype.emplace=function(U,J,ne,fe,Fe,Qe,st,mt,Xt,ur,nr,Lr,Yr,_i,si,Hi,Ei,Vi,en,An,ra,$n,Ba,_a,Pa,qo,Na,ja,us){var zo=U*34,rl=U*17;return this.int16[zo+0]=J,this.int16[zo+1]=ne,this.int16[zo+2]=fe,this.int16[zo+3]=Fe,this.int16[zo+4]=Qe,this.int16[zo+5]=st,this.int16[zo+6]=mt,this.int16[zo+7]=Xt,this.uint16[zo+8]=ur,this.uint16[zo+9]=nr,this.uint16[zo+10]=Lr,this.uint16[zo+11]=Yr,this.uint16[zo+12]=_i,this.uint16[zo+13]=si,this.uint16[zo+14]=Hi,this.uint16[zo+15]=Ei,this.uint16[zo+16]=Vi,this.uint16[zo+17]=en,this.uint16[zo+18]=An,this.uint16[zo+19]=ra,this.uint16[zo+20]=$n,this.uint16[zo+21]=Ba,this.uint16[zo+22]=_a,this.uint32[rl+12]=Pa,this.float32[rl+13]=qo,this.float32[rl+14]=Na,this.float32[rl+15]=ja,this.float32[rl+16]=us,U},y}(Rn);Ao.prototype.bytesPerElement=68,Z(\"StructArrayLayout8i15ui1ul4f68\",Ao);var Jn=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.float32[ne+0]=J,U},y}(Rn);Jn.prototype.bytesPerElement=4,Z(\"StructArrayLayout1f4\",Jn);var Oa=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*3;return this.int16[Fe+0]=J,this.int16[Fe+1]=ne,this.int16[Fe+2]=fe,U},y}(Rn);Oa.prototype.bytesPerElement=6,Z(\"StructArrayLayout3i6\",Oa);var _o=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne){var fe=this.length;return this.resize(fe+1),this.emplace(fe,U,J,ne)},y.prototype.emplace=function(U,J,ne,fe){var Fe=U*2,Qe=U*4;return this.uint32[Fe+0]=J,this.uint16[Qe+2]=ne,this.uint16[Qe+3]=fe,U},y}(Rn);_o.prototype.bytesPerElement=8,Z(\"StructArrayLayout1ul2ui8\",_o);var Po=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J){var ne=this.length;return this.resize(ne+1),this.emplace(ne,U,J)},y.prototype.emplace=function(U,J,ne){var fe=U*2;return this.uint16[fe+0]=J,this.uint16[fe+1]=ne,U},y}(Rn);Po.prototype.bytesPerElement=4,Z(\"StructArrayLayout2ui4\",Po);var Jo=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U){var J=this.length;return this.resize(J+1),this.emplace(J,U)},y.prototype.emplace=function(U,J){var ne=U*1;return this.uint16[ne+0]=J,U},y}(Rn);Jo.prototype.bytesPerElement=2,Z(\"StructArrayLayout1ui2\",Jo);var Xl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},y.prototype.emplaceBack=function(U,J,ne,fe){var Fe=this.length;return this.resize(Fe+1),this.emplace(Fe,U,J,ne,fe)},y.prototype.emplace=function(U,J,ne,fe,Fe){var Qe=U*4;return this.float32[Qe+0]=J,this.float32[Qe+1]=ne,this.float32[Qe+2]=fe,this.float32[Qe+3]=Fe,U},y}(Rn);Xl.prototype.bytesPerElement=16,Z(\"StructArrayLayout4f16\",Xl);var $c=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return I.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},I.x1.get=function(){return this._structArray.int16[this._pos2+2]},I.y1.get=function(){return this._structArray.int16[this._pos2+3]},I.x2.get=function(){return this._structArray.int16[this._pos2+4]},I.y2.get=function(){return this._structArray.int16[this._pos2+5]},I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.anchorPoint.get=function(){return new u(this.anchorPointX,this.anchorPointY)},Object.defineProperties(y.prototype,I),y}(Bn);$c.prototype.size=20;var xs=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new $c(this,U)},y}(Aa);Z(\"CollisionBoxArray\",xs);var Qc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},I.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},I.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},I.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},I.segment.get=function(){return this._structArray.uint16[this._pos2+10]},I.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},I.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},I.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},I.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},I.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},I.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},I.placedOrientation.set=function(U){this._structArray.uint8[this._pos1+37]=U},I.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},I.hidden.set=function(U){this._structArray.uint8[this._pos1+38]=U},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+10]=U},I.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(y.prototype,I),y}(Bn);Qc.prototype.size=48;var El=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Qc(this,U)},y}(ro);Z(\"PlacedSymbolArray\",El);var bc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return I.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},I.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},I.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},I.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},I.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},I.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},I.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},I.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},I.key.get=function(){return this._structArray.uint16[this._pos2+8]},I.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},I.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},I.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},I.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},I.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},I.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},I.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},I.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},I.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},I.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},I.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},I.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},I.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},I.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},I.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},I.crossTileID.set=function(U){this._structArray.uint32[this._pos4+12]=U},I.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},I.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},I.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},I.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(y.prototype,I),y}(Bn);bc.prototype.size=68;var wc=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new bc(this,U)},y}(Ao);Z(\"SymbolInstanceArray\",wc);var yf=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getoffsetX=function(U){return this.float32[U*1+0]},y}(Jn);Z(\"GlyphOffsetArray\",yf);var Hl=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.getx=function(U){return this.int16[U*3+0]},y.prototype.gety=function(U){return this.int16[U*3+1]},y.prototype.gettileUnitDistanceFromAnchor=function(U){return this.int16[U*3+2]},y}(Oa);Z(\"SymbolLineVertexArray\",Hl);var Fc=function(m){function y(){m.apply(this,arguments)}m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y;var I={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return I.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},I.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},I.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(y.prototype,I),y}(Bn);Fc.prototype.size=8;var ef=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.get=function(U){return new Fc(this,U)},y}(_o);Z(\"FeatureIndexArray\",ef);var ls=Dn([{name:\"a_pos\",components:2,type:\"Int16\"}],4),_f=ls.members,ns=function(y){y===void 0&&(y=[]),this.segments=y};ns.prototype.prepareSegment=function(y,I,U,J){var ne=this.segments[this.segments.length-1];return y>ns.MAX_VERTEX_ARRAY_LENGTH&&re(\"Max vertices per segment is \"+ns.MAX_VERTEX_ARRAY_LENGTH+\": bucket requested \"+y),(!ne||ne.vertexLength+y>ns.MAX_VERTEX_ARRAY_LENGTH||ne.sortKey!==J)&&(ne={vertexOffset:I.length,primitiveOffset:U.length,vertexLength:0,primitiveLength:0},J!==void 0&&(ne.sortKey=J),this.segments.push(ne)),ne},ns.prototype.get=function(){return this.segments},ns.prototype.destroy=function(){for(var y=0,I=this.segments;y>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt,fe=fe<<13|fe>>>19,Fe=(fe&65535)*5+(((fe>>>16)*5&65535)<<16)&4294967295,fe=(Fe&65535)+27492+(((Fe>>>16)+58964&65535)<<16);switch(mt=0,J){case 3:mt^=(I.charCodeAt(Xt+2)&255)<<16;case 2:mt^=(I.charCodeAt(Xt+1)&255)<<8;case 1:mt^=I.charCodeAt(Xt)&255,mt=(mt&65535)*Qe+(((mt>>>16)*Qe&65535)<<16)&4294967295,mt=mt<<15|mt>>>17,mt=(mt&65535)*st+(((mt>>>16)*st&65535)<<16)&4294967295,fe^=mt}return fe^=I.length,fe^=fe>>>16,fe=(fe&65535)*2246822507+(((fe>>>16)*2246822507&65535)<<16)&4294967295,fe^=fe>>>13,fe=(fe&65535)*3266489909+(((fe>>>16)*3266489909&65535)<<16)&4294967295,fe^=fe>>>16,fe>>>0}m.exports=y}),O=a(function(m){function y(I,U){for(var J=I.length,ne=U^J,fe=0,Fe;J>=4;)Fe=I.charCodeAt(fe)&255|(I.charCodeAt(++fe)&255)<<8|(I.charCodeAt(++fe)&255)<<16|(I.charCodeAt(++fe)&255)<<24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),Fe^=Fe>>>24,Fe=(Fe&65535)*1540483477+(((Fe>>>16)*1540483477&65535)<<16),ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)^Fe,J-=4,++fe;switch(J){case 3:ne^=(I.charCodeAt(fe+2)&255)<<16;case 2:ne^=(I.charCodeAt(fe+1)&255)<<8;case 1:ne^=I.charCodeAt(fe)&255,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16)}return ne^=ne>>>13,ne=(ne&65535)*1540483477+(((ne>>>16)*1540483477&65535)<<16),ne^=ne>>>15,ne>>>0}m.exports=y}),$=K,pe=K,de=O;$.murmur3=pe,$.murmur2=de;var Ie=function(){this.ids=[],this.positions=[],this.indexed=!1};Ie.prototype.add=function(y,I,U,J){this.ids.push(pt(y)),this.positions.push(I,U,J)},Ie.prototype.getPositions=function(y){for(var I=pt(y),U=0,J=this.ids.length-1;U>1;this.ids[ne]>=I?J=ne:U=ne+1}for(var fe=[];this.ids[U]===I;){var Fe=this.positions[3*U],Qe=this.positions[3*U+1],st=this.positions[3*U+2];fe.push({index:Fe,start:Qe,end:st}),U++}return fe},Ie.serialize=function(y,I){var U=new Float64Array(y.ids),J=new Uint32Array(y.positions);return Kt(U,J,0,U.length-1),I&&I.push(U.buffer,J.buffer),{ids:U,positions:J}},Ie.deserialize=function(y){var I=new Ie;return I.ids=y.ids,I.positions=y.positions,I.indexed=!0,I};var $e=Math.pow(2,53)-1;function pt(m){var y=+m;return!isNaN(y)&&y<=$e?y:$(String(m))}function Kt(m,y,I,U){for(;I>1],ne=I-1,fe=U+1;;){do ne++;while(m[ne]J);if(ne>=fe)break;ir(m,ne,fe),ir(y,3*ne,3*fe),ir(y,3*ne+1,3*fe+1),ir(y,3*ne+2,3*fe+2)}fe-Ife.x+1||Qefe.y+1)&&re(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}return I}function No(m,y){return{type:m.type,id:m.id,properties:m.properties,geometry:y?da(m):[]}}function Do(m,y,I,U,J){m.emplaceBack(y*2+(U+1)/2,I*2+(J+1)/2)}var ps=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new ji,this.indexArray=new ma,this.segments=new ns,this.programConfigurations=new Ri(y.layers,y.zoom),this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};ps.prototype.populate=function(y,I,U){var J=this.layers[0],ne=[],fe=null;J.type===\"circle\"&&(fe=J.layout.get(\"circle-sort-key\"));for(var Fe=0,Qe=y;Fe=rn||ur<0||ur>=rn)){var nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,y.sortKey),Lr=nr.vertexLength;Do(this.layoutVertexArray,Xt,ur,-1,-1),Do(this.layoutVertexArray,Xt,ur,1,-1),Do(this.layoutVertexArray,Xt,ur,1,1),Do(this.layoutVertexArray,Xt,ur,-1,1),this.indexArray.emplaceBack(Lr,Lr+1,Lr+2),this.indexArray.emplaceBack(Lr,Lr+3,Lr+2),nr.vertexLength+=4,nr.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,y,U,{},J)},Z(\"CircleBucket\",ps,{omit:[\"layers\"]});function fo(m,y){for(var I=0;I=3){for(var ne=0;ne1){if(Ev(m,y))return!0;for(var U=0;U1?m.distSqr(I):m.distSqr(I.sub(y)._mult(J)._add(y))}function vp(m,y){for(var I=!1,U,J,ne,fe=0;fey.y!=ne.y>y.y&&y.x<(ne.x-J.x)*(y.y-J.y)/(ne.y-J.y)+J.x&&(I=!I)}return I}function _d(m,y){for(var I=!1,U=0,J=m.length-1;Uy.y!=fe.y>y.y&&y.x<(fe.x-ne.x)*(y.y-ne.y)/(fe.y-ne.y)+ne.x&&(I=!I)}return I}function pp(m,y,I,U,J){for(var ne=0,fe=m;ne=Fe.x&&J>=Fe.y)return!0}var Qe=[new u(y,I),new u(y,J),new u(U,J),new u(U,I)];if(m.length>2)for(var st=0,mt=Qe;stJ.x&&y.x>J.x||m.yJ.y&&y.y>J.y)return!1;var ne=ae(m,y,I[0]);return ne!==ae(m,y,I[1])||ne!==ae(m,y,I[2])||ne!==ae(m,y,I[3])}function xd(m,y,I){var U=y.paint.get(m).value;return U.kind===\"constant\"?U.value:I.programConfigurations.get(y.id).getMaxValue(m)}function kv(m){return Math.sqrt(m[0]*m[0]+m[1]*m[1])}function Kv(m,y,I,U,J){if(!y[0]&&!y[1])return m;var ne=u.convert(y)._mult(J);I===\"viewport\"&&ne._rotate(-U);for(var fe=[],Fe=0;Fe0&&(ne=1/Math.sqrt(ne)),m[0]=y[0]*ne,m[1]=y[1]*ne,m[2]=y[2]*ne,m}function L9(m,y){return m[0]*y[0]+m[1]*y[1]+m[2]*y[2]}function P9(m,y,I){var U=y[0],J=y[1],ne=y[2],fe=I[0],Fe=I[1],Qe=I[2];return m[0]=J*Qe-ne*Fe,m[1]=ne*fe-U*Qe,m[2]=U*Fe-J*fe,m}function I9(m,y,I){var U=y[0],J=y[1],ne=y[2];return m[0]=U*I[0]+J*I[3]+ne*I[6],m[1]=U*I[1]+J*I[4]+ne*I[7],m[2]=U*I[2]+J*I[5]+ne*I[8],m}var R9=om,pQ=function(){var m=am();return function(y,I,U,J,ne,fe){var Fe,Qe;for(I||(I=3),U||(U=0),J?Qe=Math.min(J*I+U,y.length):Qe=y.length,Fe=U;Fem.width||J.height>m.height||I.x>m.width-J.width||I.y>m.height-J.height)throw new RangeError(\"out of range source coordinates for image copy\");if(J.width>y.width||J.height>y.height||U.x>y.width-J.width||U.y>y.height-J.height)throw new RangeError(\"out of range destination coordinates for image copy\");for(var fe=m.data,Fe=y.data,Qe=0;Qe80*I){Fe=st=m[0],Qe=mt=m[1];for(var Lr=I;Lrst&&(st=Xt),ur>mt&&(mt=ur);nr=Math.max(st-Fe,mt-Qe),nr=nr!==0?1/nr:0}return Gx(ne,fe,I,Fe,Qe,nr),fe}function Iw(m,y,I,U,J){var ne,fe;if(J===cS(m,y,I,U)>0)for(ne=y;ne=y;ne-=U)fe=yC(ne,m[ne],m[ne+1],fe);return fe&&Wx(fe,fe.next)&&(Yx(fe),fe=fe.next),fe}function sm(m,y){if(!m)return m;y||(y=m);var I=m,U;do if(U=!1,!I.steiner&&(Wx(I,I.next)||tf(I.prev,I,I.next)===0)){if(Yx(I),I=y=I.prev,I===I.next)break;U=!0}else I=I.next;while(U||I!==y);return y}function Gx(m,y,I,U,J,ne,fe){if(m){!fe&&ne&&Rw(m,U,J,ne);for(var Fe=m,Qe,st;m.prev!==m.next;){if(Qe=m.prev,st=m.next,ne?pC(m,U,J,ne):vC(m)){y.push(Qe.i/I),y.push(m.i/I),y.push(st.i/I),Yx(m),m=st.next,Fe=st.next;continue}if(m=st,m===Fe){fe?fe===1?(m=jx(sm(m),y,I),Gx(m,y,I,U,J,ne,2)):fe===2&&v0(m,y,I,U,J,ne):Gx(sm(m),y,I,U,J,ne,1);break}}}}function vC(m){var y=m.prev,I=m,U=m.next;if(tf(y,I,U)>=0)return!1;for(var J=m.next.next;J!==m.prev;){if(um(y.x,y.y,I.x,I.y,U.x,U.y,J.x,J.y)&&tf(J.prev,J,J.next)>=0)return!1;J=J.next}return!0}function pC(m,y,I,U){var J=m.prev,ne=m,fe=m.next;if(tf(J,ne,fe)>=0)return!1;for(var Fe=J.xne.x?J.x>fe.x?J.x:fe.x:ne.x>fe.x?ne.x:fe.x,mt=J.y>ne.y?J.y>fe.y?J.y:fe.y:ne.y>fe.y?ne.y:fe.y,Xt=oS(Fe,Qe,y,I,U),ur=oS(st,mt,y,I,U),nr=m.prevZ,Lr=m.nextZ;nr&&nr.z>=Xt&&Lr&&Lr.z<=ur;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0||(nr=nr.prevZ,Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0))return!1;Lr=Lr.nextZ}for(;nr&&nr.z>=Xt;){if(nr!==m.prev&&nr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,nr.x,nr.y)&&tf(nr.prev,nr,nr.next)>=0)return!1;nr=nr.prevZ}for(;Lr&&Lr.z<=ur;){if(Lr!==m.prev&&Lr!==m.next&&um(J.x,J.y,ne.x,ne.y,fe.x,fe.y,Lr.x,Lr.y)&&tf(Lr.prev,Lr,Lr.next)>=0)return!1;Lr=Lr.nextZ}return!0}function jx(m,y,I){var U=m;do{var J=U.prev,ne=U.next.next;!Wx(J,ne)&&Dw(J,U,U.next,ne)&&Xx(J,ne)&&Xx(ne,J)&&(y.push(J.i/I),y.push(U.i/I),y.push(ne.i/I),Yx(U),Yx(U.next),U=m=ne),U=U.next}while(U!==m);return sm(U)}function v0(m,y,I,U,J,ne){var fe=m;do{for(var Fe=fe.next.next;Fe!==fe.prev;){if(fe.i!==Fe.i&&E1(fe,Fe)){var Qe=lS(fe,Fe);fe=sm(fe,fe.next),Qe=sm(Qe,Qe.next),Gx(fe,y,I,U,J,ne),Gx(Qe,y,I,U,J,ne);return}Fe=Fe.next}fe=fe.next}while(fe!==m)}function lm(m,y,I,U){var J=[],ne,fe,Fe,Qe,st;for(ne=0,fe=y.length;ne=I.next.y&&I.next.y!==I.y){var Fe=I.x+(J-I.y)*(I.next.x-I.x)/(I.next.y-I.y);if(Fe<=U&&Fe>ne){if(ne=Fe,Fe===U){if(J===I.y)return I;if(J===I.next.y)return I.next}fe=I.x=I.x&&I.x>=st&&U!==I.x&&um(Jfe.x||I.x===fe.x&&V9(fe,I)))&&(fe=I,Xt=ur)),I=I.next;while(I!==Qe);return fe}function V9(m,y){return tf(m.prev,m,y.prev)<0&&tf(y.next,m,m.next)<0}function Rw(m,y,I,U){var J=m;do J.z===null&&(J.z=oS(J.x,J.y,y,I,U)),J.prevZ=J.prev,J.nextZ=J.next,J=J.next;while(J!==m);J.prevZ.nextZ=null,J.prevZ=null,aS(J)}function aS(m){var y,I,U,J,ne,fe,Fe,Qe,st=1;do{for(I=m,m=null,ne=null,fe=0;I;){for(fe++,U=I,Fe=0,y=0;y0||Qe>0&&U;)Fe!==0&&(Qe===0||!U||I.z<=U.z)?(J=I,I=I.nextZ,Fe--):(J=U,U=U.nextZ,Qe--),ne?ne.nextZ=J:m=J,J.prevZ=ne,ne=J;I=U}ne.nextZ=null,st*=2}while(fe>1);return m}function oS(m,y,I,U,J){return m=32767*(m-I)*J,y=32767*(y-U)*J,m=(m|m<<8)&16711935,m=(m|m<<4)&252645135,m=(m|m<<2)&858993459,m=(m|m<<1)&1431655765,y=(y|y<<8)&16711935,y=(y|y<<4)&252645135,y=(y|y<<2)&858993459,y=(y|y<<1)&1431655765,m|y<<1}function sS(m){var y=m,I=m;do(y.x=0&&(m-fe)*(U-Fe)-(I-fe)*(y-Fe)>=0&&(I-fe)*(ne-Fe)-(J-fe)*(U-Fe)>=0}function E1(m,y){return m.next.i!==y.i&&m.prev.i!==y.i&&!mC(m,y)&&(Xx(m,y)&&Xx(y,m)&&H9(m,y)&&(tf(m.prev,m,y.prev)||tf(m,y.prev,y))||Wx(m,y)&&tf(m.prev,m,m.next)>0&&tf(y.prev,y,y.next)>0)}function tf(m,y,I){return(y.y-m.y)*(I.x-y.x)-(y.x-m.x)*(I.y-y.y)}function Wx(m,y){return m.x===y.x&&m.y===y.y}function Dw(m,y,I,U){var J=uy(tf(m,y,I)),ne=uy(tf(m,y,U)),fe=uy(tf(I,U,m)),Fe=uy(tf(I,U,y));return!!(J!==ne&&fe!==Fe||J===0&&Zx(m,I,y)||ne===0&&Zx(m,U,y)||fe===0&&Zx(I,m,U)||Fe===0&&Zx(I,y,U))}function Zx(m,y,I){return y.x<=Math.max(m.x,I.x)&&y.x>=Math.min(m.x,I.x)&&y.y<=Math.max(m.y,I.y)&&y.y>=Math.min(m.y,I.y)}function uy(m){return m>0?1:m<0?-1:0}function mC(m,y){var I=m;do{if(I.i!==m.i&&I.next.i!==m.i&&I.i!==y.i&&I.next.i!==y.i&&Dw(I,I.next,m,y))return!0;I=I.next}while(I!==m);return!1}function Xx(m,y){return tf(m.prev,m,m.next)<0?tf(m,y,m.next)>=0&&tf(m,m.prev,y)>=0:tf(m,y,m.prev)<0||tf(m,m.next,y)<0}function H9(m,y){var I=m,U=!1,J=(m.x+y.x)/2,ne=(m.y+y.y)/2;do I.y>ne!=I.next.y>ne&&I.next.y!==I.y&&J<(I.next.x-I.x)*(ne-I.y)/(I.next.y-I.y)+I.x&&(U=!U),I=I.next;while(I!==m);return U}function lS(m,y){var I=new uS(m.i,m.x,m.y),U=new uS(y.i,y.x,y.y),J=m.next,ne=y.prev;return m.next=y,y.prev=m,I.next=J,J.prev=I,U.next=I,I.prev=U,ne.next=U,U.prev=ne,U}function yC(m,y,I,U){var J=new uS(m,y,I);return U?(J.next=U.next,J.prev=U,U.next.prev=J,U.next=J):(J.prev=J,J.next=J),J}function Yx(m){m.next.prev=m.prev,m.prev.next=m.next,m.prevZ&&(m.prevZ.nextZ=m.nextZ),m.nextZ&&(m.nextZ.prevZ=m.prevZ)}function uS(m,y,I){this.i=m,this.x=y,this.y=I,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}M1.deviation=function(m,y,I,U){var J=y&&y.length,ne=J?y[0]*I:m.length,fe=Math.abs(cS(m,0,ne,I));if(J)for(var Fe=0,Qe=y.length;Fe0&&(U+=m[J-1].length,I.holes.push(U))}return I},Pw.default=dC;function fS(m,y,I,U,J){dg(m,y,I||0,U||m.length-1,J||_C)}function dg(m,y,I,U,J){for(;U>I;){if(U-I>600){var ne=U-I+1,fe=y-I+1,Fe=Math.log(ne),Qe=.5*Math.exp(2*Fe/3),st=.5*Math.sqrt(Fe*Qe*(ne-Qe)/ne)*(fe-ne/2<0?-1:1),mt=Math.max(I,Math.floor(y-fe*Qe/ne+st)),Xt=Math.min(U,Math.floor(y+(ne-fe)*Qe/ne+st));dg(m,y,mt,Xt,J)}var ur=m[y],nr=I,Lr=U;for(k1(m,I,y),J(m[U],ur)>0&&k1(m,I,U);nr0;)Lr--}J(m[I],ur)===0?k1(m,I,Lr):(Lr++,k1(m,Lr,U)),Lr<=y&&(I=Lr+1),y<=Lr&&(U=Lr-1)}}function k1(m,y,I){var U=m[y];m[y]=m[I],m[I]=U}function _C(m,y){return my?1:0}function zw(m,y){var I=m.length;if(I<=1)return[m];for(var U=[],J,ne,fe=0;fe1)for(var Qe=0;Qe>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),I===1&&(Fe&&fe.push(Fe),Fe=[]),Fe.push(new u(J,ne));else if(I===7)Fe&&Fe.push(Fe[0].clone());else throw new Error(\"unknown command \"+I)}return Fe&&fe.push(Fe),fe},cy.prototype.bbox=function(){var m=this._pbf;m.pos=this._geometry;for(var y=m.readVarint()+m.pos,I=1,U=0,J=0,ne=0,fe=1/0,Fe=-1/0,Qe=1/0,st=-1/0;m.pos>3}if(U--,I===1||I===2)J+=m.readSVarint(),ne+=m.readSVarint(),JFe&&(Fe=J),nest&&(st=ne);else if(I!==7)throw new Error(\"unknown command \"+I)}return[fe,Qe,Fe,st]},cy.prototype.toGeoJSON=function(m,y,I){var U=this.extent*Math.pow(2,I),J=this.extent*m,ne=this.extent*y,fe=this.loadGeometry(),Fe=cy.types[this.type],Qe,st;function mt(nr){for(var Lr=0;Lr>3;y=U===1?m.readString():U===2?m.readFloat():U===3?m.readDouble():U===4?m.readVarint64():U===5?m.readVarint():U===6?m.readSVarint():U===7?m.readBoolean():null}return y}vS.prototype.feature=function(m){if(m<0||m>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[m];var y=this._pbf.readVarint()+this._pbf.pos;return new dS(this._pbf,y,this.extent,this._keys,this._values)};var CC=j9;function j9(m,y){this.layers=m.readFields(W9,{},y)}function W9(m,y,I){if(m===3){var U=new vg(I,I.readVarint()+I.pos);U.length&&(y[U.name]=U)}}var LC=CC,C1=dS,PC=vg,pg={VectorTile:LC,VectorTileFeature:C1,VectorTileLayer:PC},IC=pg.VectorTileFeature.types,qw=500,L1=Math.pow(2,13);function cm(m,y,I,U,J,ne,fe,Fe){m.emplaceBack(y,I,Math.floor(U*L1)*2+fe,J*L1*2,ne*L1*2,Math.round(Fe))}var Hp=function(y){this.zoom=y.zoom,this.overscaling=y.overscaling,this.layers=y.layers,this.layerIds=this.layers.map(function(I){return I.id}),this.index=y.index,this.hasPattern=!1,this.layoutVertexArray=new Un,this.indexArray=new ma,this.programConfigurations=new Ri(y.layers,y.zoom),this.segments=new ns,this.stateDependentLayerIds=this.layers.filter(function(I){return I.isStateDependent()}).map(function(I){return I.id})};Hp.prototype.populate=function(y,I,U){this.features=[],this.hasPattern=Fw(\"fill-extrusion\",this.layers,I);for(var J=0,ne=y;J=1){var Vi=_i[Hi-1];if(!Z9(Ei,Vi)){nr.vertexLength+4>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var en=Ei.sub(Vi)._perp()._unit(),An=Vi.dist(Ei);si+An>32768&&(si=0),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Ei.x,Ei.y,en.x,en.y,0,1,si),si+=An,cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,0,si),cm(this.layoutVertexArray,Vi.x,Vi.y,en.x,en.y,0,1,si);var ra=nr.vertexLength;this.indexArray.emplaceBack(ra,ra+2,ra+1),this.indexArray.emplaceBack(ra+1,ra+2,ra+3),nr.vertexLength+=4,nr.primitiveLength+=2}}}}if(nr.vertexLength+st>ns.MAX_VERTEX_ARRAY_LENGTH&&(nr=this.segments.prepareSegment(st,this.layoutVertexArray,this.indexArray)),IC[y.type]===\"Polygon\"){for(var $n=[],Ba=[],_a=nr.vertexLength,Pa=0,qo=Qe;Parn)||m.y===y.y&&(m.y<0||m.y>rn)}function X9(m){return m.every(function(y){return y.x<0})||m.every(function(y){return y.x>rn})||m.every(function(y){return y.y<0})||m.every(function(y){return y.y>rn})}var P1=new Oi({\"fill-extrusion-opacity\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Wr(on[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Er(on[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new At(on[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])}),ed={paint:P1},fm=function(m){function y(I){m.call(this,I,ed)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.createBucket=function(U){return new Hp(U)},y.prototype.queryRadius=function(){return kv(this.paint.get(\"fill-extrusion-translate\"))},y.prototype.is3D=function(){return!0},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st,mt){var Xt=Kv(U,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),Qe.angle,st),ur=this.paint.get(\"fill-extrusion-height\").evaluate(J,ne),nr=this.paint.get(\"fill-extrusion-base\").evaluate(J,ne),Lr=Y9(Xt,mt,Qe,0),Yr=gS(fe,nr,ur,mt),_i=Yr[0],si=Yr[1];return RC(_i,si,Lr)},y}(cn);function fy(m,y){return m.x*y.x+m.y*y.y}function pS(m,y){if(m.length===1){for(var I=0,U=y[I++],J;!J||U.equals(J);)if(J=y[I++],!J)return 1/0;for(;I=2&&y[st-1].equals(y[st-2]);)st--;for(var mt=0;mt0;if($n&&Hi>mt){var _a=nr.dist(Lr);if(_a>2*Xt){var Pa=nr.sub(nr.sub(Lr)._mult(Xt/_a)._round());this.updateDistance(Lr,Pa),this.addCurrentVertex(Pa,_i,0,0,ur),Lr=Pa}}var qo=Lr&&Yr,Na=qo?U:Qe?\"butt\":J;if(qo&&Na===\"round\"&&(Anne&&(Na=\"bevel\"),Na===\"bevel\"&&(An>2&&(Na=\"flipbevel\"),An100)Ei=si.mult(-1);else{var ja=An*_i.add(si).mag()/_i.sub(si).mag();Ei._perp()._mult(ja*(Ba?-1:1))}this.addCurrentVertex(nr,Ei,0,0,ur),this.addCurrentVertex(nr,Ei.mult(-1),0,0,ur)}else if(Na===\"bevel\"||Na===\"fakeround\"){var us=-Math.sqrt(An*An-1),zo=Ba?us:0,rl=Ba?0:us;if(Lr&&this.addCurrentVertex(nr,_i,zo,rl,ur),Na===\"fakeround\")for(var ou=Math.round(ra*180/Math.PI/yS),il=1;il2*Xt){var Zf=nr.add(Yr.sub(nr)._mult(Xt/qh)._round());this.updateDistance(nr,Zf),this.addCurrentVertex(Zf,si,0,0,ur),nr=Zf}}}}},Gf.prototype.addCurrentVertex=function(y,I,U,J,ne,fe){fe===void 0&&(fe=!1);var Fe=I.x+I.y*U,Qe=I.y-I.x*U,st=-I.x+I.y*J,mt=-I.y-I.x*J;this.addHalfVertex(y,Fe,Qe,fe,!1,U,ne),this.addHalfVertex(y,st,mt,fe,!0,-J,ne),this.distance>eb/2&&this.totalDistance===0&&(this.distance=0,this.addCurrentVertex(y,I,U,J,ne,fe))},Gf.prototype.addHalfVertex=function(y,I,U,J,ne,fe,Fe){var Qe=y.x,st=y.y,mt=this.lineClips?this.scaledDistance*(eb-1):this.scaledDistance,Xt=mt*Bw;if(this.layoutVertexArray.emplaceBack((Qe<<1)+(J?1:0),(st<<1)+(ne?1:0),Math.round(Ow*I)+128,Math.round(Ow*U)+128,(fe===0?0:fe<0?-1:1)+1|(Xt&63)<<2,Xt>>6),this.lineClips){var ur=this.scaledDistance-this.lineClips.start,nr=this.lineClips.end-this.lineClips.start,Lr=ur/nr;this.layoutVertexArray2.emplaceBack(Lr,this.lineClipsArray.length)}var Yr=Fe.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Yr),Fe.primitiveLength++),ne?this.e2=Yr:this.e1=Yr},Gf.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},Gf.prototype.updateDistance=function(y,I){this.distance+=y.dist(I),this.updateScaledDistance()},Z(\"LineBucket\",Gf,{omit:[\"layers\",\"patternFeatures\"]});var _S=new Oi({\"line-cap\":new At(on.layout_line[\"line-cap\"]),\"line-join\":new Er(on.layout_line[\"line-join\"]),\"line-miter-limit\":new At(on.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new At(on.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Er(on.layout_line[\"line-sort-key\"])}),xS=new Oi({\"line-opacity\":new Er(on.paint_line[\"line-opacity\"]),\"line-color\":new Er(on.paint_line[\"line-color\"]),\"line-translate\":new At(on.paint_line[\"line-translate\"]),\"line-translate-anchor\":new At(on.paint_line[\"line-translate-anchor\"]),\"line-width\":new Er(on.paint_line[\"line-width\"]),\"line-gap-width\":new Er(on.paint_line[\"line-gap-width\"]),\"line-offset\":new Er(on.paint_line[\"line-offset\"]),\"line-blur\":new Er(on.paint_line[\"line-blur\"]),\"line-dasharray\":new wi(on.paint_line[\"line-dasharray\"]),\"line-pattern\":new Wr(on.paint_line[\"line-pattern\"]),\"line-gradient\":new Ui(on.paint_line[\"line-gradient\"])}),Nw={paint:xS,layout:_S},J9=function(m){function y(){m.apply(this,arguments)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.possiblyEvaluate=function(U,J){return J=new pn(Math.floor(J.zoom),{now:J.now,fadeDuration:J.fadeDuration,zoomHistory:J.zoomHistory,transition:J.transition}),m.prototype.possiblyEvaluate.call(this,U,J)},y.prototype.evaluate=function(U,J,ne,fe){return J=_({},J,{zoom:Math.floor(J.zoom)}),m.prototype.evaluate.call(this,U,J,ne,fe)},y}(Er),R=new J9(Nw.paint.properties[\"line-width\"].specification);R.useIntegerZoom=!0;var S=function(m){function y(I){m.call(this,I,Nw),this.gradientVersion=0}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype._handleSpecialPaintPropertyUpdate=function(U){if(U===\"line-gradient\"){var J=this._transitionablePaint._values[\"line-gradient\"].value.expression;this.stepInterpolant=J._styleExpression.expression instanceof yu,this.gradientVersion=(this.gradientVersion+1)%d}},y.prototype.gradientExpression=function(){return this._transitionablePaint._values[\"line-gradient\"].value.expression},y.prototype.recalculate=function(U,J){m.prototype.recalculate.call(this,U,J),this.paint._values[\"line-floorwidth\"]=R.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,U)},y.prototype.createBucket=function(U){return new Gf(U)},y.prototype.queryRadius=function(U){var J=U,ne=D(xd(\"line-width\",this,J),xd(\"line-gap-width\",this,J)),fe=xd(\"line-offset\",this,J);return ne/2+Math.abs(fe)+kv(this.paint.get(\"line-translate\"))},y.prototype.queryIntersectsFeature=function(U,J,ne,fe,Fe,Qe,st){var mt=Kv(U,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),Qe.angle,st),Xt=st/2*D(this.paint.get(\"line-width\").evaluate(J,ne),this.paint.get(\"line-gap-width\").evaluate(J,ne)),ur=this.paint.get(\"line-offset\").evaluate(J,ne);return ur&&(fe=j(fe,ur*st)),zu(mt,fe,Xt)},y.prototype.isTileClipped=function(){return!0},y}(cn);function D(m,y){return y>0?y+2*m:m}function j(m,y){for(var I=[],U=new u(0,0),J=0;J\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};function ki(m){for(var y=\"\",I=0;I>1,mt=-7,Xt=I?J-1:0,ur=I?-1:1,nr=m[y+Xt];for(Xt+=ur,ne=nr&(1<<-mt)-1,nr>>=-mt,mt+=Fe;mt>0;ne=ne*256+m[y+Xt],Xt+=ur,mt-=8);for(fe=ne&(1<<-mt)-1,ne>>=-mt,mt+=U;mt>0;fe=fe*256+m[y+Xt],Xt+=ur,mt-=8);if(ne===0)ne=1-st;else{if(ne===Qe)return fe?NaN:(nr?-1:1)*(1/0);fe=fe+Math.pow(2,U),ne=ne-st}return(nr?-1:1)*fe*Math.pow(2,ne-U)},Va=function(m,y,I,U,J,ne){var fe,Fe,Qe,st=ne*8-J-1,mt=(1<>1,ur=J===23?Math.pow(2,-24)-Math.pow(2,-77):0,nr=U?0:ne-1,Lr=U?1:-1,Yr=y<0||y===0&&1/y<0?1:0;for(y=Math.abs(y),isNaN(y)||y===1/0?(Fe=isNaN(y)?1:0,fe=mt):(fe=Math.floor(Math.log(y)/Math.LN2),y*(Qe=Math.pow(2,-fe))<1&&(fe--,Qe*=2),fe+Xt>=1?y+=ur/Qe:y+=ur*Math.pow(2,1-Xt),y*Qe>=2&&(fe++,Qe/=2),fe+Xt>=mt?(Fe=0,fe=mt):fe+Xt>=1?(Fe=(y*Qe-1)*Math.pow(2,J),fe=fe+Xt):(Fe=y*Math.pow(2,Xt-1)*Math.pow(2,J),fe=0));J>=8;m[I+nr]=Fe&255,nr+=Lr,Fe/=256,J-=8);for(fe=fe<0;m[I+nr]=fe&255,nr+=Lr,fe/=256,st-=8);m[I+nr-Lr]|=Yr*128},Io={read:ta,write:Va},La=Hn;function Hn(m){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(m)?m:new Uint8Array(m||0),this.pos=0,this.type=0,this.length=this.buf.length}Hn.Varint=0,Hn.Fixed64=1,Hn.Bytes=2,Hn.Fixed32=5;var lo=65536*65536,$a=1/lo,Xa=12,Tn=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf8\");Hn.prototype={destroy:function(){this.buf=null},readFields:function(m,y,I){for(I=I||this.length;this.pos>3,ne=this.pos;this.type=U&7,m(J,y,this),this.pos===ne&&this.skip(U)}return y},readMessage:function(m,y){return this.readFields(m,y,this.readVarint()+this.pos)},readFixed32:function(){var m=Dh(this.buf,this.pos);return this.pos+=4,m},readSFixed32:function(){var m=Iv(this.buf,this.pos);return this.pos+=4,m},readFixed64:function(){var m=Dh(this.buf,this.pos)+Dh(this.buf,this.pos+4)*lo;return this.pos+=8,m},readSFixed64:function(){var m=Dh(this.buf,this.pos)+Iv(this.buf,this.pos+4)*lo;return this.pos+=8,m},readFloat:function(){var m=Io.read(this.buf,this.pos,!0,23,4);return this.pos+=4,m},readDouble:function(){var m=Io.read(this.buf,this.pos,!0,52,8);return this.pos+=8,m},readVarint:function(m){var y=this.buf,I,U;return U=y[this.pos++],I=U&127,U<128||(U=y[this.pos++],I|=(U&127)<<7,U<128)||(U=y[this.pos++],I|=(U&127)<<14,U<128)||(U=y[this.pos++],I|=(U&127)<<21,U<128)?I:(U=y[this.pos],I|=(U&15)<<28,bo(I,m,this))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var m=this.readVarint();return m%2===1?(m+1)/-2:m/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var m=this.readVarint()+this.pos,y=this.pos;return this.pos=m,m-y>=Xa&&Tn?Cl(this.buf,y,m):lv(this.buf,y,m)},readBytes:function(){var m=this.readVarint()+this.pos,y=this.buf.subarray(this.pos,m);return this.pos=m,y},readPackedVarint:function(m,y){if(this.type!==Hn.Bytes)return m.push(this.readVarint(y));var I=Ya(this);for(m=m||[];this.pos127;);else if(y===Hn.Bytes)this.pos=this.readVarint()+this.pos;else if(y===Hn.Fixed32)this.pos+=4;else if(y===Hn.Fixed64)this.pos+=8;else throw new Error(\"Unimplemented type: \"+y)},writeTag:function(m,y){this.writeVarint(m<<3|y)},realloc:function(m){for(var y=this.length||16;y268435455||m<0){wu(m,this);return}this.realloc(4),this.buf[this.pos++]=m&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=(m>>>=7)&127|(m>127?128:0),!(m<=127)&&(this.buf[this.pos++]=m>>>7&127)))},writeSVarint:function(m){this.writeVarint(m<0?-m*2-1:m*2)},writeBoolean:function(m){this.writeVarint(!!m)},writeString:function(m){m=String(m),this.realloc(m.length*4),this.pos++;var y=this.pos;this.pos=qu(this.buf,m,this.pos);var I=this.pos-y;I>=128&&$v(y,I,this),this.pos=y-1,this.writeVarint(I),this.pos+=I},writeFloat:function(m){this.realloc(4),Io.write(this.buf,m,this.pos,!0,23,4),this.pos+=4},writeDouble:function(m){this.realloc(8),Io.write(this.buf,m,this.pos,!0,52,8),this.pos+=8},writeBytes:function(m){var y=m.length;this.writeVarint(y),this.realloc(y);for(var I=0;I=128&&$v(I,U,this),this.pos=I-1,this.writeVarint(U),this.pos+=U},writeMessage:function(m,y,I){this.writeTag(m,Hn.Bytes),this.writeRawMessage(y,I)},writePackedVarint:function(m,y){y.length&&this.writeMessage(m,td,y)},writePackedSVarint:function(m,y){y.length&&this.writeMessage(m,ch,y)},writePackedBoolean:function(m,y){y.length&&this.writeMessage(m,Hd,y)},writePackedFloat:function(m,y){y.length&&this.writeMessage(m,Ud,y)},writePackedDouble:function(m,y){y.length&&this.writeMessage(m,Vd,y)},writePackedFixed32:function(m,y){y.length&&this.writeMessage(m,rf,y)},writePackedSFixed32:function(m,y){y.length&&this.writeMessage(m,fh,y)},writePackedFixed64:function(m,y){y.length&&this.writeMessage(m,Td,y)},writePackedSFixed64:function(m,y){y.length&&this.writeMessage(m,rd,y)},writeBytesField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeBytes(y)},writeFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFixed32(y)},writeSFixed32Field:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeSFixed32(y)},writeFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeFixed64(y)},writeSFixed64Field:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeSFixed64(y)},writeVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeVarint(y)},writeSVarintField:function(m,y){this.writeTag(m,Hn.Varint),this.writeSVarint(y)},writeStringField:function(m,y){this.writeTag(m,Hn.Bytes),this.writeString(y)},writeFloatField:function(m,y){this.writeTag(m,Hn.Fixed32),this.writeFloat(y)},writeDoubleField:function(m,y){this.writeTag(m,Hn.Fixed64),this.writeDouble(y)},writeBooleanField:function(m,y){this.writeVarintField(m,!!y)}};function bo(m,y,I){var U=I.buf,J,ne;if(ne=U[I.pos++],J=(ne&112)>>4,ne<128||(ne=U[I.pos++],J|=(ne&127)<<3,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<10,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<17,ne<128)||(ne=U[I.pos++],J|=(ne&127)<<24,ne<128)||(ne=U[I.pos++],J|=(ne&1)<<31,ne<128))return Uo(m,J,y);throw new Error(\"Expected varint not more than 10 bytes\")}function Ya(m){return m.type===Hn.Bytes?m.readVarint()+m.pos:m.pos+1}function Uo(m,y,I){return I?y*4294967296+(m>>>0):(y>>>0)*4294967296+(m>>>0)}function wu(m,y){var I,U;if(m>=0?(I=m%4294967296|0,U=m/4294967296|0):(I=~(-m%4294967296),U=~(-m/4294967296),I^4294967295?I=I+1|0:(I=0,U=U+1|0)),m>=18446744073709552e3||m<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");y.realloc(10),hu(I,U,y),uh(U,y)}function hu(m,y,I){I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos++]=m&127|128,m>>>=7,I.buf[I.pos]=m&127}function uh(m,y){var I=(m&7)<<4;y.buf[y.pos++]|=I|((m>>>=3)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127|((m>>>=7)?128:0),m&&(y.buf[y.pos++]=m&127)))))}function $v(m,y,I){var U=y<=16383?1:y<=2097151?2:y<=268435455?3:Math.floor(Math.log(y)/(Math.LN2*7));I.realloc(U);for(var J=I.pos-1;J>=m;J--)I.buf[J+U]=I.buf[J]}function td(m,y){for(var I=0;I>>8,m[I+2]=y>>>16,m[I+3]=y>>>24}function Iv(m,y){return(m[y]|m[y+1]<<8|m[y+2]<<16)+(m[y+3]<<24)}function lv(m,y,I){for(var U=\"\",J=y;J239?4:ne>223?3:ne>191?2:1;if(J+Fe>I)break;var Qe,st,mt;Fe===1?ne<128&&(fe=ne):Fe===2?(Qe=m[J+1],(Qe&192)===128&&(fe=(ne&31)<<6|Qe&63,fe<=127&&(fe=null))):Fe===3?(Qe=m[J+1],st=m[J+2],(Qe&192)===128&&(st&192)===128&&(fe=(ne&15)<<12|(Qe&63)<<6|st&63,(fe<=2047||fe>=55296&&fe<=57343)&&(fe=null))):Fe===4&&(Qe=m[J+1],st=m[J+2],mt=m[J+3],(Qe&192)===128&&(st&192)===128&&(mt&192)===128&&(fe=(ne&15)<<18|(Qe&63)<<12|(st&63)<<6|mt&63,(fe<=65535||fe>=1114112)&&(fe=null))),fe===null?(fe=65533,Fe=1):fe>65535&&(fe-=65536,U+=String.fromCharCode(fe>>>10&1023|55296),fe=56320|fe&1023),U+=String.fromCharCode(fe),J+=Fe}return U}function Cl(m,y,I){return Tn.decode(m.subarray(y,I))}function qu(m,y,I){for(var U=0,J,ne;U55295&&J<57344)if(ne)if(J<56320){m[I++]=239,m[I++]=191,m[I++]=189,ne=J;continue}else J=ne-55296<<10|J-56320|65536,ne=null;else{J>56319||U+1===y.length?(m[I++]=239,m[I++]=191,m[I++]=189):ne=J;continue}else ne&&(m[I++]=239,m[I++]=191,m[I++]=189,ne=null);J<128?m[I++]=J:(J<2048?m[I++]=J>>6|192:(J<65536?m[I++]=J>>12|224:(m[I++]=J>>18|240,m[I++]=J>>12&63|128),m[I++]=J>>6&63|128),m[I++]=J&63|128)}return I}var Tu=3;function Rv(m,y,I){m===1&&I.readMessage(qc,y)}function qc(m,y,I){if(m===3){var U=I.readMessage(I1,{}),J=U.id,ne=U.bitmap,fe=U.width,Fe=U.height,Qe=U.left,st=U.top,mt=U.advance;y.push({id:J,bitmap:new Pv({width:fe+2*Tu,height:Fe+2*Tu},ne),metrics:{width:fe,height:Fe,left:Qe,top:st,advance:mt}})}}function I1(m,y,I){m===1?y.id=I.readVarint():m===2?y.bitmap=I.readBytes():m===3?y.width=I.readVarint():m===4?y.height=I.readVarint():m===5?y.left=I.readSVarint():m===6?y.top=I.readSVarint():m===7&&(y.advance=I.readVarint())}function p0(m){return new La(m).readFields(Rv,[])}var Gp=Tu;function Qv(m){for(var y=0,I=0,U=0,J=m;U=0;nr--){var Lr=Fe[nr];if(!(ur.w>Lr.w||ur.h>Lr.h)){if(ur.x=Lr.x,ur.y=Lr.y,st=Math.max(st,ur.y+ur.h),Qe=Math.max(Qe,ur.x+ur.w),ur.w===Lr.w&&ur.h===Lr.h){var Yr=Fe.pop();nr=0&&J>=y&&m0[this.text.charCodeAt(J)];J--)U--;this.text=this.text.substring(y,U),this.sectionIndex=this.sectionIndex.slice(y,U)},zh.prototype.substring=function(y,I){var U=new zh;return U.text=this.text.substring(y,I),U.sectionIndex=this.sectionIndex.slice(y,I),U.sections=this.sections,U},zh.prototype.toString=function(){return this.text},zh.prototype.getMaxScale=function(){var y=this;return this.sectionIndex.reduce(function(I,U){return Math.max(I,y.sections[U].scale)},0)},zh.prototype.addTextSection=function(y,I){this.text+=y.text,this.sections.push(hy.forText(y.scale,y.fontStack||I));for(var U=this.sections.length-1,J=0;J=g0?null:++this.imageSectionID:(this.imageSectionID=Uw,this.imageSectionID)};function $9(m,y){for(var I=[],U=m.text,J=0,ne=0,fe=y;ne=0,mt=0,Xt=0;Xt0&&Zf>Ba&&(Ba=Zf)}else{var nl=I[Pa.fontStack],Ws=nl&&nl[Na];if(Ws&&Ws.rect)zo=Ws.rect,us=Ws.metrics;else{var Au=y[Pa.fontStack],Ou=Au&&Au[Na];if(!Ou)continue;us=Ou.metrics}ja=(en-Pa.scale)*Zi}il?(m.verticalizable=!0,$n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=ou*Pa.scale+st):($n.push({glyph:Na,imageName:rl,x:ur,y:nr+ja,vertical:il,scale:Pa.scale,fontStack:Pa.fontStack,sectionIndex:qo,metrics:us,rect:zo}),ur+=us.advance*Pa.scale+st)}if($n.length!==0){var jd=ur-st;Lr=Math.max(jd,Lr),rq($n,0,$n.length-1,_i,Ba)}ur=0;var Wd=ne*en+Ba;ra.lineOffset=Math.max(Ba,An),nr+=Wd,Yr=Math.max(Wd,Yr),++si}var Oh=nr-R1,fv=wS(fe),hv=fv.horizontalAlign,hh=fv.verticalAlign;Ad(m.positionedLines,_i,hv,hh,Lr,Yr,ne,Oh,J.length),m.top+=-hh*Oh,m.bottom=m.top+Oh,m.left+=-hv*Lr,m.right=m.left+Lr}function rq(m,y,I,U,J){if(!(!U&&!J))for(var ne=m[I],fe=ne.metrics.advance*ne.scale,Fe=(m[I].x+fe)*U,Qe=y;Qe<=I;Qe++)m[Qe].x-=Fe,m[Qe].y+=J}function Ad(m,y,I,U,J,ne,fe,Fe,Qe){var st=(y-I)*J,mt=0;ne!==fe?mt=-Fe*U-R1:mt=(-U*Qe+.5)*fe;for(var Xt=0,ur=m;Xt-I/2;){if(fe--,fe<0)return!1;Fe-=m[fe].dist(ne),ne=m[fe]}Fe+=m[fe].dist(m[fe+1]),fe++;for(var Qe=[],st=0;FeU;)st-=Qe.shift().angleDelta;if(st>J)return!1;fe++,Fe+=Xt.dist(ur)}return!0}function xQ(m){for(var y=0,I=0;Ist){var Lr=(st-Qe)/nr,Yr=Qs(Xt.x,ur.x,Lr),_i=Qs(Xt.y,ur.y,Lr),si=new Gd(Yr,_i,ur.angleTo(Xt),mt);return si._round(),!fe||_Q(m,si,Fe,fe,y)?si:void 0}Qe+=nr}}function J$e(m,y,I,U,J,ne,fe,Fe,Qe){var st=bQ(U,ne,fe),mt=wQ(U,J),Xt=mt*fe,ur=m[0].x===0||m[0].x===Qe||m[0].y===0||m[0].y===Qe;y-Xt=0&&Vi=0&&en=0&&ur+st<=mt){var An=new Gd(Vi,en,Hi,Lr);An._round(),(!U||_Q(m,An,ne,U,J))&&nr.push(An)}}Xt+=si}return!Fe&&!nr.length&&!fe&&(nr=TQ(m,Xt/2,I,U,J,ne,fe,!0,Qe)),nr}function AQ(m,y,I,U,J){for(var ne=[],fe=0;fe=U&&Xt.x>=U)&&(mt.x>=U?mt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round():Xt.x>=U&&(Xt=new u(U,mt.y+(Xt.y-mt.y)*((U-mt.x)/(Xt.x-mt.x)))._round()),!(mt.y>=J&&Xt.y>=J)&&(mt.y>=J?mt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round():Xt.y>=J&&(Xt=new u(mt.x+(Xt.x-mt.x)*((J-mt.y)/(Xt.y-mt.y)),J)._round()),(!Qe||!mt.equals(Qe[Qe.length-1]))&&(Qe=[mt],ne.push(Qe)),Qe.push(Xt)))))}return ne}var Gw=oc;function SQ(m,y,I,U){var J=[],ne=m.image,fe=ne.pixelRatio,Fe=ne.paddedRect.w-2*Gw,Qe=ne.paddedRect.h-2*Gw,st=m.right-m.left,mt=m.bottom-m.top,Xt=ne.stretchX||[[0,Fe]],ur=ne.stretchY||[[0,Qe]],nr=function(nl,Ws){return nl+Ws[1]-Ws[0]},Lr=Xt.reduce(nr,0),Yr=ur.reduce(nr,0),_i=Fe-Lr,si=Qe-Yr,Hi=0,Ei=Lr,Vi=0,en=Yr,An=0,ra=_i,$n=0,Ba=si;if(ne.content&&U){var _a=ne.content;Hi=UC(Xt,0,_a[0]),Vi=UC(ur,0,_a[1]),Ei=UC(Xt,_a[0],_a[2]),en=UC(ur,_a[1],_a[3]),An=_a[0]-Hi,$n=_a[1]-Vi,ra=_a[2]-_a[0]-Ei,Ba=_a[3]-_a[1]-en}var Pa=function(nl,Ws,Au,Ou){var nf=VC(nl.stretch-Hi,Ei,st,m.left),bf=HC(nl.fixed-An,ra,nl.stretch,Lr),qh=VC(Ws.stretch-Vi,en,mt,m.top),Zf=HC(Ws.fixed-$n,Ba,Ws.stretch,Yr),jd=VC(Au.stretch-Hi,Ei,st,m.left),Wd=HC(Au.fixed-An,ra,Au.stretch,Lr),Oh=VC(Ou.stretch-Vi,en,mt,m.top),fv=HC(Ou.fixed-$n,Ba,Ou.stretch,Yr),hv=new u(nf,qh),hh=new u(jd,qh),dv=new u(jd,Oh),_p=new u(nf,Oh),py=new u(bf/fe,Zf/fe),F1=new u(Wd/fe,fv/fe),q1=y*Math.PI/180;if(q1){var O1=Math.sin(q1),$w=Math.cos(q1),y0=[$w,-O1,O1,$w];hv._matMult(y0),hh._matMult(y0),_p._matMult(y0),dv._matMult(y0)}var YC=nl.stretch+nl.fixed,cq=Au.stretch+Au.fixed,KC=Ws.stretch+Ws.fixed,fq=Ou.stretch+Ou.fixed,jp={x:ne.paddedRect.x+Gw+YC,y:ne.paddedRect.y+Gw+KC,w:cq-YC,h:fq-KC},Qw=ra/fe/st,JC=Ba/fe/mt;return{tl:hv,tr:hh,bl:_p,br:dv,tex:jp,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:py,pixelOffsetBR:F1,minFontScaleX:Qw,minFontScaleY:JC,isSDF:I}};if(!U||!ne.stretchX&&!ne.stretchY)J.push(Pa({fixed:0,stretch:-1},{fixed:0,stretch:-1},{fixed:0,stretch:Fe+1},{fixed:0,stretch:Qe+1}));else for(var qo=MQ(Xt,_i,Lr),Na=MQ(ur,si,Yr),ja=0;ja0&&(Lr=Math.max(10,Lr),this.circleDiameter=Lr)}else{var Yr=fe.top*Fe-Qe,_i=fe.bottom*Fe+Qe,si=fe.left*Fe-Qe,Hi=fe.right*Fe+Qe,Ei=fe.collisionPadding;if(Ei&&(si-=Ei[0]*Fe,Yr-=Ei[1]*Fe,Hi+=Ei[2]*Fe,_i+=Ei[3]*Fe),mt){var Vi=new u(si,Yr),en=new u(Hi,Yr),An=new u(si,_i),ra=new u(Hi,_i),$n=mt*Math.PI/180;Vi._rotate($n),en._rotate($n),An._rotate($n),ra._rotate($n),si=Math.min(Vi.x,en.x,An.x,ra.x),Hi=Math.max(Vi.x,en.x,An.x,ra.x),Yr=Math.min(Vi.y,en.y,An.y,ra.y),_i=Math.max(Vi.y,en.y,An.y,ra.y)}y.emplaceBack(I.x,I.y,si,Yr,Hi,_i,U,J,ne)}this.boxEndIndex=y.length},jw=function(y,I){if(y===void 0&&(y=[]),I===void 0&&(I=Q$e),this.data=y,this.length=this.data.length,this.compare=I,this.length>0)for(var U=(this.length>>1)-1;U>=0;U--)this._down(U)};jw.prototype.push=function(y){this.data.push(y),this.length++,this._up(this.length-1)},jw.prototype.pop=function(){if(this.length!==0){var y=this.data[0],I=this.data.pop();return this.length--,this.length>0&&(this.data[0]=I,this._down(0)),y}},jw.prototype.peek=function(){return this.data[0]},jw.prototype._up=function(y){for(var I=this,U=I.data,J=I.compare,ne=U[y];y>0;){var fe=y-1>>1,Fe=U[fe];if(J(ne,Fe)>=0)break;U[y]=Fe,y=fe}U[y]=ne},jw.prototype._down=function(y){for(var I=this,U=I.data,J=I.compare,ne=this.length>>1,fe=U[y];y=0)break;U[y]=Qe,y=Fe}U[y]=fe};function Q$e(m,y){return my?1:0}function eQe(m,y,I){y===void 0&&(y=1),I===void 0&&(I=!1);for(var U=1/0,J=1/0,ne=-1/0,fe=-1/0,Fe=m[0],Qe=0;Qene)&&(ne=st.x),(!Qe||st.y>fe)&&(fe=st.y)}var mt=ne-U,Xt=fe-J,ur=Math.min(mt,Xt),nr=ur/2,Lr=new jw([],tQe);if(ur===0)return new u(U,J);for(var Yr=U;Yrsi.d||!si.d)&&(si=Ei,I&&console.log(\"found best %d after %d probes\",Math.round(1e4*Ei.d)/1e4,Hi)),!(Ei.max-si.d<=y)&&(nr=Ei.h/2,Lr.push(new Ww(Ei.p.x-nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y-nr,nr,m)),Lr.push(new Ww(Ei.p.x-nr,Ei.p.y+nr,nr,m)),Lr.push(new Ww(Ei.p.x+nr,Ei.p.y+nr,nr,m)),Hi+=4)}return I&&(console.log(\"num probes: \"+Hi),console.log(\"best distance: \"+si.d)),si.p}function tQe(m,y){return y.max-m.max}function Ww(m,y,I,U){this.p=new u(m,y),this.h=I,this.d=rQe(this.p,U),this.max=this.d+this.h*Math.SQRT2}function rQe(m,y){for(var I=!1,U=1/0,J=0;Jm.y!=mt.y>m.y&&m.x<(mt.x-st.x)*(m.y-st.y)/(mt.y-st.y)+st.x&&(I=!I),U=Math.min(U,cg(m,st,mt))}return(I?1:-1)*Math.sqrt(U)}function iQe(m){for(var y=0,I=0,U=0,J=m[0],ne=0,fe=J.length,Fe=fe-1;ne=rn||y0.y<0||y0.y>=rn||oQe(m,y0,$w,I,U,J,Na,m.layers[0],m.collisionBoxArray,y.index,y.sourceLayerIndex,m.index,si,en,$n,Qe,Ei,An,Ba,nr,y,ne,st,mt,fe)};if(_a===\"line\")for(var us=0,zo=AQ(y.geometry,0,0,rn,rn);us1){var qh=K$e(bf,ra,I.vertical||Lr,U,Yr,Hi);qh&&ja(bf,qh)}}else if(y.type===\"Polygon\")for(var Zf=0,jd=zw(y.geometry,0);ZfD1&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+TS+'. Reduce your \"text-size\".')):_i.kind===\"composite\"&&(si=[Sd*nr.compositeTextSizes[0].evaluate(fe,{},Lr),Sd*nr.compositeTextSizes[1].evaluate(fe,{},Lr)],(si[0]>D1||si[1]>D1)&&re(m.layerIds[0]+': Value for \"text-size\" is >= '+TS+'. Reduce your \"text-size\".')),m.addSymbols(m.text,Yr,si,Fe,ne,fe,st,y,Qe.lineStartIndex,Qe.lineLength,ur,Lr);for(var Hi=0,Ei=mt;HiD1&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+TS+'. Reduce your \"icon-size\".')):hv.kind===\"composite\"&&(hh=[Sd*en.compositeIconSizes[0].evaluate(Vi,{},ra),Sd*en.compositeIconSizes[1].evaluate(Vi,{},ra)],(hh[0]>D1||hh[1]>D1)&&re(m.layerIds[0]+': Value for \"icon-size\" is >= '+TS+'. Reduce your \"icon-size\".')),m.addSymbols(m.icon,Oh,hh,Ei,Hi,Vi,!1,y,_a.lineStartIndex,_a.lineLength,-1,ra),il=m.icon.placedSymbolArray.length-1,fv&&(zo=fv.length*4,m.addSymbols(m.icon,fv,hh,Ei,Hi,Vi,uv.vertical,y,_a.lineStartIndex,_a.lineLength,-1,ra),nl=m.icon.placedSymbolArray.length-1)}for(var dv in U.horizontal){var _p=U.horizontal[dv];if(!Pa){Au=$(_p.text);var py=Fe.layout.get(\"text-rotate\").evaluate(Vi,{},ra);Pa=new GC(Qe,y,st,mt,Xt,_p,ur,nr,Lr,py)}var F1=_p.positionedLines.length===1;if(rl+=kQ(m,y,_p,ne,Fe,Lr,Vi,Yr,_a,U.vertical?uv.horizontal:uv.horizontalOnly,F1?Object.keys(U.horizontal):[dv],Ws,il,en,ra),F1)break}U.vertical&&(ou+=kQ(m,y,U.vertical,ne,Fe,Lr,Vi,Yr,_a,uv.vertical,[\"vertical\"],Ws,nl,en,ra));var q1=Pa?Pa.boxStartIndex:m.collisionBoxArray.length,O1=Pa?Pa.boxEndIndex:m.collisionBoxArray.length,$w=Na?Na.boxStartIndex:m.collisionBoxArray.length,y0=Na?Na.boxEndIndex:m.collisionBoxArray.length,YC=qo?qo.boxStartIndex:m.collisionBoxArray.length,cq=qo?qo.boxEndIndex:m.collisionBoxArray.length,KC=ja?ja.boxStartIndex:m.collisionBoxArray.length,fq=ja?ja.boxEndIndex:m.collisionBoxArray.length,jp=-1,Qw=function(MS,jQ){return MS&&MS.circleDiameter?Math.max(MS.circleDiameter,jQ):jQ};jp=Qw(Pa,jp),jp=Qw(Na,jp),jp=Qw(qo,jp),jp=Qw(ja,jp);var JC=jp>-1?1:0;JC&&(jp*=$n/Zi),m.glyphOffsetArray.length>=au.MAX_GLYPHS&&re(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),Vi.sortKey!==void 0&&m.addToSortKeyRanges(m.symbolInstances.length,Vi.sortKey),m.symbolInstances.emplaceBack(y.x,y.y,Ws.right>=0?Ws.right:-1,Ws.center>=0?Ws.center:-1,Ws.left>=0?Ws.left:-1,Ws.vertical||-1,il,nl,Au,q1,O1,$w,y0,YC,cq,KC,fq,st,rl,ou,us,zo,JC,0,ur,Ou,nf,jp)}function sQe(m,y,I,U){var J=m.compareText;if(!(y in J))J[y]=[];else for(var ne=J[y],fe=ne.length-1;fe>=0;fe--)if(U.dist(ne[fe])0)&&(fe.value.kind!==\"constant\"||fe.value.value.length>0),mt=Qe.value.kind!==\"constant\"||!!Qe.value.value||Object.keys(Qe.parameters).length>0,Xt=ne.get(\"symbol-sort-key\");if(this.features=[],!(!st&&!mt)){for(var ur=I.iconDependencies,nr=I.glyphDependencies,Lr=I.availableImages,Yr=new pn(this.zoom),_i=0,si=y;_i=0;for(var ou=0,il=Ba.sections;ou=0;Qe--)fe[Qe]={x:I[Qe].x,y:I[Qe].y,tileUnitDistanceFromAnchor:ne},Qe>0&&(ne+=I[Qe-1].dist(I[Qe]));for(var st=0;st0},au.prototype.hasIconData=function(){return this.icon.segments.get().length>0},au.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},au.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},au.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},au.prototype.addIndicesForPlacedSymbol=function(y,I){for(var U=y.placedSymbolArray.get(I),J=U.vertexStartIndex+U.numGlyphs*4,ne=U.vertexStartIndex;ne1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(y),this.sortedAngle=y,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var U=0,J=this.symbolInstanceIndexes;U=0&&st.indexOf(Fe)===Qe&&I.addIndicesForPlacedSymbol(I.text,Fe)}),fe.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,fe.verticalPlacedTextSymbolIndex),fe.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.placedIconSymbolIndex),fe.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,fe.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},Z(\"SymbolBucket\",au,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),au.MAX_GLYPHS=65535,au.addDynamicAttributes=aq;function fQe(m,y){return y.replace(/{([^{}]+)}/g,function(I,U){return U in m?String(m[U]):\"\"})}var hQe=new Oi({\"symbol-placement\":new At(on.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new At(on.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new At(on.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Er(on.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new At(on.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new At(on.layout_symbol[\"icon-allow-overlap\"]),\"icon-ignore-placement\":new At(on.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new At(on.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new At(on.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Er(on.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new At(on.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new At(on.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Er(on.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Er(on.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new At(on.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new At(on.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Er(on.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Er(on.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new At(on.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new At(on.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new At(on.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Er(on.layout_symbol[\"text-field\"]),\"text-font\":new Er(on.layout_symbol[\"text-font\"]),\"text-size\":new Er(on.layout_symbol[\"text-size\"]),\"text-max-width\":new Er(on.layout_symbol[\"text-max-width\"]),\"text-line-height\":new At(on.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Er(on.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Er(on.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Er(on.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new At(on.layout_symbol[\"text-variable-anchor\"]),\"text-anchor\":new Er(on.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new At(on.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new At(on.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Er(on.layout_symbol[\"text-rotate\"]),\"text-padding\":new At(on.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new At(on.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Er(on.layout_symbol[\"text-transform\"]),\"text-offset\":new Er(on.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new At(on.layout_symbol[\"text-allow-overlap\"]),\"text-ignore-placement\":new At(on.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new At(on.layout_symbol[\"text-optional\"])}),dQe=new Oi({\"icon-opacity\":new Er(on.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Er(on.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Er(on.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Er(on.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Er(on.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new At(on.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new At(on.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Er(on.paint_symbol[\"text-opacity\"]),\"text-color\":new Er(on.paint_symbol[\"text-color\"],{runtimeType:Tl,getOverride:function(m){return m.textColor},hasOverride:function(m){return!!m.textColor}}),\"text-halo-color\":new Er(on.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Er(on.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Er(on.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new At(on.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new At(on.paint_symbol[\"text-translate-anchor\"])}),oq={paint:dQe,layout:hQe},Yw=function(y){this.type=y.property.overrides?y.property.overrides.runtimeType:Ec,this.defaultValue=y};Yw.prototype.evaluate=function(y){if(y.formattedSection){var I=this.defaultValue.property.overrides;if(I&&I.hasOverride(y.formattedSection))return I.getOverride(y.formattedSection)}return y.feature&&y.featureState?this.defaultValue.evaluate(y.feature,y.featureState):this.defaultValue.property.specification.default},Yw.prototype.eachChild=function(y){if(!this.defaultValue.isConstant()){var I=this.defaultValue.value;y(I._styleExpression.expression)}},Yw.prototype.outputDefined=function(){return!1},Yw.prototype.serialize=function(){return null},Z(\"FormatSectionOverride\",Yw,{omit:[\"defaultValue\"]});var vQe=function(m){function y(I){m.call(this,I,oq)}return m&&(y.__proto__=m),y.prototype=Object.create(m&&m.prototype),y.prototype.constructor=y,y.prototype.recalculate=function(U,J){if(m.prototype.recalculate.call(this,U,J),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"icon-rotation-alignment\"]=\"map\":this.layout._values[\"icon-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout.get(\"symbol-placement\")!==\"point\"?this.layout._values[\"text-rotation-alignment\"]=\"map\":this.layout._values[\"text-rotation-alignment\"]=\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){var ne=this.layout.get(\"text-writing-mode\");if(ne){for(var fe=[],Fe=0,Qe=ne;Fe\",targetMapId:J,sourceMapId:fe.mapId})}}},Kw.prototype.receive=function(y){var I=y.data,U=I.id;if(U&&!(I.targetMapId&&this.mapId!==I.targetMapId))if(I.type===\"\"){delete this.tasks[U];var J=this.cancelCallbacks[U];delete this.cancelCallbacks[U],J&&J()}else ke()||I.mustQueue?(this.tasks[U]=I,this.taskQueue.push(U),this.invoker.trigger()):this.processTask(U,I)},Kw.prototype.process=function(){if(this.taskQueue.length){var y=this.taskQueue.shift(),I=this.tasks[y];delete this.tasks[y],this.taskQueue.length&&this.invoker.trigger(),I&&this.processTask(y,I)}},Kw.prototype.processTask=function(y,I){var U=this;if(I.type===\"\"){var J=this.callbacks[y];delete this.callbacks[y],J&&(I.error?J(We(I.error)):J(null,We(I.data)))}else{var ne=!1,fe=Te(this.globalScope)?void 0:[],Fe=I.hasCallback?function(ur,nr){ne=!0,delete U.cancelCallbacks[y],U.target.postMessage({id:y,type:\"\",sourceMapId:U.mapId,error:ur?Ue(ur):null,data:Ue(nr,fe)},fe)}:function(ur){ne=!0},Qe=null,st=We(I.data);if(this.parent[I.type])Qe=this.parent[I.type](I.sourceMapId,st,Fe);else if(this.parent.getWorkerSource){var mt=I.type.split(\".\"),Xt=this.parent.getWorkerSource(I.sourceMapId,mt[0],st.source);Qe=Xt[mt[1]](st,Fe)}else Fe(new Error(\"Could not find function \"+I.type));!ne&&Qe&&Qe.cancel&&(this.cancelCallbacks[y]=Qe.cancel)}},Kw.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener(\"message\",this.receive,!1)};function SQe(m,y,I){y=Math.pow(2,I)-y-1;var U=DQ(m*256,y*256,I),J=DQ((m+1)*256,(y+1)*256,I);return U[0]+\",\"+U[1]+\",\"+J[0]+\",\"+J[1]}function DQ(m,y,I){var U=2*Math.PI*6378137/256/Math.pow(2,I),J=m*U-2*Math.PI*6378137/2,ne=y*U-2*Math.PI*6378137/2;return[J,ne]}var jf=function(y,I){y&&(I?this.setSouthWest(y).setNorthEast(I):y.length===4?this.setSouthWest([y[0],y[1]]).setNorthEast([y[2],y[3]]):this.setSouthWest(y[0]).setNorthEast(y[1]))};jf.prototype.setNorthEast=function(y){return this._ne=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.setSouthWest=function(y){return this._sw=y instanceof sc?new sc(y.lng,y.lat):sc.convert(y),this},jf.prototype.extend=function(y){var I=this._sw,U=this._ne,J,ne;if(y instanceof sc)J=y,ne=y;else if(y instanceof jf){if(J=y._sw,ne=y._ne,!J||!ne)return this}else{if(Array.isArray(y))if(y.length===4||y.every(Array.isArray)){var fe=y;return this.extend(jf.convert(fe))}else{var Fe=y;return this.extend(sc.convert(Fe))}return this}return!I&&!U?(this._sw=new sc(J.lng,J.lat),this._ne=new sc(ne.lng,ne.lat)):(I.lng=Math.min(J.lng,I.lng),I.lat=Math.min(J.lat,I.lat),U.lng=Math.max(ne.lng,U.lng),U.lat=Math.max(ne.lat,U.lat)),this},jf.prototype.getCenter=function(){return new sc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},jf.prototype.getSouthWest=function(){return this._sw},jf.prototype.getNorthEast=function(){return this._ne},jf.prototype.getNorthWest=function(){return new sc(this.getWest(),this.getNorth())},jf.prototype.getSouthEast=function(){return new sc(this.getEast(),this.getSouth())},jf.prototype.getWest=function(){return this._sw.lng},jf.prototype.getSouth=function(){return this._sw.lat},jf.prototype.getEast=function(){return this._ne.lng},jf.prototype.getNorth=function(){return this._ne.lat},jf.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},jf.prototype.toString=function(){return\"LngLatBounds(\"+this._sw.toString()+\", \"+this._ne.toString()+\")\"},jf.prototype.isEmpty=function(){return!(this._sw&&this._ne)},jf.prototype.contains=function(y){var I=sc.convert(y),U=I.lng,J=I.lat,ne=this._sw.lat<=J&&J<=this._ne.lat,fe=this._sw.lng<=U&&U<=this._ne.lng;return this._sw.lng>this._ne.lng&&(fe=this._sw.lng>=U&&U>=this._ne.lng),ne&&fe},jf.convert=function(y){return!y||y instanceof jf?y:new jf(y)};var zQ=63710088e-1,sc=function(y,I){if(isNaN(y)||isNaN(I))throw new Error(\"Invalid LngLat object: (\"+y+\", \"+I+\")\");if(this.lng=+y,this.lat=+I,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")};sc.prototype.wrap=function(){return new sc(E(this.lng,-180,180),this.lat)},sc.prototype.toArray=function(){return[this.lng,this.lat]},sc.prototype.toString=function(){return\"LngLat(\"+this.lng+\", \"+this.lat+\")\"},sc.prototype.distanceTo=function(y){var I=Math.PI/180,U=this.lat*I,J=y.lat*I,ne=Math.sin(U)*Math.sin(J)+Math.cos(U)*Math.cos(J)*Math.cos((y.lng-this.lng)*I),fe=zQ*Math.acos(Math.min(ne,1));return fe},sc.prototype.toBounds=function(y){y===void 0&&(y=0);var I=40075017,U=360*y/I,J=U/Math.cos(Math.PI/180*this.lat);return new jf(new sc(this.lng-J,this.lat-U),new sc(this.lng+J,this.lat+U))},sc.convert=function(y){if(y instanceof sc)return y;if(Array.isArray(y)&&(y.length===2||y.length===3))return new sc(Number(y[0]),Number(y[1]));if(!Array.isArray(y)&&typeof y==\"object\"&&y!==null)return new sc(Number(\"lng\"in y?y.lng:y.lon),Number(y.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")};var FQ=2*Math.PI*zQ;function qQ(m){return FQ*Math.cos(m*Math.PI/180)}function OQ(m){return(180+m)/360}function BQ(m){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+m*Math.PI/360)))/360}function NQ(m,y){return m/qQ(y)}function MQe(m){return m*360-180}function lq(m){var y=180-m*360;return 360/Math.PI*Math.atan(Math.exp(y*Math.PI/180))-90}function EQe(m,y){return m*qQ(lq(y))}function kQe(m){return 1/Math.cos(m*Math.PI/180)}var ib=function(y,I,U){U===void 0&&(U=0),this.x=+y,this.y=+I,this.z=+U};ib.fromLngLat=function(y,I){I===void 0&&(I=0);var U=sc.convert(y);return new ib(OQ(U.lng),BQ(U.lat),NQ(I,U.lat))},ib.prototype.toLngLat=function(){return new sc(MQe(this.x),lq(this.y))},ib.prototype.toAltitude=function(){return EQe(this.z,this.y)},ib.prototype.meterInMercatorCoordinateUnits=function(){return 1/FQ*kQe(lq(this.y))};var nb=function(y,I,U){this.z=y,this.x=I,this.y=U,this.key=SS(0,y,y,I,U)};nb.prototype.equals=function(y){return this.z===y.z&&this.x===y.x&&this.y===y.y},nb.prototype.url=function(y,I){var U=SQe(this.x,this.y,this.z),J=CQe(this.z,this.x,this.y);return y[(this.x+this.y)%y.length].replace(\"{prefix}\",(this.x%16).toString(16)+(this.y%16).toString(16)).replace(\"{z}\",String(this.z)).replace(\"{x}\",String(this.x)).replace(\"{y}\",String(I===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(\"{quadkey}\",J).replace(\"{bbox-epsg-3857}\",U)},nb.prototype.getTilePoint=function(y){var I=Math.pow(2,this.z);return new u((y.x*I-this.x)*rn,(y.y*I-this.y)*rn)},nb.prototype.toString=function(){return this.z+\"/\"+this.x+\"/\"+this.y};var UQ=function(y,I){this.wrap=y,this.canonical=I,this.key=SS(y,I.z,I.z,I.x,I.y)},Wf=function(y,I,U,J,ne){this.overscaledZ=y,this.wrap=I,this.canonical=new nb(U,+J,+ne),this.key=SS(I,y,U,J,ne)};Wf.prototype.equals=function(y){return this.overscaledZ===y.overscaledZ&&this.wrap===y.wrap&&this.canonical.equals(y.canonical)},Wf.prototype.scaledTo=function(y){var I=this.canonical.z-y;return y>this.canonical.z?new Wf(y,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Wf(y,this.wrap,y,this.canonical.x>>I,this.canonical.y>>I)},Wf.prototype.calculateScaledKey=function(y,I){var U=this.canonical.z-y;return y>this.canonical.z?SS(this.wrap*+I,y,this.canonical.z,this.canonical.x,this.canonical.y):SS(this.wrap*+I,y,y,this.canonical.x>>U,this.canonical.y>>U)},Wf.prototype.isChildOf=function(y){if(y.wrap!==this.wrap)return!1;var I=this.canonical.z-y.canonical.z;return y.overscaledZ===0||y.overscaledZ>I&&y.canonical.y===this.canonical.y>>I},Wf.prototype.children=function(y){if(this.overscaledZ>=y)return[new Wf(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var I=this.canonical.z+1,U=this.canonical.x*2,J=this.canonical.y*2;return[new Wf(I,this.wrap,I,U,J),new Wf(I,this.wrap,I,U+1,J),new Wf(I,this.wrap,I,U,J+1),new Wf(I,this.wrap,I,U+1,J+1)]},Wf.prototype.isLessThan=function(y){return this.wrapy.wrap?!1:this.overscaledZy.overscaledZ?!1:this.canonical.xy.canonical.x?!1:this.canonical.y0;ne--)J=1<=this.dim+1||I<-1||I>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(I+1)*this.stride+(y+1)},dy.prototype._unpackMapbox=function(y,I,U){return(y*256*256+I*256+U)/10-1e4},dy.prototype._unpackTerrarium=function(y,I,U){return y*256+I+U/256-32768},dy.prototype.getPixels=function(){return new lh({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},dy.prototype.backfillBorder=function(y,I,U){if(this.dim!==y.dim)throw new Error(\"dem dimension mismatch\");var J=I*this.dim,ne=I*this.dim+this.dim,fe=U*this.dim,Fe=U*this.dim+this.dim;switch(I){case-1:J=ne-1;break;case 1:ne=J+1;break}switch(U){case-1:fe=Fe-1;break;case 1:Fe=fe+1;break}for(var Qe=-I*this.dim,st=-U*this.dim,mt=fe;mt=0&&Xt[3]>=0&&Qe.insert(Fe,Xt[0],Xt[1],Xt[2],Xt[3])}},vy.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new pg.VectorTile(new La(this.rawTileData)).layers,this.sourceLayerCoder=new ZC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers},vy.prototype.query=function(y,I,U,J){var ne=this;this.loadVTLayers();for(var fe=y.params||{},Fe=rn/y.tileSize/y.scale,Qe=be(fe.filter),st=y.queryGeometry,mt=y.queryPadding*Fe,Xt=HQ(st),ur=this.grid.query(Xt.minX-mt,Xt.minY-mt,Xt.maxX+mt,Xt.maxY+mt),nr=HQ(y.cameraQueryGeometry),Lr=this.grid3D.query(nr.minX-mt,nr.minY-mt,nr.maxX+mt,nr.maxY+mt,function(An,ra,$n,Ba){return pp(y.cameraQueryGeometry,An-mt,ra-mt,$n+mt,Ba+mt)}),Yr=0,_i=Lr;Yr<_i.length;Yr+=1){var si=_i[Yr];ur.push(si)}ur.sort(PQe);for(var Hi={},Ei,Vi=function(An){var ra=ur[An];if(ra!==Ei){Ei=ra;var $n=ne.featureIndexArray.get(ra),Ba=null;ne.loadMatchingFeature(Hi,$n.bucketIndex,$n.sourceLayerIndex,$n.featureIndex,Qe,fe.layers,fe.availableImages,I,U,J,function(_a,Pa,qo){return Ba||(Ba=da(_a)),Pa.queryIntersectsFeature(st,_a,qo,Ba,ne.z,y.transform,Fe,y.pixelPosMatrix)})}},en=0;enJ)ne=!1;else if(!I)ne=!0;else if(this.expirationTime=Ha.maxzoom)&&Ha.visibility!==\"none\"){h(Sn,this.zoom,Zt);var oo=Si[Ha.id]=Ha.createBucket({index:gi.bucketLayerIDs.length,layers:Sn,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:ka,sourceID:this.source});oo.populate(jn,Mi,this.tileID.canonical),gi.bucketLayerIDs.push(Sn.map(function(hi){return hi.id}))}}}}var xn,_t,br,Hr,ti=i.mapObject(Mi.glyphDependencies,function(hi){return Object.keys(hi).map(Number)});Object.keys(ti).length?yr.send(\"getGlyphs\",{uid:this.uid,stacks:ti},function(hi,Ji){xn||(xn=hi,_t=Ji,an.call(Zr))}):_t={};var zi=Object.keys(Mi.iconDependencies);zi.length?yr.send(\"getImages\",{icons:zi,source:this.source,tileID:this.tileID,type:\"icons\"},function(hi,Ji){xn||(xn=hi,br=Ji,an.call(Zr))}):br={};var Yi=Object.keys(Mi.patternDependencies);Yi.length?yr.send(\"getImages\",{icons:Yi,source:this.source,tileID:this.tileID,type:\"patterns\"},function(hi,Ji){xn||(xn=hi,Hr=Ji,an.call(Zr))}):Hr={},an.call(this);function an(){if(xn)return Fr(xn);if(_t&&br&&Hr){var hi=new c(_t),Ji=new i.ImageAtlas(br,Hr);for(var ua in Si){var Fn=Si[ua];Fn instanceof i.SymbolBucket?(h(Fn.layers,this.zoom,Zt),i.performSymbolLayout(Fn,_t,hi.positions,br,Ji.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):Fn.hasPattern&&(Fn instanceof i.LineBucket||Fn instanceof i.FillBucket||Fn instanceof i.FillExtrusionBucket)&&(h(Fn.layers,this.zoom,Zt),Fn.addFeatures(Mi,this.tileID.canonical,Ji.patternPositions))}this.status=\"done\",Fr(null,{buckets:i.values(Si).filter(function(Sa){return!Sa.isEmpty()}),featureIndex:gi,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:hi.image,imageAtlas:Ji,glyphMap:this.returnDependencies?_t:null,iconMap:this.returnDependencies?br:null,glyphPositions:this.returnDependencies?hi.positions:null})}}};function h(It,ft,jt){for(var Zt=new i.EvaluationParameters(ft),yr=0,Fr=It;yr=0!=!!ft&&It.reverse()}var L=i.vectorTile.VectorTileFeature.prototype.toGeoJSON,_=function(ft){this._feature=ft,this.extent=i.EXTENT,this.type=ft.type,this.properties=ft.tags,\"id\"in ft&&!isNaN(ft.id)&&(this.id=parseInt(ft.id,10))};_.prototype.loadGeometry=function(){if(this._feature.type===1){for(var ft=[],jt=0,Zt=this._feature.geometry;jt>31}function ke(It,ft){for(var jt=It.loadGeometry(),Zt=It.type,yr=0,Fr=0,Zr=jt.length,Vr=0;Vr>1;Te(It,ft,Zr,Zt,yr,Fr%2),ie(It,ft,jt,Zt,Zr-1,Fr+1),ie(It,ft,jt,Zr+1,yr,Fr+1)}}function Te(It,ft,jt,Zt,yr,Fr){for(;yr>Zt;){if(yr-Zt>600){var Zr=yr-Zt+1,Vr=jt-Zt+1,gi=Math.log(Zr),Si=.5*Math.exp(2*gi/3),Mi=.5*Math.sqrt(gi*Si*(Zr-Si)/Zr)*(Vr-Zr/2<0?-1:1),Pi=Math.max(Zt,Math.floor(jt-Vr*Si/Zr+Mi)),Gi=Math.min(yr,Math.floor(jt+(Zr-Vr)*Si/Zr+Mi));Te(It,ft,jt,Pi,Gi,Fr)}var Ki=ft[2*jt+Fr],ka=Zt,jn=yr;for(Ee(It,ft,Zt,jt),ft[2*yr+Fr]>Ki&&Ee(It,ft,Zt,yr);kaKi;)jn--}ft[2*Zt+Fr]===Ki?Ee(It,ft,Zt,jn):(jn++,Ee(It,ft,jn,yr)),jn<=jt&&(Zt=jn+1),jt<=jn&&(yr=jn-1)}}function Ee(It,ft,jt,Zt){Ae(It,jt,Zt),Ae(ft,2*jt,2*Zt),Ae(ft,2*jt+1,2*Zt+1)}function Ae(It,ft,jt){var Zt=It[ft];It[ft]=It[jt],It[jt]=Zt}function ze(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[0,It.length-1,0],gi=[],Si,Mi;Vr.length;){var Pi=Vr.pop(),Gi=Vr.pop(),Ki=Vr.pop();if(Gi-Ki<=Zr){for(var ka=Ki;ka<=Gi;ka++)Si=ft[2*ka],Mi=ft[2*ka+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[ka]);continue}var jn=Math.floor((Ki+Gi)/2);Si=ft[2*jn],Mi=ft[2*jn+1],Si>=jt&&Si<=yr&&Mi>=Zt&&Mi<=Fr&&gi.push(It[jn]);var la=(Pi+1)%2;(Pi===0?jt<=Si:Zt<=Mi)&&(Vr.push(Ki),Vr.push(jn-1),Vr.push(la)),(Pi===0?yr>=Si:Fr>=Mi)&&(Vr.push(jn+1),Vr.push(Gi),Vr.push(la))}return gi}function Ce(It,ft,jt,Zt,yr,Fr){for(var Zr=[0,It.length-1,0],Vr=[],gi=yr*yr;Zr.length;){var Si=Zr.pop(),Mi=Zr.pop(),Pi=Zr.pop();if(Mi-Pi<=Fr){for(var Gi=Pi;Gi<=Mi;Gi++)me(ft[2*Gi],ft[2*Gi+1],jt,Zt)<=gi&&Vr.push(It[Gi]);continue}var Ki=Math.floor((Pi+Mi)/2),ka=ft[2*Ki],jn=ft[2*Ki+1];me(ka,jn,jt,Zt)<=gi&&Vr.push(It[Ki]);var la=(Si+1)%2;(Si===0?jt-yr<=ka:Zt-yr<=jn)&&(Zr.push(Pi),Zr.push(Ki-1),Zr.push(la)),(Si===0?jt+yr>=ka:Zt+yr>=jn)&&(Zr.push(Ki+1),Zr.push(Mi),Zr.push(la))}return Vr}function me(It,ft,jt,Zt){var yr=It-jt,Fr=ft-Zt;return yr*yr+Fr*Fr}var Re=function(It){return It[0]},ce=function(It){return It[1]},Ge=function(ft,jt,Zt,yr,Fr){jt===void 0&&(jt=Re),Zt===void 0&&(Zt=ce),yr===void 0&&(yr=64),Fr===void 0&&(Fr=Float64Array),this.nodeSize=yr,this.points=ft;for(var Zr=ft.length<65536?Uint16Array:Uint32Array,Vr=this.ids=new Zr(ft.length),gi=this.coords=new Fr(ft.length*2),Si=0;Si=yr;Mi--){var Pi=+Date.now();gi=this._cluster(gi,Mi),this.trees[Mi]=new Ge(gi,Ke,xt,Zr,Float32Array),Zt&&console.log(\"z%d: %d clusters in %dms\",Mi,gi.length,+Date.now()-Pi)}return Zt&&console.timeEnd(\"total time\"),this},ct.prototype.getClusters=function(ft,jt){var Zt=((ft[0]+180)%360+360)%360-180,yr=Math.max(-90,Math.min(90,ft[1])),Fr=ft[2]===180?180:((ft[2]+180)%360+360)%360-180,Zr=Math.max(-90,Math.min(90,ft[3]));if(ft[2]-ft[0]>=360)Zt=-180,Fr=180;else if(Zt>Fr){var Vr=this.getClusters([Zt,yr,180,Zr],jt),gi=this.getClusters([-180,yr,Fr,Zr],jt);return Vr.concat(gi)}for(var Si=this.trees[this._limitZoom(jt)],Mi=Si.range(kt(Zt),Ct(Zr),kt(Fr),Ct(yr)),Pi=[],Gi=0,Ki=Mi;Gijt&&(jn+=jo.numPoints||1)}if(jn>=gi){for(var oa=Pi.x*ka,Sn=Pi.y*ka,Ha=Vr&&ka>1?this._map(Pi,!0):null,oo=(Mi<<5)+(jt+1)+this.points.length,xn=0,_t=Ki;xn<_t.length;xn+=1){var br=_t[xn],Hr=Gi.points[br];if(!(Hr.zoom<=jt)){Hr.zoom=jt;var ti=Hr.numPoints||1;oa+=Hr.x*ti,Sn+=Hr.y*ti,Hr.parentId=oo,Vr&&(Ha||(Ha=this._map(Pi,!0)),Vr(Ha,this._map(Hr)))}}Pi.parentId=oo,Zt.push(qt(oa/jn,Sn/jn,oo,jn,Ha))}else if(Zt.push(Pi),jn>1)for(var zi=0,Yi=Ki;zi>5},ct.prototype._getOriginZoom=function(ft){return(ft-this.points.length)%32},ct.prototype._map=function(ft,jt){if(ft.numPoints)return jt?er({},ft.properties):ft.properties;var Zt=this.points[ft.index].properties,yr=this.options.map(Zt);return jt&&yr===Zt?er({},yr):yr};function qt(It,ft,jt,Zt,yr){return{x:It,y:ft,zoom:1/0,id:jt,parentId:-1,numPoints:Zt,properties:yr}}function rt(It,ft){var jt=It.geometry.coordinates,Zt=jt[0],yr=jt[1];return{x:kt(Zt),y:Ct(yr),zoom:1/0,index:ft,parentId:-1}}function ot(It){return{type:\"Feature\",id:It.id,properties:Rt(It),geometry:{type:\"Point\",coordinates:[Yt(It.x),xr(It.y)]}}}function Rt(It){var ft=It.numPoints,jt=ft>=1e4?Math.round(ft/1e3)+\"k\":ft>=1e3?Math.round(ft/100)/10+\"k\":ft;return er(er({},It.properties),{cluster:!0,cluster_id:It.id,point_count:ft,point_count_abbreviated:jt})}function kt(It){return It/360+.5}function Ct(It){var ft=Math.sin(It*Math.PI/180),jt=.5-.25*Math.log((1+ft)/(1-ft))/Math.PI;return jt<0?0:jt>1?1:jt}function Yt(It){return(It-.5)*360}function xr(It){var ft=(180-It*360)*Math.PI/180;return 360*Math.atan(Math.exp(ft))/Math.PI-90}function er(It,ft){for(var jt in ft)It[jt]=ft[jt];return It}function Ke(It){return It.x}function xt(It){return It.y}function bt(It,ft,jt,Zt){for(var yr=Zt,Fr=jt-ft>>1,Zr=jt-ft,Vr,gi=It[ft],Si=It[ft+1],Mi=It[jt],Pi=It[jt+1],Gi=ft+3;Giyr)Vr=Gi,yr=Ki;else if(Ki===yr){var ka=Math.abs(Gi-Fr);kaZt&&(Vr-ft>3&&bt(It,ft,Vr,Zt),It[Vr+2]=yr,jt-Vr>3&&bt(It,Vr,jt,Zt))}function Lt(It,ft,jt,Zt,yr,Fr){var Zr=yr-jt,Vr=Fr-Zt;if(Zr!==0||Vr!==0){var gi=((It-jt)*Zr+(ft-Zt)*Vr)/(Zr*Zr+Vr*Vr);gi>1?(jt=yr,Zt=Fr):gi>0&&(jt+=Zr*gi,Zt+=Vr*gi)}return Zr=It-jt,Vr=ft-Zt,Zr*Zr+Vr*Vr}function St(It,ft,jt,Zt){var yr={id:typeof It==\"undefined\"?null:It,type:ft,geometry:jt,tags:Zt,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return Et(yr),yr}function Et(It){var ft=It.geometry,jt=It.type;if(jt===\"Point\"||jt===\"MultiPoint\"||jt===\"LineString\")dt(It,ft);else if(jt===\"Polygon\"||jt===\"MultiLineString\")for(var Zt=0;Zt0&&(Zt?Zr+=(yr*Si-gi*Fr)/2:Zr+=Math.sqrt(Math.pow(gi-yr,2)+Math.pow(Si-Fr,2))),yr=gi,Fr=Si}var Mi=ft.length-3;ft[2]=1,bt(ft,0,Mi,jt),ft[Mi+2]=1,ft.size=Math.abs(Zr),ft.start=0,ft.end=ft.size}function Br(It,ft,jt,Zt){for(var yr=0;yr1?1:jt}function ut(It,ft,jt,Zt,yr,Fr,Zr,Vr){if(jt/=ft,Zt/=ft,Fr>=jt&&Zr=Zt)return null;for(var gi=[],Si=0;Si=jt&&ka=Zt)continue;var jn=[];if(Gi===\"Point\"||Gi===\"MultiPoint\")Ne(Pi,jn,jt,Zt,yr);else if(Gi===\"LineString\")Ye(Pi,jn,jt,Zt,yr,!1,Vr.lineMetrics);else if(Gi===\"MultiLineString\")Xe(Pi,jn,jt,Zt,yr,!1);else if(Gi===\"Polygon\")Xe(Pi,jn,jt,Zt,yr,!0);else if(Gi===\"MultiPolygon\")for(var la=0;la=jt&&Zr<=Zt&&(ft.push(It[Fr]),ft.push(It[Fr+1]),ft.push(It[Fr+2]))}}function Ye(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=Ve(It),gi=yr===0?Le:xe,Si=It.start,Mi,Pi,Gi=0;Gijt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),Zr&&(Vr.start=Si+Mi*Pi)):Ra>Zt?jo=jt&&(Pi=gi(Vr,Ki,ka,la,Fa,jt),oa=!0),jo>Zt&&Ra<=Zt&&(Pi=gi(Vr,Ki,ka,la,Fa,Zt),oa=!0),!Fr&&oa&&(Zr&&(Vr.end=Si+Mi*Pi),ft.push(Vr),Vr=Ve(It)),Zr&&(Si+=Mi)}var Sn=It.length-3;Ki=It[Sn],ka=It[Sn+1],jn=It[Sn+2],Ra=yr===0?Ki:ka,Ra>=jt&&Ra<=Zt&&ht(Vr,Ki,ka,jn),Sn=Vr.length-3,Fr&&Sn>=3&&(Vr[Sn]!==Vr[0]||Vr[Sn+1]!==Vr[1])&&ht(Vr,Vr[0],Vr[1],Vr[2]),Vr.length&&ft.push(Vr)}function Ve(It){var ft=[];return ft.size=It.size,ft.start=It.start,ft.end=It.end,ft}function Xe(It,ft,jt,Zt,yr,Fr){for(var Zr=0;ZrZr.maxX&&(Zr.maxX=Mi),Pi>Zr.maxY&&(Zr.maxY=Pi)}return Zr}function ai(It,ft,jt,Zt){var yr=ft.geometry,Fr=ft.type,Zr=[];if(Fr===\"Point\"||Fr===\"MultiPoint\")for(var Vr=0;Vr0&&ft.size<(yr?Zr:Zt)){jt.numPoints+=ft.length/3;return}for(var Vr=[],gi=0;giZr)&&(jt.numSimplified++,Vr.push(ft[gi]),Vr.push(ft[gi+1])),jt.numPoints++;yr&&ri(Vr,Fr),It.push(Vr)}function ri(It,ft){for(var jt=0,Zt=0,yr=It.length,Fr=yr-2;Zt0===ft)for(Zt=0,yr=It.length;Zt24)throw new Error(\"maxZoom should be in the 0-24 range\");if(ft.promoteId&&ft.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var Zt=Ht(It,ft);this.tiles={},this.tileCoords=[],jt&&(console.timeEnd(\"preprocess data\"),console.log(\"index: maxZoom: %d, maxPoints: %d\",ft.indexMaxZoom,ft.indexMaxPoints),console.time(\"generate tiles\"),this.stats={},this.total=0),Zt=Se(Zt,ft),Zt.length&&this.splitTile(Zt,0,0,0),jt&&(Zt.length&&console.log(\"features: %d, points: %d\",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd(\"generate tiles\"),console.log(\"tiles generated:\",this.total,JSON.stringify(this.stats)))}nn.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},nn.prototype.splitTile=function(It,ft,jt,Zt,yr,Fr,Zr){for(var Vr=[It,ft,jt,Zt],gi=this.options,Si=gi.debug;Vr.length;){Zt=Vr.pop(),jt=Vr.pop(),ft=Vr.pop(),It=Vr.pop();var Mi=1<1&&console.time(\"creation\"),Gi=this.tiles[Pi]=Qr(It,ft,jt,Zt,gi),this.tileCoords.push({z:ft,x:jt,y:Zt}),Si)){Si>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",ft,jt,Zt,Gi.numFeatures,Gi.numPoints,Gi.numSimplified),console.timeEnd(\"creation\"));var Ki=\"z\"+ft;this.stats[Ki]=(this.stats[Ki]||0)+1,this.total++}if(Gi.source=It,yr){if(ft===gi.maxZoom||ft===yr)continue;var ka=1<1&&console.time(\"clipping\");var jn=.5*gi.buffer/gi.extent,la=.5-jn,Fa=.5+jn,Ra=1+jn,jo,oa,Sn,Ha,oo,xn;jo=oa=Sn=Ha=null,oo=ut(It,Mi,jt-jn,jt+Fa,0,Gi.minX,Gi.maxX,gi),xn=ut(It,Mi,jt+la,jt+Ra,0,Gi.minX,Gi.maxX,gi),It=null,oo&&(jo=ut(oo,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),oa=ut(oo,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),oo=null),xn&&(Sn=ut(xn,Mi,Zt-jn,Zt+Fa,1,Gi.minY,Gi.maxY,gi),Ha=ut(xn,Mi,Zt+la,Zt+Ra,1,Gi.minY,Gi.maxY,gi),xn=null),Si>1&&console.timeEnd(\"clipping\"),Vr.push(jo||[],ft+1,jt*2,Zt*2),Vr.push(oa||[],ft+1,jt*2,Zt*2+1),Vr.push(Sn||[],ft+1,jt*2+1,Zt*2),Vr.push(Ha||[],ft+1,jt*2+1,Zt*2+1)}}},nn.prototype.getTile=function(It,ft,jt){var Zt=this.options,yr=Zt.extent,Fr=Zt.debug;if(It<0||It>24)return null;var Zr=1<1&&console.log(\"drilling down to z%d-%d-%d\",It,ft,jt);for(var gi=It,Si=ft,Mi=jt,Pi;!Pi&&gi>0;)gi--,Si=Math.floor(Si/2),Mi=Math.floor(Mi/2),Pi=this.tiles[Wi(gi,Si,Mi)];return!Pi||!Pi.source?null:(Fr>1&&console.log(\"found parent tile z%d-%d-%d\",gi,Si,Mi),Fr>1&&console.time(\"drilling down\"),this.splitTile(Pi.source,gi,Si,Mi,It,ft,jt),Fr>1&&console.timeEnd(\"drilling down\"),this.tiles[Vr]?Vt(this.tiles[Vr],yr):null)};function Wi(It,ft,jt){return((1<=0?0:Y.button},o.remove=function(Y){Y.parentNode&&Y.parentNode.removeChild(Y)};function x(Y,z,K){var O,$,pe,de=i.browser.devicePixelRatio>1?\"@2x\":\"\",Ie=i.getJSON(z.transformRequest(z.normalizeSpriteURL(Y,de,\".json\"),i.ResourceType.SpriteJSON),function(Kt,ir){Ie=null,pe||(pe=Kt,O=ir,pt())}),$e=i.getImage(z.transformRequest(z.normalizeSpriteURL(Y,de,\".png\"),i.ResourceType.SpriteImage),function(Kt,ir){$e=null,pe||(pe=Kt,$=ir,pt())});function pt(){if(pe)K(pe);else if(O&&$){var Kt=i.browser.getImageData($),ir={};for(var Jt in O){var vt=O[Jt],Pt=vt.width,Wt=vt.height,rr=vt.x,dr=vt.y,pr=vt.sdf,kr=vt.pixelRatio,Ar=vt.stretchX,gr=vt.stretchY,Cr=vt.content,cr=new i.RGBAImage({width:Pt,height:Wt});i.RGBAImage.copy(Kt,cr,{x:rr,y:dr},{x:0,y:0},{width:Pt,height:Wt}),ir[Jt]={data:cr,pixelRatio:kr,sdf:pr,stretchX:Ar,stretchY:gr,content:Cr}}K(null,ir)}}return{cancel:function(){Ie&&(Ie.cancel(),Ie=null),$e&&($e.cancel(),$e=null)}}}function b(Y){var z=Y.userImage;if(z&&z.render){var K=z.render();if(K)return Y.data.replace(new Uint8Array(z.data.buffer)),!0}return!1}var g=1,E=function(Y){function z(){Y.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new i.RGBAImage({width:1,height:1}),this.dirty=!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.isLoaded=function(){return this.loaded},z.prototype.setLoaded=function(O){if(this.loaded!==O&&(this.loaded=O,O)){for(var $=0,pe=this.requestors;$=0?1.2:1))}C.prototype.draw=function(Y){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(Y,this.buffer,this.middle);for(var z=this.ctx.getImageData(0,0,this.size,this.size),K=new Uint8ClampedArray(this.size*this.size),O=0;O65535){Kt(new Error(\"glyphs > 65535 not supported\"));return}if(vt.ranges[Wt]){Kt(null,{stack:ir,id:Jt,glyph:Pt});return}var rr=vt.requests[Wt];rr||(rr=vt.requests[Wt]=[],P.loadGlyphRange(ir,Wt,O.url,O.requestManager,function(dr,pr){if(pr){for(var kr in pr)O._doesCharSupportLocalGlyph(+kr)||(vt.glyphs[+kr]=pr[+kr]);vt.ranges[Wt]=!0}for(var Ar=0,gr=rr;Ar1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=void 0,Wt=pe/O*($+1);if(pt.isDash){var rr=$-Math.abs(Wt);Pt=Math.sqrt(vt*vt+rr*rr)}else Pt=$-Math.sqrt(vt*vt+Wt*Wt);this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addRegularDash=function(z){for(var K=z.length-1;K>=0;--K){var O=z[K],$=z[K+1];O.zeroLength?z.splice(K,1):$&&$.isDash===O.isDash&&($.left=O.left,z.splice(K,1))}var pe=z[0],de=z[z.length-1];pe.isDash===de.isDash&&(pe.left=de.left-this.width,de.right=pe.right+this.width);for(var Ie=this.width*this.nextRow,$e=0,pt=z[$e],Kt=0;Kt1&&(pt=z[++$e]);var ir=Math.abs(Kt-pt.left),Jt=Math.abs(Kt-pt.right),vt=Math.min(ir,Jt),Pt=pt.isDash?vt:-vt;this.data[Ie+Kt]=Math.max(0,Math.min(255,Pt+128))}},H.prototype.addDash=function(z,K){var O=K?7:0,$=2*O+1;if(this.nextRow+$>this.height)return i.warnOnce(\"LineAtlas out of space\"),null;for(var pe=0,de=0;de=O.minX&&z.x=O.minY&&z.y0&&(Kt[new i.OverscaledTileID(O.overscaledZ,Ie,$.z,de,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,O.wrap,$.z,$.x,$.y-1).key]={backfilled:!1},Kt[new i.OverscaledTileID(O.overscaledZ,pt,$.z,$e,$.y-1).key]={backfilled:!1}),$.y+10&&(pe.resourceTiming=O._resourceTiming,O._resourceTiming=[]),O.fire(new i.Event(\"data\",pe))})},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setData=function(O){var $=this;return this._data=O,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this._updateWorkerData(function(pe){if(pe){$.fire(new i.ErrorEvent(pe));return}var de={dataType:\"source\",sourceDataType:\"content\"};$._collectResourceTiming&&$._resourceTiming&&$._resourceTiming.length>0&&(de.resourceTiming=$._resourceTiming,$._resourceTiming=[]),$.fire(new i.Event(\"data\",de))}),this},z.prototype.getClusterExpansionZoom=function(O,$){return this.actor.send(\"geojson.getClusterExpansionZoom\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterChildren=function(O,$){return this.actor.send(\"geojson.getClusterChildren\",{clusterId:O,source:this.id},$),this},z.prototype.getClusterLeaves=function(O,$,pe,de){return this.actor.send(\"geojson.getClusterLeaves\",{source:this.id,clusterId:O,limit:$,offset:pe},de),this},z.prototype._updateWorkerData=function(O){var $=this;this._loaded=!1;var pe=i.extend({},this.workerOptions),de=this._data;typeof de==\"string\"?(pe.request=this.map._requestManager.transformRequest(i.browser.resolveURL(de),i.ResourceType.Source),pe.request.collectResourceTiming=this._collectResourceTiming):pe.data=JSON.stringify(de),this.actor.send(this.type+\".loadData\",pe,function(Ie,$e){$._removed||$e&&$e.abandoned||($._loaded=!0,$e&&$e.resourceTiming&&$e.resourceTiming[$.id]&&($._resourceTiming=$e.resourceTiming[$.id].slice(0)),$.actor.send($.type+\".coalesce\",{source:pe.source},null),O(Ie))})},z.prototype.loaded=function(){return this._loaded},z.prototype.loadTile=function(O,$){var pe=this,de=O.actor?\"reloadTile\":\"loadTile\";O.actor=this.actor;var Ie={type:this.type,uid:O.uid,tileID:O.tileID,zoom:O.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:i.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};O.request=this.actor.send(de,Ie,function($e,pt){return delete O.request,O.unloadVectorData(),O.aborted?$(null):$e?$($e):(O.loadVectorData(pt,pe.map.painter,de===\"reloadTile\"),$(null))})},z.prototype.abortTile=function(O){O.request&&(O.request.cancel(),delete O.request),O.aborted=!0},z.prototype.unloadTile=function(O){O.unloadVectorData(),this.actor.send(\"removeTile\",{uid:O.uid,type:this.type,source:this.id})},z.prototype.onRemove=function(){this._removed=!0,this.actor.send(\"removeSource\",{type:this.type,source:this.id})},z.prototype.serialize=function(){return i.extend({},this._options,{type:this.type,data:this._data})},z.prototype.hasTransition=function(){return!1},z}(i.Evented),Me=i.createLayout([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]),ke=function(Y){function z(K,O,$,pe){Y.call(this),this.id=K,this.dispatcher=$,this.coordinates=O.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(pe),this.options=O}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(O,$){var pe=this;this._loaded=!1,this.fire(new i.Event(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,i.getImage(this.map._requestManager.transformRequest(this.url,i.ResourceType.Image),function(de,Ie){pe._loaded=!0,de?pe.fire(new i.ErrorEvent(de)):Ie&&(pe.image=Ie,O&&(pe.coordinates=O),$&&$(),pe._finishLoading())})},z.prototype.loaded=function(){return this._loaded},z.prototype.updateImage=function(O){var $=this;return!this.image||!O.url?this:(this.options.url=O.url,this.load(O.coordinates,function(){$.texture=null}),this)},z.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))},z.prototype.onAdd=function(O){this.map=O,this.load()},z.prototype.setCoordinates=function(O){var $=this;this.coordinates=O;var pe=O.map(i.MercatorCoordinate.fromLngLat);this.tileID=ge(pe),this.minzoom=this.maxzoom=this.tileID.z;var de=pe.map(function(Ie){return $.tileID.getTilePoint(Ie)._round()});return this._boundsArray=new i.StructArrayLayout4i8,this._boundsArray.emplaceBack(de[0].x,de[0].y,0,0),this._boundsArray.emplaceBack(de[1].x,de[1].y,i.EXTENT,0),this._boundsArray.emplaceBack(de[3].x,de[3].y,0,i.EXTENT),this._boundsArray.emplaceBack(de[2].x,de[2].y,i.EXTENT,i.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new i.Event(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||!this.image)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new i.Texture(O,this.image,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.loadTile=function(O,$){this.tileID&&this.tileID.equals(O.tileID.canonical)?(this.tiles[String(O.tileID.wrap)]=O,O.buckets={},$(null)):(O.state=\"errored\",$(null))},z.prototype.serialize=function(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return!1},z}(i.Evented);function ge(Y){for(var z=1/0,K=1/0,O=-1/0,$=-1/0,pe=0,de=Y;pe$.end(0)?this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+this.id,null,\"Playback for this video can be set only between the \"+$.start(0)+\" and \"+$.end(0)+\"-second mark.\"))):this.video.currentTime=O}},z.prototype.getVideo=function(){return this.video},z.prototype.onAdd=function(O){this.map||(this.map=O,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},z.prototype.prepare=function(){if(!(Object.keys(this.tiles).length===0||this.video.readyState<2)){var O=this.map.painter.context,$=O.gl;this.boundsBuffer||(this.boundsBuffer=O.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE),$.texSubImage2D($.TEXTURE_2D,0,0,0,$.RGBA,$.UNSIGNED_BYTE,this.video)):(this.texture=new i.Texture(O,this.video,$.RGBA),this.texture.bind($.LINEAR,$.CLAMP_TO_EDGE));for(var pe in this.tiles){var de=this.tiles[pe];de.state!==\"loaded\"&&(de.state=\"loaded\",de.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this.video&&!this.video.paused},z}(ke),Te=function(Y){function z(K,O,$,pe){Y.call(this,K,O,$,pe),O.coordinates?(!Array.isArray(O.coordinates)||O.coordinates.length!==4||O.coordinates.some(function(de){return!Array.isArray(de)||de.length!==2||de.some(function(Ie){return typeof Ie!=\"number\"})}))&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"coordinates\"'))),O.animate&&typeof O.animate!=\"boolean\"&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'optional \"animate\" property must be a boolean value'))),O.canvas?typeof O.canvas!=\"string\"&&!(O.canvas instanceof i.window.HTMLCanvasElement)&&this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new i.ErrorEvent(new i.ValidationError(\"sources.\"+K,null,'missing required property \"canvas\"'))),this.options=O,this.animate=O.animate!==void 0?O.animate:!0}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.load=function(){if(this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof i.window.HTMLCanvasElement?this.options.canvas:i.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()){this.fire(new i.ErrorEvent(new Error(\"Canvas dimensions cannot be less than or equal to zero.\")));return}this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading()},z.prototype.getCanvas=function(){return this.canvas},z.prototype.onAdd=function(O){this.map=O,this.load(),this.canvas&&this.animate&&this.play()},z.prototype.onRemove=function(){this.pause()},z.prototype.prepare=function(){var O=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,O=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,O=!0),!this._hasInvalidDimensions()&&Object.keys(this.tiles).length!==0){var $=this.map.painter.context,pe=$.gl;this.boundsBuffer||(this.boundsBuffer=$.createVertexBuffer(this._boundsArray,Me.members)),this.boundsSegments||(this.boundsSegments=i.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(O||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new i.Texture($,this.canvas,pe.RGBA,{premultiply:!0});for(var de in this.tiles){var Ie=this.tiles[de];Ie.state!==\"loaded\"&&(Ie.state=\"loaded\",Ie.texture=this.texture)}}},z.prototype.serialize=function(){return{type:\"canvas\",coordinates:this.coordinates}},z.prototype.hasTransition=function(){return this._playing},z.prototype._hasInvalidDimensions=function(){for(var O=0,$=[this.canvas.width,this.canvas.height];O<$.length;O+=1){var pe=$[O];if(isNaN(pe)||pe<=0)return!0}return!1},z}(ke),Ee={vector:W,raster:re,\"raster-dem\":ae,geojson:_e,video:ie,image:ke,canvas:Te},Ae=function(Y,z,K,O){var $=new Ee[z.type](Y,z,K,O);if($.id!==Y)throw new Error(\"Expected Source id to be \"+Y+\" instead of \"+$.id);return i.bindAll([\"load\",\"abort\",\"unload\",\"serialize\",\"prepare\"],$),$},ze=function(Y){return Ee[Y]},Ce=function(Y,z){Ee[Y]=z};function me(Y,z){var K=i.identity([]);return i.translate(K,K,[1,1,0]),i.scale(K,K,[Y.width*.5,Y.height*.5,1]),i.multiply(K,K,Y.calculatePosMatrix(z.toUnwrapped()))}function Re(Y,z,K){if(Y)for(var O=0,$=Y;O<$.length;O+=1){var pe=$[O],de=z[pe];if(de&&de.source===K&&de.type===\"fill-extrusion\")return!0}else for(var Ie in z){var $e=z[Ie];if($e.source===K&&$e.type===\"fill-extrusion\")return!0}return!1}function ce(Y,z,K,O,$,pe){var de=Re($&&$.layers,z,Y.id),Ie=pe.maxPitchScaleFactor(),$e=Y.tilesIn(O,Ie,de);$e.sort(ct);for(var pt=[],Kt=0,ir=$e;Ktthis.max){var Ie=this._getAndRemoveByKey(this.order[0]);Ie&&this.onRemove(Ie)}return this},rt.prototype.has=function(z){return z.wrapped().key in this.data},rt.prototype.getAndRemove=function(z){return this.has(z)?this._getAndRemoveByKey(z.wrapped().key):null},rt.prototype._getAndRemoveByKey=function(z){var K=this.data[z].shift();return K.timeout&&clearTimeout(K.timeout),this.data[z].length===0&&delete this.data[z],this.order.splice(this.order.indexOf(z),1),K.value},rt.prototype.getByKey=function(z){var K=this.data[z];return K?K[0].value:null},rt.prototype.get=function(z){if(!this.has(z))return null;var K=this.data[z.wrapped().key][0];return K.value},rt.prototype.remove=function(z,K){if(!this.has(z))return this;var O=z.wrapped().key,$=K===void 0?0:this.data[O].indexOf(K),pe=this.data[O][$];return this.data[O].splice($,1),pe.timeout&&clearTimeout(pe.timeout),this.data[O].length===0&&delete this.data[O],this.onRemove(pe.value),this.order.splice(this.order.indexOf(O),1),this},rt.prototype.setMaxSize=function(z){for(this.max=z;this.order.length>this.max;){var K=this._getAndRemoveByKey(this.order[0]);K&&this.onRemove(K)}return this},rt.prototype.filter=function(z){var K=[];for(var O in this.data)for(var $=0,pe=this.data[O];$1||(Math.abs(ir)>1&&(Math.abs(ir+vt)===1?ir+=vt:Math.abs(ir-vt)===1&&(ir-=vt)),!(!Kt.dem||!pt.dem)&&(pt.dem.backfillBorder(Kt.dem,ir,Jt),pt.neighboringTiles&&pt.neighboringTiles[Pt]&&(pt.neighboringTiles[Pt].backfilled=!0)))}},z.prototype.getTile=function(O){return this.getTileByID(O.key)},z.prototype.getTileByID=function(O){return this._tiles[O]},z.prototype._retainLoadedChildren=function(O,$,pe,de){for(var Ie in this._tiles){var $e=this._tiles[Ie];if(!(de[Ie]||!$e.hasData()||$e.tileID.overscaledZ<=$||$e.tileID.overscaledZ>pe)){for(var pt=$e.tileID;$e&&$e.tileID.overscaledZ>$+1;){var Kt=$e.tileID.scaledTo($e.tileID.overscaledZ-1);$e=this._tiles[Kt.key],$e&&$e.hasData()&&(pt=Kt)}for(var ir=pt;ir.overscaledZ>$;)if(ir=ir.scaledTo(ir.overscaledZ-1),O[ir.key]){de[pt.key]=pt;break}}}},z.prototype.findLoadedParent=function(O,$){if(O.key in this._loadedParentTiles){var pe=this._loadedParentTiles[O.key];return pe&&pe.tileID.overscaledZ>=$?pe:null}for(var de=O.overscaledZ-1;de>=$;de--){var Ie=O.scaledTo(de),$e=this._getLoadedTile(Ie);if($e)return $e}},z.prototype._getLoadedTile=function(O){var $=this._tiles[O.key];if($&&$.hasData())return $;var pe=this._cache.getByKey(O.wrapped().key);return pe},z.prototype.updateCacheSize=function(O){var $=Math.ceil(O.width/this._source.tileSize)+1,pe=Math.ceil(O.height/this._source.tileSize)+1,de=$*pe,Ie=5,$e=Math.floor(de*Ie),pt=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,$e):$e;this._cache.setMaxSize(pt)},z.prototype.handleWrapJump=function(O){var $=this._prevLng===void 0?O:this._prevLng,pe=O-$,de=pe/360,Ie=Math.round(de);if(this._prevLng=O,Ie){var $e={};for(var pt in this._tiles){var Kt=this._tiles[pt];Kt.tileID=Kt.tileID.unwrapTo(Kt.tileID.wrap+Ie),$e[Kt.tileID.key]=Kt}this._tiles=$e;for(var ir in this._timers)clearTimeout(this._timers[ir]),delete this._timers[ir];for(var Jt in this._tiles){var vt=this._tiles[Jt];this._setTileReloadTimer(Jt,vt)}}},z.prototype.update=function(O){var $=this;if(this.transform=O,!(!this._sourceLoaded||this._paused)){this.updateCacheSize(O),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={};var pe;this.used?this._source.tileID?pe=O.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(yi){return new i.OverscaledTileID(yi.canonical.z,yi.wrap,yi.canonical.z,yi.canonical.x,yi.canonical.y)}):(pe=O.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(pe=pe.filter(function(yi){return $._source.hasTile(yi)}))):pe=[];var de=O.coveringZoomLevel(this._source),Ie=Math.max(de-z.maxOverzooming,this._source.minzoom),$e=Math.max(de+z.maxUnderzooming,this._source.minzoom),pt=this._updateRetainedTiles(pe,de);if(gi(this._source.type)){for(var Kt={},ir={},Jt=Object.keys(pt),vt=0,Pt=Jt;vtthis._source.maxzoom){var pr=rr.children(this._source.maxzoom)[0],kr=this.getTile(pr);if(kr&&kr.hasData()){pe[pr.key]=pr;continue}}else{var Ar=rr.children(this._source.maxzoom);if(pe[Ar[0].key]&&pe[Ar[1].key]&&pe[Ar[2].key]&&pe[Ar[3].key])continue}for(var gr=dr.wasRequested(),Cr=rr.overscaledZ-1;Cr>=Ie;--Cr){var cr=rr.scaledTo(Cr);if(de[cr.key]||(de[cr.key]=!0,dr=this.getTile(cr),!dr&&gr&&(dr=this._addTile(cr)),dr&&(pe[cr.key]=cr,gr=dr.wasRequested(),dr.hasData())))break}}}return pe},z.prototype._updateLoadedParentTileCache=function(){this._loadedParentTiles={};for(var O in this._tiles){for(var $=[],pe=void 0,de=this._tiles[O].tileID;de.overscaledZ>0;){if(de.key in this._loadedParentTiles){pe=this._loadedParentTiles[de.key];break}$.push(de.key);var Ie=de.scaledTo(de.overscaledZ-1);if(pe=this._getLoadedTile(Ie),pe)break;de=Ie}for(var $e=0,pt=$;$e0)&&($.hasData()&&$.state!==\"reloading\"?this._cache.add($.tileID,$,$.getExpiryTimeout()):($.aborted=!0,this._abortTile($),this._unloadTile($))))},z.prototype.clearTiles=function(){this._shouldReloadOnResume=!1,this._paused=!1;for(var O in this._tiles)this._removeTile(O);this._cache.reset()},z.prototype.tilesIn=function(O,$,pe){var de=this,Ie=[],$e=this.transform;if(!$e)return Ie;for(var pt=pe?$e.getCameraQueryGeometry(O):O,Kt=O.map(function(Cr){return $e.pointCoordinate(Cr)}),ir=pt.map(function(Cr){return $e.pointCoordinate(Cr)}),Jt=this.getIds(),vt=1/0,Pt=1/0,Wt=-1/0,rr=-1/0,dr=0,pr=ir;dr=0&&tn[1].y+yi>=0){var Ri=Kt.map(function(Qn){return Gr.getTilePoint(Qn)}),ln=ir.map(function(Qn){return Gr.getTilePoint(Qn)});Ie.push({tile:cr,tileID:Gr,queryGeometry:Ri,cameraQueryGeometry:ln,scale:ei})}}},gr=0;gr=i.browser.now())return!0}return!1},z.prototype.setFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.updateState(O,$,pe)},z.prototype.removeFeatureState=function(O,$,pe){O=O||\"_geojsonTileLayer\",this._state.removeFeatureState(O,$,pe)},z.prototype.getFeatureState=function(O,$){return O=O||\"_geojsonTileLayer\",this._state.getState(O,$)},z.prototype.setDependencies=function(O,$,pe){var de=this._tiles[O];de&&de.setDependencies($,pe)},z.prototype.reloadTilesForDependencies=function(O,$){for(var pe in this._tiles){var de=this._tiles[pe];de.hasDependency(O,$)&&this._reloadTile(pe,\"reloading\")}this._cache.filter(function(Ie){return!Ie.hasDependency(O,$)})},z}(i.Evented);Zr.maxOverzooming=10,Zr.maxUnderzooming=3;function Vr(Y,z){var K=Math.abs(Y.wrap*2)-+(Y.wrap<0),O=Math.abs(z.wrap*2)-+(z.wrap<0);return Y.overscaledZ-z.overscaledZ||O-K||z.canonical.y-Y.canonical.y||z.canonical.x-Y.canonical.x}function gi(Y){return Y===\"raster\"||Y===\"image\"||Y===\"video\"}function Si(){return new i.window.Worker(ns.workerUrl)}var Mi=\"mapboxgl_preloaded_worker_pool\",Pi=function(){this.active={}};Pi.prototype.acquire=function(z){if(!this.workers)for(this.workers=[];this.workers.length0?($-de)/Ie:0;return this.points[pe].mult(1-$e).add(this.points[K].mult($e))};var hi=function(z,K,O){var $=this.boxCells=[],pe=this.circleCells=[];this.xCellCount=Math.ceil(z/O),this.yCellCount=Math.ceil(K/O);for(var de=0;dethis.width||$<0||K>this.height)return pe?!1:[];var Ie=[];if(z<=0&&K<=0&&this.width<=O&&this.height<=$){if(pe)return!0;for(var $e=0;$e0:Ie}},hi.prototype._queryCircle=function(z,K,O,$,pe){var de=z-O,Ie=z+O,$e=K-O,pt=K+O;if(Ie<0||de>this.width||pt<0||$e>this.height)return $?!1:[];var Kt=[],ir={hitTest:$,circle:{x:z,y:K,radius:O},seenUids:{box:{},circle:{}}};return this._forEachCell(de,$e,Ie,pt,this._queryCellCircle,Kt,ir,pe),$?Kt.length>0:Kt},hi.prototype.query=function(z,K,O,$,pe){return this._query(z,K,O,$,!1,pe)},hi.prototype.hitTest=function(z,K,O,$,pe){return this._query(z,K,O,$,!0,pe)},hi.prototype.hitTestCircle=function(z,K,O,$){return this._queryCircle(z,K,O,!0,$)},hi.prototype._queryCell=function(z,K,O,$,pe,de,Ie,$e){var pt=Ie.seenUids,Kt=this.boxCells[pe];if(Kt!==null)for(var ir=this.bboxes,Jt=0,vt=Kt;Jt=ir[Wt+0]&&$>=ir[Wt+1]&&(!$e||$e(this.boxKeys[Pt]))){if(Ie.hitTest)return de.push(!0),!0;de.push({key:this.boxKeys[Pt],x1:ir[Wt],y1:ir[Wt+1],x2:ir[Wt+2],y2:ir[Wt+3]})}}}var rr=this.circleCells[pe];if(rr!==null)for(var dr=this.circles,pr=0,kr=rr;prIe*Ie+$e*$e},hi.prototype._circleAndRectCollide=function(z,K,O,$,pe,de,Ie){var $e=(de-$)/2,pt=Math.abs(z-($+$e));if(pt>$e+O)return!1;var Kt=(Ie-pe)/2,ir=Math.abs(K-(pe+Kt));if(ir>Kt+O)return!1;if(pt<=$e||ir<=Kt)return!0;var Jt=pt-$e,vt=ir-Kt;return Jt*Jt+vt*vt<=O*O};function Ji(Y,z,K,O,$){var pe=i.create();return z?(i.scale(pe,pe,[1/$,1/$,1]),K||i.rotateZ(pe,pe,O.angle)):i.multiply(pe,O.labelPlaneMatrix,Y),pe}function ua(Y,z,K,O,$){if(z){var pe=i.clone(Y);return i.scale(pe,pe,[$,$,1]),K||i.rotateZ(pe,pe,-O.angle),pe}else return O.glCoordMatrix}function Fn(Y,z){var K=[Y.x,Y.y,0,1];wl(K,K,z);var O=K[3];return{point:new i.Point(K[0]/O,K[1]/O),signedDistanceFromCamera:O}}function Sa(Y,z){return .5+.5*(Y/z)}function go(Y,z){var K=Y[0]/Y[3],O=Y[1]/Y[3],$=K>=-z[0]&&K<=z[0]&&O>=-z[1]&&O<=z[1];return $}function Oo(Y,z,K,O,$,pe,de,Ie){var $e=O?Y.textSizeData:Y.iconSizeData,pt=i.evaluateSizeForZoom($e,K.transform.zoom),Kt=[256/K.width*2+1,256/K.height*2+1],ir=O?Y.text.dynamicLayoutVertexArray:Y.icon.dynamicLayoutVertexArray;ir.clear();for(var Jt=Y.lineVertexArray,vt=O?Y.text.placedSymbolArray:Y.icon.placedSymbolArray,Pt=K.transform.width/K.transform.height,Wt=!1,rr=0;rrpe)return{useVertical:!0}}return(Y===i.WritingMode.vertical?z.yK.x)?{needsFlipping:!0}:null}function xo(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt,ir,Jt,vt){var Pt=z/24,Wt=Y.lineOffsetX*Pt,rr=Y.lineOffsetY*Pt,dr;if(Y.numGlyphs>1){var pr=Y.glyphStartIndex+Y.numGlyphs,kr=Y.lineStartIndex,Ar=Y.lineStartIndex+Y.lineLength,gr=ho(Pt,Ie,Wt,rr,K,Kt,ir,Y,$e,pe,Jt);if(!gr)return{notEnoughRoom:!0};var Cr=Fn(gr.first.point,de).point,cr=Fn(gr.last.point,de).point;if(O&&!K){var Gr=Mo(Y.writingMode,Cr,cr,vt);if(Gr)return Gr}dr=[gr.first];for(var ei=Y.glyphStartIndex+1;ei0?ln.point:zs(ir,Ri,yi,1,$),qn=Mo(Y.writingMode,yi,Qn,vt);if(qn)return qn}var rn=ks(Pt*Ie.getoffsetX(Y.glyphStartIndex),Wt,rr,K,Kt,ir,Y.segment,Y.lineStartIndex,Y.lineStartIndex+Y.lineLength,$e,pe,Jt);if(!rn)return{notEnoughRoom:!0};dr=[rn]}for(var bn=0,mn=dr;bn0?1:-1,Pt=0;O&&(vt*=-1,Pt=Math.PI),vt<0&&(Pt+=Math.PI);for(var Wt=vt>0?Ie+de:Ie+de+1,rr=$,dr=$,pr=0,kr=0,Ar=Math.abs(Jt),gr=[];pr+kr<=Ar;){if(Wt+=vt,Wt=$e)return null;if(dr=rr,gr.push(rr),rr=ir[Wt],rr===void 0){var Cr=new i.Point(pt.getx(Wt),pt.gety(Wt)),cr=Fn(Cr,Kt);if(cr.signedDistanceFromCamera>0)rr=ir[Wt]=cr.point;else{var Gr=Wt-vt,ei=pr===0?pe:new i.Point(pt.getx(Gr),pt.gety(Gr));rr=zs(ei,Cr,dr,Ar-pr+1,Kt)}}pr+=kr,kr=dr.dist(rr)}var yi=(Ar-pr)/kr,tn=rr.sub(dr),Ri=tn.mult(yi)._add(dr);Ri._add(tn._unit()._perp()._mult(K*vt));var ln=Pt+Math.atan2(rr.y-dr.y,rr.x-dr.x);return gr.push(Ri),{point:Ri,angle:ln,path:gr}}var Zs=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Xs(Y,z){for(var K=0;K=1;Gn--)mn.push(rn.path[Gn]);for(var da=1;da0){for(var fo=mn[0].clone(),as=mn[0].clone(),tl=1;tl=ln.x&&as.x<=Qn.x&&fo.y>=ln.y&&as.y<=Qn.y?ps=[mn]:as.xQn.x||as.yQn.y?ps=[]:ps=i.clipLine([mn],ln.x,ln.y,Qn.x,Qn.y)}for(var zu=0,Mv=ps;zu=this.screenRightBoundary||$this.screenBottomBoundary},cl.prototype.isInsideGrid=function(z,K,O,$){return O>=0&&z=0&&K0){var Ar;return this.prevPlacement&&this.prevPlacement.variableOffsets[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID]&&this.prevPlacement.placements[Jt.crossTileID].text&&(Ar=this.prevPlacement.variableOffsets[Jt.crossTileID].anchor),this.variableOffsets[Jt.crossTileID]={textOffset:rr,width:O,height:$,anchor:z,textBoxScale:pe,prevAnchor:Ar},this.markUsedJustification(vt,z,Jt,Pt),vt.allowVerticalPlacement&&(this.markUsedOrientation(vt,Pt,Jt),this.placedOrientations[Jt.crossTileID]=Pt),{shift:dr,placedGlyphBoxes:pr}}},ms.prototype.placeLayerBucketPart=function(z,K,O){var $=this,pe=z.parameters,de=pe.bucket,Ie=pe.layout,$e=pe.posMatrix,pt=pe.textLabelPlaneMatrix,Kt=pe.labelToScreenMatrix,ir=pe.textPixelRatio,Jt=pe.holdingForFade,vt=pe.collisionBoxArray,Pt=pe.partiallyEvaluatedTextSize,Wt=pe.collisionGroup,rr=Ie.get(\"text-optional\"),dr=Ie.get(\"icon-optional\"),pr=Ie.get(\"text-allow-overlap\"),kr=Ie.get(\"icon-allow-overlap\"),Ar=Ie.get(\"text-rotation-alignment\")===\"map\",gr=Ie.get(\"text-pitch-alignment\")===\"map\",Cr=Ie.get(\"icon-text-fit\")!==\"none\",cr=Ie.get(\"symbol-z-order\")===\"viewport-y\",Gr=pr&&(kr||!de.hasIconData()||dr),ei=kr&&(pr||!de.hasTextData()||rr);!de.collisionArrays&&vt&&de.deserializeCollisionBoxes(vt);var yi=function(rn,bn){if(!K[rn.crossTileID]){if(Jt){$.placements[rn.crossTileID]=new Hs(!1,!1,!1);return}var mn=!1,Gn=!1,da=!0,No=null,Do={box:null,offscreen:null},ps={box:null,offscreen:null},fo=null,as=null,tl=null,zu=0,Mv=0,Ev=0;bn.textFeatureIndex?zu=bn.textFeatureIndex:rn.useRuntimeCollisionCircles&&(zu=rn.featureIndex),bn.verticalTextFeatureIndex&&(Mv=bn.verticalTextFeatureIndex);var yd=bn.textBox;if(yd){var Yv=function(Fu){var kl=i.WritingMode.horizontal;if(de.allowVerticalPlacement&&!Fu&&$.prevPlacement){var bd=$.prevPlacement.placedOrientations[rn.crossTileID];bd&&($.placedOrientations[rn.crossTileID]=bd,kl=bd,$.markUsedOrientation(de,kl,rn))}return kl},cg=function(Fu,kl){if(de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&bn.verticalTextBox)for(var bd=0,sy=de.writingModes;bd0&&(Nd=Nd.filter(function(Fu){return Fu!==xd.anchor}),Nd.unshift(xd.anchor))}var kv=function(Fu,kl,bd){for(var sy=Fu.x2-Fu.x1,A1=Fu.y2-Fu.y1,Yl=rn.textBoxScale,Bx=Cr&&!kr?kl:null,am={box:[],offscreen:!1},Mw=pr?Nd.length*2:Nd.length,Lv=0;Lv=Nd.length,Nx=$.attemptAnchorPlacement(om,Fu,sy,A1,Yl,Ar,gr,ir,$e,Wt,Ew,rn,de,bd,Bx);if(Nx&&(am=Nx.placedGlyphBoxes,am&&am.box&&am.box.length)){mn=!0,No=Nx.shift;break}}return am},Kv=function(){return kv(yd,bn.iconBox,i.WritingMode.horizontal)},Cv=function(){var Fu=bn.verticalTextBox,kl=Do&&Do.box&&Do.box.length;return de.allowVerticalPlacement&&!kl&&rn.numVerticalGlyphVertices>0&&Fu?kv(Fu,bn.verticalIconBox,i.WritingMode.vertical):{box:null,offscreen:null}};cg(Kv,Cv),Do&&(mn=Do.box,da=Do.offscreen);var ny=Yv(Do&&Do.box);if(!mn&&$.prevPlacement){var fg=$.prevPlacement.variableOffsets[rn.crossTileID];fg&&($.variableOffsets[rn.crossTileID]=fg,$.markUsedJustification(de,fg.anchor,rn,ny))}}else{var vp=function(Fu,kl){var bd=$.collisionIndex.placeCollisionBox(Fu,pr,ir,$e,Wt.predicate);return bd&&bd.box&&bd.box.length&&($.markUsedOrientation(de,kl,rn),$.placedOrientations[rn.crossTileID]=kl),bd},_d=function(){return vp(yd,i.WritingMode.horizontal)},pp=function(){var Fu=bn.verticalTextBox;return de.allowVerticalPlacement&&rn.numVerticalGlyphVertices>0&&Fu?vp(Fu,i.WritingMode.vertical):{box:null,offscreen:null}};cg(_d,pp),Yv(Do&&Do.box&&Do.box.length)}}if(fo=Do,mn=fo&&fo.box&&fo.box.length>0,da=fo&&fo.offscreen,rn.useRuntimeCollisionCircles){var Hf=de.text.placedSymbolArray.get(rn.centerJustifiedTextSymbolIndex),hg=i.evaluateSizeForFeature(de.textSizeData,Pt,Hf),ay=Ie.get(\"text-padding\"),Rh=rn.collisionCircleDiameter;as=$.collisionIndex.placeCollisionCircles(pr,Hf,de.lineVertexArray,de.glyphOffsetArray,hg,$e,pt,Kt,O,gr,Wt.predicate,Rh,ay),mn=pr||as.circles.length>0&&!as.collisionDetected,da=da&&as.offscreen}if(bn.iconFeatureIndex&&(Ev=bn.iconFeatureIndex),bn.iconBox){var rm=function(Fu){var kl=Cr&&No?fc(Fu,No.x,No.y,Ar,gr,$.transform.angle):Fu;return $.collisionIndex.placeCollisionBox(kl,kr,ir,$e,Wt.predicate)};ps&&ps.box&&ps.box.length&&bn.verticalIconBox?(tl=rm(bn.verticalIconBox),Gn=tl.box.length>0):(tl=rm(bn.iconBox),Gn=tl.box.length>0),da=da&&tl.offscreen}var w1=rr||rn.numHorizontalGlyphVertices===0&&rn.numVerticalGlyphVertices===0,T1=dr||rn.numIconVertices===0;if(!w1&&!T1?Gn=mn=Gn&&mn:T1?w1||(Gn=Gn&&mn):mn=Gn&&mn,mn&&fo&&fo.box&&(ps&&ps.box&&Mv?$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,Mv,Wt.ID):$.collisionIndex.insertCollisionBox(fo.box,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID)),Gn&&tl&&$.collisionIndex.insertCollisionBox(tl.box,Ie.get(\"icon-ignore-placement\"),de.bucketInstanceId,Ev,Wt.ID),as&&(mn&&$.collisionIndex.insertCollisionCircles(as.circles,Ie.get(\"text-ignore-placement\"),de.bucketInstanceId,zu,Wt.ID),O)){var oy=de.bucketInstanceId,im=$.collisionCircleArrays[oy];im===void 0&&(im=$.collisionCircleArrays[oy]=new Eo);for(var nm=0;nm=0;--Ri){var ln=tn[Ri];yi(de.symbolInstances.get(ln),de.collisionArrays[ln])}else for(var Qn=z.symbolInstanceStart;Qn=0&&(de>=0&&Kt!==de?z.text.placedSymbolArray.get(Kt).crossTileID=0:z.text.placedSymbolArray.get(Kt).crossTileID=O.crossTileID)}},ms.prototype.markUsedOrientation=function(z,K,O){for(var $=K===i.WritingMode.horizontal||K===i.WritingMode.horizontalOnly?K:0,pe=K===i.WritingMode.vertical?K:0,de=[O.leftJustifiedTextSymbolIndex,O.centerJustifiedTextSymbolIndex,O.rightJustifiedTextSymbolIndex],Ie=0,$e=de;Ie<$e.length;Ie+=1){var pt=$e[Ie];z.text.placedSymbolArray.get(pt).placedOrientation=$}O.verticalPlacedTextSymbolIndex&&(z.text.placedSymbolArray.get(O.verticalPlacedTextSymbolIndex).placedOrientation=pe)},ms.prototype.commit=function(z){this.commitTime=z,this.zoomAtLastRecencyCheck=this.transform.zoom;var K=this.prevPlacement,O=!1;this.prevZoomAdjustment=K?K.zoomAdjustment(this.transform.zoom):0;var $=K?K.symbolFadeChange(z):1,pe=K?K.opacities:{},de=K?K.variableOffsets:{},Ie=K?K.placedOrientations:{};for(var $e in this.placements){var pt=this.placements[$e],Kt=pe[$e];Kt?(this.opacities[$e]=new Ys(Kt,$,pt.text,pt.icon),O=O||pt.text!==Kt.text.placed||pt.icon!==Kt.icon.placed):(this.opacities[$e]=new Ys(null,$,pt.text,pt.icon,pt.skipFade),O=O||pt.text||pt.icon)}for(var ir in pe){var Jt=pe[ir];if(!this.opacities[ir]){var vt=new Ys(Jt,$,!1,!1);vt.isHidden()||(this.opacities[ir]=vt,O=O||Jt.text.placed||Jt.icon.placed)}}for(var Pt in de)!this.variableOffsets[Pt]&&this.opacities[Pt]&&!this.opacities[Pt].isHidden()&&(this.variableOffsets[Pt]=de[Pt]);for(var Wt in Ie)!this.placedOrientations[Wt]&&this.opacities[Wt]&&!this.opacities[Wt].isHidden()&&(this.placedOrientations[Wt]=Ie[Wt]);O?this.lastPlacementChangeTime=z:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=K?K.lastPlacementChangeTime:z)},ms.prototype.updateLayerOpacities=function(z,K){for(var O={},$=0,pe=K;$0||gr>0,yi=kr.numIconVertices>0,tn=$.placedOrientations[kr.crossTileID],Ri=tn===i.WritingMode.vertical,ln=tn===i.WritingMode.horizontal||tn===i.WritingMode.horizontalOnly;if(ei){var Qn=Ec(Gr.text),qn=Ri?Zn:Qn;Pt(z.text,Ar,qn);var rn=ln?Zn:Qn;Pt(z.text,gr,rn);var bn=Gr.text.isHidden();[kr.rightJustifiedTextSymbolIndex,kr.centerJustifiedTextSymbolIndex,kr.leftJustifiedTextSymbolIndex].forEach(function(Ev){Ev>=0&&(z.text.placedSymbolArray.get(Ev).hidden=bn||Ri?1:0)}),kr.verticalPlacedTextSymbolIndex>=0&&(z.text.placedSymbolArray.get(kr.verticalPlacedTextSymbolIndex).hidden=bn||ln?1:0);var mn=$.variableOffsets[kr.crossTileID];mn&&$.markUsedJustification(z,mn.anchor,kr,tn);var Gn=$.placedOrientations[kr.crossTileID];Gn&&($.markUsedJustification(z,\"left\",kr,Gn),$.markUsedOrientation(z,Gn,kr))}if(yi){var da=Ec(Gr.icon),No=!(Jt&&kr.verticalPlacedIconSymbolIndex&&Ri);if(kr.placedIconSymbolIndex>=0){var Do=No?da:Zn;Pt(z.icon,kr.numIconVertices,Do),z.icon.placedSymbolArray.get(kr.placedIconSymbolIndex).hidden=Gr.icon.isHidden()}if(kr.verticalPlacedIconSymbolIndex>=0){var ps=No?Zn:da;Pt(z.icon,kr.numVerticalIconVertices,ps),z.icon.placedSymbolArray.get(kr.verticalPlacedIconSymbolIndex).hidden=Gr.icon.isHidden()}}if(z.hasIconCollisionBoxData()||z.hasTextCollisionBoxData()){var fo=z.collisionArrays[pr];if(fo){var as=new i.Point(0,0);if(fo.textBox||fo.verticalTextBox){var tl=!0;if(pt){var zu=$.variableOffsets[Cr];zu?(as=Hu(zu.anchor,zu.width,zu.height,zu.textOffset,zu.textBoxScale),Kt&&as._rotate(ir?$.transform.angle:-$.transform.angle)):tl=!1}fo.textBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||Ri,as.x,as.y),fo.verticalTextBox&&on(z.textCollisionBox.collisionVertexArray,Gr.text.placed,!tl||ln,as.x,as.y)}var Mv=!!(!ln&&fo.verticalIconBox);fo.iconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,Mv,Jt?as.x:0,Jt?as.y:0),fo.verticalIconBox&&on(z.iconCollisionBox.collisionVertexArray,Gr.icon.placed,!Mv,Jt?as.x:0,Jt?as.y:0)}}},rr=0;rrz},ms.prototype.setStale=function(){this.stale=!0};function on(Y,z,K,O,$){Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0),Y.emplaceBack(z?1:0,K?1:0,O||0,$||0)}var fa=Math.pow(2,25),Qu=Math.pow(2,24),Il=Math.pow(2,17),vo=Math.pow(2,16),Wl=Math.pow(2,9),Ks=Math.pow(2,8),Zl=Math.pow(2,1);function Ec(Y){if(Y.opacity===0&&!Y.placed)return 0;if(Y.opacity===1&&Y.placed)return 4294967295;var z=Y.placed?1:0,K=Math.floor(Y.opacity*127);return K*fa+z*Qu+K*Il+z*vo+K*Wl+z*Ks+K*Zl+z}var Zn=0,ko=function(z){this._sortAcrossTiles=z.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&z.layout.get(\"symbol-sort-key\").constantOr(1)!==void 0,this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};ko.prototype.continuePlacement=function(z,K,O,$,pe){for(var de=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var Ie=z[this._currentPlacementIndex],$e=K[Ie],pt=this.placement.collisionIndex.transform.zoom;if($e.type===\"symbol\"&&(!$e.minzoom||$e.minzoom<=pt)&&(!$e.maxzoom||$e.maxzoom>pt)){this._inProgressLayer||(this._inProgressLayer=new ko($e));var Kt=this._inProgressLayer.continuePlacement(O[$e.source],this.placement,this._showCollisionBoxes,$e,de);if(Kt)return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Co.prototype.commit=function(z){return this.placement.commit(z),this.placement};var Tl=512/i.EXTENT/2,uf=function(z,K,O){this.tileID=z,this.indexedSymbolInstances={},this.bucketInstanceId=O;for(var $=0;$z.overscaledZ)for(var pt in $e){var Kt=$e[pt];Kt.tileID.isChildOf(z)&&Kt.findMatches(K.symbolInstances,z,de)}else{var ir=z.scaledTo(Number(Ie)),Jt=$e[ir.key];Jt&&Jt.findMatches(K.symbolInstances,z,de)}}for(var vt=0;vt0)throw new Error(\"Unimplemented: \"+de.map(function(Ie){return Ie.command}).join(\", \")+\".\");return pe.forEach(function(Ie){Ie.command!==\"setTransition\"&&$[Ie.command].apply($,Ie.args)}),this.stylesheet=O,!0},z.prototype.addImage=function(O,$){if(this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"An image with this name already exists.\")));this.imageManager.addImage(O,$),this._afterImageUpdated(O)},z.prototype.updateImage=function(O,$){this.imageManager.updateImage(O,$)},z.prototype.getImage=function(O){return this.imageManager.getImage(O)},z.prototype.removeImage=function(O){if(!this.getImage(O))return this.fire(new i.ErrorEvent(new Error(\"No image with this name exists.\")));this.imageManager.removeImage(O),this._afterImageUpdated(O)},z.prototype._afterImageUpdated=function(O){this._availableImages=this.imageManager.listImages(),this._changedImages[O]=!0,this._changed=!0,this.dispatcher.broadcast(\"setImages\",this._availableImages),this.fire(new i.Event(\"data\",{dataType:\"style\"}))},z.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},z.prototype.addSource=function(O,$,pe){var de=this;if(pe===void 0&&(pe={}),this._checkLoaded(),this.sourceCaches[O]!==void 0)throw new Error(\"There is already a source with this ID\");if(!$.type)throw new Error(\"The type property must be defined, but only the following properties were given: \"+Object.keys($).join(\", \")+\".\");var Ie=[\"vector\",\"raster\",\"geojson\",\"video\",\"image\"],$e=Ie.indexOf($.type)>=0;if(!($e&&this._validate(i.validateStyle.source,\"sources.\"+O,$,null,pe))){this.map&&this.map._collectResourceTiming&&($.collectResourceTiming=!0);var pt=this.sourceCaches[O]=new Zr(O,$,this.dispatcher);pt.style=this,pt.setEventedParent(this,function(){return{isSourceLoaded:de.loaded(),source:pt.serialize(),sourceId:O}}),pt.onAdd(this.map),this._changed=!0}},z.prototype.removeSource=function(O){if(this._checkLoaded(),this.sourceCaches[O]===void 0)throw new Error(\"There is no source with this ID\");for(var $ in this._layers)if(this._layers[$].source===O)return this.fire(new i.ErrorEvent(new Error('Source \"'+O+'\" cannot be removed while layer \"'+$+'\" is using it.')));var pe=this.sourceCaches[O];delete this.sourceCaches[O],delete this._updatedSources[O],pe.fire(new i.Event(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:O})),pe.setEventedParent(null),pe.clearTiles(),pe.onRemove&&pe.onRemove(this.map),this._changed=!0},z.prototype.setGeoJSONSourceData=function(O,$){this._checkLoaded();var pe=this.sourceCaches[O].getSource();pe.setData($),this._changed=!0},z.prototype.getSource=function(O){return this.sourceCaches[O]&&this.sourceCaches[O].getSource()},z.prototype.addLayer=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=O.id;if(this.getLayer(de)){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+de+'\" already exists on this map')));return}var Ie;if(O.type===\"custom\"){if(Al(this,i.validateCustomStyleLayer(O)))return;Ie=i.createStyleLayer(O)}else{if(typeof O.source==\"object\"&&(this.addSource(de,O.source),O=i.clone$1(O),O=i.extend(O,{source:de})),this._validate(i.validateStyle.layer,\"layers.\"+de,O,{arrayIndex:-1},pe))return;Ie=i.createStyleLayer(O),this._validateLayer(Ie),Ie.setEventedParent(this,{layer:{id:de}}),this._serializedLayers[Ie.id]=Ie.serialize()}var $e=$?this._order.indexOf($):this._order.length;if($&&$e===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}if(this._order.splice($e,0,de),this._layerOrderChanged=!0,this._layers[de]=Ie,this._removedLayers[de]&&Ie.source&&Ie.type!==\"custom\"){var pt=this._removedLayers[de];delete this._removedLayers[de],pt.type!==Ie.type?this._updatedSources[Ie.source]=\"clear\":(this._updatedSources[Ie.source]=\"reload\",this.sourceCaches[Ie.source].pause())}this._updateLayer(Ie),Ie.onAdd&&Ie.onAdd(this.map)},z.prototype.moveLayer=function(O,$){this._checkLoaded(),this._changed=!0;var pe=this._layers[O];if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be moved.\")));return}if(O!==$){var de=this._order.indexOf(O);this._order.splice(de,1);var Ie=$?this._order.indexOf($):this._order.length;if($&&Ie===-1){this.fire(new i.ErrorEvent(new Error('Layer with id \"'+$+'\" does not exist on this map.')));return}this._order.splice(Ie,0,O),this._layerOrderChanged=!0}},z.prototype.removeLayer=function(O){this._checkLoaded();var $=this._layers[O];if(!$){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be removed.\")));return}$.setEventedParent(null);var pe=this._order.indexOf(O);this._order.splice(pe,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[O]=$,delete this._layers[O],delete this._serializedLayers[O],delete this._updatedLayers[O],delete this._updatedPaintProps[O],$.onRemove&&$.onRemove(this.map)},z.prototype.getLayer=function(O){return this._layers[O]},z.prototype.hasLayer=function(O){return O in this._layers},z.prototype.setLayerZoomRange=function(O,$,pe){this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot have zoom extent.\")));return}de.minzoom===$&&de.maxzoom===pe||($!=null&&(de.minzoom=$),pe!=null&&(de.maxzoom=pe),this._updateLayer(de))},z.prototype.setFilter=function(O,$,pe){pe===void 0&&(pe={}),this._checkLoaded();var de=this.getLayer(O);if(!de){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be filtered.\")));return}if(!i.deepEqual(de.filter,$)){if($==null){de.filter=void 0,this._updateLayer(de);return}this._validate(i.validateStyle.filter,\"layers.\"+de.id+\".filter\",$,null,pe)||(de.filter=i.clone$1($),this._updateLayer(de))}},z.prototype.getFilter=function(O){return i.clone$1(this.getLayer(O).filter)},z.prototype.setLayoutProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}i.deepEqual(Ie.getLayoutProperty($),pe)||(Ie.setLayoutProperty($,pe,de),this._updateLayer(Ie))},z.prototype.getLayoutProperty=function(O,$){var pe=this.getLayer(O);if(!pe){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style.\")));return}return pe.getLayoutProperty($)},z.prototype.setPaintProperty=function(O,$,pe,de){de===void 0&&(de={}),this._checkLoaded();var Ie=this.getLayer(O);if(!Ie){this.fire(new i.ErrorEvent(new Error(\"The layer '\"+O+\"' does not exist in the map's style and cannot be styled.\")));return}if(!i.deepEqual(Ie.getPaintProperty($),pe)){var $e=Ie.setPaintProperty($,pe,de);$e&&this._updateLayer(Ie),this._changed=!0,this._updatedPaintProps[O]=!0}},z.prototype.getPaintProperty=function(O,$){return this.getLayer(O).getPaintProperty($)},z.prototype.setFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=O.sourceLayer,Ie=this.sourceCaches[pe];if(Ie===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var $e=Ie.getSource().type;if($e===\"geojson\"&&de){this.fire(new i.ErrorEvent(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\")));return}if($e===\"vector\"&&!de){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),Ie.setFeatureState(de,O.id,$)},z.prototype.removeFeatureState=function(O,$){this._checkLoaded();var pe=O.source,de=this.sourceCaches[pe];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+pe+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type,$e=Ie===\"vector\"?O.sourceLayer:void 0;if(Ie===\"vector\"&&!$e){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}if($&&typeof O.id!=\"string\"&&typeof O.id!=\"number\"){this.fire(new i.ErrorEvent(new Error(\"A feature id is required to remove its specific state property.\")));return}de.removeFeatureState($e,O.id,$)},z.prototype.getFeatureState=function(O){this._checkLoaded();var $=O.source,pe=O.sourceLayer,de=this.sourceCaches[$];if(de===void 0){this.fire(new i.ErrorEvent(new Error(\"The source '\"+$+\"' does not exist in the map's style.\")));return}var Ie=de.getSource().type;if(Ie===\"vector\"&&!pe){this.fire(new i.ErrorEvent(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));return}return O.id===void 0&&this.fire(new i.ErrorEvent(new Error(\"The feature id parameter must be provided.\"))),de.getFeatureState(pe,O.id)},z.prototype.getTransition=function(){return i.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},z.prototype.serialize=function(){return i.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:i.mapObject(this.sourceCaches,function(O){return O.serialize()}),layers:this._serializeLayers(this._order)},function(O){return O!==void 0})},z.prototype._updateLayer=function(O){this._updatedLayers[O.id]=!0,O.source&&!this._updatedSources[O.source]&&this.sourceCaches[O.source].getSource().type!==\"raster\"&&(this._updatedSources[O.source]=\"reload\",this.sourceCaches[O.source].pause()),this._changed=!0},z.prototype._flattenAndSortRenderedFeatures=function(O){for(var $=this,pe=function(ln){return $._layers[ln].type===\"fill-extrusion\"},de={},Ie=[],$e=this._order.length-1;$e>=0;$e--){var pt=this._order[$e];if(pe(pt)){de[pt]=$e;for(var Kt=0,ir=O;Kt=0;pr--){var kr=this._order[pr];if(pe(kr))for(var Ar=Ie.length-1;Ar>=0;Ar--){var gr=Ie[Ar].feature;if(de[gr.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",dc=\"attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}\",Sl=\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",ec=\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\",Ps=\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",ov=\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}\",wo=`#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_FragColor=color*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Od=`attribute vec2 a_pos;uniform mat4 u_matrix;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);}`,$o=`varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Ja=`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,Ef=`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,tc=`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`,uu=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Mh=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`,jc=`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,kf=`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n", + "#pragma mapbox: define highp float base\n", + "#pragma mapbox: define highp float height\n", + "#pragma mapbox: define highp vec4 color\n", + "void main() {\n", + "#pragma mapbox: initialize highp float base\n", + "#pragma mapbox: initialize highp float height\n", + "#pragma mapbox: initialize highp vec4 color\n", + "vec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`,Ml=`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Yh=`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n", + "? a_pos\n", + ": vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`,Eh=`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,nh=\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\",hf=`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n", + "#define PI 3.141592653589793\n", + "void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,kh=\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\",Kh=`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,rc=`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,ah=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Wc=`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}`,df=`uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Cu=`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`,Nf=`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Zc=`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`,ds=`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Ch=\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\",Bd=`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,Jh=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}`,Cf=`#define SDF_PX 8.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,pd=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`,Lu=`#define SDF_PX 8.0\n", + "#define SDF 1.0\n", + "#define ICON 0.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,$h=`const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`,eu=Is(Of,Gc),Pu=Is(vd,Bf),Lc=Is(ss,ff),fl=Is(ih,Ul),Xc=Is(Js,hc),ic=Is(Cc,ws),yu=Is($s,hs),Qs=Is(Ms,dc),Qh=Is(Sl,ec),gd=Is(Ps,ov),Gu=Is(wo,Od),Pc=Is($o,Ja),vc=Is(Ef,tc),sv=Is(uu,Mh),Lf=Is(jc,kf),Uf=Is(Ml,Yh),Iu=Is(Eh,nh),oh=Is(hf,kh),tu=Is(Kh,rc),vf=Is(ah,Wc),md=Is(df,Cu),sh=Is(Nf,Zc),Fs=Is(ds,Ch),_u=Is(Bd,Jh),xu=Is(Cf,pd),Lh=Is(Lu,$h);function Is(Y,z){var K=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,O=z.match(/attribute ([\\w]+) ([\\w]+)/g),$=Y.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),pe=z.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),de=pe?pe.concat($):$,Ie={};return Y=Y.replace(K,function($e,pt,Kt,ir,Jt){return Ie[Jt]=!0,pt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", + "#else\n", + "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", + "#endif\n", + "`:`\n", + "#ifdef HAS_UNIFORM_u_`+Jt+`\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", + "#endif\n", + "`}),z=z.replace(K,function($e,pt,Kt,ir,Jt){var vt=ir===\"float\"?\"vec2\":\"vec4\",Pt=Jt.match(/color/)?\"color\":vt;return Ie[Jt]?pt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + "uniform lowp float u_`+Jt+`_t;\n", + "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", + "varying `+Kt+\" \"+ir+\" \"+Jt+`;\n", + "#else\n", + "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", + "#endif\n", + "`:Pt===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + " `+Jt+\" = a_\"+Jt+`;\n", + "#else\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + " `+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", + "#else\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", + "#endif\n", + "`:pt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + "uniform lowp float u_`+Jt+`_t;\n", + "attribute `+Kt+\" \"+vt+\" a_\"+Jt+`;\n", + "#else\n", + "uniform `+Kt+\" \"+ir+\" u_\"+Jt+`;\n", + "#endif\n", + "`:Pt===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = a_\"+Jt+`;\n", + "#else\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_`+Jt+`\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = unpack_mix_\"+Pt+\"(a_\"+Jt+\", u_\"+Jt+`_t);\n", + "#else\n", + " `+Kt+\" \"+ir+\" \"+Jt+\" = u_\"+Jt+`;\n", + "#endif\n", + "`}),{fragmentSource:Y,vertexSource:z,staticAttributes:O,staticUniforms:de}}var Pf=Object.freeze({__proto__:null,prelude:eu,background:Pu,backgroundPattern:Lc,circle:fl,clippingMask:Xc,heatmap:ic,heatmapTexture:yu,collisionBox:Qs,collisionCircle:Qh,debug:gd,fill:Gu,fillOutline:Pc,fillOutlinePattern:vc,fillPattern:sv,fillExtrusion:Lf,fillExtrusionPattern:Uf,hillshadePrepare:Iu,hillshade:oh,line:tu,lineGradient:vf,linePattern:md,lineSDF:sh,raster:Fs,symbolIcon:_u,symbolSDF:xu,symbolTextAndIcon:Lh}),Ic=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};Ic.prototype.bind=function(z,K,O,$,pe,de,Ie,$e){this.context=z;for(var pt=this.boundPaintVertexBuffers.length!==$.length,Kt=0;!pt&&Kt<$.length;Kt++)this.boundPaintVertexBuffers[Kt]!==$[Kt]&&(pt=!0);var ir=!this.vao||this.boundProgram!==K||this.boundLayoutVertexBuffer!==O||pt||this.boundIndexBuffer!==pe||this.boundVertexOffset!==de||this.boundDynamicVertexBuffer!==Ie||this.boundDynamicVertexBuffer2!==$e;!z.extVertexArrayObject||ir?this.freshBind(K,O,$,pe,de,Ie,$e):(z.bindVertexArrayOES.set(this.vao),Ie&&Ie.bind(),pe&&pe.dynamicDraw&&pe.bind(),$e&&$e.bind())},Ic.prototype.freshBind=function(z,K,O,$,pe,de,Ie){var $e,pt=z.numAttributes,Kt=this.context,ir=Kt.gl;if(Kt.extVertexArrayObject)this.vao&&this.destroy(),this.vao=Kt.extVertexArrayObject.createVertexArrayOES(),Kt.bindVertexArrayOES.set(this.vao),$e=0,this.boundProgram=z,this.boundLayoutVertexBuffer=K,this.boundPaintVertexBuffers=O,this.boundIndexBuffer=$,this.boundVertexOffset=pe,this.boundDynamicVertexBuffer=de,this.boundDynamicVertexBuffer2=Ie;else{$e=Kt.currentNumAttributes||0;for(var Jt=pt;Jt<$e;Jt++)ir.disableVertexAttribArray(Jt)}K.enableAttributes(ir,z);for(var vt=0,Pt=O;vt>16,Ie>>16],u_pixel_coord_lower:[de&65535,Ie&65535]}}function pf(Y,z,K,O){var $=K.imageManager.getPattern(Y.from.toString()),pe=K.imageManager.getPattern(Y.to.toString()),de=K.imageManager.getPixelSize(),Ie=de.width,$e=de.height,pt=Math.pow(2,O.tileID.overscaledZ),Kt=O.tileSize*Math.pow(2,K.transform.tileZoom)/pt,ir=Kt*(O.tileID.canonical.x+O.tileID.wrap*pt),Jt=Kt*O.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:$.tl,u_pattern_br_a:$.br,u_pattern_tl_b:pe.tl,u_pattern_br_b:pe.br,u_texsize:[Ie,$e],u_mix:z.t,u_pattern_size_a:$.displaySize,u_pattern_size_b:pe.displaySize,u_scale_a:z.fromScale,u_scale_b:z.toScale,u_tile_units_to_pixels:1/Cs(O,1,K.transform.tileZoom),u_pixel_coord_upper:[ir>>16,Jt>>16],u_pixel_coord_lower:[ir&65535,Jt&65535]}}var Ph=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Rl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_lightpos:new i.Uniform3f(Y,z.u_lightpos),u_lightintensity:new i.Uniform1f(Y,z.u_lightintensity),u_lightcolor:new i.Uniform3f(Y,z.u_lightcolor),u_vertical_gradient:new i.Uniform1f(Y,z.u_vertical_gradient),u_height_factor:new i.Uniform1f(Y,z.u_height_factor),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ih=function(Y,z,K,O){var $=z.style.light,pe=$.properties.get(\"position\"),de=[pe.x,pe.y,pe.z],Ie=i.create$1();$.properties.get(\"anchor\")===\"viewport\"&&i.fromRotation(Ie,-z.transform.angle),i.transformMat3(de,de,Ie);var $e=$.properties.get(\"color\");return{u_matrix:Y,u_lightpos:de,u_lightintensity:$.properties.get(\"intensity\"),u_lightcolor:[$e.r,$e.g,$e.b],u_vertical_gradient:+K,u_opacity:O}},Wu=function(Y,z,K,O,$,pe,de){return i.extend(Ih(Y,z,K,O),pc(pe,z,de),{u_height_factor:-Math.pow(2,$.overscaledZ)/de.tileSize/8})},Rc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},gc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},hl=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world)}},ru=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mc=function(Y){return{u_matrix:Y}},Yc=function(Y,z,K,O){return i.extend(mc(Y),pc(K,z,O))},nc=function(Y,z){return{u_matrix:Y,u_world:z}},gf=function(Y,z,K,O,$){return i.extend(Yc(Y,z,K,O),{u_world:$})},gt=function(Y,z){return{u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_scale_with_map:new i.Uniform1i(Y,z.u_scale_with_map),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},Bt=function(Y,z,K,O){var $=Y.transform,pe,de;if(O.paint.get(\"circle-pitch-alignment\")===\"map\"){var Ie=Cs(K,1,$.zoom);pe=!0,de=[Ie,Ie]}else pe=!1,de=$.pixelsToGLUnits;return{u_camera_to_center_distance:$.cameraToCenterDistance,u_scale_with_map:+(O.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:Y.translatePosMatrix(z.posMatrix,K,O.paint.get(\"circle-translate\"),O.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+pe,u_device_pixel_ratio:i.browser.devicePixelRatio,u_extrude_scale:de}},wr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pixels_to_tile_units:new i.Uniform1f(Y,z.u_pixels_to_tile_units),u_extrude_scale:new i.Uniform2f(Y,z.u_extrude_scale),u_overscale_factor:new i.Uniform1f(Y,z.u_overscale_factor)}},vr=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_inv_matrix:new i.UniformMatrix4f(Y,z.u_inv_matrix),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_viewport_size:new i.Uniform2f(Y,z.u_viewport_size)}},Ur=function(Y,z,K){var O=Cs(K,1,z.zoom),$=Math.pow(2,z.zoom-K.tileID.overscaledZ),pe=K.tileID.overscaleFactor();return{u_matrix:Y,u_camera_to_center_distance:z.cameraToCenterDistance,u_pixels_to_tile_units:O,u_extrude_scale:[z.pixelsToGLUnits[0]/(O*$),z.pixelsToGLUnits[1]/(O*$)],u_overscale_factor:pe}},fi=function(Y,z,K){return{u_matrix:Y,u_inv_matrix:z,u_camera_to_center_distance:K.cameraToCenterDistance,u_viewport_size:[K.width,K.height]}},xi=function(Y,z){return{u_color:new i.UniformColor(Y,z.u_color),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_overlay:new i.Uniform1i(Y,z.u_overlay),u_overlay_scale:new i.Uniform1f(Y,z.u_overlay_scale)}},Fi=function(Y,z,K){return K===void 0&&(K=1),{u_matrix:Y,u_color:z,u_overlay:0,u_overlay_scale:K}},Xi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},hn=function(Y){return{u_matrix:Y}},Ti=function(Y,z){return{u_extrude_scale:new i.Uniform1f(Y,z.u_extrude_scale),u_intensity:new i.Uniform1f(Y,z.u_intensity),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix)}},qi=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_world:new i.Uniform2f(Y,z.u_world),u_image:new i.Uniform1i(Y,z.u_image),u_color_ramp:new i.Uniform1i(Y,z.u_color_ramp),u_opacity:new i.Uniform1f(Y,z.u_opacity)}},Ii=function(Y,z,K,O){return{u_matrix:Y,u_extrude_scale:Cs(z,1,K),u_intensity:O}},mi=function(Y,z,K,O){var $=i.create();i.ortho($,0,Y.width,Y.height,0,0,1);var pe=Y.context.gl;return{u_matrix:$,u_world:[pe.drawingBufferWidth,pe.drawingBufferHeight],u_image:K,u_color_ramp:O,u_opacity:z.paint.get(\"heatmap-opacity\")}},Pn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_latrange:new i.Uniform2f(Y,z.u_latrange),u_light:new i.Uniform2f(Y,z.u_light),u_shadow:new i.UniformColor(Y,z.u_shadow),u_highlight:new i.UniformColor(Y,z.u_highlight),u_accent:new i.UniformColor(Y,z.u_accent)}},Ma=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_image:new i.Uniform1i(Y,z.u_image),u_dimension:new i.Uniform2f(Y,z.u_dimension),u_zoom:new i.Uniform1f(Y,z.u_zoom),u_unpack:new i.Uniform4f(Y,z.u_unpack)}},Ta=function(Y,z,K){var O=K.paint.get(\"hillshade-shadow-color\"),$=K.paint.get(\"hillshade-highlight-color\"),pe=K.paint.get(\"hillshade-accent-color\"),de=K.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);K.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(de-=Y.transform.angle);var Ie=!Y.options.moving;return{u_matrix:Y.transform.calculatePosMatrix(z.tileID.toUnwrapped(),Ie),u_image:0,u_latrange:qa(Y,z.tileID),u_light:[K.paint.get(\"hillshade-exaggeration\"),de],u_shadow:O,u_highlight:$,u_accent:pe}},Ea=function(Y,z){var K=z.stride,O=i.create();return i.ortho(O,0,i.EXTENT,-i.EXTENT,0,0,1),i.translate(O,O,[0,-i.EXTENT,0]),{u_matrix:O,u_image:1,u_dimension:[K,K],u_zoom:Y.overscaledZ,u_unpack:z.getUnpackVector()}};function qa(Y,z){var K=Math.pow(2,z.canonical.z),O=z.canonical.y;return[new i.MercatorCoordinate(0,O/K).toLngLat().lat,new i.MercatorCoordinate(0,(O+1)/K).toLngLat().lat]}var Cn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels)}},sn=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_image:new i.Uniform1i(Y,z.u_image),u_image_height:new i.Uniform1f(Y,z.u_image_height)}},Ua=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_image:new i.Uniform1i(Y,z.u_image),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_scale:new i.Uniform3f(Y,z.u_scale),u_fade:new i.Uniform1f(Y,z.u_fade)}},mo=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_ratio:new i.Uniform1f(Y,z.u_ratio),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_units_to_pixels:new i.Uniform2f(Y,z.u_units_to_pixels),u_patternscale_a:new i.Uniform2f(Y,z.u_patternscale_a),u_patternscale_b:new i.Uniform2f(Y,z.u_patternscale_b),u_sdfgamma:new i.Uniform1f(Y,z.u_sdfgamma),u_image:new i.Uniform1i(Y,z.u_image),u_tex_y_a:new i.Uniform1f(Y,z.u_tex_y_a),u_tex_y_b:new i.Uniform1f(Y,z.u_tex_y_b),u_mix:new i.Uniform1f(Y,z.u_mix)}},Xo=function(Y,z,K){var O=Y.transform;return{u_matrix:yl(Y,z,K),u_ratio:1/Cs(z,1,O.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_units_to_pixels:[1/O.pixelsToGLUnits[0],1/O.pixelsToGLUnits[1]]}},Ts=function(Y,z,K,O){return i.extend(Xo(Y,z,K),{u_image:0,u_image_height:O})},Qo=function(Y,z,K,O){var $=Y.transform,pe=Bo(z,$);return{u_matrix:yl(Y,z,K),u_texsize:z.imageAtlasTexture.size,u_ratio:1/Cs(z,1,$.zoom),u_device_pixel_ratio:i.browser.devicePixelRatio,u_image:0,u_scale:[pe,O.fromScale,O.toScale],u_fade:O.t,u_units_to_pixels:[1/$.pixelsToGLUnits[0],1/$.pixelsToGLUnits[1]]}},ys=function(Y,z,K,O,$){var pe=Y.transform,de=Y.lineAtlas,Ie=Bo(z,pe),$e=K.layout.get(\"line-cap\")===\"round\",pt=de.getDash(O.from,$e),Kt=de.getDash(O.to,$e),ir=pt.width*$.fromScale,Jt=Kt.width*$.toScale;return i.extend(Xo(Y,z,K),{u_patternscale_a:[Ie/ir,-pt.height/2],u_patternscale_b:[Ie/Jt,-Kt.height/2],u_sdfgamma:de.width/(Math.min(ir,Jt)*256*i.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:pt.y,u_tex_y_b:Kt.y,u_mix:$.t})};function Bo(Y,z){return 1/Cs(Y,1,z.tileZoom)}function yl(Y,z,K){return Y.translatePosMatrix(z.tileID.posMatrix,z,K.paint.get(\"line-translate\"),K.paint.get(\"line-translate-anchor\"))}var Gs=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_tl_parent:new i.Uniform2f(Y,z.u_tl_parent),u_scale_parent:new i.Uniform1f(Y,z.u_scale_parent),u_buffer_scale:new i.Uniform1f(Y,z.u_buffer_scale),u_fade_t:new i.Uniform1f(Y,z.u_fade_t),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image0:new i.Uniform1i(Y,z.u_image0),u_image1:new i.Uniform1i(Y,z.u_image1),u_brightness_low:new i.Uniform1f(Y,z.u_brightness_low),u_brightness_high:new i.Uniform1f(Y,z.u_brightness_high),u_saturation_factor:new i.Uniform1f(Y,z.u_saturation_factor),u_contrast_factor:new i.Uniform1f(Y,z.u_contrast_factor),u_spin_weights:new i.Uniform3f(Y,z.u_spin_weights)}},Rs=function(Y,z,K,O,$){return{u_matrix:Y,u_tl_parent:z,u_scale_parent:K,u_buffer_scale:1,u_fade_t:O.mix,u_opacity:O.opacity*$.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:$.paint.get(\"raster-brightness-min\"),u_brightness_high:$.paint.get(\"raster-brightness-max\"),u_saturation_factor:vs($.paint.get(\"raster-saturation\")),u_contrast_factor:Ka($.paint.get(\"raster-contrast\")),u_spin_weights:ia($.paint.get(\"raster-hue-rotate\"))}};function ia(Y){Y*=Math.PI/180;var z=Math.sin(Y),K=Math.cos(Y);return[(2*K+1)/3,(-Math.sqrt(3)*z-K+1)/3,(Math.sqrt(3)*z-K+1)/3]}function Ka(Y){return Y>0?1/(1-Y):1+Y}function vs(Y){return Y>0?1-1/(1.001-Y):-Y}var Ko=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture)}},iu=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texture:new i.Uniform1i(Y,z.u_texture),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},Ru=function(Y,z){return{u_is_size_zoom_constant:new i.Uniform1i(Y,z.u_is_size_zoom_constant),u_is_size_feature_constant:new i.Uniform1i(Y,z.u_is_size_feature_constant),u_size_t:new i.Uniform1f(Y,z.u_size_t),u_size:new i.Uniform1f(Y,z.u_size),u_camera_to_center_distance:new i.Uniform1f(Y,z.u_camera_to_center_distance),u_pitch:new i.Uniform1f(Y,z.u_pitch),u_rotate_symbol:new i.Uniform1i(Y,z.u_rotate_symbol),u_aspect_ratio:new i.Uniform1f(Y,z.u_aspect_ratio),u_fade_change:new i.Uniform1f(Y,z.u_fade_change),u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_label_plane_matrix:new i.UniformMatrix4f(Y,z.u_label_plane_matrix),u_coord_matrix:new i.UniformMatrix4f(Y,z.u_coord_matrix),u_is_text:new i.Uniform1i(Y,z.u_is_text),u_pitch_with_map:new i.Uniform1i(Y,z.u_pitch_with_map),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_texsize_icon:new i.Uniform2f(Y,z.u_texsize_icon),u_texture:new i.Uniform1i(Y,z.u_texture),u_texture_icon:new i.Uniform1i(Y,z.u_texture_icon),u_gamma_scale:new i.Uniform1f(Y,z.u_gamma_scale),u_device_pixel_ratio:new i.Uniform1f(Y,z.u_device_pixel_ratio),u_is_halo:new i.Uniform1i(Y,z.u_is_halo)}},ac=function(Y,z,K,O,$,pe,de,Ie,$e,pt){var Kt=$.transform;return{u_is_size_zoom_constant:+(Y===\"constant\"||Y===\"source\"),u_is_size_feature_constant:+(Y===\"constant\"||Y===\"camera\"),u_size_t:z?z.uSizeT:0,u_size:z?z.uSize:0,u_camera_to_center_distance:Kt.cameraToCenterDistance,u_pitch:Kt.pitch/360*2*Math.PI,u_rotate_symbol:+K,u_aspect_ratio:Kt.width/Kt.height,u_fade_change:$.options.fadeDuration?$.symbolFadeChange:1,u_matrix:pe,u_label_plane_matrix:de,u_coord_matrix:Ie,u_is_text:+$e,u_pitch_with_map:+O,u_texsize:pt,u_texture:0}},mf=function(Y,z,K,O,$,pe,de,Ie,$e,pt,Kt){var ir=$.transform;return i.extend(ac(Y,z,K,O,$,pe,de,Ie,$e,pt),{u_gamma_scale:O?Math.cos(ir._pitch)*ir.cameraToCenterDistance:1,u_device_pixel_ratio:i.browser.devicePixelRatio,u_is_halo:+Kt})},bu=function(Y,z,K,O,$,pe,de,Ie,$e,pt){return i.extend(mf(Y,z,K,O,$,pe,de,Ie,!0,$e,!0),{u_texsize_icon:pt,u_texture_icon:1})},Kc=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_color:new i.UniformColor(Y,z.u_color)}},Du=function(Y,z){return{u_matrix:new i.UniformMatrix4f(Y,z.u_matrix),u_opacity:new i.Uniform1f(Y,z.u_opacity),u_image:new i.Uniform1i(Y,z.u_image),u_pattern_tl_a:new i.Uniform2f(Y,z.u_pattern_tl_a),u_pattern_br_a:new i.Uniform2f(Y,z.u_pattern_br_a),u_pattern_tl_b:new i.Uniform2f(Y,z.u_pattern_tl_b),u_pattern_br_b:new i.Uniform2f(Y,z.u_pattern_br_b),u_texsize:new i.Uniform2f(Y,z.u_texsize),u_mix:new i.Uniform1f(Y,z.u_mix),u_pattern_size_a:new i.Uniform2f(Y,z.u_pattern_size_a),u_pattern_size_b:new i.Uniform2f(Y,z.u_pattern_size_b),u_scale_a:new i.Uniform1f(Y,z.u_scale_a),u_scale_b:new i.Uniform1f(Y,z.u_scale_b),u_pixel_coord_upper:new i.Uniform2f(Y,z.u_pixel_coord_upper),u_pixel_coord_lower:new i.Uniform2f(Y,z.u_pixel_coord_lower),u_tile_units_to_pixels:new i.Uniform1f(Y,z.u_tile_units_to_pixels)}},Dc=function(Y,z,K){return{u_matrix:Y,u_opacity:z,u_color:K}},Da=function(Y,z,K,O,$,pe){return i.extend(pf(O,pe,K,$),{u_matrix:Y,u_opacity:z})},eo={fillExtrusion:Ph,fillExtrusionPattern:Rl,fill:Rc,fillPattern:gc,fillOutline:hl,fillOutlinePattern:ru,circle:gt,collisionBox:wr,collisionCircle:vr,debug:xi,clippingMask:Xi,heatmap:Ti,heatmapTexture:qi,hillshade:Pn,hillshadePrepare:Ma,line:Cn,lineGradient:sn,linePattern:Ua,lineSDF:mo,raster:Gs,symbolIcon:Ko,symbolSDF:iu,symbolTextAndIcon:Ru,background:Kc,backgroundPattern:Du},Jc;function yc(Y,z,K,O,$,pe,de){for(var Ie=Y.context,$e=Ie.gl,pt=Y.useProgram(\"collisionBox\"),Kt=[],ir=0,Jt=0,vt=0;vt0){var Ar=i.create(),gr=dr;i.mul(Ar,rr.placementInvProjMatrix,Y.transform.glCoordMatrix),i.mul(Ar,Ar,rr.placementViewportMatrix),Kt.push({circleArray:kr,circleOffset:Jt,transform:gr,invTransform:Ar}),ir+=kr.length/4,Jt=ir}pr&&pt.draw(Ie,$e.LINES,Wi.disabled,$i.disabled,Y.colorModeForRenderPass(),yr.disabled,Ur(dr,Y.transform,Wt),K.id,pr.layoutVertexBuffer,pr.indexBuffer,pr.segments,null,Y.transform.zoom,null,null,pr.collisionVertexBuffer)}}if(!(!de||!Kt.length)){var Cr=Y.useProgram(\"collisionCircle\"),cr=new i.StructArrayLayout2f1f2i16;cr.resize(ir*4),cr._trim();for(var Gr=0,ei=0,yi=Kt;ei=0&&(Pt[rr.associatedIconIndex]={shiftedAnchor:ln,angle:Qn})}}if(Kt){vt.clear();for(var rn=Y.icon.placedSymbolArray,bn=0;bn0){var de=i.browser.now(),Ie=(de-Y.timeAdded)/pe,$e=z?(de-z.timeAdded)/pe:-1,pt=K.getSource(),Kt=$.coveringZoomLevel({tileSize:pt.tileSize,roundZoom:pt.roundZoom}),ir=!z||Math.abs(z.tileID.overscaledZ-Kt)>Math.abs(Y.tileID.overscaledZ-Kt),Jt=ir&&Y.refreshedUponExpiration?1:i.clamp(ir?Ie:1-$e,0,1);return Y.refreshedUponExpiration&&Ie>=1&&(Y.refreshedUponExpiration=!1),z?{opacity:1,mix:1-Jt}:{opacity:Jt,mix:0}}else return{opacity:1,mix:0}}function Ut(Y,z,K){var O=K.paint.get(\"background-color\"),$=K.paint.get(\"background-opacity\");if($!==0){var pe=Y.context,de=pe.gl,Ie=Y.transform,$e=Ie.tileSize,pt=K.paint.get(\"background-pattern\");if(!Y.isPatternMissing(pt)){var Kt=!pt&&O.a===1&&$===1&&Y.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(Y.renderPass===Kt){var ir=$i.disabled,Jt=Y.depthModeForSublayer(0,Kt===\"opaque\"?Wi.ReadWrite:Wi.ReadOnly),vt=Y.colorModeForRenderPass(),Pt=Y.useProgram(pt?\"backgroundPattern\":\"background\"),Wt=Ie.coveringTiles({tileSize:$e});pt&&(pe.activeTexture.set(de.TEXTURE0),Y.imageManager.bind(Y.context));for(var rr=K.getCrossfadeParameters(),dr=0,pr=Wt;dr \"+K.overscaledZ);var dr=rr+\" \"+vt+\"kb\";Ga(Y,dr),de.draw(O,$.TRIANGLES,Ie,$e,ft.alphaBlended,yr.disabled,Fi(pe,i.Color.transparent,Wt),Kt,Y.debugBuffer,Y.quadTriangleIndexBuffer,Y.debugSegments)}function Ga(Y,z){Y.initDebugOverlayCanvas();var K=Y.debugOverlayCanvas,O=Y.context.gl,$=Y.debugOverlayCanvas.getContext(\"2d\");$.clearRect(0,0,K.width,K.height),$.shadowColor=\"white\",$.shadowBlur=2,$.lineWidth=1.5,$.strokeStyle=\"white\",$.textBaseline=\"top\",$.font=\"bold 36px Open Sans, sans-serif\",$.fillText(z,5,5),$.strokeText(z,5,5),Y.debugOverlayTexture.update(K),Y.debugOverlayTexture.bind(O.LINEAR,O.CLAMP_TO_EDGE)}function To(Y,z,K){var O=Y.context,$=K.implementation;if(Y.renderPass===\"offscreen\"){var pe=$.prerender;pe&&(Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),pe.call($,O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState())}else if(Y.renderPass===\"translucent\"){Y.setCustomLayerDefaults(),O.setColorMode(Y.colorModeForRenderPass()),O.setStencilMode($i.disabled);var de=$.renderingMode===\"3d\"?new Wi(Y.context.gl.LEQUAL,Wi.ReadWrite,Y.depthRangeFor3D):Y.depthModeForSublayer(0,Wi.ReadOnly);O.setDepthMode(de),$.render(O.gl,Y.transform.customLayerMatrix()),O.setDirty(),Y.setBaseState(),O.bindFramebuffer.set(null)}}var Wa={symbol:w,circle:it,heatmap:yt,line:Sr,fill:he,\"fill-extrusion\":Pe,hillshade:Je,raster:Mt,background:Ut,debug:pa,custom:To},co=function(z,K){this.context=new Fr(z),this.transform=K,this._tileTextures={},this.setup(),this.numSublayers=Zr.maxUnderzooming+Zr.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new rh,this.gpuTimers={}};co.prototype.resize=function(z,K){if(this.width=z*i.browser.devicePixelRatio,this.height=K*i.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var O=0,$=this.style._order;O<$.length;O+=1){var pe=$[O];this.style._layers[pe].resize()}},co.prototype.setup=function(){var z=this.context,K=new i.StructArrayLayout2i4;K.emplaceBack(0,0),K.emplaceBack(i.EXTENT,0),K.emplaceBack(0,i.EXTENT),K.emplaceBack(i.EXTENT,i.EXTENT),this.tileExtentBuffer=z.createVertexBuffer(K,kc.members),this.tileExtentSegments=i.SegmentVector.simpleSegment(0,0,4,2);var O=new i.StructArrayLayout2i4;O.emplaceBack(0,0),O.emplaceBack(i.EXTENT,0),O.emplaceBack(0,i.EXTENT),O.emplaceBack(i.EXTENT,i.EXTENT),this.debugBuffer=z.createVertexBuffer(O,kc.members),this.debugSegments=i.SegmentVector.simpleSegment(0,0,4,5);var $=new i.StructArrayLayout4i8;$.emplaceBack(0,0,0,0),$.emplaceBack(i.EXTENT,0,i.EXTENT,0),$.emplaceBack(0,i.EXTENT,0,i.EXTENT),$.emplaceBack(i.EXTENT,i.EXTENT,i.EXTENT,i.EXTENT),this.rasterBoundsBuffer=z.createVertexBuffer($,Me.members),this.rasterBoundsSegments=i.SegmentVector.simpleSegment(0,0,4,2);var pe=new i.StructArrayLayout2i4;pe.emplaceBack(0,0),pe.emplaceBack(1,0),pe.emplaceBack(0,1),pe.emplaceBack(1,1),this.viewportBuffer=z.createVertexBuffer(pe,kc.members),this.viewportSegments=i.SegmentVector.simpleSegment(0,0,4,2);var de=new i.StructArrayLayout1ui2;de.emplaceBack(0),de.emplaceBack(1),de.emplaceBack(3),de.emplaceBack(2),de.emplaceBack(0),this.tileBorderIndexBuffer=z.createIndexBuffer(de);var Ie=new i.StructArrayLayout3ui6;Ie.emplaceBack(0,1,2),Ie.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=z.createIndexBuffer(Ie),this.emptyTexture=new i.Texture(z,{width:1,height:1,data:new Uint8Array([0,0,0,0])},z.gl.RGBA);var $e=this.context.gl;this.stencilClearMode=new $i({func:$e.ALWAYS,mask:0},0,255,$e.ZERO,$e.ZERO,$e.ZERO)},co.prototype.clearStencil=function(){var z=this.context,K=z.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var O=i.create();i.ortho(O,0,this.width,this.height,0,0,1),i.scale(O,O,[K.drawingBufferWidth,K.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(z,K.TRIANGLES,Wi.disabled,this.stencilClearMode,ft.disabled,yr.disabled,hn(O),\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},co.prototype._renderTileClippingMasks=function(z,K){if(!(this.currentStencilSource===z.source||!z.isTileClipped()||!K||!K.length)){this.currentStencilSource=z.source;var O=this.context,$=O.gl;this.nextStencilID+K.length>256&&this.clearStencil(),O.setColorMode(ft.disabled),O.setDepthMode(Wi.disabled);var pe=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(var de=0,Ie=K;de256&&this.clearStencil();var z=this.nextStencilID++,K=this.context.gl;return new $i({func:K.NOTEQUAL,mask:255},z,255,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilModeForClipping=function(z){var K=this.context.gl;return new $i({func:K.EQUAL,mask:255},this._tileClippingMaskIDs[z.key],0,K.KEEP,K.KEEP,K.REPLACE)},co.prototype.stencilConfigForOverlap=function(z){var K,O=this.context.gl,$=z.sort(function(pt,Kt){return Kt.overscaledZ-pt.overscaledZ}),pe=$[$.length-1].overscaledZ,de=$[0].overscaledZ-pe+1;if(de>1){this.currentStencilSource=void 0,this.nextStencilID+de>256&&this.clearStencil();for(var Ie={},$e=0;$e=0;this.currentLayer--){var Ar=this.style._layers[$[this.currentLayer]],gr=pe[Ar.source],Cr=$e[Ar.source];this._renderTileClippingMasks(Ar,Cr),this.renderLayer(this,gr,Ar,Cr)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayer<$.length;this.currentLayer++){var cr=this.style._layers[$[this.currentLayer]],Gr=pe[cr.source],ei=(cr.type===\"symbol\"?Kt:pt)[cr.source];this._renderTileClippingMasks(cr,$e[cr.source]),this.renderLayer(this,Gr,cr,ei)}if(this.options.showTileBoundaries){var yi,tn,Ri=i.values(this.style._layers);Ri.forEach(function(ln){ln.source&&!ln.isHidden(O.transform.zoom)&&(ln.source!==(tn&&tn.id)&&(tn=O.style.sourceCaches[ln.source]),(!yi||yi.getSource().maxzoom0?K.pop():null},co.prototype.isPatternMissing=function(z){if(!z)return!1;if(!z.from||!z.to)return!0;var K=this.imageManager.getPattern(z.from.toString()),O=this.imageManager.getPattern(z.to.toString());return!K||!O},co.prototype.useProgram=function(z,K){this.cache=this.cache||{};var O=\"\"+z+(K?K.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\");return this.cache[O]||(this.cache[O]=new Vf(this.context,z,Pf[z],K,eo[z],this._showOverdrawInspector)),this.cache[O]},co.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},co.prototype.setBaseState=function(){var z=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(z.FUNC_ADD)},co.prototype.initDebugOverlayCanvas=function(){if(this.debugOverlayCanvas==null){this.debugOverlayCanvas=i.window.document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var z=this.context.gl;this.debugOverlayTexture=new i.Texture(this.context,this.debugOverlayCanvas,z.RGBA)}},co.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var Ro=function(z,K){this.points=z,this.planes=K};Ro.fromInvProjectionMatrix=function(z,K,O){var $=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]],pe=Math.pow(2,O),de=$.map(function(pt){return i.transformMat4([],pt,z)}).map(function(pt){return i.scale$1([],pt,1/pt[3]/K*pe)}),Ie=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],$e=Ie.map(function(pt){var Kt=i.sub([],de[pt[0]],de[pt[1]]),ir=i.sub([],de[pt[2]],de[pt[1]]),Jt=i.normalize([],i.cross([],Kt,ir)),vt=-i.dot(Jt,de[pt[1]]);return Jt.concat(vt)});return new Ro(de,$e)};var Ds=function(z,K){this.min=z,this.max=K,this.center=i.scale$2([],i.add([],this.min,this.max),.5)};Ds.prototype.quadrant=function(z){for(var K=[z%2===0,z<2],O=i.clone$2(this.min),$=i.clone$2(this.max),pe=0;pe=0;if(de===0)return 0;de!==K.length&&(O=!1)}if(O)return 2;for(var $e=0;$e<3;$e++){for(var pt=Number.MAX_VALUE,Kt=-Number.MAX_VALUE,ir=0;irthis.max[$e]-this.min[$e])return 0}return 1};var As=function(z,K,O,$){if(z===void 0&&(z=0),K===void 0&&(K=0),O===void 0&&(O=0),$===void 0&&($=0),isNaN(z)||z<0||isNaN(K)||K<0||isNaN(O)||O<0||isNaN($)||$<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=z,this.bottom=K,this.left=O,this.right=$};As.prototype.interpolate=function(z,K,O){return K.top!=null&&z.top!=null&&(this.top=i.number(z.top,K.top,O)),K.bottom!=null&&z.bottom!=null&&(this.bottom=i.number(z.bottom,K.bottom,O)),K.left!=null&&z.left!=null&&(this.left=i.number(z.left,K.left,O)),K.right!=null&&z.right!=null&&(this.right=i.number(z.right,K.right,O)),this},As.prototype.getCenter=function(z,K){var O=i.clamp((this.left+z-this.right)/2,0,z),$=i.clamp((this.top+K-this.bottom)/2,0,K);return new i.Point(O,$)},As.prototype.equals=function(z){return this.top===z.top&&this.bottom===z.bottom&&this.left===z.left&&this.right===z.right},As.prototype.clone=function(){return new As(this.top,this.bottom,this.left,this.right)},As.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var yo=function(z,K,O,$,pe){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=pe===void 0?!0:pe,this._minZoom=z||0,this._maxZoom=K||22,this._minPitch=O==null?0:O,this._maxPitch=$==null?60:$,this.setMaxBounds(),this.width=0,this.height=0,this._center=new i.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new As,this._posMatrixCache={},this._alignedPosMatrixCache={}},po={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};yo.prototype.clone=function(){var z=new yo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return z.tileSize=this.tileSize,z.latRange=this.latRange,z.width=this.width,z.height=this.height,z._center=this._center,z.zoom=this.zoom,z.angle=this.angle,z._fov=this._fov,z._pitch=this._pitch,z._unmodified=this._unmodified,z._edgeInsets=this._edgeInsets.clone(),z._calcMatrices(),z},po.minZoom.get=function(){return this._minZoom},po.minZoom.set=function(Y){this._minZoom!==Y&&(this._minZoom=Y,this.zoom=Math.max(this.zoom,Y))},po.maxZoom.get=function(){return this._maxZoom},po.maxZoom.set=function(Y){this._maxZoom!==Y&&(this._maxZoom=Y,this.zoom=Math.min(this.zoom,Y))},po.minPitch.get=function(){return this._minPitch},po.minPitch.set=function(Y){this._minPitch!==Y&&(this._minPitch=Y,this.pitch=Math.max(this.pitch,Y))},po.maxPitch.get=function(){return this._maxPitch},po.maxPitch.set=function(Y){this._maxPitch!==Y&&(this._maxPitch=Y,this.pitch=Math.min(this.pitch,Y))},po.renderWorldCopies.get=function(){return this._renderWorldCopies},po.renderWorldCopies.set=function(Y){Y===void 0?Y=!0:Y===null&&(Y=!1),this._renderWorldCopies=Y},po.worldSize.get=function(){return this.tileSize*this.scale},po.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},po.size.get=function(){return new i.Point(this.width,this.height)},po.bearing.get=function(){return-this.angle/Math.PI*180},po.bearing.set=function(Y){var z=-i.wrap(Y,-180,180)*Math.PI/180;this.angle!==z&&(this._unmodified=!1,this.angle=z,this._calcMatrices(),this.rotationMatrix=i.create$2(),i.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},po.pitch.get=function(){return this._pitch/Math.PI*180},po.pitch.set=function(Y){var z=i.clamp(Y,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==z&&(this._unmodified=!1,this._pitch=z,this._calcMatrices())},po.fov.get=function(){return this._fov/Math.PI*180},po.fov.set=function(Y){Y=Math.max(.01,Math.min(60,Y)),this._fov!==Y&&(this._unmodified=!1,this._fov=Y/180*Math.PI,this._calcMatrices())},po.zoom.get=function(){return this._zoom},po.zoom.set=function(Y){var z=Math.min(Math.max(Y,this.minZoom),this.maxZoom);this._zoom!==z&&(this._unmodified=!1,this._zoom=z,this.scale=this.zoomScale(z),this.tileZoom=Math.floor(z),this.zoomFraction=z-this.tileZoom,this._constrain(),this._calcMatrices())},po.center.get=function(){return this._center},po.center.set=function(Y){Y.lat===this._center.lat&&Y.lng===this._center.lng||(this._unmodified=!1,this._center=Y,this._constrain(),this._calcMatrices())},po.padding.get=function(){return this._edgeInsets.toJSON()},po.padding.set=function(Y){this._edgeInsets.equals(Y)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,Y,1),this._calcMatrices())},po.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},yo.prototype.isPaddingEqual=function(z){return this._edgeInsets.equals(z)},yo.prototype.interpolatePadding=function(z,K,O){this._unmodified=!1,this._edgeInsets.interpolate(z,K,O),this._constrain(),this._calcMatrices()},yo.prototype.coveringZoomLevel=function(z){var K=(z.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/z.tileSize));return Math.max(0,K)},yo.prototype.getVisibleUnwrappedCoordinates=function(z){var K=[new i.UnwrappedTileID(0,z)];if(this._renderWorldCopies)for(var O=this.pointCoordinate(new i.Point(0,0)),$=this.pointCoordinate(new i.Point(this.width,0)),pe=this.pointCoordinate(new i.Point(this.width,this.height)),de=this.pointCoordinate(new i.Point(0,this.height)),Ie=Math.floor(Math.min(O.x,$.x,pe.x,de.x)),$e=Math.floor(Math.max(O.x,$.x,pe.x,de.x)),pt=1,Kt=Ie-pt;Kt<=$e+pt;Kt++)Kt!==0&&K.push(new i.UnwrappedTileID(Kt,z));return K},yo.prototype.coveringTiles=function(z){var K=this.coveringZoomLevel(z),O=K;if(z.minzoom!==void 0&&Kz.maxzoom&&(K=z.maxzoom);var $=i.MercatorCoordinate.fromLngLat(this.center),pe=Math.pow(2,K),de=[pe*$.x,pe*$.y,0],Ie=Ro.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,K),$e=z.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&($e=K);var pt=3,Kt=function(Ri){return{aabb:new Ds([Ri*pe,0,0],[(Ri+1)*pe,pe,0]),zoom:0,x:0,y:0,wrap:Ri,fullyVisible:!1}},ir=[],Jt=[],vt=K,Pt=z.reparseOverscaled?O:K;if(this._renderWorldCopies)for(var Wt=1;Wt<=3;Wt++)ir.push(Kt(-Wt)),ir.push(Kt(Wt));for(ir.push(Kt(0));ir.length>0;){var rr=ir.pop(),dr=rr.x,pr=rr.y,kr=rr.fullyVisible;if(!kr){var Ar=rr.aabb.intersects(Ie);if(Ar===0)continue;kr=Ar===2}var gr=rr.aabb.distanceX(de),Cr=rr.aabb.distanceY(de),cr=Math.max(Math.abs(gr),Math.abs(Cr)),Gr=pt+(1<Gr&&rr.zoom>=$e){Jt.push({tileID:new i.OverscaledTileID(rr.zoom===vt?Pt:rr.zoom,rr.wrap,rr.zoom,dr,pr),distanceSq:i.sqrLen([de[0]-.5-dr,de[1]-.5-pr])});continue}for(var ei=0;ei<4;ei++){var yi=(dr<<1)+ei%2,tn=(pr<<1)+(ei>>1);ir.push({aabb:rr.aabb.quadrant(ei),zoom:rr.zoom+1,x:yi,y:tn,wrap:rr.wrap,fullyVisible:kr})}}return Jt.sort(function(Ri,ln){return Ri.distanceSq-ln.distanceSq}).map(function(Ri){return Ri.tileID})},yo.prototype.resize=function(z,K){this.width=z,this.height=K,this.pixelsToGLUnits=[2/z,-2/K],this._constrain(),this._calcMatrices()},po.unmodified.get=function(){return this._unmodified},yo.prototype.zoomScale=function(z){return Math.pow(2,z)},yo.prototype.scaleZoom=function(z){return Math.log(z)/Math.LN2},yo.prototype.project=function(z){var K=i.clamp(z.lat,-this.maxValidLatitude,this.maxValidLatitude);return new i.Point(i.mercatorXfromLng(z.lng)*this.worldSize,i.mercatorYfromLat(K)*this.worldSize)},yo.prototype.unproject=function(z){return new i.MercatorCoordinate(z.x/this.worldSize,z.y/this.worldSize).toLngLat()},po.point.get=function(){return this.project(this.center)},yo.prototype.setLocationAtPoint=function(z,K){var O=this.pointCoordinate(K),$=this.pointCoordinate(this.centerPoint),pe=this.locationCoordinate(z),de=new i.MercatorCoordinate(pe.x-(O.x-$.x),pe.y-(O.y-$.y));this.center=this.coordinateLocation(de),this._renderWorldCopies&&(this.center=this.center.wrap())},yo.prototype.locationPoint=function(z){return this.coordinatePoint(this.locationCoordinate(z))},yo.prototype.pointLocation=function(z){return this.coordinateLocation(this.pointCoordinate(z))},yo.prototype.locationCoordinate=function(z){return i.MercatorCoordinate.fromLngLat(z)},yo.prototype.coordinateLocation=function(z){return z.toLngLat()},yo.prototype.pointCoordinate=function(z){var K=0,O=[z.x,z.y,0,1],$=[z.x,z.y,1,1];i.transformMat4(O,O,this.pixelMatrixInverse),i.transformMat4($,$,this.pixelMatrixInverse);var pe=O[3],de=$[3],Ie=O[0]/pe,$e=$[0]/de,pt=O[1]/pe,Kt=$[1]/de,ir=O[2]/pe,Jt=$[2]/de,vt=ir===Jt?0:(K-ir)/(Jt-ir);return new i.MercatorCoordinate(i.number(Ie,$e,vt)/this.worldSize,i.number(pt,Kt,vt)/this.worldSize)},yo.prototype.coordinatePoint=function(z){var K=[z.x*this.worldSize,z.y*this.worldSize,0,1];return i.transformMat4(K,K,this.pixelMatrix),new i.Point(K[0]/K[3],K[1]/K[3])},yo.prototype.getBounds=function(){return new i.LngLatBounds().extend(this.pointLocation(new i.Point(0,0))).extend(this.pointLocation(new i.Point(this.width,0))).extend(this.pointLocation(new i.Point(this.width,this.height))).extend(this.pointLocation(new i.Point(0,this.height)))},yo.prototype.getMaxBounds=function(){return!this.latRange||this.latRange.length!==2||!this.lngRange||this.lngRange.length!==2?null:new i.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]])},yo.prototype.setMaxBounds=function(z){z?(this.lngRange=[z.getWest(),z.getEast()],this.latRange=[z.getSouth(),z.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},yo.prototype.calculatePosMatrix=function(z,K){K===void 0&&(K=!1);var O=z.key,$=K?this._alignedPosMatrixCache:this._posMatrixCache;if($[O])return $[O];var pe=z.canonical,de=this.worldSize/this.zoomScale(pe.z),Ie=pe.x+Math.pow(2,pe.z)*z.wrap,$e=i.identity(new Float64Array(16));return i.translate($e,$e,[Ie*de,pe.y*de,0]),i.scale($e,$e,[de/i.EXTENT,de/i.EXTENT,1]),i.multiply($e,K?this.alignedProjMatrix:this.projMatrix,$e),$[O]=new Float32Array($e),$[O]},yo.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},yo.prototype._constrain=function(){if(!(!this.center||!this.width||!this.height||this._constraining)){this._constraining=!0;var z=-90,K=90,O=-180,$=180,pe,de,Ie,$e,pt=this.size,Kt=this._unmodified;if(this.latRange){var ir=this.latRange;z=i.mercatorYfromLat(ir[1])*this.worldSize,K=i.mercatorYfromLat(ir[0])*this.worldSize,pe=K-zK&&($e=K-rr)}if(this.lngRange){var dr=vt.x,pr=pt.x/2;dr-pr$&&(Ie=$-pr)}(Ie!==void 0||$e!==void 0)&&(this.center=this.unproject(new i.Point(Ie!==void 0?Ie:vt.x,$e!==void 0?$e:vt.y))),this._unmodified=Kt,this._constraining=!1}},yo.prototype._calcMatrices=function(){if(this.height){var z=this._fov/2,K=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(z)*this.height;var O=Math.PI/2+this._pitch,$=this._fov*(.5+K.y/this.height),pe=Math.sin($)*this.cameraToCenterDistance/Math.sin(i.clamp(Math.PI-O-$,.01,Math.PI-.01)),de=this.point,Ie=de.x,$e=de.y,pt=Math.cos(Math.PI/2-this._pitch)*pe+this.cameraToCenterDistance,Kt=pt*1.01,ir=this.height/50,Jt=new Float64Array(16);i.perspective(Jt,this._fov,this.width/this.height,ir,Kt),Jt[8]=-K.x*2/this.width,Jt[9]=K.y*2/this.height,i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[0,0,-this.cameraToCenterDistance]),i.rotateX(Jt,Jt,this._pitch),i.rotateZ(Jt,Jt,this.angle),i.translate(Jt,Jt,[-Ie,-$e,0]),this.mercatorMatrix=i.scale([],Jt,[this.worldSize,this.worldSize,this.worldSize]),i.scale(Jt,Jt,[1,1,i.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=Jt,this.invProjMatrix=i.invert([],this.projMatrix);var vt=this.width%2/2,Pt=this.height%2/2,Wt=Math.cos(this.angle),rr=Math.sin(this.angle),dr=Ie-Math.round(Ie)+Wt*vt+rr*Pt,pr=$e-Math.round($e)+Wt*Pt+rr*vt,kr=new Float64Array(Jt);if(i.translate(kr,kr,[dr>.5?dr-1:dr,pr>.5?pr-1:pr,0]),this.alignedProjMatrix=kr,Jt=i.create(),i.scale(Jt,Jt,[this.width/2,-this.height/2,1]),i.translate(Jt,Jt,[1,-1,0]),this.labelPlaneMatrix=Jt,Jt=i.create(),i.scale(Jt,Jt,[1,-1,1]),i.translate(Jt,Jt,[-1,-1,0]),i.scale(Jt,Jt,[2/this.width,2/this.height,1]),this.glCoordMatrix=Jt,this.pixelMatrix=i.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),Jt=i.invert(new Float64Array(16),this.pixelMatrix),!Jt)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=Jt,this._posMatrixCache={},this._alignedPosMatrixCache={}}},yo.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var z=this.pointCoordinate(new i.Point(0,0)),K=[z.x*this.worldSize,z.y*this.worldSize,0,1],O=i.transformMat4(K,K,this.pixelMatrix);return O[3]/this.cameraToCenterDistance},yo.prototype.getCameraPoint=function(){var z=this._pitch,K=Math.tan(z)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new i.Point(0,K))},yo.prototype.getCameraQueryGeometry=function(z){var K=this.getCameraPoint();if(z.length===1)return[z[0],K];for(var O=K.x,$=K.y,pe=K.x,de=K.y,Ie=0,$e=z;Ie<$e.length;Ie+=1){var pt=$e[Ie];O=Math.min(O,pt.x),$=Math.min($,pt.y),pe=Math.max(pe,pt.x),de=Math.max(de,pt.y)}return[new i.Point(O,$),new i.Point(pe,$),new i.Point(pe,de),new i.Point(O,de),new i.Point(O,$)]},Object.defineProperties(yo.prototype,po);function _l(Y,z){var K=!1,O=null,$=function(){O=null,K&&(Y(),O=setTimeout($,z),K=!1)};return function(){return K=!0,O||$(),O}}var Vl=function(z){this._hashName=z&&encodeURIComponent(z),i.bindAll([\"_getCurrentHash\",\"_onHashChange\",\"_updateHash\"],this),this._updateHash=_l(this._updateHashUnthrottled.bind(this),30*1e3/100)};Vl.prototype.addTo=function(z){return this._map=z,i.window.addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this},Vl.prototype.remove=function(){return i.window.removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},Vl.prototype.getHashString=function(z){var K=this._map.getCenter(),O=Math.round(this._map.getZoom()*100)/100,$=Math.ceil((O*Math.LN2+Math.log(512/360/.5))/Math.LN10),pe=Math.pow(10,$),de=Math.round(K.lng*pe)/pe,Ie=Math.round(K.lat*pe)/pe,$e=this._map.getBearing(),pt=this._map.getPitch(),Kt=\"\";if(z?Kt+=\"/\"+de+\"/\"+Ie+\"/\"+O:Kt+=O+\"/\"+Ie+\"/\"+de,($e||pt)&&(Kt+=\"/\"+Math.round($e*10)/10),pt&&(Kt+=\"/\"+Math.round(pt)),this._hashName){var ir=this._hashName,Jt=!1,vt=i.window.location.hash.slice(1).split(\"&\").map(function(Pt){var Wt=Pt.split(\"=\")[0];return Wt===ir?(Jt=!0,Wt+\"=\"+Kt):Pt}).filter(function(Pt){return Pt});return Jt||vt.push(ir+\"=\"+Kt),\"#\"+vt.join(\"&\")}return\"#\"+Kt},Vl.prototype._getCurrentHash=function(){var z=this,K=i.window.location.hash.replace(\"#\",\"\");if(this._hashName){var O;return K.split(\"&\").map(function($){return $.split(\"=\")}).forEach(function($){$[0]===z._hashName&&(O=$)}),(O&&O[1]||\"\").split(\"/\")}return K.split(\"/\")},Vl.prototype._onHashChange=function(){var z=this._getCurrentHash();if(z.length>=3&&!z.some(function(O){return isNaN(O)})){var K=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(z[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+z[2],+z[1]],zoom:+z[0],bearing:K,pitch:+(z[4]||0)}),!0}return!1},Vl.prototype._updateHashUnthrottled=function(){var z=i.window.location.href.replace(/(#.+)?$/,this.getHashString());try{i.window.history.replaceState(i.window.history.state,null,z)}catch(K){}};var Zu={linearity:.3,easing:i.bezier(0,0,.3,1)},cu=i.extend({deceleration:2500,maxSpeed:1400},Zu),el=i.extend({deceleration:20,maxSpeed:1400},Zu),nu=i.extend({deceleration:1e3,maxSpeed:360},Zu),zc=i.extend({deceleration:1e3,maxSpeed:90},Zu),Dl=function(z){this._map=z,this.clear()};Dl.prototype.clear=function(){this._inertiaBuffer=[]},Dl.prototype.record=function(z){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:i.browser.now(),settings:z})},Dl.prototype._drainInertiaBuffer=function(){for(var z=this._inertiaBuffer,K=i.browser.now(),O=160;z.length>0&&K-z[0].time>O;)z.shift()},Dl.prototype._onMoveEnd=function(z){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var K={zoom:0,bearing:0,pitch:0,pan:new i.Point(0,0),pinchAround:void 0,around:void 0},O=0,$=this._inertiaBuffer;O<$.length;O+=1){var pe=$[O],de=pe.settings;K.zoom+=de.zoomDelta||0,K.bearing+=de.bearingDelta||0,K.pitch+=de.pitchDelta||0,de.panDelta&&K.pan._add(de.panDelta),de.around&&(K.around=de.around),de.pinchAround&&(K.pinchAround=de.pinchAround)}var Ie=this._inertiaBuffer[this._inertiaBuffer.length-1],$e=Ie.time-this._inertiaBuffer[0].time,pt={};if(K.pan.mag()){var Kt=Z(K.pan.mag(),$e,i.extend({},cu,z||{}));pt.offset=K.pan.mult(Kt.amount/K.pan.mag()),pt.center=this._map.transform.center,zl(pt,Kt)}if(K.zoom){var ir=Z(K.zoom,$e,el);pt.zoom=this._map.transform.zoom+ir.amount,zl(pt,ir)}if(K.bearing){var Jt=Z(K.bearing,$e,nu);pt.bearing=this._map.transform.bearing+i.clamp(Jt.amount,-179,179),zl(pt,Jt)}if(K.pitch){var vt=Z(K.pitch,$e,zc);pt.pitch=this._map.transform.pitch+vt.amount,zl(pt,vt)}if(pt.zoom||pt.bearing){var Pt=K.pinchAround===void 0?K.around:K.pinchAround;pt.around=Pt?this._map.unproject(Pt):this._map.getCenter()}return this.clear(),i.extend(pt,{noMoveStart:!0})}};function zl(Y,z){(!Y.duration||Y.duration=this._clickTolerance||this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.dblclick=function(z){return this._firePreventable(new oe(z.type,this._map,z))},Ue.prototype.mouseover=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.mouseout=function(z){this._map.fire(new oe(z.type,this._map,z))},Ue.prototype.touchstart=function(z){return this._firePreventable(new we(z.type,this._map,z))},Ue.prototype.touchmove=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchend=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype.touchcancel=function(z){this._map.fire(new we(z.type,this._map,z))},Ue.prototype._firePreventable=function(z){if(this._map.fire(z),z.defaultPrevented)return{}},Ue.prototype.isEnabled=function(){return!0},Ue.prototype.isActive=function(){return!1},Ue.prototype.enable=function(){},Ue.prototype.disable=function(){};var We=function(z){this._map=z};We.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},We.prototype.mousemove=function(z){this._map.fire(new oe(z.type,this._map,z))},We.prototype.mousedown=function(){this._delayContextMenu=!0},We.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new oe(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},We.prototype.contextmenu=function(z){this._delayContextMenu?this._contextMenuEvent=z:this._map.fire(new oe(z.type,this._map,z)),this._map.listens(\"contextmenu\")&&z.preventDefault()},We.prototype.isEnabled=function(){return!0},We.prototype.isActive=function(){return!1},We.prototype.enable=function(){},We.prototype.disable=function(){};var wt=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._container=z.getContainer(),this._clickTolerance=K.clickTolerance||1};wt.prototype.isEnabled=function(){return!!this._enabled},wt.prototype.isActive=function(){return!!this._active},wt.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},wt.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},wt.prototype.mousedown=function(z,K){this.isEnabled()&&z.shiftKey&&z.button===0&&(o.disableDrag(),this._startPos=this._lastPos=K,this._active=!0)},wt.prototype.mousemoveWindow=function(z,K){if(this._active){var O=K;if(!(this._lastPos.equals(O)||!this._box&&O.dist(this._startPos)this.numTouches)&&(this.aborted=!0),!this.aborted&&(this.startTime===void 0&&(this.startTime=z.timeStamp),O.length===this.numTouches&&(this.centroid=zt(K),this.touches=tt(O,K)))},Ir.prototype.touchmove=function(z,K,O){if(!(this.aborted||!this.centroid)){var $=tt(O,K);for(var pe in this.touches){var de=this.touches[pe],Ie=$[pe];(!Ie||Ie.dist(de)>Dr)&&(this.aborted=!0)}}},Ir.prototype.touchend=function(z,K,O){if((!this.centroid||z.timeStamp-this.startTime>lr)&&(this.aborted=!0),O.length===0){var $=!this.aborted&&this.centroid;if(this.reset(),$)return $}};var oi=function(z){this.singleTap=new Ir(z),this.numTaps=z.numTaps,this.reset()};oi.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},oi.prototype.touchstart=function(z,K,O){this.singleTap.touchstart(z,K,O)},oi.prototype.touchmove=function(z,K,O){this.singleTap.touchmove(z,K,O)},oi.prototype.touchend=function(z,K,O){var $=this.singleTap.touchend(z,K,O);if($){var pe=z.timeStamp-this.lastTime0&&(this._active=!0);var $=tt(O,K),pe=new i.Point(0,0),de=new i.Point(0,0),Ie=0;for(var $e in $){var pt=$[$e],Kt=this._touches[$e];Kt&&(pe._add(pt),de._add(pt.sub(Kt)),Ie++,$[$e]=pt)}if(this._touches=$,!(IeMath.abs(Y.x)}var pn=100,za=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.reset=function(){Y.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},z.prototype._start=function(O){this._lastPoints=O,Ns(O[0].sub(O[1]))&&(this._valid=!1)},z.prototype._move=function(O,$,pe){var de=O[0].sub(this._lastPoints[0]),Ie=O[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(de,Ie,pe.timeStamp),!!this._valid){this._lastPoints=O,this._active=!0;var $e=(de.y+Ie.y)/2,pt=-.5;return{pitchDelta:$e*pt}}},z.prototype.gestureBeginsVertically=function(O,$,pe){if(this._valid!==void 0)return this._valid;var de=2,Ie=O.mag()>=de,$e=$.mag()>=de;if(!(!Ie&&!$e)){if(!Ie||!$e)return this._firstMove===void 0&&(this._firstMove=pe),pe-this._firstMove0==$.y>0;return Ns(O)&&Ns($)&&pt}},z}(Nn),Lo={panStep:100,bearingStep:15,pitchStep:10},Fo=function(){var z=Lo;this._panStep=z.panStep,this._bearingStep=z.bearingStep,this._pitchStep=z.pitchStep,this._rotationDisabled=!1};Fo.prototype.reset=function(){this._active=!1},Fo.prototype.keydown=function(z){var K=this;if(!(z.altKey||z.ctrlKey||z.metaKey)){var O=0,$=0,pe=0,de=0,Ie=0;switch(z.keyCode){case 61:case 107:case 171:case 187:O=1;break;case 189:case 109:case 173:O=-1;break;case 37:z.shiftKey?$=-1:(z.preventDefault(),de=-1);break;case 39:z.shiftKey?$=1:(z.preventDefault(),de=1);break;case 38:z.shiftKey?pe=1:(z.preventDefault(),Ie=-1);break;case 40:z.shiftKey?pe=-1:(z.preventDefault(),Ie=1);break;default:return}return this._rotationDisabled&&($=0,pe=0),{cameraAnimation:function($e){var pt=$e.getZoom();$e.easeTo({duration:300,easeId:\"keyboardHandler\",easing:js,zoom:O?Math.round(pt)+O*(z.shiftKey?2:1):pt,bearing:$e.getBearing()+$*K._bearingStep,pitch:$e.getPitch()+pe*K._pitchStep,offset:[-de*K._panStep,-Ie*K._panStep],center:$e.getCenter()},{originalEvent:z})}}}},Fo.prototype.enable=function(){this._enabled=!0},Fo.prototype.disable=function(){this._enabled=!1,this.reset()},Fo.prototype.isEnabled=function(){return this._enabled},Fo.prototype.isActive=function(){return this._active},Fo.prototype.disableRotation=function(){this._rotationDisabled=!0},Fo.prototype.enableRotation=function(){this._rotationDisabled=!1};function js(Y){return Y*(2-Y)}var xl=4.000244140625,fu=1/100,dl=1/450,xc=2,At=function(z,K){this._map=z,this._el=z.getCanvasContainer(),this._handler=K,this._delta=0,this._defaultZoomRate=fu,this._wheelZoomRate=dl,i.bindAll([\"_onTimeout\"],this)};At.prototype.setZoomRate=function(z){this._defaultZoomRate=z},At.prototype.setWheelZoomRate=function(z){this._wheelZoomRate=z},At.prototype.isEnabled=function(){return!!this._enabled},At.prototype.isActive=function(){return!!this._active||this._finishTimeout!==void 0},At.prototype.isZooming=function(){return!!this._zooming},At.prototype.enable=function(z){this.isEnabled()||(this._enabled=!0,this._aroundCenter=z&&z.around===\"center\")},At.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},At.prototype.wheel=function(z){if(this.isEnabled()){var K=z.deltaMode===i.window.WheelEvent.DOM_DELTA_LINE?z.deltaY*40:z.deltaY,O=i.browser.now(),$=O-(this._lastWheelEventTime||0);this._lastWheelEventTime=O,K!==0&&K%xl===0?this._type=\"wheel\":K!==0&&Math.abs(K)<4?this._type=\"trackpad\":$>400?(this._type=null,this._lastValue=K,this._timeout=setTimeout(this._onTimeout,40,z)):this._type||(this._type=Math.abs($*K)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,K+=this._lastValue)),z.shiftKey&&K&&(K=K/4),this._type&&(this._lastWheelEvent=z,this._delta-=K,this._active||this._start(z)),z.preventDefault()}},At.prototype._onTimeout=function(z){this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(z)},At.prototype._start=function(z){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var K=o.mousePos(this._el,z);this._around=i.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(K)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},At.prototype.renderFrame=function(){var z=this;if(this._frameId&&(this._frameId=null,!!this.isActive())){var K=this._map.transform;if(this._delta!==0){var O=this._type===\"wheel\"&&Math.abs(this._delta)>xl?this._wheelZoomRate:this._defaultZoomRate,$=xc/(1+Math.exp(-Math.abs(this._delta*O)));this._delta<0&&$!==0&&($=1/$);var pe=typeof this._targetZoom==\"number\"?K.zoomScale(this._targetZoom):K.scale;this._targetZoom=Math.min(K.maxZoom,Math.max(K.minZoom,K.scaleZoom(pe*$))),this._type===\"wheel\"&&(this._startZoom=K.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var de=typeof this._targetZoom==\"number\"?this._targetZoom:K.zoom,Ie=this._startZoom,$e=this._easing,pt=!1,Kt;if(this._type===\"wheel\"&&Ie&&$e){var ir=Math.min((i.browser.now()-this._lastWheelEventTime)/200,1),Jt=$e(ir);Kt=i.number(Ie,de,Jt),ir<1?this._frameId||(this._frameId=!0):pt=!0}else Kt=de,pt=!0;return this._active=!0,pt&&(this._active=!1,this._finishTimeout=setTimeout(function(){z._zooming=!1,z._handler._triggerRenderFrame(),delete z._targetZoom,delete z._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!pt,zoomDelta:Kt-K.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},At.prototype._smoothOutEasing=function(z){var K=i.ease;if(this._prevEase){var O=this._prevEase,$=(i.browser.now()-O.start)/O.duration,pe=O.easing($+.01)-O.easing($),de=.27/Math.sqrt(pe*pe+1e-4)*.01,Ie=Math.sqrt(.27*.27-de*de);K=i.bezier(de,Ie,.25,1)}return this._prevEase={start:i.browser.now(),duration:z,easing:K},K},At.prototype.reset=function(){this._active=!1};var Er=function(z,K){this._clickZoom=z,this._tapZoom=K};Er.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},Er.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},Er.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},Er.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var Wr=function(){this.reset()};Wr.prototype.reset=function(){this._active=!1},Wr.prototype.dblclick=function(z,K){return z.preventDefault(),{cameraAnimation:function(O){O.easeTo({duration:300,zoom:O.getZoom()+(z.shiftKey?-1:1),around:O.unproject(K)},{originalEvent:z})}}},Wr.prototype.enable=function(){this._enabled=!0},Wr.prototype.disable=function(){this._enabled=!1,this.reset()},Wr.prototype.isEnabled=function(){return this._enabled},Wr.prototype.isActive=function(){return this._active};var wi=function(){this._tap=new oi({numTouches:1,numTaps:1}),this.reset()};wi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},wi.prototype.touchstart=function(z,K,O){this._swipePoint||(this._tapTime&&z.timeStamp-this._tapTime>or&&this.reset(),this._tapTime?O.length>0&&(this._swipePoint=K[0],this._swipeTouch=O[0].identifier):this._tap.touchstart(z,K,O))},wi.prototype.touchmove=function(z,K,O){if(!this._tapTime)this._tap.touchmove(z,K,O);else if(this._swipePoint){if(O[0].identifier!==this._swipeTouch)return;var $=K[0],pe=$.y-this._swipePoint.y;return this._swipePoint=$,z.preventDefault(),this._active=!0,{zoomDelta:pe/128}}},wi.prototype.touchend=function(z,K,O){if(this._tapTime)this._swipePoint&&O.length===0&&this.reset();else{var $=this._tap.touchend(z,K,O);$&&(this._tapTime=z.timeStamp)}},wi.prototype.touchcancel=function(){this.reset()},wi.prototype.enable=function(){this._enabled=!0},wi.prototype.disable=function(){this._enabled=!1,this.reset()},wi.prototype.isEnabled=function(){return this._enabled},wi.prototype.isActive=function(){return this._active};var Ui=function(z,K,O){this._el=z,this._mousePan=K,this._touchPan=O};Ui.prototype.enable=function(z){this._inertiaOptions=z||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"mapboxgl-touch-drag-pan\")},Ui.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"mapboxgl-touch-drag-pan\")},Ui.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},Ui.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var Oi=function(z,K,O){this._pitchWithRotate=z.pitchWithRotate,this._mouseRotate=K,this._mousePitch=O};Oi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},Oi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},Oi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},Oi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var Bi=function(z,K,O,$){this._el=z,this._touchZoom=K,this._touchRotate=O,this._tapDragZoom=$,this._rotationDisabled=!1,this._enabled=!0};Bi.prototype.enable=function(z){this._touchZoom.enable(z),this._rotationDisabled||this._touchRotate.enable(z),this._tapDragZoom.enable(),this._el.classList.add(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"mapboxgl-touch-zoom-rotate\")},Bi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},Bi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},Bi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},Bi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var cn=function(Y){return Y.zoom||Y.drag||Y.pitch||Y.rotate},On=function(Y){function z(){Y.apply(this,arguments)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z}(i.Event);function Bn(Y){return Y.panDelta&&Y.panDelta.mag()||Y.zoomDelta||Y.bearingDelta||Y.pitchDelta}var yn=function(z,K){this._map=z,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Dl(z),this._bearingSnap=K.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(K),i.bindAll([\"handleEvent\",\"handleWindowEvent\"],this);var O=this._el;this._listeners=[[O,\"touchstart\",{passive:!0}],[O,\"touchmove\",{passive:!1}],[O,\"touchend\",void 0],[O,\"touchcancel\",void 0],[O,\"mousedown\",void 0],[O,\"mousemove\",void 0],[O,\"mouseup\",void 0],[i.window.document,\"mousemove\",{capture:!0}],[i.window.document,\"mouseup\",void 0],[O,\"mouseover\",void 0],[O,\"mouseout\",void 0],[O,\"dblclick\",void 0],[O,\"click\",void 0],[O,\"keydown\",{capture:!1}],[O,\"keyup\",void 0],[O,\"wheel\",{passive:!1}],[O,\"contextmenu\",void 0],[i.window,\"blur\",void 0]];for(var $=0,pe=this._listeners;$Ie?Math.min(2,gr):Math.max(.5,gr),Ri=Math.pow(tn,1-ei),ln=de.unproject(kr.add(Ar.mult(ei*Ri)).mult(yi));de.setLocationAtPoint(de.renderWorldCopies?ln.wrap():ln,rr)}pe._fireMoveEvents($)},function(ei){pe._afterEase($,ei)},O),this},z.prototype._prepareEase=function(O,$,pe){pe===void 0&&(pe={}),this._moving=!0,!$&&!pe.moving&&this.fire(new i.Event(\"movestart\",O)),this._zooming&&!pe.zooming&&this.fire(new i.Event(\"zoomstart\",O)),this._rotating&&!pe.rotating&&this.fire(new i.Event(\"rotatestart\",O)),this._pitching&&!pe.pitching&&this.fire(new i.Event(\"pitchstart\",O))},z.prototype._fireMoveEvents=function(O){this.fire(new i.Event(\"move\",O)),this._zooming&&this.fire(new i.Event(\"zoom\",O)),this._rotating&&this.fire(new i.Event(\"rotate\",O)),this._pitching&&this.fire(new i.Event(\"pitch\",O))},z.prototype._afterEase=function(O,$){if(!(this._easeId&&$&&this._easeId===$)){delete this._easeId;var pe=this._zooming,de=this._rotating,Ie=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,pe&&this.fire(new i.Event(\"zoomend\",O)),de&&this.fire(new i.Event(\"rotateend\",O)),Ie&&this.fire(new i.Event(\"pitchend\",O)),this.fire(new i.Event(\"moveend\",O))}},z.prototype.flyTo=function(O,$){var pe=this;if(!O.essential&&i.browser.prefersReducedMotion){var de=i.pick(O,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(de,$)}this.stop(),O=i.extend({offset:[0,0],speed:1.2,curve:1.42,easing:i.ease},O);var Ie=this.transform,$e=this.getZoom(),pt=this.getBearing(),Kt=this.getPitch(),ir=this.getPadding(),Jt=\"zoom\"in O?i.clamp(+O.zoom,Ie.minZoom,Ie.maxZoom):$e,vt=\"bearing\"in O?this._normalizeBearing(O.bearing,pt):pt,Pt=\"pitch\"in O?+O.pitch:Kt,Wt=\"padding\"in O?O.padding:Ie.padding,rr=Ie.zoomScale(Jt-$e),dr=i.Point.convert(O.offset),pr=Ie.centerPoint.add(dr),kr=Ie.pointLocation(pr),Ar=i.LngLat.convert(O.center||kr);this._normalizeCenter(Ar);var gr=Ie.project(kr),Cr=Ie.project(Ar).sub(gr),cr=O.curve,Gr=Math.max(Ie.width,Ie.height),ei=Gr/rr,yi=Cr.mag();if(\"minZoom\"in O){var tn=i.clamp(Math.min(O.minZoom,$e,Jt),Ie.minZoom,Ie.maxZoom),Ri=Gr/Ie.zoomScale(tn-$e);cr=Math.sqrt(Ri/yi*2)}var ln=cr*cr;function Qn(fo){var as=(ei*ei-Gr*Gr+(fo?-1:1)*ln*ln*yi*yi)/(2*(fo?ei:Gr)*ln*yi);return Math.log(Math.sqrt(as*as+1)-as)}function qn(fo){return(Math.exp(fo)-Math.exp(-fo))/2}function rn(fo){return(Math.exp(fo)+Math.exp(-fo))/2}function bn(fo){return qn(fo)/rn(fo)}var mn=Qn(0),Gn=function(fo){return rn(mn)/rn(mn+cr*fo)},da=function(fo){return Gr*((rn(mn)*bn(mn+cr*fo)-qn(mn))/ln)/yi},No=(Qn(1)-mn)/cr;if(Math.abs(yi)<1e-6||!isFinite(No)){if(Math.abs(Gr-ei)<1e-6)return this.easeTo(O,$);var Do=eiO.maxDuration&&(O.duration=0),this._zooming=!0,this._rotating=pt!==vt,this._pitching=Pt!==Kt,this._padding=!Ie.isPaddingEqual(Wt),this._prepareEase($,!1),this._ease(function(fo){var as=fo*No,tl=1/Gn(as);Ie.zoom=fo===1?Jt:$e+Ie.scaleZoom(tl),pe._rotating&&(Ie.bearing=i.number(pt,vt,fo)),pe._pitching&&(Ie.pitch=i.number(Kt,Pt,fo)),pe._padding&&(Ie.interpolatePadding(ir,Wt,fo),pr=Ie.centerPoint.add(dr));var zu=fo===1?Ar:Ie.unproject(gr.add(Cr.mult(da(as))).mult(tl));Ie.setLocationAtPoint(Ie.renderWorldCopies?zu.wrap():zu,pr),pe._fireMoveEvents($)},function(){return pe._afterEase($)},O),this},z.prototype.isEasing=function(){return!!this._easeFrameId},z.prototype.stop=function(){return this._stop()},z.prototype._stop=function(O,$){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var pe=this._onEaseEnd;delete this._onEaseEnd,pe.call(this,$)}if(!O){var de=this.handlers;de&&de.stop(!1)}return this},z.prototype._ease=function(O,$,pe){pe.animate===!1||pe.duration===0?(O(1),$()):(this._easeStart=i.browser.now(),this._easeOptions=pe,this._onEaseFrame=O,this._onEaseEnd=$,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},z.prototype._renderFrameCallback=function(){var O=Math.min((i.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(O)),O<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},z.prototype._normalizeBearing=function(O,$){O=i.wrap(O,-180,180);var pe=Math.abs(O-$);return Math.abs(O-360-$)180?-360:pe<-180?360:0}},z}(i.Evented),Rn=function(z){z===void 0&&(z={}),this.options=z,i.bindAll([\"_toggleAttribution\",\"_updateEditLink\",\"_updateData\",\"_updateCompact\"],this)};Rn.prototype.getDefaultPosition=function(){return\"bottom-right\"},Rn.prototype.onAdd=function(z){var K=this.options&&this.options.compact;return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-attrib\"),this._compactButton=o.create(\"button\",\"mapboxgl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=o.create(\"div\",\"mapboxgl-ctrl-attrib-inner\",this._container),this._innerContainer.setAttribute(\"role\",\"list\"),K&&this._container.classList.add(\"mapboxgl-compact\"),this._updateAttributions(),this._updateEditLink(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"moveend\",this._updateEditLink),K===void 0&&(this._map.on(\"resize\",this._updateCompact),this._updateCompact()),this._container},Rn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"moveend\",this._updateEditLink),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Rn.prototype._setElementTitle=function(z,K){var O=this._map._getUIString(\"AttributionControl.\"+K);z.title=O,z.setAttribute(\"aria-label\",O)},Rn.prototype._toggleAttribution=function(){this._container.classList.contains(\"mapboxgl-compact-show\")?(this._container.classList.remove(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"false\")):(this._container.classList.add(\"mapboxgl-compact-show\"),this._compactButton.setAttribute(\"aria-pressed\",\"true\"))},Rn.prototype._updateEditLink=function(){var z=this._editLink;z||(z=this._editLink=this._container.querySelector(\".mapbox-improve-map\"));var K=[{key:\"owner\",value:this.styleOwner},{key:\"id\",value:this.styleId},{key:\"access_token\",value:this._map._requestManager._customAccessToken||i.config.ACCESS_TOKEN}];if(z){var O=K.reduce(function($,pe,de){return pe.value&&($+=pe.key+\"=\"+pe.value+(de=0)return!1;return!0});var Ie=z.join(\" | \");Ie!==this._attribHTML&&(this._attribHTML=Ie,z.length?(this._innerContainer.innerHTML=Ie,this._container.classList.remove(\"mapboxgl-attrib-empty\")):this._container.classList.add(\"mapboxgl-attrib-empty\"),this._editLink=null)}},Rn.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add(\"mapboxgl-compact\"):this._container.classList.remove(\"mapboxgl-compact\",\"mapboxgl-compact-show\")};var Dn=function(){i.bindAll([\"_updateLogo\"],this),i.bindAll([\"_updateCompact\"],this)};Dn.prototype.onAdd=function(z){this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl\");var K=o.create(\"a\",\"mapboxgl-ctrl-logo\");return K.target=\"_blank\",K.rel=\"noopener nofollow\",K.href=\"https://www.mapbox.com/\",K.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),K.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(K),this._container.style.display=\"none\",this._map.on(\"sourcedata\",this._updateLogo),this._updateLogo(),this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container},Dn.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"sourcedata\",this._updateLogo),this._map.off(\"resize\",this._updateCompact)},Dn.prototype.getDefaultPosition=function(){return\"bottom-left\"},Dn.prototype._updateLogo=function(z){(!z||z.sourceDataType===\"metadata\")&&(this._container.style.display=this._logoRequired()?\"block\":\"none\")},Dn.prototype._logoRequired=function(){if(this._map.style){var z=this._map.style.sourceCaches;for(var K in z){var O=z[K].getSource();if(O.mapbox_logo)return!0}return!1}},Dn.prototype._updateCompact=function(){var z=this._container.children;if(z.length){var K=z[0];this._map.getCanvasContainer().offsetWidth<250?K.classList.add(\"mapboxgl-compact\"):K.classList.remove(\"mapboxgl-compact\")}};var fn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};fn.prototype.add=function(z){var K=++this._id,O=this._queue;return O.push({callback:z,id:K,cancelled:!1}),K},fn.prototype.remove=function(z){for(var K=this._currentlyRunning,O=K?this._queue.concat(K):this._queue,$=0,pe=O;$O.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(O.minPitch!=null&&O.maxPitch!=null&&O.minPitch>O.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(O.minPitch!=null&&O.minPitchZa)throw new Error(\"maxPitch must be less than or equal to \"+Za);var pe=new yo(O.minZoom,O.maxZoom,O.minPitch,O.maxPitch,O.renderWorldCopies);if(Y.call(this,pe,O),this._interactive=O.interactive,this._maxTileCacheSize=O.maxTileCacheSize,this._failIfMajorPerformanceCaveat=O.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=O.preserveDrawingBuffer,this._antialias=O.antialias,this._trackResize=O.trackResize,this._bearingSnap=O.bearingSnap,this._refreshExpiredTiles=O.refreshExpiredTiles,this._fadeDuration=O.fadeDuration,this._crossSourceCollisions=O.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=O.collectResourceTiming,this._renderTaskQueue=new fn,this._controls=[],this._mapId=i.uniqueId(),this._locale=i.extend({},Ai,O.locale),this._clickTolerance=O.clickTolerance,this._requestManager=new i.RequestManager(O.transformRequest,O.accessToken),typeof O.container==\"string\"){if(this._container=i.window.document.getElementById(O.container),!this._container)throw new Error(\"Container '\"+O.container+\"' not found.\")}else if(O.container instanceof Ln)this._container=O.container;else throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");if(O.maxBounds&&this.setMaxBounds(O.maxBounds),i.bindAll([\"_onWindowOnline\",\"_onWindowResize\",\"_onMapScroll\",\"_contextLost\",\"_contextRestored\"],this),this._setupContainer(),this._setupPainter(),this.painter===void 0)throw new Error(\"Failed to initialize WebGL.\");this.on(\"move\",function(){return $._update(!1)}),this.on(\"moveend\",function(){return $._update(!1)}),this.on(\"zoom\",function(){return $._update(!0)}),typeof i.window!=\"undefined\"&&(i.window.addEventListener(\"online\",this._onWindowOnline,!1),i.window.addEventListener(\"resize\",this._onWindowResize,!1),i.window.addEventListener(\"orientationchange\",this._onWindowResize,!1)),this.handlers=new yn(this,O);var de=typeof O.hash==\"string\"&&O.hash||void 0;this._hash=O.hash&&new Vl(de).addTo(this),(!this._hash||!this._hash._onHashChange())&&(this.jumpTo({center:O.center,zoom:O.zoom,bearing:O.bearing,pitch:O.pitch}),O.bounds&&(this.resize(),this.fitBounds(O.bounds,i.extend({},O.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=O.localIdeographFontFamily,O.style&&this.setStyle(O.style,{localIdeographFontFamily:O.localIdeographFontFamily}),O.attributionControl&&this.addControl(new Rn({customAttribution:O.customAttribution})),this.addControl(new Dn,O.logoPosition),this.on(\"style.load\",function(){$.transform.unmodified&&$.jumpTo($.style.stylesheet)}),this.on(\"data\",function(Ie){$._update(Ie.dataType===\"style\"),$.fire(new i.Event(Ie.dataType+\"data\",Ie))}),this.on(\"dataloading\",function(Ie){$.fire(new i.Event(Ie.dataType+\"dataloading\",Ie))})}Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z;var K={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return z.prototype._getMapId=function(){return this._mapId},z.prototype.addControl=function($,pe){if(pe===void 0&&($.getDefaultPosition?pe=$.getDefaultPosition():pe=\"top-right\"),!$||!$.onAdd)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));var de=$.onAdd(this);this._controls.push($);var Ie=this._controlPositions[pe];return pe.indexOf(\"bottom\")!==-1?Ie.insertBefore(de,Ie.firstChild):Ie.appendChild(de),this},z.prototype.removeControl=function($){if(!$||!$.onRemove)return this.fire(new i.ErrorEvent(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));var pe=this._controls.indexOf($);return pe>-1&&this._controls.splice(pe,1),$.onRemove(this),this},z.prototype.hasControl=function($){return this._controls.indexOf($)>-1},z.prototype.resize=function($){var pe=this._containerDimensions(),de=pe[0],Ie=pe[1];this._resizeCanvas(de,Ie),this.transform.resize(de,Ie),this.painter.resize(de,Ie);var $e=!this._moving;return $e&&(this.stop(),this.fire(new i.Event(\"movestart\",$)).fire(new i.Event(\"move\",$))),this.fire(new i.Event(\"resize\",$)),$e&&this.fire(new i.Event(\"moveend\",$)),this},z.prototype.getBounds=function(){return this.transform.getBounds()},z.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},z.prototype.setMaxBounds=function($){return this.transform.setMaxBounds(i.LngLatBounds.convert($)),this._update()},z.prototype.setMinZoom=function($){if($=$==null?gn:$,$>=gn&&$<=this.transform.maxZoom)return this.transform.minZoom=$,this._update(),this.getZoom()<$&&this.setZoom($),this;throw new Error(\"minZoom must be between \"+gn+\" and the current maxZoom, inclusive\")},z.prototype.getMinZoom=function(){return this.transform.minZoom},z.prototype.setMaxZoom=function($){if($=$==null?ca:$,$>=this.transform.minZoom)return this.transform.maxZoom=$,this._update(),this.getZoom()>$&&this.setZoom($),this;throw new Error(\"maxZoom must be greater than the current minZoom\")},z.prototype.getMaxZoom=function(){return this.transform.maxZoom},z.prototype.setMinPitch=function($){if($=$==null?Kn:$,$=Kn&&$<=this.transform.maxPitch)return this.transform.minPitch=$,this._update(),this.getPitch()<$&&this.setPitch($),this;throw new Error(\"minPitch must be between \"+Kn+\" and the current maxPitch, inclusive\")},z.prototype.getMinPitch=function(){return this.transform.minPitch},z.prototype.setMaxPitch=function($){if($=$==null?Za:$,$>Za)throw new Error(\"maxPitch must be less than or equal to \"+Za);if($>=this.transform.minPitch)return this.transform.maxPitch=$,this._update(),this.getPitch()>$&&this.setPitch($),this;throw new Error(\"maxPitch must be greater than the current minPitch\")},z.prototype.getMaxPitch=function(){return this.transform.maxPitch},z.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},z.prototype.setRenderWorldCopies=function($){return this.transform.renderWorldCopies=$,this._update()},z.prototype.project=function($){return this.transform.locationPoint(i.LngLat.convert($))},z.prototype.unproject=function($){return this.transform.pointLocation(i.Point.convert($))},z.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},z.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},z.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},z.prototype._createDelegatedListener=function($,pe,de){var Ie=this,$e;if($===\"mouseenter\"||$===\"mouseover\"){var pt=!1,Kt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?pt||(pt=!0,de.call(Ie,new oe($,Ie,rr.originalEvent,{features:dr}))):pt=!1},ir=function(){pt=!1};return{layer:pe,listener:de,delegates:{mousemove:Kt,mouseout:ir}}}else if($===\"mouseleave\"||$===\"mouseout\"){var Jt=!1,vt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length?Jt=!0:Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))},Pt=function(rr){Jt&&(Jt=!1,de.call(Ie,new oe($,Ie,rr.originalEvent)))};return{layer:pe,listener:de,delegates:{mousemove:vt,mouseout:Pt}}}else{var Wt=function(rr){var dr=Ie.getLayer(pe)?Ie.queryRenderedFeatures(rr.point,{layers:[pe]}):[];dr.length&&(rr.features=dr,de.call(Ie,rr),delete rr.features)};return{layer:pe,listener:de,delegates:($e={},$e[$]=Wt,$e)}}},z.prototype.on=function($,pe,de){if(de===void 0)return Y.prototype.on.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[$]=this._delegatedListeners[$]||[],this._delegatedListeners[$].push(Ie);for(var $e in Ie.delegates)this.on($e,Ie.delegates[$e]);return this},z.prototype.once=function($,pe,de){if(de===void 0)return Y.prototype.once.call(this,$,pe);var Ie=this._createDelegatedListener($,pe,de);for(var $e in Ie.delegates)this.once($e,Ie.delegates[$e]);return this},z.prototype.off=function($,pe,de){var Ie=this;if(de===void 0)return Y.prototype.off.call(this,$,pe);var $e=function(pt){for(var Kt=pt[$],ir=0;ir180;){var de=K.locationPoint(Y);if(de.x>=0&&de.y>=0&&de.x<=K.width&&de.y<=K.height)break;Y.lng>K.center.lng?Y.lng-=360:Y.lng+=360}return Y}var ro={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Ao(Y,z,K){var O=Y.classList;for(var $ in ro)O.remove(\"mapboxgl-\"+K+\"-anchor-\"+$);O.add(\"mapboxgl-\"+K+\"-anchor-\"+z)}var Jn=function(Y){function z(K,O){if(Y.call(this),(K instanceof i.window.HTMLElement||O)&&(K=i.extend({element:K},O)),i.bindAll([\"_update\",\"_onMove\",\"_onUp\",\"_addDragHandler\",\"_onMapClick\",\"_onKeyPress\"],this),this._anchor=K&&K.anchor||\"center\",this._color=K&&K.color||\"#3FB1CE\",this._scale=K&&K.scale||1,this._draggable=K&&K.draggable||!1,this._clickTolerance=K&&K.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=K&&K.rotation||0,this._rotationAlignment=K&&K.rotationAlignment||\"auto\",this._pitchAlignment=K&&K.pitchAlignment&&K.pitchAlignment!==\"auto\"?K.pitchAlignment:this._rotationAlignment,!K||!K.element){this._defaultMarker=!0,this._element=o.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");var $=o.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),pe=41,de=27;$.setAttributeNS(null,\"display\",\"block\"),$.setAttributeNS(null,\"height\",pe+\"px\"),$.setAttributeNS(null,\"width\",de+\"px\"),$.setAttributeNS(null,\"viewBox\",\"0 0 \"+de+\" \"+pe);var Ie=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");Ie.setAttributeNS(null,\"stroke\",\"none\"),Ie.setAttributeNS(null,\"stroke-width\",\"1\"),Ie.setAttributeNS(null,\"fill\",\"none\"),Ie.setAttributeNS(null,\"fill-rule\",\"evenodd\");var $e=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");$e.setAttributeNS(null,\"fill-rule\",\"nonzero\");var pt=o.createNS(\"http://www.w3.org/2000/svg\",\"g\");pt.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),pt.setAttributeNS(null,\"fill\",\"#000000\");for(var Kt=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}],ir=0,Jt=Kt;ir=$}this._isDragging&&(this._pos=O.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new i.Event(\"dragstart\"))),this.fire(new i.Event(\"drag\")))},z.prototype._onUp=function(){this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new i.Event(\"dragend\")),this._state=\"inactive\"},z.prototype._addDragHandler=function(O){this._element.contains(O.originalEvent.target)&&(O.preventDefault(),this._positionDelta=O.point.sub(this._pos).add(this._offset),this._pointerdownPos=O.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},z.prototype.setDraggable=function(O){return this._draggable=!!O,this._map&&(O?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this},z.prototype.isDraggable=function(){return this._draggable},z.prototype.setRotation=function(O){return this._rotation=O||0,this._update(),this},z.prototype.getRotation=function(){return this._rotation},z.prototype.setRotationAlignment=function(O){return this._rotationAlignment=O||\"auto\",this._update(),this},z.prototype.getRotationAlignment=function(){return this._rotationAlignment},z.prototype.setPitchAlignment=function(O){return this._pitchAlignment=O&&O!==\"auto\"?O:this._rotationAlignment,this._update(),this},z.prototype.getPitchAlignment=function(){return this._pitchAlignment},z}(i.Evented),Oa={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},_o;function Po(Y){_o!==void 0?Y(_o):i.window.navigator.permissions!==void 0?i.window.navigator.permissions.query({name:\"geolocation\"}).then(function(z){_o=z.state!==\"denied\",Y(_o)}):(_o=!!i.window.navigator.geolocation,Y(_o))}var Jo=0,Xl=!1,$c=function(Y){function z(K){Y.call(this),this.options=i.extend({},Oa,K),i.bindAll([\"_onSuccess\",\"_onError\",\"_onZoom\",\"_finish\",\"_setupUI\",\"_updateCamera\",\"_updateMarker\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.onAdd=function(O){return this._map=O,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),Po(this._setupUI),this._container},z.prototype.onRemove=function(){this._geolocationWatchID!==void 0&&(i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Jo=0,Xl=!1},z.prototype._isOutOfMapMaxBounds=function(O){var $=this._map.getMaxBounds(),pe=O.coords;return $&&(pe.longitude<$.getWest()||pe.longitude>$.getEast()||pe.latitude<$.getSouth()||pe.latitude>$.getNorth())},z.prototype._setErrorState=function(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\");break}},z.prototype._onSuccess=function(O){if(this._map){if(this._isOutOfMapMaxBounds(O)){this._setErrorState(),this.fire(new i.Event(\"outofmaxbounds\",O)),this._updateMarker(),this._finish();return}if(this.options.trackUserLocation)switch(this._lastKnownPosition=O,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(O),(!this.options.trackUserLocation||this._watchState===\"ACTIVE_LOCK\")&&this._updateCamera(O),this.options.showUserLocation&&this._dotElement.classList.remove(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"geolocate\",O)),this._finish()}},z.prototype._updateCamera=function(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude),pe=O.coords.accuracy,de=this._map.getBearing(),Ie=i.extend({bearing:de},this.options.fitBoundsOptions);this._map.fitBounds($.toBounds(pe),Ie,{geolocateSource:!0})},z.prototype._updateMarker=function(O){if(O){var $=new i.LngLat(O.coords.longitude,O.coords.latitude);this._accuracyCircleMarker.setLngLat($).addTo(this._map),this._userLocationDotMarker.setLngLat($).addTo(this._map),this._accuracy=O.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},z.prototype._updateCircleRadius=function(){var O=this._map._container.clientHeight/2,$=this._map.unproject([0,O]),pe=this._map.unproject([1,O]),de=$.distanceTo(pe),Ie=Math.ceil(2*this._accuracy/de);this._circleElement.style.width=Ie+\"px\",this._circleElement.style.height=Ie+\"px\"},z.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},z.prototype._onError=function(O){if(this._map){if(this.options.trackUserLocation)if(O.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;var $=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=$,this._geolocateButton.setAttribute(\"aria-label\",$),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(O.code===3&&Xl)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"mapboxgl-user-location-dot-stale\"),this.fire(new i.Event(\"error\",O)),this._finish()}},z.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},z.prototype._setupUI=function(O){var $=this;if(this._container.addEventListener(\"contextmenu\",function(Ie){return Ie.preventDefault()}),this._geolocateButton=o.create(\"button\",\"mapboxgl-ctrl-geolocate\",this._container),o.create(\"span\",\"mapboxgl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",!0),this._geolocateButton.type=\"button\",O===!1){i.warnOnce(\"Geolocation support is not available so the GeolocateControl will be disabled.\");var pe=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=pe,this._geolocateButton.setAttribute(\"aria-label\",pe)}else{var de=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=de,this._geolocateButton.setAttribute(\"aria-label\",de)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=o.create(\"div\",\"mapboxgl-user-location-dot\"),this._userLocationDotMarker=new Jn(this._dotElement),this._circleElement=o.create(\"div\",\"mapboxgl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Jn({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",function(Ie){var $e=Ie.originalEvent&&Ie.originalEvent.type===\"resize\";!Ie.geolocateSource&&$._watchState===\"ACTIVE_LOCK\"&&!$e&&($._watchState=\"BACKGROUND\",$._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\"),$._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),$.fire(new i.Event(\"trackuserlocationend\")))})},z.prototype.trigger=function(){if(!this._setup)return i.warnOnce(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new i.Event(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Jo--,Xl=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background-error\"),this.fire(new i.Event(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new i.Event(\"trackuserlocationstart\"));break}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active\");break;case\"ACTIVE_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-active-error\");break;case\"BACKGROUND\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background\");break;case\"BACKGROUND_ERROR\":this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-background-error\");break}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){this._geolocateButton.classList.add(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Jo++;var O;Jo>1?(O={maximumAge:6e5,timeout:0},Xl=!0):(O=this.options.positionOptions,Xl=!1),this._geolocationWatchID=i.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,O)}}else i.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},z.prototype._clearWatch=function(){i.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"mapboxgl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)},z}(i.Evented),xs={maxWidth:100,unit:\"metric\"},Qc=function(z){this.options=i.extend({},xs,z),i.bindAll([\"_onMove\",\"setUnit\"],this)};Qc.prototype.getDefaultPosition=function(){return\"bottom-left\"},Qc.prototype._onMove=function(){El(this._map,this._container,this.options)},Qc.prototype.onAdd=function(z){return this._map=z,this._container=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-scale\",z.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container},Qc.prototype.onRemove=function(){o.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0},Qc.prototype.setUnit=function(z){this.options.unit=z,El(this._map,this._container,this.options)};function El(Y,z,K){var O=K&&K.maxWidth||100,$=Y._container.clientHeight/2,pe=Y.unproject([0,$]),de=Y.unproject([O,$]),Ie=pe.distanceTo(de);if(K&&K.unit===\"imperial\"){var $e=3.2808*Ie;if($e>5280){var pt=$e/5280;bc(z,O,pt,Y._getUIString(\"ScaleControl.Miles\"))}else bc(z,O,$e,Y._getUIString(\"ScaleControl.Feet\"))}else if(K&&K.unit===\"nautical\"){var Kt=Ie/1852;bc(z,O,Kt,Y._getUIString(\"ScaleControl.NauticalMiles\"))}else Ie>=1e3?bc(z,O,Ie/1e3,Y._getUIString(\"ScaleControl.Kilometers\")):bc(z,O,Ie,Y._getUIString(\"ScaleControl.Meters\"))}function bc(Y,z,K,O){var $=yf(K),pe=$/K;Y.style.width=z*pe+\"px\",Y.innerHTML=$+\" \"+O}function wc(Y){var z=Math.pow(10,Math.ceil(-Math.log(Y)/Math.LN10));return Math.round(Y*z)/z}function yf(Y){var z=Math.pow(10,(\"\"+Math.floor(Y)).length-1),K=Y/z;return K=K>=10?10:K>=5?5:K>=3?3:K>=2?2:K>=1?1:wc(K),z*K}var Hl=function(z){this._fullscreen=!1,z&&z.container&&(z.container instanceof i.window.HTMLElement?this._container=z.container:i.warnOnce(\"Full screen control 'container' must be a DOM element.\")),i.bindAll([\"_onClickFullscreen\",\"_changeIcon\"],this),\"onfullscreenchange\"in i.window.document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in i.window.document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in i.window.document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in i.window.document&&(this._fullscreenchange=\"MSFullscreenChange\")};Hl.prototype.onAdd=function(z){return this._map=z,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create(\"div\",\"mapboxgl-ctrl mapboxgl-ctrl-group\"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display=\"none\",i.warnOnce(\"This device does not support fullscreen mode.\")),this._controlContainer},Hl.prototype.onRemove=function(){o.remove(this._controlContainer),this._map=null,i.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._checkFullscreenSupport=function(){return!!(i.window.document.fullscreenEnabled||i.window.document.mozFullScreenEnabled||i.window.document.msFullscreenEnabled||i.window.document.webkitFullscreenEnabled)},Hl.prototype._setupUI=function(){var z=this._fullscreenButton=o.create(\"button\",\"mapboxgl-ctrl-fullscreen\",this._controlContainer);o.create(\"span\",\"mapboxgl-ctrl-icon\",z).setAttribute(\"aria-hidden\",!0),z.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),i.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Hl.prototype._updateTitle=function(){var z=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",z),this._fullscreenButton.title=z},Hl.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")},Hl.prototype._isFullscreen=function(){return this._fullscreen},Hl.prototype._changeIcon=function(){var z=i.window.document.fullscreenElement||i.window.document.mozFullScreenElement||i.window.document.webkitFullscreenElement||i.window.document.msFullscreenElement;z===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"mapboxgl-ctrl-fullscreen\"),this._updateTitle())},Hl.prototype._onClickFullscreen=function(){this._isFullscreen()?i.window.document.exitFullscreen?i.window.document.exitFullscreen():i.window.document.mozCancelFullScreen?i.window.document.mozCancelFullScreen():i.window.document.msExitFullscreen?i.window.document.msExitFullscreen():i.window.document.webkitCancelFullScreen&&i.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Fc={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\"},ef=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \"),ls=function(Y){function z(K){Y.call(this),this.options=i.extend(Object.create(Fc),K),i.bindAll([\"_update\",\"_onClose\",\"remove\",\"_onMouseMove\",\"_onMouseUp\",\"_onDrag\"],this)}return Y&&(z.__proto__=Y),z.prototype=Object.create(Y&&Y.prototype),z.prototype.constructor=z,z.prototype.addTo=function(O){return this._map&&this.remove(),this._map=O,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new i.Event(\"open\")),this},z.prototype.isOpen=function(){return!!this._map},z.prototype.remove=function(){return this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),delete this._map),this.fire(new i.Event(\"close\")),this},z.prototype.getLngLat=function(){return this._lngLat},z.prototype.setLngLat=function(O){return this._lngLat=i.LngLat.convert(O),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"mapboxgl-track-pointer\")),this},z.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"mapboxgl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"mapboxgl-track-pointer\")),this},z.prototype.getElement=function(){return this._container},z.prototype.setText=function(O){return this.setDOMContent(i.window.document.createTextNode(O))},z.prototype.setHTML=function(O){var $=i.window.document.createDocumentFragment(),pe=i.window.document.createElement(\"body\"),de;for(pe.innerHTML=O;de=pe.firstChild,!!de;)$.appendChild(de);return this.setDOMContent($)},z.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},z.prototype.setMaxWidth=function(O){return this.options.maxWidth=O,this._update(),this},z.prototype.setDOMContent=function(O){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create(\"div\",\"mapboxgl-popup-content\",this._container);return this._content.appendChild(O),this._createCloseButton(),this._update(),this._focusFirstElement(),this},z.prototype.addClassName=function(O){this._container&&this._container.classList.add(O)},z.prototype.removeClassName=function(O){this._container&&this._container.classList.remove(O)},z.prototype.setOffset=function(O){return this.options.offset=O,this._update(),this},z.prototype.toggleClassName=function(O){if(this._container)return this._container.classList.toggle(O)},z.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=o.create(\"button\",\"mapboxgl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))},z.prototype._onMouseUp=function(O){this._update(O.point)},z.prototype._onMouseMove=function(O){this._update(O.point)},z.prototype._onDrag=function(O){this._update(O.point)},z.prototype._update=function(O){var $=this,pe=this._lngLat||this._trackPointer;if(!(!this._map||!pe||!this._content)&&(this._container||(this._container=o.create(\"div\",\"mapboxgl-popup\",this._map.getContainer()),this._tip=o.create(\"div\",\"mapboxgl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(\" \").forEach(function(vt){return $._container.classList.add(vt)}),this._trackPointer&&this._container.classList.add(\"mapboxgl-popup-track-pointer\")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=ma(this._lngLat,this._pos,this._map.transform)),!(this._trackPointer&&!O))){var de=this._pos=this._trackPointer&&O?O:this._map.project(this._lngLat),Ie=this.options.anchor,$e=_f(this.options.offset);if(!Ie){var pt=this._container.offsetWidth,Kt=this._container.offsetHeight,ir;de.y+$e.bottom.ythis._map.transform.height-Kt?ir=[\"bottom\"]:ir=[],de.xthis._map.transform.width-pt/2&&ir.push(\"right\"),ir.length===0?Ie=\"bottom\":Ie=ir.join(\"-\")}var Jt=de.add($e[Ie]).round();o.setTransform(this._container,ro[Ie]+\" translate(\"+Jt.x+\"px,\"+Jt.y+\"px)\"),Ao(this._container,Ie,\"popup\")}},z.prototype._focusFirstElement=function(){if(!(!this.options.focusAfterOpen||!this._container)){var O=this._container.querySelector(ef);O&&O.focus()}},z.prototype._onClose=function(){this.remove()},z}(i.Evented);function _f(Y){if(Y)if(typeof Y==\"number\"){var z=Math.round(Math.sqrt(.5*Math.pow(Y,2)));return{center:new i.Point(0,0),top:new i.Point(0,Y),\"top-left\":new i.Point(z,z),\"top-right\":new i.Point(-z,z),bottom:new i.Point(0,-Y),\"bottom-left\":new i.Point(z,-z),\"bottom-right\":new i.Point(-z,-z),left:new i.Point(Y,0),right:new i.Point(-Y,0)}}else if(Y instanceof i.Point||Array.isArray(Y)){var K=i.Point.convert(Y);return{center:K,top:K,\"top-left\":K,\"top-right\":K,bottom:K,\"bottom-left\":K,\"bottom-right\":K,left:K,right:K}}else return{center:i.Point.convert(Y.center||[0,0]),top:i.Point.convert(Y.top||[0,0]),\"top-left\":i.Point.convert(Y[\"top-left\"]||[0,0]),\"top-right\":i.Point.convert(Y[\"top-right\"]||[0,0]),bottom:i.Point.convert(Y.bottom||[0,0]),\"bottom-left\":i.Point.convert(Y[\"bottom-left\"]||[0,0]),\"bottom-right\":i.Point.convert(Y[\"bottom-right\"]||[0,0]),left:i.Point.convert(Y.left||[0,0]),right:i.Point.convert(Y.right||[0,0])};else return _f(new i.Point(0,0))}var ns={version:i.version,supported:a,setRTLTextPlugin:i.setRTLTextPlugin,getRTLTextPluginStatus:i.getRTLTextPluginStatus,Map:vn,NavigationControl:Xn,GeolocateControl:$c,AttributionControl:Rn,ScaleControl:Qc,FullscreenControl:Hl,Popup:ls,Marker:Jn,Style:mu,LngLat:i.LngLat,LngLatBounds:i.LngLatBounds,Point:i.Point,MercatorCoordinate:i.MercatorCoordinate,Evented:i.Evented,config:i.config,prewarm:jn,clearPrewarmedResources:la,get accessToken(){return i.config.ACCESS_TOKEN},set accessToken(Y){i.config.ACCESS_TOKEN=Y},get baseApiUrl(){return i.config.API_URL},set baseApiUrl(Y){i.config.API_URL=Y},get workerCount(){return Pi.workerCount},set workerCount(Y){Pi.workerCount=Y},get maxParallelImageRequests(){return i.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(Y){i.config.MAX_PARALLEL_IMAGE_REQUESTS=Y},clearStorage:function(z){i.clearTileCache(z)},workerUrl:\"\"};return ns}),r})});var HUe=ye((Syr,VUe)=>{\"use strict\";var tw=Mr(),xHt=Ll().sanitizeHTML,bHt=UK(),BUe=c1();function NUe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=BUe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ig=NUe.prototype;ig.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=jF(t)};ig.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ig.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ig.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ig.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ig.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapboxLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ig.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!jF(e)){var r=wHt(e);t.addSource(this.idSource,r)}};ig.findFollowingMapboxLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function UUe(e){var t={},r={};switch(e.type){case\"circle\":tw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":tw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":tw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=bHt(n.textposition,n.iconsize);tw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),tw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":tw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function wHt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=xHt(e.sourceattribution)),n}VUe.exports=function(t,r,n){var i=new NUe(t,r);return i.update(n),i}});var $Ue=ye((Myr,JUe)=>{\"use strict\";var XK=ZK(),YK=Mr(),ZUe=ix(),GUe=ba(),THt=Qa(),AHt=gv(),WF=Nc(),XUe=Sg(),SHt=XUe.drawMode,MHt=XUe.selectMode,EHt=wf().prepSelect,kHt=wf().clearOutline,CHt=wf().clearSelectionsCache,LHt=wf().selectOnClick,yx=c1(),PHt=HUe();function YUe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Ah=YUe.prototype;Ah.plot=function(e,t,r){var n=this,i=t[n.id];n.map&&i.accesstoken!==n.accessToken&&(n.map.remove(),n.map=null,n.styleObj=null,n.traceHash={},n.layerList=[]);var a;n.map?a=new Promise(function(o,s){n.updateMap(e,t,o,s)}):a=new Promise(function(o,s){n.createMap(e,t,o,s)}),r.push(a)};Ah.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=KUe(a.style,t);i.accessToken=a.accesstoken;var s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new XK.Map({container:i.div,style:o.style,center:KK(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new XK.AttributionControl({compact:!0}));u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var c=[];c.push(new Promise(function(f){u.once(\"load\",f)})),c=c.concat(ZUe.fetchTraceGeoData(e)),Promise.all(c).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=KUe(o.style,t);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(ZUe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Ah.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&LHt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&WF.click(n,l.originalEvent)}}};Ah.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=YK.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),MHt(a)||SHt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){EHt(l,u,c,t.dragOptions,a)},AHt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Ah.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Ah.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{\"use strict\";var JK=Mr(),IHt=k_(),RHt=Zd(),QUe=Pk();eVe.exports=function(t,r,n){IHt(t,r,n,{type:\"mapbox\",attributes:QUe,handleDefaults:DHt,partition:\"y\",accessToken:r._mapboxAccessToken})};function DHt(e,t,r,n){r(\"accesstoken\",n.accessToken),r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var i=r(\"bounds.west\"),a=r(\"bounds.east\"),o=r(\"bounds.south\"),s=r(\"bounds.north\");(i===void 0||a===void 0||o===void 0||s===void 0)&&delete t.bounds,RHt(e,t,{name:\"layers\",handleItemDefaults:zHt}),t._input=e}function zHt(e,t){function r(l,u){return JK.coerce(e,t,QUe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",JK.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),JK.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var ZF=ye(Np=>{\"use strict\";var rVe=ZK(),tm=Mr(),$K=tm.strTranslate,FHt=tm.strScale,qHt=kd().getSubplotCalcData,OHt=Zp(),BHt=xa(),iVe=ao(),NHt=Ll(),UHt=$Ue(),_x=\"mapbox\",Qm=Np.constants=c1();Np.name=_x;Np.attr=\"subplot\";Np.idRoot=_x;Np.idRegex=Np.attrRegex=tm.counterRegex(_x);var VHt=[\"mapbox subplots and traces are deprecated!\",\"Please consider switching to `map` subplots and traces.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");Np.attributes={subplot:{valType:\"subplotid\",dflt:\"mapbox\",editType:\"calc\"}};Np.layoutAttributes=Pk();Np.supplyLayoutDefaults=tVe();var nVe=!0;Np.plot=function(t){nVe&&(nVe=!1,tm.warn(VHt));var r=t._fullLayout,n=t.calcdata,i=r._subplots[_x];if(rVe.version!==Qm.requiredVersion)throw new Error(Qm.wrongVersionErrorMsg);var a=HHt(t,i);rVe.accessToken=a;for(var o=0;og/2){var E=d.split(\"|\").join(\"
\");x.text(E).attr(\"data-unformatted\",E).call(NHt.convertToTspans,e),b=iVe.bBox(x.node())}x.attr(\"transform\",$K(-3,-b.height+8)),v.insert(\"rect\",\".static-attribution\").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var k=1;b.width+6>g&&(k=g/(b.width+6));var A=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];v.attr(\"transform\",$K(A[0],A[1])+FHt(k))}};function HHt(e,t){var r=e._fullLayout,n=e._context;if(n.mapboxAccessToken===\"\")return\"\";for(var i=[],a=[],o=!1,s=!1,l=0;l1&&tm.warn(Qm.multipleTokensErrorMsg),i[0]):(a.length&&tm.log([\"Listed mapbox access token(s)\",a.join(\",\"),\"but did not use a Mapbox map style, ignoring token(s).\"].join(\" \")),\"\")}function aVe(e){return typeof e==\"string\"&&(Qm.styleValuesMapbox.indexOf(e)!==-1||e.indexOf(\"mapbox://\")===0||e.indexOf(\"stamen\")===0)}Np.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[_x],n=0;n{\"use strict\";var Cyr=[\"*scattermapbox* trace is deprecated!\",\"Please consider switching to the *scattermap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");oVe.exports={attributes:BF(),supplyDefaults:yUe(),colorbar:Kd(),formatLabels:NK(),calc:lz(),plot:IUe(),hoverPoints:GF().hoverPoints,eventData:FUe(),selectPoints:OUe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermapbox\",basePlotModule:ZF(),categories:[\"mapbox\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var uVe=ye((Pyr,lVe)=>{\"use strict\";lVe.exports=sVe()});var QK=ye((Iyr,cVe)=>{\"use strict\";var f1=J5(),GHt=Kl(),jHt=Wo().hovertemplateAttrs,WHt=vl(),xx=no().extendFlat;cVe.exports=xx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:xx({},f1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:f1.text,hovertext:f1.hovertext,marker:{line:{color:xx({},f1.marker.line.color,{editType:\"plot\"}),width:xx({},f1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:xx({},f1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:xx({},f1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:xx({},f1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:f1.hoverinfo,hovertemplate:jHt({},{keys:[\"properties\"]}),showlegend:xx({},WHt.showlegend,{dflt:!1})},GHt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var hVe=ye((Ryr,fVe)=>{\"use strict\";var zk=Mr(),ZHt=Uh(),XHt=QK();fVe.exports=function(t,r,n,i){function a(c,f){return zk.coerce(t,r,XHt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!zk.isArrayOrTypedArray(o)||!o.length||!zk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||zk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),ZHt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),zk.coerceSelectionMarkerOpacity(r,a)}});var eJ=ye((Dyr,pVe)=>{\"use strict\";var YHt=uo(),h1=Mr(),KHt=Mu(),JHt=ao(),$Ht=tx().makeBlank,dVe=ix();function QHt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:$Ht()};if(!r)return a;var o=dVe.extractTraceFeature(e);if(!o)return a;var s=KHt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;h1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return YHt(k)?+h1.constrain(k,0,1):0});var f;h1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;h1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d{\"use strict\";var mVe=eJ().convert,eGt=eJ().convertOnSelect,gVe=c1().traceLayerPrefix;function yVe(e,t){this.type=\"choroplethmapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",gVe+t+\"-fill\"],[\"line\",gVe+t+\"-line\"]],this.below=null}var TA=yVe.prototype;TA.update=function(e){this._update(mVe(e)),e[0].trace._glTrace=this};TA.updateOnSelect=function(e){this._update(eGt(e))};TA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};TA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};_Ve.exports=function(t,r){var n=r[0].trace,i=new yVe(t,n.uid),a=i.sourceId,o=mVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var wVe=ye((qyr,bVe)=>{\"use strict\";var Fyr=[\"*choroplethmapbox* trace is deprecated!\",\"Please consider switching to the *choroplethmap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");bVe.exports={attributes:QK(),supplyDefaults:hVe(),colorbar:S_(),calc:Lz(),plot:xVe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a{\"use strict\";TVe.exports=wVe()});var rJ=ye((Byr,MVe)=>{\"use strict\";var tGt=Kl(),rGt=Wo().hovertemplateAttrs,SVe=vl(),XF=BF(),tJ=no().extendFlat;MVe.exports=tJ({lon:XF.lon,lat:XF.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:XF.text,hovertext:XF.hovertext,hoverinfo:tJ({},SVe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:rGt(),showlegend:tJ({},SVe.showlegend,{dflt:!1})},tGt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var kVe=ye((Nyr,EVe)=>{\"use strict\";var iGt=Mr(),nGt=Uh(),aGt=rJ();EVe.exports=function(t,r,n,i){function a(u,c){return iGt.coerce(t,r,aGt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),nGt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var PVe=ye((Uyr,LVe)=>{\"use strict\";var iJ=uo(),oGt=Mr().isArrayOrTypedArray,nJ=es().BADNUM,sGt=zv(),CVe=Mr()._;LVe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=oGt(a)&&a.length,s=0;s{\"use strict\";var lGt=uo(),aJ=Mr(),IVe=va(),RVe=Mu(),DVe=es().BADNUM,uGt=tx().makeBlank;zVe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:uGt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=aJ.isArrayOrTypedArray(l)&&l.length,f=aJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=RVe.extractOpts(r),g=b.reversescale?RVe.flipScale(b.colorscale):b.colorscale,E=g[0][1],k=IVe.opacity(E)<1?E:IVe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s{\"use strict\";var qVe=FVe(),cGt=c1().traceLayerPrefix;function OVe(e,t){this.type=\"densitymapbox\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",cGt+t+\"-heatmap\"]],this.below=null}var YF=OVe.prototype;YF.update=function(e){var t=this.subplot,r=this.layerList,n=qVe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};YF.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};BVe.exports=function(t,r){var n=r[0].trace,i=new OVe(t,n.uid),a=i.sourceId,o=qVe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var VVe=ye((Gyr,UVe)=>{\"use strict\";var fGt=Qa(),hGt=GF().hoverPoints,dGt=GF().getExtraText;UVe.exports=function(t,r,n){var i=hGt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=fGt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=dGt(s,l,o[0].t.labels),[a]}}});var GVe=ye((jyr,HVe)=>{\"use strict\";HVe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var WVe=ye((Zyr,jVe)=>{\"use strict\";var Wyr=[\"*densitymapbox* trace is deprecated!\",\"Please consider switching to the *densitymap* trace type and `map` subplots.\",\"Learn more at: https://plotly.com/python/maplibre-migration/\",\"as well as https://plotly.com/javascript/maplibre-migration/\"].join(\" \");jVe.exports={attributes:rJ(),supplyDefaults:kVe(),colorbar:S_(),formatLabels:NK(),calc:PVe(),plot:NVe(),hoverPoints:VVe(),eventData:GVe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{\"use strict\";ZVe.exports=WVe()});var KVe=ye((Yyr,YVe)=>{YVe.exports={version:8,name:\"orto\",metadata:{\"maputnik:renderer\":\"mlgljs\"},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}},{id:\"waterway_tunnel\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:14,filter:[\"all\",[\"in\",\"class\",\"river\",\"stream\",\"canal\"],[\"==\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]},\"line-dasharray\":[2,4]}},{id:\"waterway-other\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"!in\",\"class\",\"canal\",\"river\",\"stream\"],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,2]]}}},{id:\"waterway-stream-canal\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"in\",\"class\",\"canal\",\"stream\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.3,stops:[[13,.5],[20,6]]}}},{id:\"waterway-river\",type:\"line\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"waterway\",filter:[\"all\",[\"==\",\"class\",\"river\"],[\"!=\",\"brunnel\",\"tunnel\"]],layout:{\"line-cap\":\"round\"},paint:{\"line-color\":\"#a0c8f0\",\"line-width\":{base:1.2,stops:[[10,.8],[20,4]]},\"line-opacity\":.5}},{id:\"water-offset\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",maxzoom:8,filter:[\"==\",\"$type\",\"Polygon\"],layout:{visibility:\"visible\"},paint:{\"fill-opacity\":0,\"fill-color\":\"#a0c8f0\",\"fill-translate\":{base:1,stops:[[6,[2,0]],[8,[0,0]]]}}},{id:\"water\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-color\":\"hsl(210, 67%, 85%)\",\"fill-opacity\":0}},{id:\"water-pattern\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"water\",layout:{visibility:\"visible\"},paint:{\"fill-translate\":[0,2.5],\"fill-pattern\":\"wave\",\"fill-opacity\":1}},{id:\"landcover-ice-shelf\",type:\"fill\",metadata:{\"mapbox:group\":\"1444849382550.77\"},source:\"openmaptiles\",\"source-layer\":\"landcover\",filter:[\"==\",\"subclass\",\"ice_shelf\"],layout:{visibility:\"visible\"},paint:{\"fill-color\":\"#fff\",\"fill-opacity\":{base:1,stops:[[0,.9],[10,.3]]}}},{id:\"tunnel-service-track-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[15,1],[16,4],[20,11]]}}},{id:\"tunnel-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,1]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"tunnel-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"tunnel-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.7}},{id:\"tunnel-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-dasharray\":[.5,.25],\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"tunnel-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"tunnel-service-track\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"service\",\"track\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-width\":{base:1.2,stops:[[15.5,0],[16,2],[20,7.5]]}}},{id:\"tunnel-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"minor_road\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"tunnel-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,10]]}}},{id:\"tunnel-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fff4c6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#ffdaa6\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"tunnel-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849354174.1904\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"tunnel\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]},\"line-dasharray\":[2,2]}},{id:\"ferry\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"in\",\"class\",\"ferry\"]],layout:{\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(108, 159, 182, 1)\",\"line-width\":1.1,\"line-dasharray\":[2,2]}},{id:\"aeroway-taxiway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"taxiway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,2],[17,12]]},\"line-opacity\":1}},{id:\"aeroway-runway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:12,filter:[\"all\",[\"in\",\"class\",\"runway\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(153, 153, 153, 1)\",\"line-width\":{base:1.5,stops:[[11,5],[17,55]]},\"line-opacity\":1}},{id:\"aeroway-taxiway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"taxiway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,1],[17,10]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"aeroway-runway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"aeroway\",minzoom:4,filter:[\"all\",[\"in\",\"class\",\"runway\"],[\"==\",\"$type\",\"LineString\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"rgba(255, 255, 255, 1)\",\"line-width\":{base:1.5,stops:[[11,4],[17,50]]},\"line-opacity\":{base:1,stops:[[11,0],[12,1]]}}},{id:\"highway-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"highway-minor-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#cfcdca\",\"line-opacity\":{stops:[[12,0],[12.5,0]]},\"line-width\":{base:1.2,stops:[[12,.5],[13,1],[14,4],[20,15]]}}},{id:\"highway-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[8,1.5],[20,17]]}}},{id:\"highway-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[7,0],[8,.6]]},\"line-width\":{base:1.2,stops:[[7,0],[8,.6],[9,1.5],[20,22]]}}},{id:\"highway-trunk-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":{stops:[[5,0],[6,.5]]},\"line-width\":{base:1.2,stops:[[5,0],[6,.6],[7,1.5],[20,22]]}}},{id:\"highway-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:4,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-cap\":\"butt\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[4,0],[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":{stops:[[4,0],[5,.5]]}}},{id:\"highway-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-dasharray\":[1.5,.75],\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]}}},{id:\"highway-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:12,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"highway-minor\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!=\",\"brunnel\",\"tunnel\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"#fff\",\"line-opacity\":.5,\"line-width\":{base:1.2,stops:[[13.5,0],[14,2.5],[20,11.5]]}}},{id:\"highway-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[8,.5],[20,13]]},\"line-opacity\":.5}},{id:\"highway-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"primary\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[8.5,0],[9,.5],[20,18]]},\"line-opacity\":0}},{id:\"highway-trunk\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"in\",\"class\",\"trunk\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"highway-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:5,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"motorway\"]]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\",visibility:\"visible\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"railway-transit\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-transit-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"transit\"],[\"!in\",\"brunnel\",\"tunnel\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway-service\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.77)\",\"line-width\":{base:1.4,stops:[[14,.4],[20,1]]}}},{id:\"railway-service-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"class\",\"rail\"],[\"has\",\"service\"]]],layout:{visibility:\"visible\"},paint:{\"line-color\":\"hsla(0, 0%, 73%, 0.68)\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,2],[20,6]]}}},{id:\"railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849345966.4436\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"!has\",\"service\"],[\"!in\",\"brunnel\",\"bridge\",\"tunnel\"],[\"==\",\"class\",\"rail\"]]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"bridge-motorway-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-link-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[12,1],[13,3],[14,4],[20,15]]}}},{id:\"bridge-secondary-tertiary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-opacity\":1,\"line-width\":{base:1.2,stops:[[8,1.5],[20,28]]}}},{id:\"bridge-trunk-primary-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(28, 76%, 67%)\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,26]]}}},{id:\"bridge-motorway-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#e9ac77\",\"line-width\":{base:1.2,stops:[[5,.4],[6,.6],[7,1.5],[20,22]]},\"line-opacity\":.5}},{id:\"bridge-path-casing\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#f8f4f0\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,18]]}}},{id:\"bridge-path\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"path\"]]],paint:{\"line-color\":\"#cba\",\"line-width\":{base:1.2,stops:[[15,1.2],[20,4]]},\"line-dasharray\":[1.5,.75]}},{id:\"bridge-motorway-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-link\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary_link\",\"secondary_link\",\"tertiary_link\",\"trunk_link\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{id:\"bridge-secondary-tertiary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"secondary\",\"tertiary\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,20]]}}},{id:\"bridge-trunk-primary\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"in\",\"class\",\"primary\",\"trunk\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fea\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]}}},{id:\"bridge-motorway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"motorway\"]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#fc8\",\"line-width\":{base:1.2,stops:[[6.5,0],[7,.5],[20,18]]},\"line-opacity\":.5}},{id:\"bridge-railway\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-width\":{base:1.4,stops:[[14,.4],[15,.75],[20,2]]}}},{id:\"bridge-railway-hatching\",type:\"line\",metadata:{\"mapbox:group\":\"1444849334699.1902\"},source:\"openmaptiles\",\"source-layer\":\"transportation\",filter:[\"all\",[\"==\",\"brunnel\",\"bridge\"],[\"==\",\"class\",\"rail\"]],paint:{\"line-color\":\"#bbb\",\"line-dasharray\":[.2,8],\"line-width\":{base:1.4,stops:[[14.5,0],[15,3],[20,8]]}}},{id:\"cablecar\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,1],[19,2.5]]}}},{id:\"cablecar-dash\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:13,filter:[\"==\",\"class\",\"cable_car\"],layout:{visibility:\"visible\",\"line-cap\":\"round\"},paint:{\"line-color\":\"hsl(0, 0%, 70%)\",\"line-width\":{base:1,stops:[[11,3],[19,5.5]]},\"line-dasharray\":[2,3]}},{id:\"boundary-land-level-4\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\">=\",\"admin_level\",4],[\"<=\",\"admin_level\",8],[\"!=\",\"maritime\",1]],layout:{\"line-join\":\"round\"},paint:{\"line-color\":\"#9e9cab\",\"line-dasharray\":[3,1,1,1],\"line-width\":{base:1.4,stops:[[4,.4],[5,1],[12,3]]},\"line-opacity\":.6}},{id:\"boundary-land-level-2\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"==\",\"admin_level\",2],[\"!=\",\"maritime\",1],[\"!=\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 66%)\",\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,2]]}}},{id:\"boundary-land-disputed\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"!=\",\"maritime\",1],[\"==\",\"disputed\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"hsl(248, 7%, 70%)\",\"line-dasharray\":[1,3],\"line-width\":{base:1,stops:[[0,.6],[4,1.4],[5,2],[12,8]]}}},{id:\"boundary-water\",type:\"line\",source:\"openmaptiles\",\"source-layer\":\"boundary\",filter:[\"all\",[\"in\",\"admin_level\",2,4],[\"==\",\"maritime\",1]],layout:{\"line-cap\":\"round\",\"line-join\":\"round\"},paint:{\"line-color\":\"rgba(154, 189, 214, 1)\",\"line-width\":{base:1,stops:[[0,.6],[4,1],[5,1],[12,1]]},\"line-opacity\":{stops:[[6,0],[10,0]]}}},{id:\"waterway-name\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"waterway\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"has\",\"name\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin} {name:nonlatin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"text-letter-spacing\":.2,\"symbol-spacing\":350},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-lakeline\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"==\",\"$type\",\"LineString\"],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"line\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-ocean\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"==\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":14,\"text-field\":\"{name:latin}\",\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"water-name-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"water_name\",filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"!in\",\"class\",\"ocean\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-size\":{stops:[[0,10],[6,14]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":5,\"text-rotation-alignment\":\"map\",\"symbol-placement\":\"point\",\"symbol-spacing\":350,\"text-letter-spacing\":.2,visibility:\"visible\"},paint:{\"text-color\":\"#74aee9\",\"text-halo-width\":1.5,\"text-halo-color\":\"rgba(255,255,255,0.7)\"}},{id:\"poi-level-3\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:16,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\">=\",\"rank\",25]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-2\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",24],[\">=\",\"rank\",15]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"poi-level-1\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:14,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"<=\",\"rank\",14],[\"has\",\"name\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":11,\"text-max-width\":9},paint:{\"text-halo-blur\":.5,\"text-color\":\"rgba(191, 228, 172, 1)\",\"text-halo-width\":1,\"text-halo-color\":\"rgba(30, 29, 29, 1)\"}},{id:\"poi-railway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"poi\",minzoom:13,filter:[\"all\",[\"==\",\"$type\",\"Point\"],[\"has\",\"name\"],[\"==\",\"class\",\"railway\"],[\"==\",\"subclass\",\"station\"]],layout:{\"text-padding\":2,\"text-font\":[\"Noto Sans Regular\"],\"text-anchor\":\"top\",\"icon-image\":\"{class}_11\",\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-offset\":[0,.6],\"text-size\":12,\"text-max-width\":9,\"icon-optional\":!1,\"icon-ignore-placement\":!1,\"icon-allow-overlap\":!1,\"text-ignore-placement\":!1,\"text-allow-overlap\":!1,\"text-optional\":!0},paint:{\"text-halo-blur\":.5,\"text-color\":\"#666\",\"text-halo-width\":1,\"text-halo-color\":\"#ffffff\"}},{id:\"road_oneway\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"road_oneway_opposite\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation\",minzoom:15,filter:[\"all\",[\"==\",\"oneway\",-1],[\"in\",\"class\",\"motorway\",\"trunk\",\"primary\",\"secondary\",\"tertiary\",\"minor\",\"service\"]],layout:{\"symbol-placement\":\"line\",\"icon-image\":\"oneway\",\"symbol-spacing\":75,\"icon-padding\":2,\"icon-rotation-alignment\":\"map\",\"icon-rotate\":-90,\"icon-size\":{stops:[[15,.5],[19,1]]}},paint:{\"icon-opacity\":.5}},{id:\"highway-name-path\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15.5,filter:[\"==\",\"class\",\"path\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-color\":\"#f8f4f0\",\"text-color\":\"hsl(30, 23%, 62%)\",\"text-halo-width\":.5}},{id:\"highway-name-minor\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:15,filter:[\"all\",[\"==\",\"$type\",\"LineString\"],[\"in\",\"class\",\"minor\",\"service\",\"track\"]],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-name-major\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:12.2,filter:[\"in\",\"class\",\"primary\",\"secondary\",\"tertiary\",\"trunk\"],layout:{\"text-size\":{base:1,stops:[[13,12],[14,13]]},\"text-font\":[\"Noto Sans Regular\"],\"text-field\":\"{name:latin} {name:nonlatin}\",\"symbol-placement\":\"line\",\"text-rotation-alignment\":\"map\"},paint:{\"text-halo-blur\":.5,\"text-color\":\"#765\",\"text-halo-width\":1}},{id:\"highway-shield\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:8,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"!in\",\"network\",\"us-interstate\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"road_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-opacity\":1,\"text-color\":\"rgba(20, 19, 19, 1)\",\"text-halo-color\":\"rgba(230, 221, 221, 0)\",\"text-halo-width\":2,\"icon-color\":\"rgba(183, 18, 18, 1)\",\"icon-opacity\":.3,\"icon-halo-color\":\"rgba(183, 55, 55, 0)\"}},{id:\"highway-shield-us-interstate\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:7,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-interstate\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[7,\"point\"],[7,\"line\"],[8,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"highway-shield-us-other\",type:\"symbol\",source:\"openmaptiles\",\"source-layer\":\"transportation_name\",minzoom:9,filter:[\"all\",[\"<=\",\"ref_length\",6],[\"==\",\"$type\",\"LineString\"],[\"in\",\"network\",\"us-highway\",\"us-state\"]],layout:{\"text-size\":10,\"icon-image\":\"{network}_{ref_length}\",\"icon-rotation-alignment\":\"viewport\",\"symbol-spacing\":200,\"text-font\":[\"Noto Sans Regular\"],\"symbol-placement\":{base:1,stops:[[10,\"point\"],[11,\"line\"]]},\"text-rotation-alignment\":\"viewport\",\"icon-size\":1,\"text-field\":\"{ref}\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\"}},{id:\"place-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:12,filter:[\"!in\",\"class\",\"city\",\"town\",\"village\",\"country\",\"continent\"],layout:{\"text-letter-spacing\":.1,\"text-size\":{base:1.2,stops:[[12,10],[15,14]]},\"text-font\":[\"Noto Sans Bold\"],\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-transform\":\"uppercase\",\"text-max-width\":9,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255,255,255,1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(57, 28, 28, 1)\"}},{id:\"place-village\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",minzoom:10,filter:[\"==\",\"class\",\"village\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,12],[15,16]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(10, 9, 9, 0.8)\"}},{id:\"place-town\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"==\",\"class\",\"town\"],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[10,14],[15,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(255, 255, 255, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(22, 22, 22, 0.8)\"}},{id:\"place-city\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"!=\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,visibility:\"visible\"},paint:{\"text-color\":\"rgba(0, 0, 0, 1)\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-city-capital\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"capital\",2],[\"==\",\"class\",\"city\"]],layout:{\"text-font\":[\"Noto Sans Regular\"],\"text-size\":{base:1.2,stops:[[7,14],[11,24]]},\"text-field\":`{name:latin}\n", + "{name:nonlatin}`,\"text-max-width\":8,\"icon-image\":\"star_11\",\"text-offset\":[.4,0],\"icon-size\":.8,\"text-anchor\":\"left\",visibility:\"visible\"},paint:{\"text-color\":\"#333\",\"text-halo-width\":1.2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-other\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"!has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Italic\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-3\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\">=\",\"rank\",3],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[3,11],[7,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-2\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",2],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[2,11],[5,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-country-1\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",filter:[\"all\",[\"==\",\"class\",\"country\"],[\"==\",\"rank\",1],[\"has\",\"iso_a2\"]],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":{stops:[[1,11],[4,17]]},\"text-transform\":\"uppercase\",\"text-max-width\":6.25,visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}},{id:\"place-continent\",type:\"symbol\",metadata:{\"mapbox:group\":\"1444849242106.713\"},source:\"openmaptiles\",\"source-layer\":\"place\",maxzoom:1,filter:[\"==\",\"class\",\"continent\"],layout:{\"text-font\":[\"Noto Sans Bold\"],\"text-field\":\"{name:latin}\",\"text-size\":14,\"text-max-width\":6.25,\"text-transform\":\"uppercase\",visibility:\"visible\"},paint:{\"text-halo-blur\":1,\"text-color\":\"#334\",\"text-halo-width\":2,\"text-halo-color\":\"rgba(255,255,255,0.8)\"}}],id:\"qebnlkra6\"}});var $Ve=ye((Kyr,JVe)=>{JVe.exports={version:8,name:\"orto\",metadata:{},center:[1.537786,41.837539],zoom:12,bearing:0,pitch:0,light:{anchor:\"viewport\",color:\"white\",intensity:.4,position:[1.15,45,30]},sources:{ortoEsri:{type:\"raster\",tiles:[\"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}\"],tileSize:256,maxzoom:18,attribution:\"ESRI © ESRI\"},ortoInstaMaps:{type:\"raster\",tiles:[\"https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png\"],tileSize:256,maxzoom:13},ortoICGC:{type:\"raster\",tiles:[\"https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg\"],tileSize:256,minzoom:13.1,maxzoom:20},openmaptiles:{type:\"vector\",url:\"https://geoserveis.icgc.cat/contextmaps/basemap.json\"}},sprite:\"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1\",glyphs:\"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf\",layers:[{id:\"background\",type:\"background\",paint:{\"background-color\":\"#F4F9F4\"}},{id:\"ortoEsri\",type:\"raster\",source:\"ortoEsri\",maxzoom:16,layout:{visibility:\"visible\"}},{id:\"ortoICGC\",type:\"raster\",source:\"ortoICGC\",minzoom:13.1,maxzoom:19,layout:{visibility:\"visible\"}},{id:\"ortoInstaMaps\",type:\"raster\",source:\"ortoInstaMaps\",maxzoom:13,layout:{visibility:\"visible\"}}]}});var bx=ye((Jyr,iHe)=>{\"use strict\";var vGt=X1(),pGt=KVe(),gGt=$Ve(),mGt='\\xA9 OpenStreetMap contributors',QVe=\"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json\",eHe=\"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json\",KF=\"https://basemaps.cartocdn.com/gl/voyager-gl-style/style.json\",yGt=\"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json\",_Gt=\"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json\",xGt=\"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json\",rHe={basic:KF,streets:KF,outdoors:KF,light:QVe,dark:eHe,satellite:gGt,\"satellite-streets\":pGt,\"open-street-map\":{id:\"osm\",version:8,sources:{\"plotly-osm-tiles\":{type:\"raster\",attribution:mGt,tiles:[\"https://tile.openstreetmap.org/{z}/{x}/{y}.png\"],tileSize:256}},layers:[{id:\"plotly-osm-tiles\",type:\"raster\",source:\"plotly-osm-tiles\",minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"white-bg\":{id:\"white-bg\",version:8,sources:{},layers:[{id:\"white-bg\",type:\"background\",paint:{\"background-color\":\"#FFFFFF\"},minzoom:0,maxzoom:22}],glyphs:\"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf\"},\"carto-positron\":QVe,\"carto-darkmatter\":eHe,\"carto-voyager\":KF,\"carto-positron-nolabels\":yGt,\"carto-darkmatter-nolabels\":_Gt,\"carto-voyager-nolabels\":xGt},tHe=vGt(rHe);iHe.exports={styleValueDflt:\"basic\",stylesMap:rHe,styleValuesMap:tHe,traceLayerPrefix:\"plotly-trace-layer-\",layoutLayerPrefix:\"plotly-layout-layer-\",missingStyleErrorMsg:[\"No valid maplibre style found, please set `map.style` to one of:\",tHe.join(\", \"),\"or use a tile service.\"].join(`\n", + "`),mapOnErrorMsg:\"Map error.\"}});var Fk=ye(($yr,lHe)=>{\"use strict\";var nHe=Mr(),aHe=va().defaultLine,bGt=Ju().attributes,wGt=Su(),TGt=Uc().textposition,AGt=Bu().overrideAll,SGt=Vs().templatedArray,oHe=bx(),sHe=wGt({noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0});sHe.family.dflt=\"Open Sans Regular, Arial Unicode MS Regular\";var MGt=lHe.exports=AGt({_arrayAttrRegexps:[nHe.counterRegex(\"map\",\".layers\",!0)],domain:bGt({name:\"map\"}),style:{valType:\"any\",values:oHe.styleValuesMap,dflt:oHe.styleValueDflt},center:{lon:{valType:\"number\",dflt:0},lat:{valType:\"number\",dflt:0}},zoom:{valType:\"number\",dflt:1},bearing:{valType:\"number\",dflt:0},pitch:{valType:\"number\",dflt:0},bounds:{west:{valType:\"number\"},east:{valType:\"number\"},south:{valType:\"number\"},north:{valType:\"number\"}},layers:SGt(\"layer\",{visible:{valType:\"boolean\",dflt:!0},sourcetype:{valType:\"enumerated\",values:[\"geojson\",\"vector\",\"raster\",\"image\"],dflt:\"geojson\"},source:{valType:\"any\"},sourcelayer:{valType:\"string\",dflt:\"\"},sourceattribution:{valType:\"string\"},type:{valType:\"enumerated\",values:[\"circle\",\"line\",\"fill\",\"symbol\",\"raster\"],dflt:\"circle\"},coordinates:{valType:\"any\"},below:{valType:\"string\"},color:{valType:\"color\",dflt:aHe},opacity:{valType:\"number\",min:0,max:1,dflt:1},minzoom:{valType:\"number\",min:0,max:24,dflt:0},maxzoom:{valType:\"number\",min:0,max:24,dflt:24},circle:{radius:{valType:\"number\",dflt:15}},line:{width:{valType:\"number\",dflt:2},dash:{valType:\"data_array\"}},fill:{outlinecolor:{valType:\"color\",dflt:aHe}},symbol:{icon:{valType:\"string\",dflt:\"marker\"},iconsize:{valType:\"number\",dflt:10},text:{valType:\"string\",dflt:\"\"},placement:{valType:\"enumerated\",values:[\"point\",\"line\",\"line-center\"],dflt:\"point\"},textfont:sHe,textposition:nHe.extendFlat({},TGt,{arrayOk:!1})}})},\"plot\",\"from-root\");MGt.uirevision={valType:\"any\",editType:\"none\"}});var JF=ye((Qyr,fHe)=>{\"use strict\";var EGt=Wo().hovertemplateAttrs,kGt=Wo().texttemplateAttrs,CGt=Eg(),qk=H2(),AA=Uc(),uHe=Fk(),LGt=vl(),PGt=Kl(),rw=no().extendFlat,IGt=Bu().overrideAll,RGt=Fk(),cHe=qk.line,SA=qk.marker;fHe.exports=IGt({lon:qk.lon,lat:qk.lat,cluster:{enabled:{valType:\"boolean\"},maxzoom:rw({},RGt.layers.maxzoom,{}),step:{valType:\"number\",arrayOk:!0,dflt:-1,min:-1},size:{valType:\"number\",arrayOk:!0,dflt:20,min:0},color:{valType:\"color\",arrayOk:!0},opacity:rw({},SA.opacity,{dflt:1})},mode:rw({},AA.mode,{dflt:\"markers\"}),text:rw({},AA.text,{}),texttemplate:kGt({editType:\"plot\"},{keys:[\"lat\",\"lon\",\"text\"]}),hovertext:rw({},AA.hovertext,{}),line:{color:cHe.color,width:cHe.width},connectgaps:AA.connectgaps,marker:rw({symbol:{valType:\"string\",dflt:\"circle\",arrayOk:!0},angle:{valType:\"number\",dflt:\"auto\",arrayOk:!0},allowoverlap:{valType:\"boolean\",dflt:!1},opacity:SA.opacity,size:SA.size,sizeref:SA.sizeref,sizemin:SA.sizemin,sizemode:SA.sizemode},PGt(\"marker\")),fill:qk.fill,fillcolor:CGt(),textfont:uHe.layers.symbol.textfont,textposition:uHe.layers.symbol.textposition,below:{valType:\"string\"},selected:{marker:AA.selected.marker},unselected:{marker:AA.unselected.marker},hoverinfo:rw({},LGt.hoverinfo,{flags:[\"lon\",\"lat\",\"text\",\"name\"]}),hovertemplate:EGt()},\"calc\",\"nested\")});var oJ=ye((e1r,hHe)=>{\"use strict\";var DGt=[\"Metropolis Black Italic\",\"Metropolis Black\",\"Metropolis Bold Italic\",\"Metropolis Bold\",\"Metropolis Extra Bold Italic\",\"Metropolis Extra Bold\",\"Metropolis Extra Light Italic\",\"Metropolis Extra Light\",\"Metropolis Light Italic\",\"Metropolis Light\",\"Metropolis Medium Italic\",\"Metropolis Medium\",\"Metropolis Regular Italic\",\"Metropolis Regular\",\"Metropolis Semi Bold Italic\",\"Metropolis Semi Bold\",\"Metropolis Thin Italic\",\"Metropolis Thin\",\"Open Sans Bold Italic\",\"Open Sans Bold\",\"Open Sans Extrabold Italic\",\"Open Sans Extrabold\",\"Open Sans Italic\",\"Open Sans Light Italic\",\"Open Sans Light\",\"Open Sans Regular\",\"Open Sans Semibold Italic\",\"Open Sans Semibold\",\"Klokantech Noto Sans Bold\",\"Klokantech Noto Sans CJK Bold\",\"Klokantech Noto Sans CJK Regular\",\"Klokantech Noto Sans Italic\",\"Klokantech Noto Sans Regular\"];hHe.exports={isSupportedFont:function(e){return DGt.indexOf(e)!==-1}}});var pHe=ye((t1r,vHe)=>{\"use strict\";var Ok=Mr(),sJ=lu(),zGt=$p(),FGt=R0(),qGt=D0(),OGt=Ig(),dHe=JF(),BGt=oJ().isSupportedFont;vHe.exports=function(t,r,n,i){function a(g,E){return Ok.coerce(t,r,dHe,g,E)}function o(g,E){return Ok.coerce2(t,r,dHe,g,E)}var s=NGt(t,r,a);if(!s){r.visible=!1;return}if(a(\"text\"),a(\"texttemplate\"),a(\"hovertext\"),a(\"hovertemplate\"),a(\"mode\"),a(\"below\"),sJ.hasMarkers(r)){zGt(t,r,n,i,a,{noLine:!0,noAngle:!0}),a(\"marker.allowoverlap\"),a(\"marker.angle\");var l=r.marker;l.symbol!==\"circle\"&&(Ok.isArrayOrTypedArray(l.size)&&(l.size=l.size[0]),Ok.isArrayOrTypedArray(l.color)&&(l.color=l.color[0]))}sJ.hasLines(r)&&(FGt(t,r,n,i,a,{noDash:!0}),a(\"connectgaps\"));var u=o(\"cluster.maxzoom\"),c=o(\"cluster.step\"),f=o(\"cluster.color\",r.marker&&r.marker.color||n),h=o(\"cluster.size\"),d=o(\"cluster.opacity\"),v=u!==!1||c!==!1||f!==!1||h!==!1||d!==!1,x=a(\"cluster.enabled\",v);if(x||sJ.hasText(r)){var b=i.font.family;qGt(t,r,i,a,{noSelect:!0,noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0,font:{family:BGt(b)?b:\"Open Sans Regular\",weight:i.font.weight,style:i.font.style,size:i.font.size,color:i.font.color}})}a(\"fill\"),r.fill!==\"none\"&&OGt(t,r,n,a),Ok.coerceSelectionMarkerOpacity(r,a)};function NGt(e,t,r){var n=r(\"lon\")||[],i=r(\"lat\")||[],a=Math.min(n.length,i.length);return t._length=a,a}});var lJ=ye((r1r,mHe)=>{\"use strict\";var gHe=Qa();mHe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o=a.mockAxis,s=t.lonlat;return i.lonLabel=gHe.tickText(o,o.c2l(s[0]),!0).text,i.latLabel=gHe.tickText(o,o.c2l(s[1]),!0).text,i}});var uJ=ye((i1r,_He)=>{\"use strict\";var yHe=Mr();_He.exports=function(t,r){var n=t.split(\" \"),i=n[0],a=n[1],o=yHe.isArrayOrTypedArray(r)?yHe.mean(r):r,s=.5+o/100,l=1.5+o/100,u=[\"\",\"\"],c=[0,0];switch(i){case\"top\":u[0]=\"top\",c[1]=-l;break;case\"bottom\":u[0]=\"bottom\",c[1]=l;break}switch(a){case\"left\":u[1]=\"right\",c[0]=-s;break;case\"right\":u[1]=\"left\",c[0]=s;break}var f;return u[0]&&u[1]?f=u.join(\"-\"):u[0]?f=u[0]:u[1]?f=u[1]:f=\"center\",{anchor:f,offset:c}}});var SHe=ye((n1r,AHe)=>{\"use strict\";var wHe=uo(),nv=Mr(),UGt=es().BADNUM,QF=tx(),xHe=Mu(),VGt=ao(),HGt=S3(),e7=lu(),GGt=oJ().isSupportedFont,jGt=uJ(),WGt=rp().appendArrayPointValue,ZGt=Ll().NEWLINES,XGt=Ll().BR_TAG_ALL;AHe.exports=function(t,r){var n=r[0].trace,i=n.visible===!0&&n._length!==0,a=n.fill!==\"none\",o=e7.hasLines(n),s=e7.hasMarkers(n),l=e7.hasText(n),u=s&&n.marker.symbol===\"circle\",c=s&&n.marker.symbol!==\"circle\",f=n.cluster&&n.cluster.enabled,h=$F(\"fill\"),d=$F(\"line\"),v=$F(\"circle\"),x=$F(\"symbol\"),b={fill:h,line:d,circle:v,symbol:x};if(!i)return b;var g;if((a||o)&&(g=QF.calcTraceToLineCoords(r)),a&&(h.geojson=QF.makePolygon(g),h.layout.visibility=\"visible\",nv.extendFlat(h.paint,{\"fill-color\":n.fillcolor})),o&&(d.geojson=QF.makeLine(g),d.layout.visibility=\"visible\",nv.extendFlat(d.paint,{\"line-width\":n.line.width,\"line-color\":n.line.color,\"line-opacity\":n.opacity})),u){var E=YGt(r);v.geojson=E.geojson,v.layout.visibility=\"visible\",f&&(v.filter=[\"!\",[\"has\",\"point_count\"]],b.cluster={type:\"circle\",filter:[\"has\",\"point_count\"],layout:{visibility:\"visible\"},paint:{\"circle-color\":fJ(n.cluster.color,n.cluster.step),\"circle-radius\":fJ(n.cluster.size,n.cluster.step),\"circle-opacity\":fJ(n.cluster.opacity,n.cluster.step)}},b.clusterCount={type:\"symbol\",filter:[\"has\",\"point_count\"],paint:{},layout:{\"text-field\":\"{point_count_abbreviated}\",\"text-font\":bHe(n),\"text-size\":12}}),nv.extendFlat(v.paint,{\"circle-color\":E.mcc,\"circle-radius\":E.mrc,\"circle-opacity\":E.mo})}if(u&&f&&(v.filter=[\"!\",[\"has\",\"point_count\"]]),(c||l)&&(x.geojson=KGt(r,t),nv.extendFlat(x.layout,{visibility:\"visible\",\"icon-image\":\"{symbol}-15\",\"text-field\":\"{text}\"}),c&&(nv.extendFlat(x.layout,{\"icon-size\":n.marker.size/10}),\"angle\"in n.marker&&n.marker.angle!==\"auto\"&&nv.extendFlat(x.layout,{\"icon-rotate\":{type:\"identity\",property:\"angle\"},\"icon-rotation-alignment\":\"map\"}),x.layout[\"icon-allow-overlap\"]=n.marker.allowoverlap,nv.extendFlat(x.paint,{\"icon-opacity\":n.opacity*n.marker.opacity,\"icon-color\":n.marker.color})),l)){var k=(n.marker||{}).size,A=jGt(n.textposition,k);nv.extendFlat(x.layout,{\"text-size\":n.textfont.size,\"text-anchor\":A.anchor,\"text-offset\":A.offset,\"text-font\":bHe(n)}),nv.extendFlat(x.paint,{\"text-color\":n.textfont.color,\"text-opacity\":n.opacity})}return b};function $F(e){return{type:e,geojson:QF.makeBlank(),layout:{visibility:\"none\"},filter:null,paint:{}}}function YGt(e){var t=e[0].trace,r=t.marker,n=t.selectedpoints,i=nv.isArrayOrTypedArray(r.color),a=nv.isArrayOrTypedArray(r.size),o=nv.isArrayOrTypedArray(r.opacity),s;function l(k){return t.opacity*k}function u(k){return k/2}var c;i&&(xHe.hasColorscale(t,\"marker\")?c=xHe.makeColorScaleFuncFromTrace(r):c=nv.identity);var f;a&&(f=HGt(t));var h;o&&(h=function(k){var A=wHe(k)?+nv.constrain(k,0,1):0;return l(A)});var d=[];for(s=0;s850?s+=\" Black\":i>750?s+=\" Extra Bold\":i>650?s+=\" Bold\":i>550?s+=\" Semi Bold\":i>450?s+=\" Medium\":i>350?s+=\" Regular\":i>250?s+=\" Light\":i>150?s+=\" Extra Light\":s+=\" Thin\"):a.slice(0,2).join(\" \")===\"Open Sans\"?(s=\"Open Sans\",i>750?s+=\" Extrabold\":i>650?s+=\" Bold\":i>550?s+=\" Semibold\":i>350?s+=\" Regular\":s+=\" Light\"):a.slice(0,3).join(\" \")===\"Klokantech Noto Sans\"&&(s=\"Klokantech Noto Sans\",a[3]===\"CJK\"&&(s+=\" CJK\"),s+=i>500?\" Bold\":\" Regular\")),o&&(s+=\" Italic\"),s===\"Open Sans Regular Italic\"?s=\"Open Sans Italic\":s===\"Open Sans Regular Bold\"?s=\"Open Sans Bold\":s===\"Open Sans Regular Bold Italic\"?s=\"Open Sans Bold Italic\":s===\"Klokantech Noto Sans Regular Italic\"&&(s=\"Klokantech Noto Sans Italic\"),GGt(s)||(s=r);var l=s.split(\", \");return l}});var CHe=ye((a1r,kHe)=>{\"use strict\";var JGt=Mr(),MHe=SHe(),MA=bx().traceLayerPrefix,ng={cluster:[\"cluster\",\"clusterCount\",\"circle\"],nonCluster:[\"fill\",\"line\",\"circle\",\"symbol\"]};function EHe(e,t,r,n){this.type=\"scattermap\",this.subplot=e,this.uid=t,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:\"source-\"+t+\"-fill\",line:\"source-\"+t+\"-line\",circle:\"source-\"+t+\"-circle\",symbol:\"source-\"+t+\"-symbol\",cluster:\"source-\"+t+\"-circle\",clusterCount:\"source-\"+t+\"-circle\"},this.layerIds={fill:MA+t+\"-fill\",line:MA+t+\"-line\",circle:MA+t+\"-circle\",symbol:MA+t+\"-symbol\",cluster:MA+t+\"-cluster\",clusterCount:MA+t+\"-cluster-count\"},this.below=null}var Bk=EHe.prototype;Bk.addSource=function(e,t,r){var n={type:\"geojson\",data:t.geojson};r&&r.enabled&&JGt.extendFlat(n,{cluster:!0,clusterMaxZoom:r.maxzoom});var i=this.subplot.map.getSource(this.sourceIds[e]);i?i.setData(t.geojson):this.subplot.map.addSource(this.sourceIds[e],n)};Bk.setSourceData=function(e,t){this.subplot.map.getSource(this.sourceIds[e]).setData(t.geojson)};Bk.addLayer=function(e,t,r){var n={type:t.type,id:this.layerIds[e],source:this.sourceIds[e],layout:t.layout,paint:t.paint};t.filter&&(n.filter=t.filter);for(var i=this.layerIds[e],a,o=this.subplot.getMapLayers(),s=0;s=0;L--){var _=A[L];i.removeLayer(u.layerIds[_])}k||i.removeSource(u.sourceIds.circle)}function h(k){for(var A=ng.nonCluster,L=0;L=0;L--){var _=A[L];i.removeLayer(u.layerIds[_]),k||i.removeSource(u.sourceIds[_])}}function v(k){l?f(k):d(k)}function x(k){s?c(k):h(k)}function b(){for(var k=s?ng.cluster:ng.nonCluster,A=0;A=0;n--){var i=r[n];t.removeLayer(this.layerIds[i]),t.removeSource(this.sourceIds[i])}};kHe.exports=function(t,r){var n=r[0].trace,i=n.cluster&&n.cluster.enabled,a=n.visible!==!0,o=new EHe(t,n.uid,i,a),s=MHe(t.gd,r),l=o.below=t.belowLookup[\"trace-\"+n.uid],u,c,f;if(i)for(o.addSource(\"circle\",s.circle,n.cluster),u=0;u{\"use strict\";var $Gt=Nc(),hJ=Mr(),QGt=oT(),ejt=hJ.fillText,tjt=es().BADNUM,rjt=bx().traceLayerPrefix;function ijt(e,t,r){var n=e.cd,i=n[0].trace,a=e.xa,o=e.ya,s=e.subplot,l=[],u=rjt+i.uid+\"-circle\",c=i.cluster&&i.cluster.enabled;if(c){var f=s.map.queryRenderedFeatures(null,{layers:[u]});l=f.map(function(M){return M.id})}var h=t>=0?Math.floor((t+180)/360):Math.ceil((t-180)/360),d=h*360,v=t-d;function x(M){var p=M.lonlat;if(p[0]===tjt||c&&l.indexOf(M.i+1)===-1)return 1/0;var P=hJ.modHalf(p[0],360),T=p[1],F=s.project([P,T]),q=F.x-a.c2p([v,T]),V=F.y-o.c2p([P,r]),H=Math.max(3,M.mrc||0);return Math.max(Math.sqrt(q*q+V*V)-H,1-3/H)}if($Gt.getClosest(n,x,e),e.index!==!1){var b=n[e.index],g=b.lonlat,E=[hJ.modHalf(g[0],360)+d,g[1]],k=a.c2p(E),A=o.c2p(E),L=b.mrc||1;e.x0=k-L,e.x1=k+L,e.y0=A-L,e.y1=A+L;var _={};_[i.subplot]={_subplot:s};var C=i._module.formatLabels(b,i,_);return e.lonLabel=C.lonLabel,e.latLabel=C.latLabel,e.color=QGt(i,b),e.extraText=LHe(i,b,n[0].t.labels),e.hovertemplate=i.hovertemplate,[e]}}function LHe(e,t,r){if(e.hovertemplate)return;var n=t.hi||e.hoverinfo,i=n.split(\"+\"),a=i.indexOf(\"all\")!==-1,o=i.indexOf(\"lon\")!==-1,s=i.indexOf(\"lat\")!==-1,l=t.lonlat,u=[];function c(f){return f+\"\\xB0\"}return a||o&&s?u.push(\"(\"+c(l[1])+\", \"+c(l[0])+\")\"):o?u.push(r.lon+c(l[0])):s&&u.push(r.lat+c(l[1])),(a||i.indexOf(\"text\")!==-1)&&ejt(t,e,u),u.join(\"
\")}PHe.exports={hoverPoints:ijt,getExtraText:LHe}});var RHe=ye((s1r,IHe)=>{\"use strict\";IHe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t}});var zHe=ye((l1r,DHe)=>{\"use strict\";var njt=Mr(),ajt=lu(),ojt=es().BADNUM;DHe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].trace,l;if(!ajt.hasMarkers(s))return[];if(r===!1)for(l=0;l{(function(e,t){typeof dJ==\"object\"&&typeof vJ!=\"undefined\"?vJ.exports=t():typeof define==\"function\"&&define.amd?define(t):(e=typeof globalThis!=\"undefined\"?globalThis:e||self,e.maplibregl=t())})(dJ,function(){\"use strict\";var e={},t={};function r(i,a,o){if(t[i]=o,i===\"index\"){var s=\"var sharedModule = {}; (\"+t.shared+\")(sharedModule); (\"+t.worker+\")(sharedModule);\",l={};return t.shared(l),t.index(e,l),typeof window!=\"undefined\"&&e.setWorkerUrl(window.URL.createObjectURL(new Blob([s],{type:\"text/javascript\"}))),e}}r(\"shared\",[\"exports\"],function(i){\"use strict\";function a(R,S,D,j){return new(D||(D=Promise))(function(te,ue){function ve(at){try{Ze(j.next(at))}catch(Tt){ue(Tt)}}function De(at){try{Ze(j.throw(at))}catch(Tt){ue(Tt)}}function Ze(at){var Tt;at.done?te(at.value):(Tt=at.value,Tt instanceof D?Tt:new D(function(Ft){Ft(Tt)})).then(ve,De)}Ze((j=j.apply(R,S||[])).next())})}function o(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}typeof SuppressedError==\"function\"&&SuppressedError;var s=l;function l(R,S){this.x=R,this.y=S}l.prototype={clone:function(){return new l(this.x,this.y)},add:function(R){return this.clone()._add(R)},sub:function(R){return this.clone()._sub(R)},multByPoint:function(R){return this.clone()._multByPoint(R)},divByPoint:function(R){return this.clone()._divByPoint(R)},mult:function(R){return this.clone()._mult(R)},div:function(R){return this.clone()._div(R)},rotate:function(R){return this.clone()._rotate(R)},rotateAround:function(R,S){return this.clone()._rotateAround(R,S)},matMult:function(R){return this.clone()._matMult(R)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(R){return this.x===R.x&&this.y===R.y},dist:function(R){return Math.sqrt(this.distSqr(R))},distSqr:function(R){var S=R.x-this.x,D=R.y-this.y;return S*S+D*D},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(R){return Math.atan2(this.y-R.y,this.x-R.x)},angleWith:function(R){return this.angleWithSep(R.x,R.y)},angleWithSep:function(R,S){return Math.atan2(this.x*S-this.y*R,this.x*R+this.y*S)},_matMult:function(R){var S=R[2]*this.x+R[3]*this.y;return this.x=R[0]*this.x+R[1]*this.y,this.y=S,this},_add:function(R){return this.x+=R.x,this.y+=R.y,this},_sub:function(R){return this.x-=R.x,this.y-=R.y,this},_mult:function(R){return this.x*=R,this.y*=R,this},_div:function(R){return this.x/=R,this.y/=R,this},_multByPoint:function(R){return this.x*=R.x,this.y*=R.y,this},_divByPoint:function(R){return this.x/=R.x,this.y/=R.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var R=this.y;return this.y=this.x,this.x=-R,this},_rotate:function(R){var S=Math.cos(R),D=Math.sin(R),j=D*this.x+S*this.y;return this.x=S*this.x-D*this.y,this.y=j,this},_rotateAround:function(R,S){var D=Math.cos(R),j=Math.sin(R),te=S.y+j*(this.x-S.x)+D*(this.y-S.y);return this.x=S.x+D*(this.x-S.x)-j*(this.y-S.y),this.y=te,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},l.convert=function(R){return R instanceof l?R:Array.isArray(R)?new l(R[0],R[1]):R};var u=o(s),c=f;function f(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}f.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var h=o(c);let d,v;function x(){return d==null&&(d=typeof OffscreenCanvas!=\"undefined\"&&new OffscreenCanvas(1,1).getContext(\"2d\")&&typeof createImageBitmap==\"function\"),d}function b(){if(v==null&&(v=!1,x())){let S=new OffscreenCanvas(5,5).getContext(\"2d\",{willReadFrequently:!0});if(S){for(let j=0;j<5*5;j++){let te=4*j;S.fillStyle=`rgb(${te},${te+1},${te+2})`,S.fillRect(j%5,Math.floor(j/5),1,1)}let D=S.getImageData(0,0,5,5).data;for(let j=0;j<5*5*4;j++)if(j%4!=3&&D[j]!==j){v=!0;break}}}return v||!1}function g(R,S,D,j){let te=new h(R,S,D,j);return ue=>te.solve(ue)}let E=g(.25,.1,.25,1);function k(R,S,D){return Math.min(D,Math.max(S,R))}function A(R,S,D){let j=D-S,te=((R-S)%j+j)%j+S;return te===S?D:te}function L(R,...S){for(let D of S)for(let j in D)R[j]=D[j];return R}let _=1;function C(R,S,D){let j={};for(let te in R)j[te]=S.call(this,R[te],te,R);return j}function M(R,S,D){let j={};for(let te in R)S.call(this,R[te],te,R)&&(j[te]=R[te]);return j}function p(R){return Array.isArray(R)?R.map(p):typeof R==\"object\"&&R?C(R,p):R}let P={};function T(R){P[R]||(typeof console!=\"undefined\"&&console.warn(R),P[R]=!0)}function F(R,S,D){return(D.y-R.y)*(S.x-R.x)>(S.y-R.y)*(D.x-R.x)}function q(R){return typeof WorkerGlobalScope!=\"undefined\"&&R!==void 0&&R instanceof WorkerGlobalScope}let V=null;function H(R){return typeof ImageBitmap!=\"undefined\"&&R instanceof ImageBitmap}let X=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function G(R,S,D,j,te){return a(this,void 0,void 0,function*(){if(typeof VideoFrame==\"undefined\")throw new Error(\"VideoFrame not supported\");let ue=new VideoFrame(R,{timestamp:0});try{let ve=ue==null?void 0:ue.format;if(!ve||!ve.startsWith(\"BGR\")&&!ve.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${ve}`);let De=ve.startsWith(\"BGR\"),Ze=new Uint8ClampedArray(j*te*4);if(yield ue.copyTo(Ze,function(at,Tt,Ft,Qt,sr){let Tr=4*Math.max(-Tt,0),Pr=(Math.max(0,Ft)-Ft)*Qt*4+Tr,$r=4*Qt,ni=Math.max(0,Tt),Di=Math.max(0,Ft);return{rect:{x:ni,y:Di,width:Math.min(at.width,Tt+Qt)-ni,height:Math.min(at.height,Ft+sr)-Di},layout:[{offset:Pr,stride:$r}]}}(R,S,D,j,te)),De)for(let at=0;atq(self)?self.worker&&self.worker.referrer:(window.location.protocol===\"blob:\"?window.parent:window).location.href,Te=function(R,S){if(/:\\/\\//.test(R.url)&&!/^https?:|^file:/.test(R.url)){let j=Me(R.url);if(j)return j(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,targetMapId:ke},S)}if(!(/^file:/.test(D=R.url)||/^file:/.test(ie())&&!/^\\w+:/.test(D))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(j,te){return a(this,void 0,void 0,function*(){let ue=new Request(j.url,{method:j.method||\"GET\",body:j.body,credentials:j.credentials,headers:j.headers,cache:j.cache,referrer:ie(),signal:te.signal});j.type!==\"json\"||ue.headers.has(\"Accept\")||ue.headers.set(\"Accept\",\"application/json\");let ve=yield fetch(ue);if(!ve.ok){let at=yield ve.blob();throw new ge(ve.status,ve.statusText,j.url,at)}let De;De=j.type===\"arrayBuffer\"||j.type===\"image\"?ve.arrayBuffer():j.type===\"json\"?ve.json():ve.text();let Ze=yield De;if(te.signal.aborted)throw ae();return{data:Ze,cacheControl:ve.headers.get(\"Cache-Control\"),expires:ve.headers.get(\"Expires\")}})}(R,S);if(q(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:R,mustQueue:!0,targetMapId:ke},S)}var D;return function(j,te){return new Promise((ue,ve)=>{var De;let Ze=new XMLHttpRequest;Ze.open(j.method||\"GET\",j.url,!0),j.type!==\"arrayBuffer\"&&j.type!==\"image\"||(Ze.responseType=\"arraybuffer\");for(let at in j.headers)Ze.setRequestHeader(at,j.headers[at]);j.type===\"json\"&&(Ze.responseType=\"text\",!((De=j.headers)===null||De===void 0)&&De.Accept||Ze.setRequestHeader(\"Accept\",\"application/json\")),Ze.withCredentials=j.credentials===\"include\",Ze.onerror=()=>{ve(new Error(Ze.statusText))},Ze.onload=()=>{if(!te.signal.aborted)if((Ze.status>=200&&Ze.status<300||Ze.status===0)&&Ze.response!==null){let at=Ze.response;if(j.type===\"json\")try{at=JSON.parse(Ze.response)}catch(Tt){return void ve(Tt)}ue({data:at,cacheControl:Ze.getResponseHeader(\"Cache-Control\"),expires:Ze.getResponseHeader(\"Expires\")})}else{let at=new Blob([Ze.response],{type:Ze.getResponseHeader(\"Content-Type\")});ve(new ge(Ze.status,Ze.statusText,j.url,at))}},te.signal.addEventListener(\"abort\",()=>{Ze.abort(),ve(ae())}),Ze.send(j.body)})}(R,S)};function Ee(R){if(!R||R.indexOf(\"://\")<=0||R.indexOf(\"data:image/\")===0||R.indexOf(\"blob:\")===0)return!0;let S=new URL(R),D=window.location;return S.protocol===D.protocol&&S.host===D.host}function Ae(R,S,D){D[R]&&D[R].indexOf(S)!==-1||(D[R]=D[R]||[],D[R].push(S))}function ze(R,S,D){if(D&&D[R]){let j=D[R].indexOf(S);j!==-1&&D[R].splice(j,1)}}class Ce{constructor(S,D={}){L(this,D),this.type=S}}class me extends Ce{constructor(S,D={}){super(\"error\",L({error:S},D))}}class Re{on(S,D){return this._listeners=this._listeners||{},Ae(S,D,this._listeners),this}off(S,D){return ze(S,D,this._listeners),ze(S,D,this._oneTimeListeners),this}once(S,D){return D?(this._oneTimeListeners=this._oneTimeListeners||{},Ae(S,D,this._oneTimeListeners),this):new Promise(j=>this.once(S,j))}fire(S,D){typeof S==\"string\"&&(S=new Ce(S,D||{}));let j=S.type;if(this.listens(j)){S.target=this;let te=this._listeners&&this._listeners[j]?this._listeners[j].slice():[];for(let De of te)De.call(this,S);let ue=this._oneTimeListeners&&this._oneTimeListeners[j]?this._oneTimeListeners[j].slice():[];for(let De of ue)ze(j,De,this._oneTimeListeners),De.call(this,S);let ve=this._eventedParent;ve&&(L(S,typeof this._eventedParentData==\"function\"?this._eventedParentData():this._eventedParentData),ve.fire(S))}else S instanceof me&&console.error(S.error);return this}listens(S){return this._listeners&&this._listeners[S]&&this._listeners[S].length>0||this._oneTimeListeners&&this._oneTimeListeners[S]&&this._oneTimeListeners[S].length>0||this._eventedParent&&this._eventedParent.listens(S)}setEventedParent(S,D){return this._eventedParent=S,this._eventedParentData=D,this}}var ce={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};let Ge=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function nt(R,S){let D={};for(let j in R)j!==\"ref\"&&(D[j]=R[j]);return Ge.forEach(j=>{j in S&&(D[j]=S[j])}),D}function ct(R,S){if(Array.isArray(R)){if(!Array.isArray(S)||R.length!==S.length)return!1;for(let D=0;D`:R.itemType.kind===\"value\"?\"array\":`array<${S}>`}return R.kind}let Ve=[Lt,St,Et,dt,Ht,Br,$t,Ne(fr),Or,Nr,ut];function Xe(R,S){if(S.kind===\"error\")return null;if(R.kind===\"array\"){if(S.kind===\"array\"&&(S.N===0&&S.itemType.kind===\"value\"||!Xe(R.itemType,S.itemType))&&(typeof R.N!=\"number\"||R.N===S.N))return null}else{if(R.kind===S.kind)return null;if(R.kind===\"value\"){for(let D of Ve)if(!Xe(D,S))return null}}return`Expected ${Ye(R)} but found ${Ye(S)} instead.`}function ht(R,S){return S.some(D=>D.kind===R.kind)}function Le(R,S){return S.some(D=>D===\"null\"?R===null:D===\"array\"?Array.isArray(R):D===\"object\"?R&&!Array.isArray(R)&&typeof R==\"object\":D===typeof R)}function xe(R,S){return R.kind===\"array\"&&S.kind===\"array\"?R.itemType.kind===S.itemType.kind&&typeof R.N==\"number\":R.kind===S.kind}let Se=.96422,lt=.82521,Gt=4/29,Vt=6/29,ar=3*Vt*Vt,Qr=Vt*Vt*Vt,ai=Math.PI/180,jr=180/Math.PI;function ri(R){return(R%=360)<0&&(R+=360),R}function bi([R,S,D,j]){let te,ue,ve=Wi((.2225045*(R=nn(R))+.7168786*(S=nn(S))+.0606169*(D=nn(D)))/1);R===S&&S===D?te=ue=ve:(te=Wi((.4360747*R+.3850649*S+.1430804*D)/Se),ue=Wi((.0139322*R+.0971045*S+.7141733*D)/lt));let De=116*ve-16;return[De<0?0:De,500*(te-ve),200*(ve-ue),j]}function nn(R){return R<=.04045?R/12.92:Math.pow((R+.055)/1.055,2.4)}function Wi(R){return R>Qr?Math.pow(R,1/3):R/ar+Gt}function Ni([R,S,D,j]){let te=(R+16)/116,ue=isNaN(S)?te:te+S/500,ve=isNaN(D)?te:te-D/200;return te=1*$i(te),ue=Se*$i(ue),ve=lt*$i(ve),[_n(3.1338561*ue-1.6168667*te-.4906146*ve),_n(-.9787684*ue+1.9161415*te+.033454*ve),_n(.0719453*ue-.2289914*te+1.4052427*ve),j]}function _n(R){return(R=R<=.00304?12.92*R:1.055*Math.pow(R,1/2.4)-.055)<0?0:R>1?1:R}function $i(R){return R>Vt?R*R*R:ar*(R-Gt)}function zn(R){return parseInt(R.padEnd(2,R),16)/255}function Wn(R,S){return It(S?R/100:R,0,1)}function It(R,S,D){return Math.min(Math.max(S,R),D)}function ft(R){return!R.some(Number.isNaN)}let jt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Zt{constructor(S,D,j,te=1,ue=!0){this.r=S,this.g=D,this.b=j,this.a=te,ue||(this.r*=te,this.g*=te,this.b*=te,te||this.overwriteGetter(\"rgb\",[S,D,j,te]))}static parse(S){if(S instanceof Zt)return S;if(typeof S!=\"string\")return;let D=function(j){if((j=j.toLowerCase().trim())===\"transparent\")return[0,0,0,0];let te=jt[j];if(te){let[ve,De,Ze]=te;return[ve/255,De/255,Ze/255,1]}if(j.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(j)){let ve=j.length<6?1:2,De=1;return[zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+=ve)),zn(j.slice(De,De+ve)||\"ff\")]}if(j.startsWith(\"rgb\")){let ve=j.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ve){let[De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di]=ve,pi=[Tt||\" \",sr||\" \",$r].join(\"\");if(pi===\" \"||pi===\" /\"||pi===\",,\"||pi===\",,,\"){let ki=[at,Qt,Pr].join(\"\"),Zi=ki===\"%%%\"?100:ki===\"\"?255:0;if(Zi){let ta=[It(+Ze/Zi,0,1),It(+Ft/Zi,0,1),It(+Tr/Zi,0,1),ni?Wn(+ni,Di):1];if(ft(ta))return ta}}return}}let ue=j.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(ue){let[ve,De,Ze,at,Tt,Ft,Qt,sr,Tr]=ue,Pr=[Ze||\" \",Tt||\" \",Qt].join(\"\");if(Pr===\" \"||Pr===\" /\"||Pr===\",,\"||Pr===\",,,\"){let $r=[+De,It(+at,0,100),It(+Ft,0,100),sr?Wn(+sr,Tr):1];if(ft($r))return function([ni,Di,pi,ki]){function Zi(ta){let Va=(ta+ni/30)%12,Io=Di*Math.min(pi,1-pi);return pi-Io*Math.max(-1,Math.min(Va-3,9-Va,1))}return ni=ri(ni),Di/=100,pi/=100,[Zi(0),Zi(8),Zi(4),ki]}($r)}}}(S);return D?new Zt(...D,!1):void 0}get rgb(){let{r:S,g:D,b:j,a:te}=this,ue=te||1/0;return this.overwriteGetter(\"rgb\",[S/ue,D/ue,j/ue,te])}get hcl(){return this.overwriteGetter(\"hcl\",function(S){let[D,j,te,ue]=bi(S),ve=Math.sqrt(j*j+te*te);return[Math.round(1e4*ve)?ri(Math.atan2(te,j)*jr):NaN,ve,D,ue]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",bi(this.rgb))}overwriteGetter(S,D){return Object.defineProperty(this,S,{value:D}),D}toString(){let[S,D,j,te]=this.rgb;return`rgba(${[S,D,j].map(ue=>Math.round(255*ue)).join(\",\")},${te})`}}Zt.black=new Zt(0,0,0,1),Zt.white=new Zt(1,1,1,1),Zt.transparent=new Zt(0,0,0,0),Zt.red=new Zt(1,0,0,1);class yr{constructor(S,D,j){this.sensitivity=S?D?\"variant\":\"case\":D?\"accent\":\"base\",this.locale=j,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"})}compare(S,D){return this.collator.compare(S,D)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Fr{constructor(S,D,j,te,ue){this.text=S,this.image=D,this.scale=j,this.fontStack=te,this.textColor=ue}}class Zr{constructor(S){this.sections=S}static fromString(S){return new Zr([new Fr(S,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(S=>S.text.length!==0||S.image&&S.image.name.length!==0)}static factory(S){return S instanceof Zr?S:Zr.fromString(S)}toString(){return this.sections.length===0?\"\":this.sections.map(S=>S.text).join(\"\")}}class Vr{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Vr)return S;if(typeof S==\"number\")return new Vr([S,S,S,S]);if(Array.isArray(S)&&!(S.length<1||S.length>4)){for(let D of S)if(typeof D!=\"number\")return;switch(S.length){case 1:S=[S[0],S[0],S[0],S[0]];break;case 2:S=[S[0],S[1],S[0],S[1]];break;case 3:S=[S[0],S[1],S[2],S[1]]}return new Vr(S)}}toString(){return JSON.stringify(this.values)}}let gi=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Si{constructor(S){this.values=S.slice()}static parse(S){if(S instanceof Si)return S;if(Array.isArray(S)&&!(S.length<1)&&S.length%2==0){for(let D=0;D=0&&R<=255&&typeof S==\"number\"&&S>=0&&S<=255&&typeof D==\"number\"&&D>=0&&D<=255?j===void 0||typeof j==\"number\"&&j>=0&&j<=1?null:`Invalid rgba value [${[R,S,D,j].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof j==\"number\"?[R,S,D,j]:[R,S,D]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Gi(R){if(R===null||typeof R==\"string\"||typeof R==\"boolean\"||typeof R==\"number\"||R instanceof Zt||R instanceof yr||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi)return!0;if(Array.isArray(R)){for(let S of R)if(!Gi(S))return!1;return!0}if(typeof R==\"object\"){for(let S in R)if(!Gi(R[S]))return!1;return!0}return!1}function Ki(R){if(R===null)return Lt;if(typeof R==\"string\")return Et;if(typeof R==\"boolean\")return dt;if(typeof R==\"number\")return St;if(R instanceof Zt)return Ht;if(R instanceof yr)return _r;if(R instanceof Zr)return Br;if(R instanceof Vr)return Or;if(R instanceof Si)return ut;if(R instanceof Mi)return Nr;if(Array.isArray(R)){let S=R.length,D;for(let j of R){let te=Ki(j);if(D){if(D===te)continue;D=fr;break}D=te}return Ne(D||fr,S)}return $t}function ka(R){let S=typeof R;return R===null?\"\":S===\"string\"||S===\"number\"||S===\"boolean\"?String(R):R instanceof Zt||R instanceof Zr||R instanceof Vr||R instanceof Si||R instanceof Mi?R.toString():JSON.stringify(R)}class jn{constructor(S,D){this.type=S,this.value=D}static parse(S,D){if(S.length!==2)return D.error(`'literal' expression requires exactly one argument, but found ${S.length-1} instead.`);if(!Gi(S[1]))return D.error(\"invalid value\");let j=S[1],te=Ki(j),ue=D.expectedType;return te.kind!==\"array\"||te.N!==0||!ue||ue.kind!==\"array\"||typeof ue.N==\"number\"&&ue.N!==0||(te=ue),new jn(te,j)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class la{constructor(S){this.name=\"ExpressionEvaluationError\",this.message=S}toJSON(){return this.message}}let Fa={string:Et,number:St,boolean:dt,object:$t};class Ra{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j,te=1,ue=S[0];if(ue===\"array\"){let De,Ze;if(S.length>2){let at=S[1];if(typeof at!=\"string\"||!(at in Fa)||at===\"object\")return D.error('The item type argument of \"array\" must be one of string, number, boolean',1);De=Fa[at],te++}else De=fr;if(S.length>3){if(S[2]!==null&&(typeof S[2]!=\"number\"||S[2]<0||S[2]!==Math.floor(S[2])))return D.error('The length argument to \"array\" must be a positive integer literal',2);Ze=S[2],te++}j=Ne(De,Ze)}else{if(!Fa[ue])throw new Error(`Types doesn't contain name = ${ue}`);j=Fa[ue]}let ve=[];for(;teS.outputDefined())}}let jo={\"to-boolean\":dt,\"to-color\":Ht,\"to-number\":St,\"to-string\":Et};class oa{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[0];if(!jo[j])throw new Error(`Can't parse ${j} as it is not part of the known types`);if((j===\"to-boolean\"||j===\"to-string\")&&S.length!==2)return D.error(\"Expected one argument.\");let te=jo[j],ue=[];for(let ve=1;ve4?`Invalid rbga value ${JSON.stringify(D)}: expected an array containing either three or four numeric values.`:Pi(D[0],D[1],D[2],D[3]),!j))return new Zt(D[0]/255,D[1]/255,D[2]/255,D[3])}throw new la(j||`Could not parse color from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"padding\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Vr.parse(D);if(te)return te}throw new la(`Could not parse padding from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"variableAnchorOffsetCollection\":{let D;for(let j of this.args){D=j.evaluate(S);let te=Si.parse(D);if(te)return te}throw new la(`Could not parse variableAnchorOffsetCollection from value '${typeof D==\"string\"?D:JSON.stringify(D)}'`)}case\"number\":{let D=null;for(let j of this.args){if(D=j.evaluate(S),D===null)return 0;let te=Number(D);if(!isNaN(te))return te}throw new la(`Could not convert ${JSON.stringify(D)} to number.`)}case\"formatted\":return Zr.fromString(ka(this.args[0].evaluate(S)));case\"resolvedImage\":return Mi.fromString(ka(this.args[0].evaluate(S)));default:return ka(this.args[0].evaluate(S))}}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}let Sn=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class Ha{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type==\"number\"?Sn[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(S){let D=this._parseColorCache[S];return D||(D=this._parseColorCache[S]=Zt.parse(S)),D}}class oo{constructor(S,D,j=[],te,ue=new bt,ve=[]){this.registry=S,this.path=j,this.key=j.map(De=>`[${De}]`).join(\"\"),this.scope=ue,this.errors=ve,this.expectedType=te,this._isConstant=D}parse(S,D,j,te,ue={}){return D?this.concat(D,j,te)._parse(S,ue):this._parse(S,ue)}_parse(S,D){function j(te,ue,ve){return ve===\"assert\"?new Ra(ue,[te]):ve===\"coerce\"?new oa(ue,[te]):te}if(S!==null&&typeof S!=\"string\"&&typeof S!=\"boolean\"&&typeof S!=\"number\"||(S=[\"literal\",S]),Array.isArray(S)){if(S.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');let te=S[0];if(typeof te!=\"string\")return this.error(`Expression name must be a string, but found ${typeof te} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;let ue=this.registry[te];if(ue){let ve=ue.parse(S,this);if(!ve)return null;if(this.expectedType){let De=this.expectedType,Ze=ve.type;if(De.kind!==\"string\"&&De.kind!==\"number\"&&De.kind!==\"boolean\"&&De.kind!==\"object\"&&De.kind!==\"array\"||Ze.kind!==\"value\")if(De.kind!==\"color\"&&De.kind!==\"formatted\"&&De.kind!==\"resolvedImage\"||Ze.kind!==\"value\"&&Ze.kind!==\"string\")if(De.kind!==\"padding\"||Ze.kind!==\"value\"&&Ze.kind!==\"number\"&&Ze.kind!==\"array\")if(De.kind!==\"variableAnchorOffsetCollection\"||Ze.kind!==\"value\"&&Ze.kind!==\"array\"){if(this.checkSubtype(De,Ze))return null}else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"coerce\");else ve=j(ve,De,D.typeAnnotation||\"assert\")}if(!(ve instanceof jn)&&ve.type.kind!==\"resolvedImage\"&&this._isConstant(ve)){let De=new Ha;try{ve=new jn(ve.type,ve.evaluate(De))}catch(Ze){return this.error(Ze.message),null}}return ve}return this.error(`Unknown expression \"${te}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(S===void 0?\"'undefined' value invalid. Use null instead.\":typeof S==\"object\"?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof S} instead.`)}concat(S,D,j){let te=typeof S==\"number\"?this.path.concat(S):this.path,ue=j?this.scope.concat(j):this.scope;return new oo(this.registry,this._isConstant,te,D||null,ue,this.errors)}error(S,...D){let j=`${this.key}${D.map(te=>`[${te}]`).join(\"\")}`;this.errors.push(new xt(j,S))}checkSubtype(S,D){let j=Xe(S,D);return j&&this.error(j),j}}class xn{constructor(S,D){this.type=D.type,this.bindings=[].concat(S),this.result=D}evaluate(S){return this.result.evaluate(S)}eachChild(S){for(let D of this.bindings)S(D[1]);S(this.result)}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found ${S.length-1} instead.`);let j=[];for(let ue=1;ue=j.length)throw new la(`Array index out of bounds: ${D} > ${j.length-1}.`);if(D!==Math.floor(D))throw new la(`Array index must be an integer, but found ${D} instead.`);return j[D]}eachChild(S){S(this.index),S(this.input)}outputDefined(){return!1}}class Hr{constructor(S,D){this.type=dt,this.needle=S,this.haystack=D}static parse(S,D){if(S.length!==3)return D.error(`Expected 2 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);return j&&te?ht(j.type,[dt,Et,St,Lt,fr])?new Hr(j,te):D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`):null}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!j)return!1;if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);if(!Le(j,[\"string\",\"array\"]))throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`);return j.indexOf(D)>=0}eachChild(S){S(this.needle),S(this.haystack)}outputDefined(){return!0}}class ti{constructor(S,D,j){this.type=St,this.needle=S,this.haystack=D,this.fromIndex=j}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,fr);if(!j||!te)return null;if(!ht(j.type,[dt,Et,St,Lt,fr]))return D.error(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new ti(j,te,ue):null}return new ti(j,te)}evaluate(S){let D=this.needle.evaluate(S),j=this.haystack.evaluate(S);if(!Le(D,[\"boolean\",\"string\",\"number\",\"null\"]))throw new la(`Expected first argument to be of type boolean, string, number or null, but found ${Ye(Ki(D))} instead.`);let te;if(this.fromIndex&&(te=this.fromIndex.evaluate(S)),Le(j,[\"string\"])){let ue=j.indexOf(D,te);return ue===-1?-1:[...j.slice(0,ue)].length}if(Le(j,[\"array\"]))return j.indexOf(D,te);throw new la(`Expected second argument to be of type array or string, but found ${Ye(Ki(j))} instead.`)}eachChild(S){S(this.needle),S(this.haystack),this.fromIndex&&S(this.fromIndex)}outputDefined(){return!1}}class zi{constructor(S,D,j,te,ue,ve){this.inputType=S,this.type=D,this.input=j,this.cases=te,this.outputs=ue,this.otherwise=ve}static parse(S,D){if(S.length<5)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if(S.length%2!=1)return D.error(\"Expected an even number of arguments.\");let j,te;D.expectedType&&D.expectedType.kind!==\"value\"&&(te=D.expectedType);let ue={},ve=[];for(let at=2;atNumber.MAX_SAFE_INTEGER)return Qt.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof Tr==\"number\"&&Math.floor(Tr)!==Tr)return Qt.error(\"Numeric branch labels must be integer values.\");if(j){if(Qt.checkSubtype(j,Ki(Tr)))return null}else j=Ki(Tr);if(ue[String(Tr)]!==void 0)return Qt.error(\"Branch labels must be unique.\");ue[String(Tr)]=ve.length}let sr=D.parse(Ft,at,te);if(!sr)return null;te=te||sr.type,ve.push(sr)}let De=D.parse(S[1],1,fr);if(!De)return null;let Ze=D.parse(S[S.length-1],S.length-1,te);return Ze?De.type.kind!==\"value\"&&D.concat(1).checkSubtype(j,De.type)?null:new zi(j,te,De,ue,ve,Ze):null}evaluate(S){let D=this.input.evaluate(S);return(Ki(D)===this.inputType&&this.outputs[this.cases[D]]||this.otherwise).evaluate(S)}eachChild(S){S(this.input),this.outputs.forEach(S),S(this.otherwise)}outputDefined(){return this.outputs.every(S=>S.outputDefined())&&this.otherwise.outputDefined()}}class Yi{constructor(S,D,j){this.type=S,this.branches=D,this.otherwise=j}static parse(S,D){if(S.length<4)return D.error(`Expected at least 3 arguments, but found only ${S.length-1}.`);if(S.length%2!=0)return D.error(\"Expected an odd number of arguments.\");let j;D.expectedType&&D.expectedType.kind!==\"value\"&&(j=D.expectedType);let te=[];for(let ve=1;veD.outputDefined())&&this.otherwise.outputDefined()}}class an{constructor(S,D,j,te){this.type=S,this.input=D,this.beginIndex=j,this.endIndex=te}static parse(S,D){if(S.length<=2||S.length>=5)return D.error(`Expected 3 or 4 arguments, but found ${S.length-1} instead.`);let j=D.parse(S[1],1,fr),te=D.parse(S[2],2,St);if(!j||!te)return null;if(!ht(j.type,[Ne(fr),Et,fr]))return D.error(`Expected first argument to be of type array or string, but found ${Ye(j.type)} instead`);if(S.length===4){let ue=D.parse(S[3],3,St);return ue?new an(j.type,j,te,ue):null}return new an(j.type,j,te)}evaluate(S){let D=this.input.evaluate(S),j=this.beginIndex.evaluate(S),te;if(this.endIndex&&(te=this.endIndex.evaluate(S)),Le(D,[\"string\"]))return[...D].slice(j,te).join(\"\");if(Le(D,[\"array\"]))return D.slice(j,te);throw new la(`Expected first argument to be of type array or string, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input),S(this.beginIndex),this.endIndex&&S(this.endIndex)}outputDefined(){return!1}}function hi(R,S){let D=R.length-1,j,te,ue=0,ve=D,De=0;for(;ue<=ve;)if(De=Math.floor((ue+ve)/2),j=R[De],te=R[De+1],j<=S){if(De===D||SS))throw new la(\"Input is not a number.\");ve=De-1}return 0}class Ji{constructor(S,D,j){this.type=S,this.input=D,this.labels=[],this.outputs=[];for(let[te,ue]of j)this.labels.push(te),this.outputs.push(ue)}static parse(S,D){if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=[],ue=null;D.expectedType&&D.expectedType.kind!==\"value\"&&(ue=D.expectedType);for(let ve=1;ve=De)return D.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',at);let Ft=D.parse(Ze,Tt,ue);if(!Ft)return null;ue=ue||Ft.type,te.push([De,Ft])}return new Ji(ue,j,te)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;return te>=D[ue-1]?j[ue-1].evaluate(S):j[hi(D,te)].evaluate(S)}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function ua(R){return R&&R.__esModule&&Object.prototype.hasOwnProperty.call(R,\"default\")?R.default:R}var Fn=Sa;function Sa(R,S,D,j){this.cx=3*R,this.bx=3*(D-R)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*S,this.by=3*(j-S)-this.cy,this.ay=1-this.cy-this.by,this.p1x=R,this.p1y=S,this.p2x=D,this.p2y=j}Sa.prototype={sampleCurveX:function(R){return((this.ax*R+this.bx)*R+this.cx)*R},sampleCurveY:function(R){return((this.ay*R+this.by)*R+this.cy)*R},sampleCurveDerivativeX:function(R){return(3*this.ax*R+2*this.bx)*R+this.cx},solveCurveX:function(R,S){if(S===void 0&&(S=1e-6),R<0)return 0;if(R>1)return 1;for(var D=R,j=0;j<8;j++){var te=this.sampleCurveX(D)-R;if(Math.abs(te)te?ve=D:De=D,D=.5*(De-ve)+ve;return D},solve:function(R,S){return this.sampleCurveY(this.solveCurveX(R,S))}};var go=ua(Fn);function Oo(R,S,D){return R+D*(S-R)}function ho(R,S,D){return R.map((j,te)=>Oo(j,S[te],D))}let Mo={number:Oo,color:function(R,S,D,j=\"rgb\"){switch(j){case\"rgb\":{let[te,ue,ve,De]=ho(R.rgb,S.rgb,D);return new Zt(te,ue,ve,De,!1)}case\"hcl\":{let[te,ue,ve,De]=R.hcl,[Ze,at,Tt,Ft]=S.hcl,Qt,sr;if(isNaN(te)||isNaN(Ze))isNaN(te)?isNaN(Ze)?Qt=NaN:(Qt=Ze,ve!==1&&ve!==0||(sr=at)):(Qt=te,Tt!==1&&Tt!==0||(sr=ue));else{let Di=Ze-te;Ze>te&&Di>180?Di-=360:Ze180&&(Di+=360),Qt=te+D*Di}let[Tr,Pr,$r,ni]=function([Di,pi,ki,Zi]){return Di=isNaN(Di)?0:Di*ai,Ni([ki,Math.cos(Di)*pi,Math.sin(Di)*pi,Zi])}([Qt,sr!=null?sr:Oo(ue,at,D),Oo(ve,Tt,D),Oo(De,Ft,D)]);return new Zt(Tr,Pr,$r,ni,!1)}case\"lab\":{let[te,ue,ve,De]=Ni(ho(R.lab,S.lab,D));return new Zt(te,ue,ve,De,!1)}}},array:ho,padding:function(R,S,D){return new Vr(ho(R.values,S.values,D))},variableAnchorOffsetCollection:function(R,S,D){let j=R.values,te=S.values;if(j.length!==te.length)throw new la(`Cannot interpolate values of different length. from: ${R.toString()}, to: ${S.toString()}`);let ue=[];for(let ve=0;vetypeof Tt!=\"number\"||Tt<0||Tt>1))return D.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);te={name:\"cubic-bezier\",controlPoints:at}}}if(S.length-1<4)return D.error(`Expected at least 4 arguments, but found only ${S.length-1}.`);if((S.length-1)%2!=0)return D.error(\"Expected an even number of arguments.\");if(ue=D.parse(ue,2,St),!ue)return null;let De=[],Ze=null;j===\"interpolate-hcl\"||j===\"interpolate-lab\"?Ze=Ht:D.expectedType&&D.expectedType.kind!==\"value\"&&(Ze=D.expectedType);for(let at=0;at=Tt)return D.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',Qt);let Tr=D.parse(Ft,sr,Ze);if(!Tr)return null;Ze=Ze||Tr.type,De.push([Tt,Tr])}return xe(Ze,St)||xe(Ze,Ht)||xe(Ze,Or)||xe(Ze,ut)||xe(Ze,Ne(St))?new xo(Ze,j,te,ue,De):D.error(`Type ${Ye(Ze)} is not interpolatable.`)}evaluate(S){let D=this.labels,j=this.outputs;if(D.length===1)return j[0].evaluate(S);let te=this.input.evaluate(S);if(te<=D[0])return j[0].evaluate(S);let ue=D.length;if(te>=D[ue-1])return j[ue-1].evaluate(S);let ve=hi(D,te),De=xo.interpolationFactor(this.interpolation,te,D[ve],D[ve+1]),Ze=j[ve].evaluate(S),at=j[ve+1].evaluate(S);switch(this.operator){case\"interpolate\":return Mo[this.type.kind](Ze,at,De);case\"interpolate-hcl\":return Mo.color(Ze,at,De,\"hcl\");case\"interpolate-lab\":return Mo.color(Ze,at,De,\"lab\")}}eachChild(S){S(this.input);for(let D of this.outputs)S(D)}outputDefined(){return this.outputs.every(S=>S.outputDefined())}}function zs(R,S,D,j){let te=j-D,ue=R-D;return te===0?0:S===1?ue/te:(Math.pow(S,ue)-1)/(Math.pow(S,te)-1)}class ks{constructor(S,D){this.type=S,this.args=D}static parse(S,D){if(S.length<2)return D.error(\"Expectected at least one argument.\");let j=null,te=D.expectedType;te&&te.kind!==\"value\"&&(j=te);let ue=[];for(let De of S.slice(1)){let Ze=D.parse(De,1+ue.length,j,void 0,{typeAnnotation:\"omit\"});if(!Ze)return null;j=j||Ze.type,ue.push(Ze)}if(!j)throw new Error(\"No output type\");let ve=te&&ue.some(De=>Xe(te,De.type));return new ks(ve?fr:j,ue)}evaluate(S){let D,j=null,te=0;for(let ue of this.args)if(te++,j=ue.evaluate(S),j&&j instanceof Mi&&!j.available&&(D||(D=j.name),j=null,te===this.args.length&&(j=D)),j!==null)break;return j}eachChild(S){this.args.forEach(S)}outputDefined(){return this.args.every(S=>S.outputDefined())}}function Zs(R,S){return R===\"==\"||R===\"!=\"?S.kind===\"boolean\"||S.kind===\"string\"||S.kind===\"number\"||S.kind===\"null\"||S.kind===\"value\":S.kind===\"string\"||S.kind===\"number\"||S.kind===\"value\"}function Xs(R,S,D,j){return j.compare(S,D)===0}function wl(R,S,D){let j=R!==\"==\"&&R!==\"!=\";return class FHe{constructor(ue,ve,De){this.type=dt,this.lhs=ue,this.rhs=ve,this.collator=De,this.hasUntypedArgument=ue.type.kind===\"value\"||ve.type.kind===\"value\"}static parse(ue,ve){if(ue.length!==3&&ue.length!==4)return ve.error(\"Expected two or three arguments.\");let De=ue[0],Ze=ve.parse(ue[1],1,fr);if(!Ze)return null;if(!Zs(De,Ze.type))return ve.concat(1).error(`\"${De}\" comparisons are not supported for type '${Ye(Ze.type)}'.`);let at=ve.parse(ue[2],2,fr);if(!at)return null;if(!Zs(De,at.type))return ve.concat(2).error(`\"${De}\" comparisons are not supported for type '${Ye(at.type)}'.`);if(Ze.type.kind!==at.type.kind&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(`Cannot compare types '${Ye(Ze.type)}' and '${Ye(at.type)}'.`);j&&(Ze.type.kind===\"value\"&&at.type.kind!==\"value\"?Ze=new Ra(at.type,[Ze]):Ze.type.kind!==\"value\"&&at.type.kind===\"value\"&&(at=new Ra(Ze.type,[at])));let Tt=null;if(ue.length===4){if(Ze.type.kind!==\"string\"&&at.type.kind!==\"string\"&&Ze.type.kind!==\"value\"&&at.type.kind!==\"value\")return ve.error(\"Cannot use collator to compare non-string types.\");if(Tt=ve.parse(ue[3],3,_r),!Tt)return null}return new FHe(Ze,at,Tt)}evaluate(ue){let ve=this.lhs.evaluate(ue),De=this.rhs.evaluate(ue);if(j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==at.kind||Ze.kind!==\"string\"&&Ze.kind!==\"number\")throw new la(`Expected arguments for \"${R}\" to be (string, string) or (number, number), but found (${Ze.kind}, ${at.kind}) instead.`)}if(this.collator&&!j&&this.hasUntypedArgument){let Ze=Ki(ve),at=Ki(De);if(Ze.kind!==\"string\"||at.kind!==\"string\")return S(ue,ve,De)}return this.collator?D(ue,ve,De,this.collator.evaluate(ue)):S(ue,ve,De)}eachChild(ue){ue(this.lhs),ue(this.rhs),this.collator&&ue(this.collator)}outputDefined(){return!0}}}let os=wl(\"==\",function(R,S,D){return S===D},Xs),cl=wl(\"!=\",function(R,S,D){return S!==D},function(R,S,D,j){return!Xs(0,S,D,j)}),Cs=wl(\"<\",function(R,S,D){return S\",function(R,S,D){return S>D},function(R,S,D,j){return j.compare(S,D)>0}),Ys=wl(\"<=\",function(R,S,D){return S<=D},function(R,S,D,j){return j.compare(S,D)<=0}),Hs=wl(\">=\",function(R,S,D){return S>=D},function(R,S,D,j){return j.compare(S,D)>=0});class Eo{constructor(S,D,j){this.type=_r,this.locale=j,this.caseSensitive=S,this.diacriticSensitive=D}static parse(S,D){if(S.length!==2)return D.error(\"Expected one argument.\");let j=S[1];if(typeof j!=\"object\"||Array.isArray(j))return D.error(\"Collator options argument must be an object.\");let te=D.parse(j[\"case-sensitive\"]!==void 0&&j[\"case-sensitive\"],1,dt);if(!te)return null;let ue=D.parse(j[\"diacritic-sensitive\"]!==void 0&&j[\"diacritic-sensitive\"],1,dt);if(!ue)return null;let ve=null;return j.locale&&(ve=D.parse(j.locale,1,Et),!ve)?null:new Eo(te,ue,ve)}evaluate(S){return new yr(this.caseSensitive.evaluate(S),this.diacriticSensitive.evaluate(S),this.locale?this.locale.evaluate(S):null)}eachChild(S){S(this.caseSensitive),S(this.diacriticSensitive),this.locale&&S(this.locale)}outputDefined(){return!1}}class fs{constructor(S,D,j,te,ue){this.type=Et,this.number=S,this.locale=D,this.currency=j,this.minFractionDigits=te,this.maxFractionDigits=ue}static parse(S,D){if(S.length!==3)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,St);if(!j)return null;let te=S[2];if(typeof te!=\"object\"||Array.isArray(te))return D.error(\"NumberFormat options argument must be an object.\");let ue=null;if(te.locale&&(ue=D.parse(te.locale,1,Et),!ue))return null;let ve=null;if(te.currency&&(ve=D.parse(te.currency,1,Et),!ve))return null;let De=null;if(te[\"min-fraction-digits\"]&&(De=D.parse(te[\"min-fraction-digits\"],1,St),!De))return null;let Ze=null;return te[\"max-fraction-digits\"]&&(Ze=D.parse(te[\"max-fraction-digits\"],1,St),!Ze)?null:new fs(j,ue,ve,De,Ze)}evaluate(S){return new Intl.NumberFormat(this.locale?this.locale.evaluate(S):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(S):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(S):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(S):void 0}).format(this.number.evaluate(S))}eachChild(S){S(this.number),this.locale&&S(this.locale),this.currency&&S(this.currency),this.minFractionDigits&&S(this.minFractionDigits),this.maxFractionDigits&&S(this.maxFractionDigits)}outputDefined(){return!1}}class $l{constructor(S){this.type=Br,this.sections=S}static parse(S,D){if(S.length<2)return D.error(\"Expected at least one argument.\");let j=S[1];if(!Array.isArray(j)&&typeof j==\"object\")return D.error(\"First argument must be an image or text section.\");let te=[],ue=!1;for(let ve=1;ve<=S.length-1;++ve){let De=S[ve];if(ue&&typeof De==\"object\"&&!Array.isArray(De)){ue=!1;let Ze=null;if(De[\"font-scale\"]&&(Ze=D.parse(De[\"font-scale\"],1,St),!Ze))return null;let at=null;if(De[\"text-font\"]&&(at=D.parse(De[\"text-font\"],1,Ne(Et)),!at))return null;let Tt=null;if(De[\"text-color\"]&&(Tt=D.parse(De[\"text-color\"],1,Ht),!Tt))return null;let Ft=te[te.length-1];Ft.scale=Ze,Ft.font=at,Ft.textColor=Tt}else{let Ze=D.parse(S[ve],1,fr);if(!Ze)return null;let at=Ze.type.kind;if(at!==\"string\"&&at!==\"value\"&&at!==\"null\"&&at!==\"resolvedImage\")return D.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");ue=!0,te.push({content:Ze,scale:null,font:null,textColor:null})}}return new $l(te)}evaluate(S){return new Zr(this.sections.map(D=>{let j=D.content.evaluate(S);return Ki(j)===Nr?new Fr(\"\",j,null,null,null):new Fr(ka(j),null,D.scale?D.scale.evaluate(S):null,D.font?D.font.evaluate(S).join(\",\"):null,D.textColor?D.textColor.evaluate(S):null)}))}eachChild(S){for(let D of this.sections)S(D.content),D.scale&&S(D.scale),D.font&&S(D.font),D.textColor&&S(D.textColor)}outputDefined(){return!1}}class Hu{constructor(S){this.type=Nr,this.input=S}static parse(S,D){if(S.length!==2)return D.error(\"Expected two arguments.\");let j=D.parse(S[1],1,Et);return j?new Hu(j):D.error(\"No image name provided.\")}evaluate(S){let D=this.input.evaluate(S),j=Mi.fromString(D);return j&&S.availableImages&&(j.available=S.availableImages.indexOf(D)>-1),j}eachChild(S){S(this.input)}outputDefined(){return!1}}class fc{constructor(S){this.type=St,this.input=S}static parse(S,D){if(S.length!==2)return D.error(`Expected 1 argument, but found ${S.length-1} instead.`);let j=D.parse(S[1],1);return j?j.type.kind!==\"array\"&&j.type.kind!==\"string\"&&j.type.kind!==\"value\"?D.error(`Expected argument of type string or array, but found ${Ye(j.type)} instead.`):new fc(j):null}evaluate(S){let D=this.input.evaluate(S);if(typeof D==\"string\")return[...D].length;if(Array.isArray(D))return D.length;throw new la(`Expected value to be of type string or array, but found ${Ye(Ki(D))} instead.`)}eachChild(S){S(this.input)}outputDefined(){return!1}}let ms=8192;function on(R,S){let D=(180+R[0])/360,j=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R[1]*Math.PI/360)))/360,te=Math.pow(2,S.z);return[Math.round(D*te*ms),Math.round(j*te*ms)]}function fa(R,S){let D=Math.pow(2,S.z);return[(te=(R[0]/ms+S.x)/D,360*te-180),(j=(R[1]/ms+S.y)/D,360/Math.PI*Math.atan(Math.exp((180-360*j)*Math.PI/180))-90)];var j,te}function Qu(R,S){R[0]=Math.min(R[0],S[0]),R[1]=Math.min(R[1],S[1]),R[2]=Math.max(R[2],S[0]),R[3]=Math.max(R[3],S[1])}function Il(R,S){return!(R[0]<=S[0]||R[2]>=S[2]||R[1]<=S[1]||R[3]>=S[3])}function vo(R,S,D){let j=R[0]-S[0],te=R[1]-S[1],ue=R[0]-D[0],ve=R[1]-D[1];return j*ve-ue*te==0&&j*ue<=0&&te*ve<=0}function Wl(R,S,D,j){return(te=[j[0]-D[0],j[1]-D[1]])[0]*(ue=[S[0]-R[0],S[1]-R[1]])[1]-te[1]*ue[0]!=0&&!(!Co(R,S,D,j)||!Co(D,j,R,S));var te,ue}function Ks(R,S,D){for(let j of D)for(let te=0;te(te=R)[1]!=(ve=De[Ze+1])[1]>te[1]&&te[0]<(ve[0]-ue[0])*(te[1]-ue[1])/(ve[1]-ue[1])+ue[0]&&(j=!j)}var te,ue,ve;return j}function Ec(R,S){for(let D of S)if(Zl(R,D))return!0;return!1}function Zn(R,S){for(let D of R)if(!Zl(D,S))return!1;for(let D=0;D0&&De<0||ve<0&&De>0}function Tl(R,S,D){let j=[];for(let te=0;teD[2]){let te=.5*j,ue=R[0]-D[0]>te?-j:D[0]-R[0]>te?j:0;ue===0&&(ue=R[0]-D[2]>te?-j:D[2]-R[0]>te?j:0),R[0]+=ue}Qu(S,R)}function cf(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let De of R)for(let Ze of De){let at=[Ze.x+ue[0],Ze.y+ue[1]];So(at,S,D,te),ve.push(at)}return ve}function rh(R,S,D,j){let te=Math.pow(2,j.z)*ms,ue=[j.x*ms,j.y*ms],ve=[];for(let Ze of R){let at=[];for(let Tt of Ze){let Ft=[Tt.x+ue[0],Tt.y+ue[1]];Qu(S,Ft),at.push(Ft)}ve.push(at)}if(S[2]-S[0]<=te/2){(De=S)[0]=De[1]=1/0,De[2]=De[3]=-1/0;for(let Ze of ve)for(let at of Ze)So(at,S,D,te)}var De;return ve}class Al{constructor(S,D){this.type=dt,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'within' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\"){let te=[];for(let ue of j.features){let{type:ve,coordinates:De}=ue.geometry;ve===\"Polygon\"&&te.push(De),ve===\"MultiPolygon\"&&te.push(...De)}if(te.length)return new Al(j,{type:\"MultiPolygon\",coordinates:te})}else if(j.type===\"Feature\"){let te=j.geometry.type;if(te===\"Polygon\"||te===\"MultiPolygon\")return new Al(j,j.geometry)}else if(j.type===\"Polygon\"||j.type===\"MultiPolygon\")return new Al(j,j)}return D.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zl(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=cf(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Ec(at,De))return!1}return!0}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=[1/0,1/0,-1/0,-1/0],ue=[1/0,1/0,-1/0,-1/0],ve=D.canonicalID();if(j.type===\"Polygon\"){let De=Tl(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!Zn(at,De))return!1}if(j.type===\"MultiPolygon\"){let De=uf(j.coordinates,ue,ve),Ze=rh(D.geometry(),te,ue,ve);if(!Il(te,ue))return!1;for(let at of Ze)if(!ko(at,De))return!1}return!0}(S,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Hc=class{constructor(R=[],S=(D,j)=>Dj?1:0){if(this.data=R,this.length=this.data.length,this.compare=S,this.length>0)for(let D=(this.length>>1)-1;D>=0;D--)this._down(D)}push(R){this.data.push(R),this._up(this.length++)}pop(){if(this.length===0)return;let R=this.data[0],S=this.data.pop();return--this.length>0&&(this.data[0]=S,this._down(0)),R}peek(){return this.data[0]}_up(R){let{data:S,compare:D}=this,j=S[R];for(;R>0;){let te=R-1>>1,ue=S[te];if(D(j,ue)>=0)break;S[R]=ue,R=te}S[R]=j}_down(R){let{data:S,compare:D}=this,j=this.length>>1,te=S[R];for(;R=0)break;S[R]=S[ue],R=ue}S[R]=te}};function Ql(R,S,D,j,te){Ls(R,S,D,j||R.length-1,te||kc)}function Ls(R,S,D,j,te){for(;j>D;){if(j-D>600){var ue=j-D+1,ve=S-D+1,De=Math.log(ue),Ze=.5*Math.exp(2*De/3),at=.5*Math.sqrt(De*Ze*(ue-Ze)/ue)*(ve-ue/2<0?-1:1);Ls(R,S,Math.max(D,Math.floor(S-ve*Ze/ue+at)),Math.min(j,Math.floor(S+(ue-ve)*Ze/ue+at)),te)}var Tt=R[S],Ft=D,Qt=j;for(mu(R,D,S),te(R[j],Tt)>0&&mu(R,D,j);Ft0;)Qt--}te(R[D],Tt)===0?mu(R,D,Qt):mu(R,++Qt,j),Qt<=S&&(D=Qt+1),S<=Qt&&(j=Qt-1)}}function mu(R,S,D){var j=R[S];R[S]=R[D],R[D]=j}function kc(R,S){return RS?1:0}function Of(R,S){if(R.length<=1)return[R];let D=[],j,te;for(let ue of R){let ve=vd(ue);ve!==0&&(ue.area=Math.abs(ve),te===void 0&&(te=ve<0),te===ve<0?(j&&D.push(j),j=[ue]):j.push(ue))}if(j&&D.push(j),S>1)for(let ue=0;ue1?(at=S[Ze+1][0],Tt=S[Ze+1][1]):sr>0&&(at+=Ft/this.kx*sr,Tt+=Qt/this.ky*sr)),Ft=this.wrap(D[0]-at)*this.kx,Qt=(D[1]-Tt)*this.ky;let Tr=Ft*Ft+Qt*Qt;Tr180;)S-=360;return S}}function Ul(R,S){return S[0]-R[0]}function Js(R){return R[1]-R[0]+1}function hc(R,S){return R[1]>=R[0]&&R[1]R[1])return[null,null];let D=Js(R);if(S){if(D===2)return[R,null];let te=Math.floor(D/2);return[[R[0],R[0]+te],[R[0]+te,R[1]]]}if(D===1)return[R,null];let j=Math.floor(D/2)-1;return[[R[0],R[0]+j],[R[0]+j+1,R[1]]]}function ws(R,S){if(!hc(S,R.length))return[1/0,1/0,-1/0,-1/0];let D=[1/0,1/0,-1/0,-1/0];for(let j=S[0];j<=S[1];++j)Qu(D,R[j]);return D}function $s(R){let S=[1/0,1/0,-1/0,-1/0];for(let D of R)for(let j of D)Qu(S,j);return S}function hs(R){return R[0]!==-1/0&&R[1]!==-1/0&&R[2]!==1/0&&R[3]!==1/0}function Ms(R,S,D){if(!hs(R)||!hs(S))return NaN;let j=0,te=0;return R[2]S[2]&&(j=R[0]-S[2]),R[1]>S[3]&&(te=R[1]-S[3]),R[3]=j)return j;if(Il(te,ue)){if(Od(R,S))return 0}else if(Od(S,R))return 0;let ve=1/0;for(let De of R)for(let Ze=0,at=De.length,Tt=at-1;Ze0;){let Ze=ve.pop();if(Ze[0]>=ue)continue;let at=Ze[1],Tt=S?50:100;if(Js(at)<=Tt){if(!hc(at,R.length))return NaN;if(S){let Ft=wo(R,at,D,j);if(isNaN(Ft)||Ft===0)return Ft;ue=Math.min(ue,Ft)}else for(let Ft=at[0];Ft<=at[1];++Ft){let Qt=ov(R[Ft],D,j);if(ue=Math.min(ue,Qt),ue===0)return 0}}else{let Ft=Cc(at,S);Ja(ve,ue,j,R,De,Ft[0]),Ja(ve,ue,j,R,De,Ft[1])}}return ue}function uu(R,S,D,j,te,ue=1/0){let ve=Math.min(ue,te.distance(R[0],D[0]));if(ve===0)return ve;let De=new Hc([[0,[0,R.length-1],[0,D.length-1]]],Ul);for(;De.length>0;){let Ze=De.pop();if(Ze[0]>=ve)continue;let at=Ze[1],Tt=Ze[2],Ft=S?50:100,Qt=j?50:100;if(Js(at)<=Ft&&Js(Tt)<=Qt){if(!hc(at,R.length)&&hc(Tt,D.length))return NaN;let sr;if(S&&j)sr=ec(R,at,D,Tt,te),ve=Math.min(ve,sr);else if(S&&!j){let Tr=R.slice(at[0],at[1]+1);for(let Pr=Tt[0];Pr<=Tt[1];++Pr)if(sr=dc(D[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else if(!S&&j){let Tr=D.slice(Tt[0],Tt[1]+1);for(let Pr=at[0];Pr<=at[1];++Pr)if(sr=dc(R[Pr],Tr,te),ve=Math.min(ve,sr),ve===0)return ve}else sr=Ps(R,at,D,Tt,te),ve=Math.min(ve,sr)}else{let sr=Cc(at,S),Tr=Cc(Tt,j);Ef(De,ve,te,R,D,sr[0],Tr[0]),Ef(De,ve,te,R,D,sr[0],Tr[1]),Ef(De,ve,te,R,D,sr[1],Tr[0]),Ef(De,ve,te,R,D,sr[1],Tr[1])}}return ve}function Mh(R){return R.type===\"MultiPolygon\"?R.coordinates.map(S=>({type:\"Polygon\",coordinates:S})):R.type===\"MultiLineString\"?R.coordinates.map(S=>({type:\"LineString\",coordinates:S})):R.type===\"MultiPoint\"?R.coordinates.map(S=>({type:\"Point\",coordinates:S})):[R]}class jc{constructor(S,D){this.type=St,this.geojson=S,this.geometries=D}static parse(S,D){if(S.length!==2)return D.error(`'distance' expression requires exactly one argument, but found ${S.length-1} instead.`);if(Gi(S[1])){let j=S[1];if(j.type===\"FeatureCollection\")return new jc(j,j.features.map(te=>Mh(te.geometry)).flat());if(j.type===\"Feature\")return new jc(j,Mh(j.geometry));if(\"type\"in j&&\"coordinates\"in j)return new jc(j,Mh(j))}return D.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(S){if(S.geometry()!=null&&S.canonicalID()!=null){if(S.geometryType()===\"Point\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!1,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!1,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!1,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"LineString\")return function(D,j){let te=D.geometry(),ue=te.flat().map(Ze=>fa([Ze.x,Ze.y],D.canonical));if(te.length===0)return NaN;let ve=new ih(ue[0][1]),De=1/0;for(let Ze of j){switch(Ze.type){case\"Point\":De=Math.min(De,uu(ue,!0,[Ze.coordinates],!1,ve,De));break;case\"LineString\":De=Math.min(De,uu(ue,!0,Ze.coordinates,!0,ve,De));break;case\"Polygon\":De=Math.min(De,tc(ue,!0,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries);if(S.geometryType()===\"Polygon\")return function(D,j){let te=D.geometry();if(te.length===0||te[0].length===0)return NaN;let ue=Of(te,0).map(Ze=>Ze.map(at=>at.map(Tt=>fa([Tt.x,Tt.y],D.canonical)))),ve=new ih(ue[0][0][0][1]),De=1/0;for(let Ze of j)for(let at of ue){switch(Ze.type){case\"Point\":De=Math.min(De,tc([Ze.coordinates],!1,at,ve,De));break;case\"LineString\":De=Math.min(De,tc(Ze.coordinates,!0,at,ve,De));break;case\"Polygon\":De=Math.min(De,$o(at,Ze.coordinates,ve,De))}if(De===0)return De}return De}(S,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}let kf={\"==\":os,\"!=\":cl,\">\":ml,\"<\":Cs,\">=\":Hs,\"<=\":Ys,array:Ra,at:br,boolean:Ra,case:Yi,coalesce:ks,collator:Eo,format:$l,image:Hu,in:Hr,\"index-of\":ti,interpolate:xo,\"interpolate-hcl\":xo,\"interpolate-lab\":xo,length:fc,let:xn,literal:jn,match:zi,number:Ra,\"number-format\":fs,object:Ra,slice:an,step:Ji,string:Ra,\"to-boolean\":oa,\"to-color\":oa,\"to-number\":oa,\"to-string\":oa,var:_t,within:Al,distance:jc};class Ml{constructor(S,D,j,te){this.name=S,this.type=D,this._evaluate=j,this.args=te}evaluate(S){return this._evaluate(S,this.args)}eachChild(S){this.args.forEach(S)}outputDefined(){return!1}static parse(S,D){let j=S[0],te=Ml.definitions[j];if(!te)return D.error(`Unknown expression \"${j}\". If you wanted a literal array, use [\"literal\", [...]].`,0);let ue=Array.isArray(te)?te[0]:te.type,ve=Array.isArray(te)?[[te[1],te[2]]]:te.overloads,De=ve.filter(([at])=>!Array.isArray(at)||at.length===S.length-1),Ze=null;for(let[at,Tt]of De){Ze=new oo(D.registry,kh,D.path,null,D.scope);let Ft=[],Qt=!1;for(let sr=1;sr{return Qt=Ft,Array.isArray(Qt)?`(${Qt.map(Ye).join(\", \")})`:`(${Ye(Qt.type)}...)`;var Qt}).join(\" | \"),Tt=[];for(let Ft=1;Ft{D=S?D&&kh(j):D&&j instanceof jn}),!!D&&Kh(R)&&ah(R,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function Kh(R){if(R instanceof Ml&&(R.name===\"get\"&&R.args.length===1||R.name===\"feature-state\"||R.name===\"has\"&&R.args.length===1||R.name===\"properties\"||R.name===\"geometry-type\"||R.name===\"id\"||/^filter-/.test(R.name))||R instanceof Al||R instanceof jc)return!1;let S=!0;return R.eachChild(D=>{S&&!Kh(D)&&(S=!1)}),S}function rc(R){if(R instanceof Ml&&R.name===\"feature-state\")return!1;let S=!0;return R.eachChild(D=>{S&&!rc(D)&&(S=!1)}),S}function ah(R,S){if(R instanceof Ml&&S.indexOf(R.name)>=0)return!1;let D=!0;return R.eachChild(j=>{D&&!ah(j,S)&&(D=!1)}),D}function Wc(R){return{result:\"success\",value:R}}function df(R){return{result:\"error\",value:R}}function Cu(R){return R[\"property-type\"]===\"data-driven\"||R[\"property-type\"]===\"cross-faded-data-driven\"}function Nf(R){return!!R.expression&&R.expression.parameters.indexOf(\"zoom\")>-1}function Zc(R){return!!R.expression&&R.expression.interpolated}function ds(R){return R instanceof Number?\"number\":R instanceof String?\"string\":R instanceof Boolean?\"boolean\":Array.isArray(R)?\"array\":R===null?\"null\":typeof R}function Ch(R){return typeof R==\"object\"&&R!==null&&!Array.isArray(R)}function Bd(R){return R}function Jh(R,S){let D=S.type===\"color\",j=R.stops&&typeof R.stops[0][0]==\"object\",te=j||!(j||R.property!==void 0),ue=R.type||(Zc(S)?\"exponential\":\"interval\");if(D||S.type===\"padding\"){let Tt=D?Zt.parse:Vr.parse;(R=Ke({},R)).stops&&(R.stops=R.stops.map(Ft=>[Ft[0],Tt(Ft[1])])),R.default=Tt(R.default?R.default:S.default)}if(R.colorSpace&&(ve=R.colorSpace)!==\"rgb\"&&ve!==\"hcl\"&&ve!==\"lab\")throw new Error(`Unknown color space: \"${R.colorSpace}\"`);var ve;let De,Ze,at;if(ue===\"exponential\")De=$h;else if(ue===\"interval\")De=Lu;else if(ue===\"categorical\"){De=pd,Ze=Object.create(null);for(let Tt of R.stops)Ze[Tt[0]]=Tt[1];at=typeof R.stops[0][0]}else{if(ue!==\"identity\")throw new Error(`Unknown function type \"${ue}\"`);De=eu}if(j){let Tt={},Ft=[];for(let Tr=0;TrTr[0]),evaluate:({zoom:Tr},Pr)=>$h({stops:Qt,base:R.base},S,Tr).evaluate(Tr,Pr)}}if(te){let Tt=ue===\"exponential\"?{name:\"exponential\",base:R.base!==void 0?R.base:1}:null;return{kind:\"camera\",interpolationType:Tt,interpolationFactor:xo.interpolationFactor.bind(void 0,Tt),zoomStops:R.stops.map(Ft=>Ft[0]),evaluate:({zoom:Ft})=>De(R,S,Ft,Ze,at)}}return{kind:\"source\",evaluate(Tt,Ft){let Qt=Ft&&Ft.properties?Ft.properties[R.property]:void 0;return Qt===void 0?Cf(R.default,S.default):De(R,S,Qt,Ze,at)}}}function Cf(R,S,D){return R!==void 0?R:S!==void 0?S:D!==void 0?D:void 0}function pd(R,S,D,j,te){return Cf(typeof D===te?j[D]:void 0,R.default,S.default)}function Lu(R,S,D){if(ds(D)!==\"number\")return Cf(R.default,S.default);let j=R.stops.length;if(j===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[j-1][0])return R.stops[j-1][1];let te=hi(R.stops.map(ue=>ue[0]),D);return R.stops[te][1]}function $h(R,S,D){let j=R.base!==void 0?R.base:1;if(ds(D)!==\"number\")return Cf(R.default,S.default);let te=R.stops.length;if(te===1||D<=R.stops[0][0])return R.stops[0][1];if(D>=R.stops[te-1][0])return R.stops[te-1][1];let ue=hi(R.stops.map(Tt=>Tt[0]),D),ve=function(Tt,Ft,Qt,sr){let Tr=sr-Qt,Pr=Tt-Qt;return Tr===0?0:Ft===1?Pr/Tr:(Math.pow(Ft,Pr)-1)/(Math.pow(Ft,Tr)-1)}(D,j,R.stops[ue][0],R.stops[ue+1][0]),De=R.stops[ue][1],Ze=R.stops[ue+1][1],at=Mo[S.type]||Bd;return typeof De.evaluate==\"function\"?{evaluate(...Tt){let Ft=De.evaluate.apply(void 0,Tt),Qt=Ze.evaluate.apply(void 0,Tt);if(Ft!==void 0&&Qt!==void 0)return at(Ft,Qt,ve,R.colorSpace)}}:at(De,Ze,ve,R.colorSpace)}function eu(R,S,D){switch(S.type){case\"color\":D=Zt.parse(D);break;case\"formatted\":D=Zr.fromString(D.toString());break;case\"resolvedImage\":D=Mi.fromString(D.toString());break;case\"padding\":D=Vr.parse(D);break;default:ds(D)===S.type||S.type===\"enum\"&&S.values[D]||(D=void 0)}return Cf(D,R.default,S.default)}Ml.register(kf,{error:[{kind:\"error\"},[Et],(R,[S])=>{throw new la(S.evaluate(R))}],typeof:[Et,[fr],(R,[S])=>Ye(Ki(S.evaluate(R)))],\"to-rgba\":[Ne(St,4),[Ht],(R,[S])=>{let[D,j,te,ue]=S.evaluate(R).rgb;return[255*D,255*j,255*te,ue]}],rgb:[Ht,[St,St,St],Yh],rgba:[Ht,[St,St,St,St],Yh],has:{type:dt,overloads:[[[Et],(R,[S])=>Eh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>Eh(S.evaluate(R),D.evaluate(R))]]},get:{type:fr,overloads:[[[Et],(R,[S])=>nh(S.evaluate(R),R.properties())],[[Et,$t],(R,[S,D])=>nh(S.evaluate(R),D.evaluate(R))]]},\"feature-state\":[fr,[Et],(R,[S])=>nh(S.evaluate(R),R.featureState||{})],properties:[$t,[],R=>R.properties()],\"geometry-type\":[Et,[],R=>R.geometryType()],id:[fr,[],R=>R.id()],zoom:[St,[],R=>R.globals.zoom],\"heatmap-density\":[St,[],R=>R.globals.heatmapDensity||0],\"line-progress\":[St,[],R=>R.globals.lineProgress||0],accumulated:[fr,[],R=>R.globals.accumulated===void 0?null:R.globals.accumulated],\"+\":[St,hf(St),(R,S)=>{let D=0;for(let j of S)D+=j.evaluate(R);return D}],\"*\":[St,hf(St),(R,S)=>{let D=1;for(let j of S)D*=j.evaluate(R);return D}],\"-\":{type:St,overloads:[[[St,St],(R,[S,D])=>S.evaluate(R)-D.evaluate(R)],[[St],(R,[S])=>-S.evaluate(R)]]},\"/\":[St,[St,St],(R,[S,D])=>S.evaluate(R)/D.evaluate(R)],\"%\":[St,[St,St],(R,[S,D])=>S.evaluate(R)%D.evaluate(R)],ln2:[St,[],()=>Math.LN2],pi:[St,[],()=>Math.PI],e:[St,[],()=>Math.E],\"^\":[St,[St,St],(R,[S,D])=>Math.pow(S.evaluate(R),D.evaluate(R))],sqrt:[St,[St],(R,[S])=>Math.sqrt(S.evaluate(R))],log10:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN10],ln:[St,[St],(R,[S])=>Math.log(S.evaluate(R))],log2:[St,[St],(R,[S])=>Math.log(S.evaluate(R))/Math.LN2],sin:[St,[St],(R,[S])=>Math.sin(S.evaluate(R))],cos:[St,[St],(R,[S])=>Math.cos(S.evaluate(R))],tan:[St,[St],(R,[S])=>Math.tan(S.evaluate(R))],asin:[St,[St],(R,[S])=>Math.asin(S.evaluate(R))],acos:[St,[St],(R,[S])=>Math.acos(S.evaluate(R))],atan:[St,[St],(R,[S])=>Math.atan(S.evaluate(R))],min:[St,hf(St),(R,S)=>Math.min(...S.map(D=>D.evaluate(R)))],max:[St,hf(St),(R,S)=>Math.max(...S.map(D=>D.evaluate(R)))],abs:[St,[St],(R,[S])=>Math.abs(S.evaluate(R))],round:[St,[St],(R,[S])=>{let D=S.evaluate(R);return D<0?-Math.round(-D):Math.round(D)}],floor:[St,[St],(R,[S])=>Math.floor(S.evaluate(R))],ceil:[St,[St],(R,[S])=>Math.ceil(S.evaluate(R))],\"filter-==\":[dt,[Et,fr],(R,[S,D])=>R.properties()[S.value]===D.value],\"filter-id-==\":[dt,[fr],(R,[S])=>R.id()===S.value],\"filter-type-==\":[dt,[Et],(R,[S])=>R.geometryType()===S.value],\"filter-<\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j{let D=R.id(),j=S.value;return typeof D==typeof j&&D\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>te}],\"filter-id->\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>j}],\"filter-<=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j<=te}],\"filter-id-<=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D<=j}],\"filter->=\":[dt,[Et,fr],(R,[S,D])=>{let j=R.properties()[S.value],te=D.value;return typeof j==typeof te&&j>=te}],\"filter-id->=\":[dt,[fr],(R,[S])=>{let D=R.id(),j=S.value;return typeof D==typeof j&&D>=j}],\"filter-has\":[dt,[fr],(R,[S])=>S.value in R.properties()],\"filter-has-id\":[dt,[],R=>R.id()!==null&&R.id()!==void 0],\"filter-type-in\":[dt,[Ne(Et)],(R,[S])=>S.value.indexOf(R.geometryType())>=0],\"filter-id-in\":[dt,[Ne(fr)],(R,[S])=>S.value.indexOf(R.id())>=0],\"filter-in-small\":[dt,[Et,Ne(fr)],(R,[S,D])=>D.value.indexOf(R.properties()[S.value])>=0],\"filter-in-large\":[dt,[Et,Ne(fr)],(R,[S,D])=>function(j,te,ue,ve){for(;ue<=ve;){let De=ue+ve>>1;if(te[De]===j)return!0;te[De]>j?ve=De-1:ue=De+1}return!1}(R.properties()[S.value],D.value,0,D.value.length-1)],all:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)&&D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(!D.evaluate(R))return!1;return!0}]]},any:{type:dt,overloads:[[[dt,dt],(R,[S,D])=>S.evaluate(R)||D.evaluate(R)],[hf(dt),(R,S)=>{for(let D of S)if(D.evaluate(R))return!0;return!1}]]},\"!\":[dt,[dt],(R,[S])=>!S.evaluate(R)],\"is-supported-script\":[dt,[Et],(R,[S])=>{let D=R.globals&&R.globals.isSupportedScript;return!D||D(S.evaluate(R))}],upcase:[Et,[Et],(R,[S])=>S.evaluate(R).toUpperCase()],downcase:[Et,[Et],(R,[S])=>S.evaluate(R).toLowerCase()],concat:[Et,hf(fr),(R,S)=>S.map(D=>ka(D.evaluate(R))).join(\"\")],\"resolved-locale\":[Et,[_r],(R,[S])=>S.evaluate(R).resolvedLocale()]});class Pu{constructor(S,D){var j;this.expression=S,this._warningHistory={},this._evaluator=new Ha,this._defaultValue=D?(j=D).type===\"color\"&&Ch(j.default)?new Zt(0,0,0,0):j.type===\"color\"?Zt.parse(j.default)||null:j.type===\"padding\"?Vr.parse(j.default)||null:j.type===\"variableAnchorOffsetCollection\"?Si.parse(j.default)||null:j.default===void 0?null:j.default:null,this._enumValues=D&&D.type===\"enum\"?D.values:null}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._evaluator.globals=S,this._evaluator.feature=D,this._evaluator.featureState=j,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve,this.expression.evaluate(this._evaluator)}evaluate(S,D,j,te,ue,ve){this._evaluator.globals=S,this._evaluator.feature=D||null,this._evaluator.featureState=j||null,this._evaluator.canonical=te,this._evaluator.availableImages=ue||null,this._evaluator.formattedSection=ve||null;try{let De=this.expression.evaluate(this._evaluator);if(De==null||typeof De==\"number\"&&De!=De)return this._defaultValue;if(this._enumValues&&!(De in this._enumValues))throw new la(`Expected value to be one of ${Object.keys(this._enumValues).map(Ze=>JSON.stringify(Ze)).join(\", \")}, but found ${JSON.stringify(De)} instead.`);return De}catch(De){return this._warningHistory[De.message]||(this._warningHistory[De.message]=!0,typeof console!=\"undefined\"&&console.warn(De.message)),this._defaultValue}}}function Lc(R){return Array.isArray(R)&&R.length>0&&typeof R[0]==\"string\"&&R[0]in kf}function fl(R,S){let D=new oo(kf,kh,[],S?function(te){let ue={color:Ht,string:Et,number:St,enum:Et,boolean:dt,formatted:Br,padding:Or,resolvedImage:Nr,variableAnchorOffsetCollection:ut};return te.type===\"array\"?Ne(ue[te.value]||fr,te.length):ue[te.type]}(S):void 0),j=D.parse(R,void 0,void 0,void 0,S&&S.type===\"string\"?{typeAnnotation:\"coerce\"}:void 0);return j?Wc(new Pu(j,S)):df(D.errors)}class Xc{constructor(S,D){this.kind=S,this._styleExpression=D,this.isStateDependent=S!==\"constant\"&&!rc(D.expression)}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}}class ic{constructor(S,D,j,te){this.kind=S,this.zoomStops=j,this._styleExpression=D,this.isStateDependent=S!==\"camera\"&&!rc(D.expression),this.interpolationType=te}evaluateWithoutErrorHandling(S,D,j,te,ue,ve){return this._styleExpression.evaluateWithoutErrorHandling(S,D,j,te,ue,ve)}evaluate(S,D,j,te,ue,ve){return this._styleExpression.evaluate(S,D,j,te,ue,ve)}interpolationFactor(S,D,j){return this.interpolationType?xo.interpolationFactor(this.interpolationType,S,D,j):0}}function yu(R,S){let D=fl(R,S);if(D.result===\"error\")return D;let j=D.value.expression,te=Kh(j);if(!te&&!Cu(S))return df([new xt(\"\",\"data expressions not supported\")]);let ue=ah(j,[\"zoom\"]);if(!ue&&!Nf(S))return df([new xt(\"\",\"zoom expressions not supported\")]);let ve=Qh(j);return ve||ue?ve instanceof xt?df([ve]):ve instanceof xo&&!Zc(S)?df([new xt(\"\",'\"interpolate\" expressions cannot be used with this property')]):Wc(ve?new ic(te?\"camera\":\"composite\",D.value,ve.labels,ve instanceof xo?ve.interpolation:void 0):new Xc(te?\"constant\":\"source\",D.value)):df([new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Qs{constructor(S,D){this._parameters=S,this._specification=D,Ke(this,Jh(this._parameters,this._specification))}static deserialize(S){return new Qs(S._parameters,S._specification)}static serialize(S){return{_parameters:S._parameters,_specification:S._specification}}}function Qh(R){let S=null;if(R instanceof xn)S=Qh(R.result);else if(R instanceof ks){for(let D of R.args)if(S=Qh(D),S)break}else(R instanceof Ji||R instanceof xo)&&R.input instanceof Ml&&R.input.name===\"zoom\"&&(S=R);return S instanceof xt||R.eachChild(D=>{let j=Qh(D);j instanceof xt?S=j:!S&&j?S=new xt(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):S&&j&&S!==j&&(S=new xt(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'))}),S}function gd(R){if(R===!0||R===!1)return!0;if(!Array.isArray(R)||R.length===0)return!1;switch(R[0]){case\"has\":return R.length>=2&&R[1]!==\"$id\"&&R[1]!==\"$type\";case\"in\":return R.length>=3&&(typeof R[1]!=\"string\"||Array.isArray(R[2]));case\"!in\":case\"!has\":case\"none\":return!1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return R.length!==3||Array.isArray(R[1])||Array.isArray(R[2]);case\"any\":case\"all\":for(let S of R.slice(1))if(!gd(S)&&typeof S!=\"boolean\")return!1;return!0;default:return!0}}let Gu={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pc(R){if(R==null)return{filter:()=>!0,needGeometry:!1};gd(R)||(R=Lf(R));let S=fl(R,Gu);if(S.result===\"error\")throw new Error(S.value.map(D=>`${D.key}: ${D.message}`).join(\", \"));return{filter:(D,j,te)=>S.value.evaluate(D,j,{},te),needGeometry:sv(R)}}function vc(R,S){return RS?1:0}function sv(R){if(!Array.isArray(R))return!1;if(R[0]===\"within\"||R[0]===\"distance\")return!0;for(let S=1;S\"||S===\"<=\"||S===\">=\"?Uf(R[1],R[2],S):S===\"any\"?(D=R.slice(1),[\"any\"].concat(D.map(Lf))):S===\"all\"?[\"all\"].concat(R.slice(1).map(Lf)):S===\"none\"?[\"all\"].concat(R.slice(1).map(Lf).map(tu)):S===\"in\"?Iu(R[1],R.slice(2)):S===\"!in\"?tu(Iu(R[1],R.slice(2))):S===\"has\"?oh(R[1]):S!==\"!has\"||tu(oh(R[1]));var D}function Uf(R,S,D){switch(R){case\"$type\":return[`filter-type-${D}`,S];case\"$id\":return[`filter-id-${D}`,S];default:return[`filter-${D}`,R,S]}}function Iu(R,S){if(S.length===0)return!1;switch(R){case\"$type\":return[\"filter-type-in\",[\"literal\",S]];case\"$id\":return[\"filter-id-in\",[\"literal\",S]];default:return S.length>200&&!S.some(D=>typeof D!=typeof S[0])?[\"filter-in-large\",R,[\"literal\",S.sort(vc)]]:[\"filter-in-small\",R,[\"literal\",S]]}}function oh(R){switch(R){case\"$type\":return!0;case\"$id\":return[\"filter-has-id\"];default:return[\"filter-has\",R]}}function tu(R){return[\"!\",R]}function vf(R){let S=typeof R;if(S===\"number\"||S===\"boolean\"||S===\"string\"||R==null)return JSON.stringify(R);if(Array.isArray(R)){let te=\"[\";for(let ue of R)te+=`${vf(ue)},`;return`${te}]`}let D=Object.keys(R).sort(),j=\"{\";for(let te=0;tej.maximum?[new er(S,D,`${D} is greater than the maximum value ${j.maximum}`)]:[]}function Pf(R){let S=R.valueSpec,D=Fs(R.value.type),j,te,ue,ve={},De=D!==\"categorical\"&&R.value.property===void 0,Ze=!De,at=ds(R.value.stops)===\"array\"&&ds(R.value.stops[0])===\"array\"&&ds(R.value.stops[0][0])===\"object\",Tt=xu({key:R.key,value:R.value,valueSpec:R.styleSpec.function,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{stops:function(sr){if(D===\"identity\")return[new er(sr.key,sr.value,'identity function may not have a \"stops\" property')];let Tr=[],Pr=sr.value;return Tr=Tr.concat(Lh({key:sr.key,value:Pr,valueSpec:sr.valueSpec,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,arrayElementValidator:Ft})),ds(Pr)===\"array\"&&Pr.length===0&&Tr.push(new er(sr.key,Pr,\"array must have at least one stop\")),Tr},default:function(sr){return sr.validateSpec({key:sr.key,value:sr.value,valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec})}}});return D===\"identity\"&&De&&Tt.push(new er(R.key,R.value,'missing required property \"property\"')),D===\"identity\"||R.value.stops||Tt.push(new er(R.key,R.value,'missing required property \"stops\"')),D===\"exponential\"&&R.valueSpec.expression&&!Zc(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"exponential functions not supported\")),R.styleSpec.$version>=8&&(Ze&&!Cu(R.valueSpec)?Tt.push(new er(R.key,R.value,\"property functions not supported\")):De&&!Nf(R.valueSpec)&&Tt.push(new er(R.key,R.value,\"zoom functions not supported\"))),D!==\"categorical\"&&!at||R.value.property!==void 0||Tt.push(new er(R.key,R.value,'\"property\" property is required')),Tt;function Ft(sr){let Tr=[],Pr=sr.value,$r=sr.key;if(ds(Pr)!==\"array\")return[new er($r,Pr,`array expected, ${ds(Pr)} found`)];if(Pr.length!==2)return[new er($r,Pr,`array length 2 expected, length ${Pr.length} found`)];if(at){if(ds(Pr[0])!==\"object\")return[new er($r,Pr,`object expected, ${ds(Pr[0])} found`)];if(Pr[0].zoom===void 0)return[new er($r,Pr,\"object stop key must have zoom\")];if(Pr[0].value===void 0)return[new er($r,Pr,\"object stop key must have value\")];if(ue&&ue>Fs(Pr[0].zoom))return[new er($r,Pr[0].zoom,\"stop zoom values must appear in ascending order\")];Fs(Pr[0].zoom)!==ue&&(ue=Fs(Pr[0].zoom),te=void 0,ve={}),Tr=Tr.concat(xu({key:`${$r}[0]`,value:Pr[0],valueSpec:{zoom:{}},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec,objectElementValidators:{zoom:Is,value:Qt}}))}else Tr=Tr.concat(Qt({key:`${$r}[0]`,value:Pr[0],valueSpec:{},validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec},Pr));return Lc(_u(Pr[1]))?Tr.concat([new er(`${$r}[1]`,Pr[1],\"expressions are not allowed in function stops.\")]):Tr.concat(sr.validateSpec({key:`${$r}[1]`,value:Pr[1],valueSpec:S,validateSpec:sr.validateSpec,style:sr.style,styleSpec:sr.styleSpec}))}function Qt(sr,Tr){let Pr=ds(sr.value),$r=Fs(sr.value),ni=sr.value!==null?sr.value:Tr;if(j){if(Pr!==j)return[new er(sr.key,ni,`${Pr} stop domain type must match previous stop domain type ${j}`)]}else j=Pr;if(Pr!==\"number\"&&Pr!==\"string\"&&Pr!==\"boolean\")return[new er(sr.key,ni,\"stop domain value must be a number, string, or boolean\")];if(Pr!==\"number\"&&D!==\"categorical\"){let Di=`number expected, ${Pr} found`;return Cu(S)&&D===void 0&&(Di+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new er(sr.key,ni,Di)]}return D!==\"categorical\"||Pr!==\"number\"||isFinite($r)&&Math.floor($r)===$r?D!==\"categorical\"&&Pr===\"number\"&&te!==void 0&&$rnew er(`${R.key}${j.key}`,R.value,j.message));let D=S.value.expression||S.value._styleExpression.expression;if(R.expressionContext===\"property\"&&R.propertyKey===\"text-font\"&&!D.outputDefined())return[new er(R.key,R.value,`Invalid data expression for \"${R.propertyKey}\". Output values must be contained as literals within the expression.`)];if(R.expressionContext===\"property\"&&R.propertyType===\"layout\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(R.expressionContext===\"filter\"&&!rc(D))return[new er(R.key,R.value,'\"feature-state\" data expressions are not supported with filters.')];if(R.expressionContext&&R.expressionContext.indexOf(\"cluster\")===0){if(!ah(D,[\"zoom\",\"feature-state\"]))return[new er(R.key,R.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(R.expressionContext===\"cluster-initial\"&&!Kh(D))return[new er(R.key,R.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return[]}function ju(R){let S=R.key,D=R.value,j=R.valueSpec,te=[];return Array.isArray(j.values)?j.values.indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${j.values.join(\", \")}], ${JSON.stringify(D)} found`)):Object.keys(j.values).indexOf(Fs(D))===-1&&te.push(new er(S,D,`expected one of [${Object.keys(j.values).join(\", \")}], ${JSON.stringify(D)} found`)),te}function Vf(R){return gd(_u(R.value))?Ic(Ke({},R,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):pc(R)}function pc(R){let S=R.value,D=R.key;if(ds(S)!==\"array\")return[new er(D,S,`array expected, ${ds(S)} found`)];let j=R.styleSpec,te,ue=[];if(S.length<1)return[new er(D,S,\"filter array must have at least 1 element\")];switch(ue=ue.concat(ju({key:`${D}[0]`,value:S[0],valueSpec:j.filter_operator,style:R.style,styleSpec:R.styleSpec})),Fs(S[0])){case\"<\":case\"<=\":case\">\":case\">=\":S.length>=2&&Fs(S[1])===\"$type\"&&ue.push(new er(D,S,`\"$type\" cannot be use with operator \"${S[0]}\"`));case\"==\":case\"!=\":S.length!==3&&ue.push(new er(D,S,`filter array for operator \"${S[0]}\" must have 3 elements`));case\"in\":case\"!in\":S.length>=2&&(te=ds(S[1]),te!==\"string\"&&ue.push(new er(`${D}[1]`,S[1],`string expected, ${te} found`)));for(let ve=2;ve{at in D&&S.push(new er(j,D[at],`\"${at}\" is prohibited for ref layers`))}),te.layers.forEach(at=>{Fs(at.id)===De&&(Ze=at)}),Ze?Ze.ref?S.push(new er(j,D.ref,\"ref cannot reference another ref layer\")):ve=Fs(Ze.type):S.push(new er(j,D.ref,`ref layer \"${De}\" not found`))}else if(ve!==\"background\")if(D.source){let Ze=te.sources&&te.sources[D.source],at=Ze&&Fs(Ze.type);Ze?at===\"vector\"&&ve===\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster source`)):at!==\"raster-dem\"&&ve===\"hillshade\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a raster-dem source`)):at===\"raster\"&&ve!==\"raster\"?S.push(new er(j,D.source,`layer \"${D.id}\" requires a vector source`)):at!==\"vector\"||D[\"source-layer\"]?at===\"raster-dem\"&&ve!==\"hillshade\"?S.push(new er(j,D.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):ve!==\"line\"||!D.paint||!D.paint[\"line-gradient\"]||at===\"geojson\"&&Ze.lineMetrics||S.push(new er(j,D,`layer \"${D.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):S.push(new er(j,D,`layer \"${D.id}\" must specify a \"source-layer\"`)):S.push(new er(j,D.source,`source \"${D.source}\" not found`))}else S.push(new er(j,D,'missing required property \"source\"'));return S=S.concat(xu({key:j,value:D,valueSpec:ue.layer,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>R.validateSpec({key:`${j}.type`,value:D.type,valueSpec:ue.layer.type,style:R.style,styleSpec:R.styleSpec,validateSpec:R.validateSpec,object:D,objectKey:\"type\"}),filter:Vf,layout:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Rl(Ke({layerType:ve},at))}}),paint:Ze=>xu({layer:D,key:Ze.key,value:Ze.value,style:Ze.style,styleSpec:Ze.styleSpec,validateSpec:Ze.validateSpec,objectElementValidators:{\"*\":at=>Ph(Ke({layerType:ve},at))}})}})),S}function Wu(R){let S=R.value,D=R.key,j=ds(S);return j!==\"string\"?[new er(D,S,`string expected, ${j} found`)]:[]}let Rc={promoteId:function({key:R,value:S}){if(ds(S)===\"string\")return Wu({key:R,value:S});{let D=[];for(let j in S)D.push(...Wu({key:`${R}.${j}`,value:S[j]}));return D}}};function gc(R){let S=R.value,D=R.key,j=R.styleSpec,te=R.style,ue=R.validateSpec;if(!S.type)return[new er(D,S,'\"type\" is required')];let ve=Fs(S.type),De;switch(ve){case\"vector\":case\"raster\":return De=xu({key:D,value:S,valueSpec:j[`source_${ve.replace(\"-\",\"_\")}`],style:R.style,styleSpec:j,objectElementValidators:Rc,validateSpec:ue}),De;case\"raster-dem\":return De=function(Ze){var at;let Tt=(at=Ze.sourceName)!==null&&at!==void 0?at:\"\",Ft=Ze.value,Qt=Ze.styleSpec,sr=Qt.source_raster_dem,Tr=Ze.style,Pr=[],$r=ds(Ft);if(Ft===void 0)return Pr;if($r!==\"object\")return Pr.push(new er(\"source_raster_dem\",Ft,`object expected, ${$r} found`)),Pr;let ni=Fs(Ft.encoding)===\"custom\",Di=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],pi=Ze.value.encoding?`\"${Ze.value.encoding}\"`:\"Default\";for(let ki in Ft)!ni&&Di.includes(ki)?Pr.push(new er(ki,Ft[ki],`In \"${Tt}\": \"${ki}\" is only valid when \"encoding\" is set to \"custom\". ${pi} encoding found`)):sr[ki]?Pr=Pr.concat(Ze.validateSpec({key:ki,value:Ft[ki],valueSpec:sr[ki],validateSpec:Ze.validateSpec,style:Tr,styleSpec:Qt})):Pr.push(new er(ki,Ft[ki],`unknown property \"${ki}\"`));return Pr}({sourceName:D,value:S,style:R.style,styleSpec:j,validateSpec:ue}),De;case\"geojson\":if(De=xu({key:D,value:S,valueSpec:j.source_geojson,style:te,styleSpec:j,validateSpec:ue,objectElementValidators:Rc}),S.cluster)for(let Ze in S.clusterProperties){let[at,Tt]=S.clusterProperties[Ze],Ft=typeof at==\"string\"?[at,[\"accumulated\"],[\"get\",Ze]]:at;De.push(...Ic({key:`${D}.${Ze}.map`,value:Tt,validateSpec:ue,expressionContext:\"cluster-map\"})),De.push(...Ic({key:`${D}.${Ze}.reduce`,value:Ft,validateSpec:ue,expressionContext:\"cluster-reduce\"}))}return De;case\"video\":return xu({key:D,value:S,valueSpec:j.source_video,style:te,validateSpec:ue,styleSpec:j});case\"image\":return xu({key:D,value:S,valueSpec:j.source_image,style:te,validateSpec:ue,styleSpec:j});case\"canvas\":return[new er(D,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return ju({key:`${D}.type`,value:S.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:te,validateSpec:ue,styleSpec:j})}}function hl(R){let S=R.value,D=R.styleSpec,j=D.light,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"light\",S,`object expected, ${ve} found`)]),ue;for(let De in S){let Ze=De.match(/^(.*)-transition$/);ue=ue.concat(Ze&&j[Ze[1]]&&j[Ze[1]].transition?R.validateSpec({key:De,value:S[De],valueSpec:D.transition,validateSpec:R.validateSpec,style:te,styleSpec:D}):j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)])}return ue}function ru(R){let S=R.value,D=R.styleSpec,j=D.sky,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"sky\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve}function mc(R){let S=R.value,D=R.styleSpec,j=D.terrain,te=R.style,ue=[],ve=ds(S);if(S===void 0)return ue;if(ve!==\"object\")return ue=ue.concat([new er(\"terrain\",S,`object expected, ${ve} found`)]),ue;for(let De in S)ue=ue.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],validateSpec:R.validateSpec,style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ue}function Yc(R){let S=[],D=R.value,j=R.key;if(Array.isArray(D)){let te=[],ue=[];for(let ve in D)D[ve].id&&te.includes(D[ve].id)&&S.push(new er(j,D,`all the sprites' ids must be unique, but ${D[ve].id} is duplicated`)),te.push(D[ve].id),D[ve].url&&ue.includes(D[ve].url)&&S.push(new er(j,D,`all the sprites' URLs must be unique, but ${D[ve].url} is duplicated`)),ue.push(D[ve].url),S=S.concat(xu({key:`${j}[${ve}]`,value:D[ve],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:R.validateSpec}));return S}return Wu({key:j,value:D})}let nc={\"*\":()=>[],array:Lh,boolean:function(R){let S=R.value,D=R.key,j=ds(S);return j!==\"boolean\"?[new er(D,S,`boolean expected, ${j} found`)]:[]},number:Is,color:function(R){let S=R.key,D=R.value,j=ds(D);return j!==\"string\"?[new er(S,D,`color expected, ${j} found`)]:Zt.parse(String(D))?[]:[new er(S,D,`color expected, \"${D}\" found`)]},constants:sh,enum:ju,filter:Vf,function:Pf,layer:Ih,object:xu,source:gc,light:hl,sky:ru,terrain:mc,projection:function(R){let S=R.value,D=R.styleSpec,j=D.projection,te=R.style,ue=ds(S);if(S===void 0)return[];if(ue!==\"object\")return[new er(\"projection\",S,`object expected, ${ue} found`)];let ve=[];for(let De in S)ve=ve.concat(j[De]?R.validateSpec({key:De,value:S[De],valueSpec:j[De],style:te,styleSpec:D}):[new er(De,S[De],`unknown property \"${De}\"`)]);return ve},string:Wu,formatted:function(R){return Wu(R).length===0?[]:Ic(R)},resolvedImage:function(R){return Wu(R).length===0?[]:Ic(R)},padding:function(R){let S=R.key,D=R.value;if(ds(D)===\"array\"){if(D.length<1||D.length>4)return[new er(S,D,`padding requires 1 to 4 values; ${D.length} values found`)];let j={type:\"number\"},te=[];for(let ue=0;ue[]}})),R.constants&&(D=D.concat(sh({key:\"constants\",value:R.constants,style:R,styleSpec:S,validateSpec:gf}))),vr(D)}function wr(R){return function(S){return R(KQ(YQ({},S),{validateSpec:gf}))}}function vr(R){return[].concat(R).sort((S,D)=>S.line-D.line)}function Ur(R){return function(...S){return vr(R.apply(this,S))}}Bt.source=Ur(wr(gc)),Bt.sprite=Ur(wr(Yc)),Bt.glyphs=Ur(wr(gt)),Bt.light=Ur(wr(hl)),Bt.sky=Ur(wr(ru)),Bt.terrain=Ur(wr(mc)),Bt.layer=Ur(wr(Ih)),Bt.filter=Ur(wr(Vf)),Bt.paintProperty=Ur(wr(Ph)),Bt.layoutProperty=Ur(wr(Rl));let fi=Bt,xi=fi.light,Fi=fi.sky,Xi=fi.paintProperty,hn=fi.layoutProperty;function Ti(R,S){let D=!1;if(S&&S.length)for(let j of S)R.fire(new me(new Error(j.message))),D=!0;return D}class qi{constructor(S,D,j){let te=this.cells=[];if(S instanceof ArrayBuffer){this.arrayBuffer=S;let ve=new Int32Array(this.arrayBuffer);S=ve[0],this.d=(D=ve[1])+2*(j=ve[2]);for(let Ze=0;Ze=Ft[Tr+0]&&te>=Ft[Tr+1])?(De[sr]=!0,ve.push(Tt[sr])):De[sr]=!1}}}}_forEachCell(S,D,j,te,ue,ve,De,Ze){let at=this._convertToCellCoord(S),Tt=this._convertToCellCoord(D),Ft=this._convertToCellCoord(j),Qt=this._convertToCellCoord(te);for(let sr=at;sr<=Ft;sr++)for(let Tr=Tt;Tr<=Qt;Tr++){let Pr=this.d*Tr+sr;if((!Ze||Ze(this._convertFromCellCoord(sr),this._convertFromCellCoord(Tr),this._convertFromCellCoord(sr+1),this._convertFromCellCoord(Tr+1)))&&ue.call(this,S,D,j,te,Pr,ve,De,Ze))return}}_convertFromCellCoord(S){return(S-this.padding)/this.scale}_convertToCellCoord(S){return Math.max(0,Math.min(this.d-1,Math.floor(S*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let S=this.cells,D=3+this.cells.length+1+1,j=0;for(let ve=0;ve=0)continue;let ve=R[ue];te[ue]=Ii[D].shallow.indexOf(ue)>=0?ve:Ea(ve,S)}R instanceof Error&&(te.message=R.message)}if(te.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return D!==\"Object\"&&(te.$name=D),te}function qa(R){if(Ta(R))return R;if(Array.isArray(R))return R.map(qa);if(typeof R!=\"object\")throw new Error(\"can't deserialize object of type \"+typeof R);let S=Ma(R)||\"Object\";if(!Ii[S])throw new Error(`can't deserialize unregistered class ${S}`);let{klass:D}=Ii[S];if(!D)throw new Error(`can't deserialize unregistered class ${S}`);if(D.deserialize)return D.deserialize(R);let j=Object.create(D.prototype);for(let te of Object.keys(R)){if(te===\"$name\")continue;let ue=R[te];j[te]=Ii[S].shallow.indexOf(te)>=0?ue:qa(ue)}return j}class Cn{constructor(){this.first=!0}update(S,D){let j=Math.floor(S);return this.first?(this.first=!1,this.lastIntegerZoom=j,this.lastIntegerZoomTime=0,this.lastZoom=S,this.lastFloorZoom=j,!0):(this.lastFloorZoom>j?(this.lastIntegerZoom=j+1,this.lastIntegerZoomTime=D):this.lastFloorZoomR>=128&&R<=255,\"Hangul Jamo\":R=>R>=4352&&R<=4607,Khmer:R=>R>=6016&&R<=6143,\"General Punctuation\":R=>R>=8192&&R<=8303,\"Letterlike Symbols\":R=>R>=8448&&R<=8527,\"Number Forms\":R=>R>=8528&&R<=8591,\"Miscellaneous Technical\":R=>R>=8960&&R<=9215,\"Control Pictures\":R=>R>=9216&&R<=9279,\"Optical Character Recognition\":R=>R>=9280&&R<=9311,\"Enclosed Alphanumerics\":R=>R>=9312&&R<=9471,\"Geometric Shapes\":R=>R>=9632&&R<=9727,\"Miscellaneous Symbols\":R=>R>=9728&&R<=9983,\"Miscellaneous Symbols and Arrows\":R=>R>=11008&&R<=11263,\"Ideographic Description Characters\":R=>R>=12272&&R<=12287,\"CJK Symbols and Punctuation\":R=>R>=12288&&R<=12351,Katakana:R=>R>=12448&&R<=12543,Kanbun:R=>R>=12688&&R<=12703,\"CJK Strokes\":R=>R>=12736&&R<=12783,\"Enclosed CJK Letters and Months\":R=>R>=12800&&R<=13055,\"CJK Compatibility\":R=>R>=13056&&R<=13311,\"Yijing Hexagram Symbols\":R=>R>=19904&&R<=19967,\"Private Use Area\":R=>R>=57344&&R<=63743,\"Vertical Forms\":R=>R>=65040&&R<=65055,\"CJK Compatibility Forms\":R=>R>=65072&&R<=65103,\"Small Form Variants\":R=>R>=65104&&R<=65135,\"Halfwidth and Fullwidth Forms\":R=>R>=65280&&R<=65519};function Ua(R){for(let S of R)if(Bo(S.charCodeAt(0)))return!0;return!1}function mo(R){for(let S of R)if(!Qo(S.charCodeAt(0)))return!1;return!0}function Xo(R){let S=R.map(D=>{try{return new RegExp(`\\\\p{sc=${D}}`,\"u\").source}catch(j){return null}}).filter(D=>D);return new RegExp(S.join(\"|\"),\"u\")}let Ts=Xo([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Qo(R){return!Ts.test(String.fromCodePoint(R))}let ys=Xo([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Bo(R){return!(R!==746&&R!==747&&(R<4352||!(sn[\"CJK Compatibility Forms\"](R)&&!(R>=65097&&R<=65103)||sn[\"CJK Compatibility\"](R)||sn[\"CJK Strokes\"](R)||!(!sn[\"CJK Symbols and Punctuation\"](R)||R>=12296&&R<=12305||R>=12308&&R<=12319||R===12336)||sn[\"Enclosed CJK Letters and Months\"](R)||sn[\"Ideographic Description Characters\"](R)||sn.Kanbun(R)||sn.Katakana(R)&&R!==12540||!(!sn[\"Halfwidth and Fullwidth Forms\"](R)||R===65288||R===65289||R===65293||R>=65306&&R<=65310||R===65339||R===65341||R===65343||R>=65371&&R<=65503||R===65507||R>=65512&&R<=65519)||!(!sn[\"Small Form Variants\"](R)||R>=65112&&R<=65118||R>=65123&&R<=65126)||sn[\"Vertical Forms\"](R)||sn[\"Yijing Hexagram Symbols\"](R)||new RegExp(\"\\\\p{sc=Cans}\",\"u\").test(String.fromCodePoint(R))||new RegExp(\"\\\\p{sc=Hang}\",\"u\").test(String.fromCodePoint(R))||ys.test(String.fromCodePoint(R)))))}function yl(R){return!(Bo(R)||function(S){return!!(sn[\"Latin-1 Supplement\"](S)&&(S===167||S===169||S===174||S===177||S===188||S===189||S===190||S===215||S===247)||sn[\"General Punctuation\"](S)&&(S===8214||S===8224||S===8225||S===8240||S===8241||S===8251||S===8252||S===8258||S===8263||S===8264||S===8265||S===8273)||sn[\"Letterlike Symbols\"](S)||sn[\"Number Forms\"](S)||sn[\"Miscellaneous Technical\"](S)&&(S>=8960&&S<=8967||S>=8972&&S<=8991||S>=8996&&S<=9e3||S===9003||S>=9085&&S<=9114||S>=9150&&S<=9165||S===9167||S>=9169&&S<=9179||S>=9186&&S<=9215)||sn[\"Control Pictures\"](S)&&S!==9251||sn[\"Optical Character Recognition\"](S)||sn[\"Enclosed Alphanumerics\"](S)||sn[\"Geometric Shapes\"](S)||sn[\"Miscellaneous Symbols\"](S)&&!(S>=9754&&S<=9759)||sn[\"Miscellaneous Symbols and Arrows\"](S)&&(S>=11026&&S<=11055||S>=11088&&S<=11097||S>=11192&&S<=11243)||sn[\"CJK Symbols and Punctuation\"](S)||sn.Katakana(S)||sn[\"Private Use Area\"](S)||sn[\"CJK Compatibility Forms\"](S)||sn[\"Small Form Variants\"](S)||sn[\"Halfwidth and Fullwidth Forms\"](S)||S===8734||S===8756||S===8757||S>=9984&&S<=10087||S>=10102&&S<=10131||S===65532||S===65533)}(R))}let Gs=Xo([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Rs(R){return Gs.test(String.fromCodePoint(R))}function ia(R,S){return!(!S&&Rs(R)||R>=2304&&R<=3583||R>=3840&&R<=4255||sn.Khmer(R))}function Ka(R){for(let S of R)if(Rs(S.charCodeAt(0)))return!0;return!1}let vs=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null}setState(R){this.pluginStatus=R.pluginStatus,this.pluginURL=R.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(R){this.applyArabicShaping=R.applyArabicShaping,this.processBidirectionalText=R.processBidirectionalText,this.processStyledBidirectionalText=R.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ko{constructor(S,D){this.zoom=S,D?(this.now=D.now,this.fadeDuration=D.fadeDuration,this.zoomHistory=D.zoomHistory,this.transition=D.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Cn,this.transition={})}isSupportedScript(S){return function(D,j){for(let te of D)if(!ia(te.charCodeAt(0),j))return!1;return!0}(S,vs.getRTLTextPluginStatus()===\"loaded\")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let S=this.zoom,D=S-Math.floor(S),j=this.crossFadingFactor();return S>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:D+(1-D)*j}:{fromScale:.5,toScale:1,t:1-(1-j)*D}}}class iu{constructor(S,D){this.property=S,this.value=D,this.expression=function(j,te){if(Ch(j))return new Qs(j,te);if(Lc(j)){let ue=yu(j,te);if(ue.result===\"error\")throw new Error(ue.value.map(ve=>`${ve.key}: ${ve.message}`).join(\", \"));return ue.value}{let ue=j;return te.type===\"color\"&&typeof j==\"string\"?ue=Zt.parse(j):te.type!==\"padding\"||typeof j!=\"number\"&&!Array.isArray(j)?te.type===\"variableAnchorOffsetCollection\"&&Array.isArray(j)&&(ue=Si.parse(j)):ue=Vr.parse(j),{kind:\"constant\",evaluate:()=>ue}}}(D===void 0?S.specification.default:D,S.specification)}isDataDriven(){return this.expression.kind===\"source\"||this.expression.kind===\"composite\"}possiblyEvaluate(S,D,j){return this.property.possiblyEvaluate(this,S,D,j)}}class Ru{constructor(S){this.property=S,this.value=new iu(S,void 0)}transitioned(S,D){return new mf(this.property,this.value,D,L({},S.transition,this.transition),S.now)}untransitioned(){return new mf(this.property,this.value,null,{},0)}}class ac{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitionablePropertyValues)}getValue(S){return p(this._values[S].value.value)}setValue(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].value=new iu(this._values[S].property,D===null?void 0:p(D))}getTransition(S){return p(this._values[S].transition)}setTransition(S,D){Object.prototype.hasOwnProperty.call(this._values,S)||(this._values[S]=new Ru(this._values[S].property)),this._values[S].transition=p(D)||void 0}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j);let te=this.getTransition(D);te!==void 0&&(S[`${D}-transition`]=te)}return S}transitioned(S,D){let j=new bu(this._properties);for(let te of Object.keys(this._values))j._values[te]=this._values[te].transitioned(S,D._values[te]);return j}untransitioned(){let S=new bu(this._properties);for(let D of Object.keys(this._values))S._values[D]=this._values[D].untransitioned();return S}}class mf{constructor(S,D,j,te,ue){this.property=S,this.value=D,this.begin=ue+te.delay||0,this.end=this.begin+te.duration||0,S.specification.transition&&(te.delay||te.duration)&&(this.prior=j)}possiblyEvaluate(S,D,j){let te=S.now||0,ue=this.value.possiblyEvaluate(S,D,j),ve=this.prior;if(ve){if(te>this.end)return this.prior=null,ue;if(this.value.isDataDriven())return this.prior=null,ue;if(te=1)return 1;let at=Ze*Ze,Tt=at*Ze;return 4*(Ze<.5?Tt:3*(Ze-at)+Tt-.75)}(De))}}return ue}}class bu{constructor(S){this._properties=S,this._values=Object.create(S.defaultTransitioningPropertyValues)}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}hasTransition(){for(let S of Object.keys(this._values))if(this._values[S].prior)return!0;return!1}}class Kc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPropertyValues)}hasValue(S){return this._values[S].value!==void 0}getValue(S){return p(this._values[S].value)}setValue(S,D){this._values[S]=new iu(this._values[S].property,D===null?void 0:p(D))}serialize(){let S={};for(let D of Object.keys(this._values)){let j=this.getValue(D);j!==void 0&&(S[D]=j)}return S}possiblyEvaluate(S,D,j){let te=new Dc(this._properties);for(let ue of Object.keys(this._values))te._values[ue]=this._values[ue].possiblyEvaluate(S,D,j);return te}}class Du{constructor(S,D,j){this.property=S,this.value=D,this.parameters=j}isConstant(){return this.value.kind===\"constant\"}constantOr(S){return this.value.kind===\"constant\"?this.value.value:S}evaluate(S,D,j,te){return this.property.evaluate(this.value,this.parameters,S,D,j,te)}}class Dc{constructor(S){this._properties=S,this._values=Object.create(S.defaultPossiblyEvaluatedValues)}get(S){return this._values[S]}}class Da{constructor(S){this.specification=S}possiblyEvaluate(S,D){if(S.isDataDriven())throw new Error(\"Value should not be data driven\");return S.expression.evaluate(D)}interpolate(S,D,j){let te=Mo[this.specification.type];return te?te(S,D,j):S}}class eo{constructor(S,D){this.specification=S,this.overrides=D}possiblyEvaluate(S,D,j,te){return new Du(this,S.expression.kind===\"constant\"||S.expression.kind===\"camera\"?{kind:\"constant\",value:S.expression.evaluate(D,null,{},j,te)}:S.expression,D)}interpolate(S,D,j){if(S.value.kind!==\"constant\"||D.value.kind!==\"constant\")return S;if(S.value.value===void 0||D.value.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},S.parameters);let te=Mo[this.specification.type];if(te){let ue=te(S.value.value,D.value.value,j);return new Du(this,{kind:\"constant\",value:ue},S.parameters)}return S}evaluate(S,D,j,te,ue,ve){return S.kind===\"constant\"?S.value:S.evaluate(D,j,te,ue,ve)}}class Jc extends eo{possiblyEvaluate(S,D,j,te){if(S.value===void 0)return new Du(this,{kind:\"constant\",value:void 0},D);if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te),ve=S.property.specification.type===\"resolvedImage\"&&typeof ue!=\"string\"?ue.name:ue,De=this._calculate(ve,ve,ve,D);return new Du(this,{kind:\"constant\",value:De},D)}if(S.expression.kind===\"camera\"){let ue=this._calculate(S.expression.evaluate({zoom:D.zoom-1}),S.expression.evaluate({zoom:D.zoom}),S.expression.evaluate({zoom:D.zoom+1}),D);return new Du(this,{kind:\"constant\",value:ue},D)}return new Du(this,S.expression,D)}evaluate(S,D,j,te,ue,ve){if(S.kind===\"source\"){let De=S.evaluate(D,j,te,ue,ve);return this._calculate(De,De,De,D)}return S.kind===\"composite\"?this._calculate(S.evaluate({zoom:Math.floor(D.zoom)-1},j,te),S.evaluate({zoom:Math.floor(D.zoom)},j,te),S.evaluate({zoom:Math.floor(D.zoom)+1},j,te),D):S.value}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class yc{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){if(S.value!==void 0){if(S.expression.kind===\"constant\"){let ue=S.expression.evaluate(D,null,{},j,te);return this._calculate(ue,ue,ue,D)}return this._calculate(S.expression.evaluate(new Ko(Math.floor(D.zoom-1),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom),D)),S.expression.evaluate(new Ko(Math.floor(D.zoom+1),D)),D)}}_calculate(S,D,j,te){return te.zoom>te.zoomHistory.lastIntegerZoom?{from:S,to:D}:{from:j,to:D}}interpolate(S){return S}}class _c{constructor(S){this.specification=S}possiblyEvaluate(S,D,j,te){return!!S.expression.evaluate(D,null,{},j,te)}interpolate(){return!1}}class le{constructor(S){this.properties=S,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let D in S){let j=S[D];j.specification.overridable&&this.overridableProperties.push(D);let te=this.defaultPropertyValues[D]=new iu(j,void 0),ue=this.defaultTransitionablePropertyValues[D]=new Ru(j);this.defaultTransitioningPropertyValues[D]=ue.untransitioned(),this.defaultPossiblyEvaluatedValues[D]=te.possiblyEvaluate({})}}}mi(\"DataDrivenProperty\",eo),mi(\"DataConstantProperty\",Da),mi(\"CrossFadedDataDrivenProperty\",Jc),mi(\"CrossFadedProperty\",yc),mi(\"ColorRampProperty\",_c);let w=\"-transition\";class B extends Re{constructor(S,D){if(super(),this.id=S.id,this.type=S.type,this._featureFilter={filter:()=>!0,needGeometry:!1},S.type!==\"custom\"&&(this.metadata=S.metadata,this.minzoom=S.minzoom,this.maxzoom=S.maxzoom,S.type!==\"background\"&&(this.source=S.source,this.sourceLayer=S[\"source-layer\"],this.filter=S.filter),D.layout&&(this._unevaluatedLayout=new Kc(D.layout)),D.paint)){this._transitionablePaint=new ac(D.paint);for(let j in S.paint)this.setPaintProperty(j,S.paint[j],{validate:!1});for(let j in S.layout)this.setLayoutProperty(j,S.layout[j],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Dc(D.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(S){return S===\"visibility\"?this.visibility:this._unevaluatedLayout.getValue(S)}setLayoutProperty(S,D,j={}){D!=null&&this._validate(hn,`layers.${this.id}.layout.${S}`,S,D,j)||(S!==\"visibility\"?this._unevaluatedLayout.setValue(S,D):this.visibility=D)}getPaintProperty(S){return S.endsWith(w)?this._transitionablePaint.getTransition(S.slice(0,-11)):this._transitionablePaint.getValue(S)}setPaintProperty(S,D,j={}){if(D!=null&&this._validate(Xi,`layers.${this.id}.paint.${S}`,S,D,j))return!1;if(S.endsWith(w))return this._transitionablePaint.setTransition(S.slice(0,-11),D||void 0),!1;{let te=this._transitionablePaint._values[S],ue=te.property.specification[\"property-type\"]===\"cross-faded-data-driven\",ve=te.value.isDataDriven(),De=te.value;this._transitionablePaint.setValue(S,D),this._handleSpecialPaintPropertyUpdate(S);let Ze=this._transitionablePaint._values[S].value;return Ze.isDataDriven()||ve||ue||this._handleOverridablePaintPropertyUpdate(S,De,Ze)}}_handleSpecialPaintPropertyUpdate(S){}_handleOverridablePaintPropertyUpdate(S,D,j){return!1}isHidden(S){return!!(this.minzoom&&S=this.maxzoom)||this.visibility===\"none\"}updateTransitions(S){this._transitioningPaint=this._transitionablePaint.transitioned(S,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(S,D){S.getCrossfadeParameters&&(this._crossfadeParameters=S.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(S,void 0,D)),this.paint=this._transitioningPaint.possiblyEvaluate(S,void 0,D)}serialize(){let S={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(S.layout=S.layout||{},S.layout.visibility=this.visibility),M(S,(D,j)=>!(D===void 0||j===\"layout\"&&!Object.keys(D).length||j===\"paint\"&&!Object.keys(D).length))}_validate(S,D,j,te,ue={}){return(!ue||ue.validate!==!1)&&Ti(this,S.call(fi,{key:D,layerType:this.type,objectKey:j,value:te,styleSpec:ce,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let S in this.paint._values){let D=this.paint.get(S);if(D instanceof Du&&Cu(D.property.specification)&&(D.value.kind===\"source\"||D.value.kind===\"composite\")&&D.value.isStateDependent)return!0}return!1}}let Q={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ee{constructor(S,D){this._structArray=S,this._pos1=D*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class se{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(S,D){return S._trim(),D&&(S.isTransferred=!0,D.push(S.arrayBuffer)),{length:S.length,arrayBuffer:S.arrayBuffer}}static deserialize(S){let D=Object.create(this.prototype);return D.arrayBuffer=S.arrayBuffer,D.length=S.length,D.capacity=S.arrayBuffer.byteLength/D.bytesPerElement,D._refreshViews(),D}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(S){this.reserve(S),this.length=S}reserve(S){if(S>this.capacity){this.capacity=Math.max(S,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let D=this.uint8;this._refreshViews(),D&&this.uint8.set(D)}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function qe(R,S=1){let D=0,j=0;return{members:R.map(te=>{let ue=Q[te.type].BYTES_PER_ELEMENT,ve=D=je(D,Math.max(S,ue)),De=te.components||1;return j=Math.max(j,ue),D+=ue*De,{name:te.name,type:te.type,components:De,offset:ve}}),size:je(D,Math.max(j,S)),alignment:S}}function je(R,S){return Math.ceil(R/S)*S}class it extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.int16[te+0]=D,this.int16[te+1]=j,S}}it.prototype.bytesPerElement=4,mi(\"StructArrayLayout2i4\",it);class yt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.int16[ue+0]=D,this.int16[ue+1]=j,this.int16[ue+2]=te,S}}yt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3i6\",yt);class Ot extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.int16[ve+0]=D,this.int16[ve+1]=j,this.int16[ve+2]=te,this.int16[ve+3]=ue,S}}Ot.prototype.bytesPerElement=8,mi(\"StructArrayLayout4i8\",Ot);class Nt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}Nt.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i4i12\",Nt);class hr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=4*S,at=8*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.uint8[at+4]=te,this.uint8[at+5]=ue,this.uint8[at+6]=ve,this.uint8[at+7]=De,S}}hr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2i4ub8\",hr);class Sr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.float32[te+0]=D,this.float32[te+1]=j,S}}Sr.prototype.bytesPerElement=8,mi(\"StructArrayLayout2f8\",Sr);class he extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=this.length;return this.resize(Ft+1),this.emplace(Ft,S,D,j,te,ue,ve,De,Ze,at,Tt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=10*S;return this.uint16[Qt+0]=D,this.uint16[Qt+1]=j,this.uint16[Qt+2]=te,this.uint16[Qt+3]=ue,this.uint16[Qt+4]=ve,this.uint16[Qt+5]=De,this.uint16[Qt+6]=Ze,this.uint16[Qt+7]=at,this.uint16[Qt+8]=Tt,this.uint16[Qt+9]=Ft,S}}he.prototype.bytesPerElement=20,mi(\"StructArrayLayout10ui20\",he);class be extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt){let sr=this.length;return this.resize(sr+1),this.emplace(sr,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr){let Tr=12*S;return this.int16[Tr+0]=D,this.int16[Tr+1]=j,this.int16[Tr+2]=te,this.int16[Tr+3]=ue,this.uint16[Tr+4]=ve,this.uint16[Tr+5]=De,this.uint16[Tr+6]=Ze,this.uint16[Tr+7]=at,this.int16[Tr+8]=Tt,this.int16[Tr+9]=Ft,this.int16[Tr+10]=Qt,this.int16[Tr+11]=sr,S}}be.prototype.bytesPerElement=24,mi(\"StructArrayLayout4i4ui4i24\",be);class Pe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.float32[ue+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Pe.prototype.bytesPerElement=12,mi(\"StructArrayLayout3f12\",Pe);class Oe extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint32[1*S+0]=D,S}}Oe.prototype.bytesPerElement=4,mi(\"StructArrayLayout1ul4\",Oe);class Je extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at){let Tt=this.length;return this.resize(Tt+1),this.emplace(Tt,S,D,j,te,ue,ve,De,Ze,at)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=10*S,Qt=5*S;return this.int16[Ft+0]=D,this.int16[Ft+1]=j,this.int16[Ft+2]=te,this.int16[Ft+3]=ue,this.int16[Ft+4]=ve,this.int16[Ft+5]=De,this.uint32[Qt+3]=Ze,this.uint16[Ft+8]=at,this.uint16[Ft+9]=Tt,S}}Je.prototype.bytesPerElement=20,mi(\"StructArrayLayout6i1ul2ui20\",Je);class He extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=6*S;return this.int16[Ze+0]=D,this.int16[Ze+1]=j,this.int16[Ze+2]=te,this.int16[Ze+3]=ue,this.int16[Ze+4]=ve,this.int16[Ze+5]=De,S}}He.prototype.bytesPerElement=12,mi(\"StructArrayLayout2i2i2i12\",He);class et extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue){let ve=this.length;return this.resize(ve+1),this.emplace(ve,S,D,j,te,ue)}emplace(S,D,j,te,ue,ve){let De=4*S,Ze=8*S;return this.float32[De+0]=D,this.float32[De+1]=j,this.float32[De+2]=te,this.int16[Ze+6]=ue,this.int16[Ze+7]=ve,S}}et.prototype.bytesPerElement=16,mi(\"StructArrayLayout2f1f2i16\",et);class Mt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve){let De=this.length;return this.resize(De+1),this.emplace(De,S,D,j,te,ue,ve)}emplace(S,D,j,te,ue,ve,De){let Ze=16*S,at=4*S,Tt=8*S;return this.uint8[Ze+0]=D,this.uint8[Ze+1]=j,this.float32[at+1]=te,this.float32[at+2]=ue,this.int16[Tt+6]=ve,this.int16[Tt+7]=De,S}}Mt.prototype.bytesPerElement=16,mi(\"StructArrayLayout2ub2f2i16\",Mt);class Dt extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[ue+0]=D,this.uint16[ue+1]=j,this.uint16[ue+2]=te,S}}Dt.prototype.bytesPerElement=6,mi(\"StructArrayLayout3ui6\",Dt);class Ut extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni){let Di=this.length;return this.resize(Di+1),this.emplace(Di,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di){let pi=24*S,ki=12*S,Zi=48*S;return this.int16[pi+0]=D,this.int16[pi+1]=j,this.uint16[pi+2]=te,this.uint16[pi+3]=ue,this.uint32[ki+2]=ve,this.uint32[ki+3]=De,this.uint32[ki+4]=Ze,this.uint16[pi+10]=at,this.uint16[pi+11]=Tt,this.uint16[pi+12]=Ft,this.float32[ki+7]=Qt,this.float32[ki+8]=sr,this.uint8[Zi+36]=Tr,this.uint8[Zi+37]=Pr,this.uint8[Zi+38]=$r,this.uint32[ki+10]=ni,this.int16[pi+22]=Di,S}}Ut.prototype.bytesPerElement=48,mi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",Ut);class tr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a){let Xa=this.length;return this.resize(Xa+1),this.emplace(Xa,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a)}emplace(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr,$r,ni,Di,pi,ki,Zi,ta,Va,Io,La,Hn,lo,$a,Xa){let Tn=32*S,bo=16*S;return this.int16[Tn+0]=D,this.int16[Tn+1]=j,this.int16[Tn+2]=te,this.int16[Tn+3]=ue,this.int16[Tn+4]=ve,this.int16[Tn+5]=De,this.int16[Tn+6]=Ze,this.int16[Tn+7]=at,this.uint16[Tn+8]=Tt,this.uint16[Tn+9]=Ft,this.uint16[Tn+10]=Qt,this.uint16[Tn+11]=sr,this.uint16[Tn+12]=Tr,this.uint16[Tn+13]=Pr,this.uint16[Tn+14]=$r,this.uint16[Tn+15]=ni,this.uint16[Tn+16]=Di,this.uint16[Tn+17]=pi,this.uint16[Tn+18]=ki,this.uint16[Tn+19]=Zi,this.uint16[Tn+20]=ta,this.uint16[Tn+21]=Va,this.uint16[Tn+22]=Io,this.uint32[bo+12]=La,this.float32[bo+13]=Hn,this.float32[bo+14]=lo,this.uint16[Tn+30]=$a,this.uint16[Tn+31]=Xa,S}}tr.prototype.bytesPerElement=64,mi(\"StructArrayLayout8i15ui1ul2f2ui64\",tr);class mr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.float32[1*S+0]=D,S}}mr.prototype.bytesPerElement=4,mi(\"StructArrayLayout1f4\",mr);class Rr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=3*S;return this.uint16[6*S+0]=D,this.float32[ue+1]=j,this.float32[ue+2]=te,S}}Rr.prototype.bytesPerElement=12,mi(\"StructArrayLayout1ui2f12\",Rr);class zr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D,j){let te=this.length;return this.resize(te+1),this.emplace(te,S,D,j)}emplace(S,D,j,te){let ue=4*S;return this.uint32[2*S+0]=D,this.uint16[ue+2]=j,this.uint16[ue+3]=te,S}}zr.prototype.bytesPerElement=8,mi(\"StructArrayLayout1ul2ui8\",zr);class Xr extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S,D){let j=this.length;return this.resize(j+1),this.emplace(j,S,D)}emplace(S,D,j){let te=2*S;return this.uint16[te+0]=D,this.uint16[te+1]=j,S}}Xr.prototype.bytesPerElement=4,mi(\"StructArrayLayout2ui4\",Xr);class di extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(S){let D=this.length;return this.resize(D+1),this.emplace(D,S)}emplace(S,D){return this.uint16[1*S+0]=D,S}}di.prototype.bytesPerElement=2,mi(\"StructArrayLayout1ui2\",di);class Li extends se{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(S,D,j,te){let ue=this.length;return this.resize(ue+1),this.emplace(ue,S,D,j,te)}emplace(S,D,j,te,ue){let ve=4*S;return this.float32[ve+0]=D,this.float32[ve+1]=j,this.float32[ve+2]=te,this.float32[ve+3]=ue,S}}Li.prototype.bytesPerElement=16,mi(\"StructArrayLayout4f16\",Li);class Ci extends ee{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new u(this.anchorPointX,this.anchorPointY)}}Ci.prototype.size=20;class Qi extends Je{get(S){return new Ci(this,S)}}mi(\"CollisionBoxArray\",Qi);class Mn extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(S){this._structArray.uint8[this._pos1+37]=S}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(S){this._structArray.uint8[this._pos1+38]=S}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(S){this._structArray.uint32[this._pos4+10]=S}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Mn.prototype.size=48;class pa extends Ut{get(S){return new Mn(this,S)}}mi(\"PlacedSymbolArray\",pa);class ea extends ee{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(S){this._structArray.uint32[this._pos4+12]=S}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}ea.prototype.size=64;class Ga extends tr{get(S){return new ea(this,S)}}mi(\"SymbolInstanceArray\",Ga);class To extends mr{getoffsetX(S){return this.float32[1*S+0]}}mi(\"GlyphOffsetArray\",To);class Wa extends yt{getx(S){return this.int16[3*S+0]}gety(S){return this.int16[3*S+1]}gettileUnitDistanceFromAnchor(S){return this.int16[3*S+2]}}mi(\"SymbolLineVertexArray\",Wa);class co extends ee{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}co.prototype.size=12;class Ro extends Rr{get(S){return new co(this,S)}}mi(\"TextAnchorOffsetArray\",Ro);class Ds extends ee{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ds.prototype.size=8;class As extends zr{get(S){return new Ds(this,S)}}mi(\"FeatureIndexArray\",As);class yo extends it{}class po extends it{}class _l extends it{}class Vl extends Nt{}class Zu extends hr{}class cu extends Sr{}class el extends he{}class nu extends be{}class zc extends Pe{}class Dl extends Oe{}class zl extends He{}class Z extends Mt{}class oe extends Dt{}class we extends Xr{}let Be=qe([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:Ue}=Be;class We{constructor(S=[]){this.segments=S}prepareSegment(S,D,j,te){let ue=this.segments[this.segments.length-1];return S>We.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${We.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${S}`),(!ue||ue.vertexLength+S>We.MAX_VERTEX_ARRAY_LENGTH||ue.sortKey!==te)&&(ue={vertexOffset:D.length,primitiveOffset:j.length,vertexLength:0,primitiveLength:0},te!==void 0&&(ue.sortKey=te),this.segments.push(ue)),ue}get(){return this.segments}destroy(){for(let S of this.segments)for(let D in S.vaos)S.vaos[D].destroy()}static simpleSegment(S,D,j,te){return new We([{vertexOffset:S,primitiveOffset:D,vertexLength:j,primitiveLength:te,vaos:{},sortKey:0}])}}function wt(R,S){return 256*(R=k(Math.floor(R),0,255))+k(Math.floor(S),0,255)}We.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,mi(\"SegmentVector\",We);let tt=qe([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var zt={exports:{}},or={exports:{}};or.exports=function(R,S){var D,j,te,ue,ve,De,Ze,at;for(j=R.length-(D=3&R.length),te=S,ve=3432918353,De=461845907,at=0;at>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295)<<13|te>>>19))+((5*(te>>>16)&65535)<<16)&4294967295))+((58964+(ue>>>16)&65535)<<16);switch(Ze=0,D){case 3:Ze^=(255&R.charCodeAt(at+2))<<16;case 2:Ze^=(255&R.charCodeAt(at+1))<<8;case 1:te^=Ze=(65535&(Ze=(Ze=(65535&(Ze^=255&R.charCodeAt(at)))*ve+(((Ze>>>16)*ve&65535)<<16)&4294967295)<<15|Ze>>>17))*De+(((Ze>>>16)*De&65535)<<16)&4294967295}return te^=R.length,te=2246822507*(65535&(te^=te>>>16))+((2246822507*(te>>>16)&65535)<<16)&4294967295,te=3266489909*(65535&(te^=te>>>13))+((3266489909*(te>>>16)&65535)<<16)&4294967295,(te^=te>>>16)>>>0};var lr=or.exports,Dr={exports:{}};Dr.exports=function(R,S){for(var D,j=R.length,te=S^j,ue=0;j>=4;)D=1540483477*(65535&(D=255&R.charCodeAt(ue)|(255&R.charCodeAt(++ue))<<8|(255&R.charCodeAt(++ue))<<16|(255&R.charCodeAt(++ue))<<24))+((1540483477*(D>>>16)&65535)<<16),te=1540483477*(65535&te)+((1540483477*(te>>>16)&65535)<<16)^(D=1540483477*(65535&(D^=D>>>24))+((1540483477*(D>>>16)&65535)<<16)),j-=4,++ue;switch(j){case 3:te^=(255&R.charCodeAt(ue+2))<<16;case 2:te^=(255&R.charCodeAt(ue+1))<<8;case 1:te=1540483477*(65535&(te^=255&R.charCodeAt(ue)))+((1540483477*(te>>>16)&65535)<<16)}return te=1540483477*(65535&(te^=te>>>13))+((1540483477*(te>>>16)&65535)<<16),(te^=te>>>15)>>>0};var Ir=lr,oi=Dr.exports;zt.exports=Ir,zt.exports.murmur3=Ir,zt.exports.murmur2=oi;var ui=o(zt.exports);class qr{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(S,D,j,te){this.ids.push(Kr(S)),this.positions.push(D,j,te)}getPositions(S){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");let D=Kr(S),j=0,te=this.ids.length-1;for(;j>1;this.ids[ve]>=D?te=ve:j=ve+1}let ue=[];for(;this.ids[j]===D;)ue.push({index:this.positions[3*j],start:this.positions[3*j+1],end:this.positions[3*j+2]}),j++;return ue}static serialize(S,D){let j=new Float64Array(S.ids),te=new Uint32Array(S.positions);return ii(j,te,0,j.length-1),D&&D.push(j.buffer,te.buffer),{ids:j,positions:te}}static deserialize(S){let D=new qr;return D.ids=S.ids,D.positions=S.positions,D.indexed=!0,D}}function Kr(R){let S=+R;return!isNaN(S)&&S<=Number.MAX_SAFE_INTEGER?S:ui(String(R))}function ii(R,S,D,j){for(;D>1],ue=D-1,ve=j+1;for(;;){do ue++;while(R[ue]te);if(ue>=ve)break;vi(R,ue,ve),vi(S,3*ue,3*ve),vi(S,3*ue+1,3*ve+1),vi(S,3*ue+2,3*ve+2)}ve-D`u_${te}`),this.type=j}setUniform(S,D,j){S.set(j.constantOr(this.value))}getBinding(S,D,j){return this.type===\"color\"?new dn(S,D):new Jr(S,D)}}class ya{constructor(S,D){this.uniformNames=D.map(j=>`u_${j}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(S,D){this.pixelRatioFrom=D.pixelRatio,this.pixelRatioTo=S.pixelRatio,this.patternFrom=D.tlbr,this.patternTo=S.tlbr}setUniform(S,D,j,te){let ue=te===\"u_pattern_to\"?this.patternTo:te===\"u_pattern_from\"?this.patternFrom:te===\"u_pixel_ratio_to\"?this.pixelRatioTo:te===\"u_pixel_ratio_from\"?this.pixelRatioFrom:null;ue&&S.set(ue)}getBinding(S,D,j){return j.substr(0,9)===\"u_pattern\"?new un(S,D):new Jr(S,D)}}class so{constructor(S,D,j,te){this.expression=S,this.type=j,this.maxValue=0,this.paintVertexAttributes=D.map(ue=>({name:`a_${ue}`,type:\"Float32\",components:j===\"color\"?2:1,offset:0})),this.paintVertexArray=new te}populatePaintArray(S,D,j,te,ue){let ve=this.paintVertexArray.length,De=this.expression.evaluate(new Ko(0),D,{},te,[],ue);this.paintVertexArray.resize(S),this._setPaintValue(ve,S,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:0},j,te);this._setPaintValue(S,D,ue)}_setPaintValue(S,D,j){if(this.type===\"color\"){let te=Nn(j);for(let ue=S;ue`u_${De}_t`),this.type=j,this.useIntegerZoom=te,this.zoom=ue,this.maxValue=0,this.paintVertexAttributes=D.map(De=>({name:`a_${De}`,type:\"Float32\",components:j===\"color\"?4:2,offset:0})),this.paintVertexArray=new ve}populatePaintArray(S,D,j,te,ue){let ve=this.expression.evaluate(new Ko(this.zoom),D,{},te,[],ue),De=this.expression.evaluate(new Ko(this.zoom+1),D,{},te,[],ue),Ze=this.paintVertexArray.length;this.paintVertexArray.resize(S),this._setPaintValue(Ze,S,ve,De)}updatePaintArray(S,D,j,te){let ue=this.expression.evaluate({zoom:this.zoom},j,te),ve=this.expression.evaluate({zoom:this.zoom+1},j,te);this._setPaintValue(S,D,ue,ve)}_setPaintValue(S,D,j,te){if(this.type===\"color\"){let ue=Nn(j),ve=Nn(te);for(let De=S;De`#define HAS_UNIFORM_${te}`))}return S}getBinderAttributes(){let S=[];for(let D in this.binders){let j=this.binders[D];if(j instanceof so||j instanceof wa)for(let te=0;te!0){this.programConfigurations={};for(let te of S)this.programConfigurations[te.id]=new Ss(te,D,j);this.needsUpload=!1,this._featureMap=new qr,this._bufferOffset=0}populatePaintArrays(S,D,j,te,ue,ve){for(let De in this.programConfigurations)this.programConfigurations[De].populatePaintArrays(S,D,te,ue,ve);D.id!==void 0&&this._featureMap.add(D.id,j,this._bufferOffset,S),this._bufferOffset=S,this.needsUpload=!0}updatePaintArrays(S,D,j,te){for(let ue of j)this.needsUpload=this.programConfigurations[ue.id].updatePaintArrays(S,this._featureMap,D,ue,te)||this.needsUpload}get(S){return this.programConfigurations[S]}upload(S){if(this.needsUpload){for(let D in this.programConfigurations)this.programConfigurations[D].upload(S);this.needsUpload=!1}}destroy(){for(let S in this.programConfigurations)this.programConfigurations[S].destroy()}}function Ns(R,S){return{\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[R]||[R.replace(`${S}-`,\"\").replace(/-/g,\"_\")]}function pn(R,S,D){let j={color:{source:Sr,composite:Li},number:{source:mr,composite:Sr}},te=function(ue){return{\"line-pattern\":{source:el,composite:el},\"fill-pattern\":{source:el,composite:el},\"fill-extrusion-pattern\":{source:el,composite:el}}[ue]}(R);return te&&te[D]||j[S][D]}mi(\"ConstantBinder\",ga),mi(\"CrossFadedConstantBinder\",ya),mi(\"SourceExpressionBinder\",so),mi(\"CrossFadedCompositeBinder\",io),mi(\"CompositeExpressionBinder\",wa),mi(\"ProgramConfiguration\",Ss,{omit:[\"_buffers\"]}),mi(\"ProgramConfigurationSet\",_s);let za=8192,Lo=Math.pow(2,14)-1,Fo=-Lo-1;function js(R){let S=za/R.extent,D=R.loadGeometry();for(let j=0;jve.x+1||Zeve.y+1)&&T(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\")}}return D}function xl(R,S){return{type:R.type,id:R.id,properties:R.properties,geometry:S?js(R):[]}}function fu(R,S,D,j,te){R.emplaceBack(2*S+(j+1)/2,2*D+(te+1)/2)}class dl{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new po,this.indexArray=new oe,this.segments=new We,this.programConfigurations=new _s(S.layers,S.zoom),this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){let te=this.layers[0],ue=[],ve=null,De=!1;te.type===\"circle\"&&(ve=te.layout.get(\"circle-sort-key\"),De=!ve.isConstant());for(let{feature:Ze,id:at,index:Tt,sourceLayerIndex:Ft}of S){let Qt=this.layers[0]._featureFilter.needGeometry,sr=xl(Ze,Qt);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),sr,j))continue;let Tr=De?ve.evaluate(sr,{},j):void 0,Pr={id:at,properties:Ze.properties,type:Ze.type,sourceLayerIndex:Ft,index:Tt,geometry:Qt?sr.geometry:js(Ze),patterns:{},sortKey:Tr};ue.push(Pr)}De&&ue.sort((Ze,at)=>Ze.sortKey-at.sortKey);for(let Ze of ue){let{geometry:at,index:Tt,sourceLayerIndex:Ft}=Ze,Qt=S[Tt].feature;this.addFeature(Ze,at,Tt,j),D.featureIndex.insert(Qt,at,Tt,Ft,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Ue),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(S,D,j,te){for(let ue of D)for(let ve of ue){let De=ve.x,Ze=ve.y;if(De<0||De>=za||Ze<0||Ze>=za)continue;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,S.sortKey),Tt=at.vertexLength;fu(this.layoutVertexArray,De,Ze,-1,-1),fu(this.layoutVertexArray,De,Ze,1,-1),fu(this.layoutVertexArray,De,Ze,1,1),fu(this.layoutVertexArray,De,Ze,-1,1),this.indexArray.emplaceBack(Tt,Tt+1,Tt+2),this.indexArray.emplaceBack(Tt,Tt+3,Tt+2),at.vertexLength+=4,at.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,{},te)}}function xc(R,S){for(let D=0;D1){if(wi(R,S))return!0;for(let j=0;j1?D:D.sub(S)._mult(te)._add(S))}function cn(R,S){let D,j,te,ue=!1;for(let ve=0;veS.y!=te.y>S.y&&S.x<(te.x-j.x)*(S.y-j.y)/(te.y-j.y)+j.x&&(ue=!ue)}return ue}function On(R,S){let D=!1;for(let j=0,te=R.length-1;jS.y!=ve.y>S.y&&S.x<(ve.x-ue.x)*(S.y-ue.y)/(ve.y-ue.y)+ue.x&&(D=!D)}return D}function Bn(R,S,D){let j=D[0],te=D[2];if(R.xte.x&&S.x>te.x||R.yte.y&&S.y>te.y)return!1;let ue=F(R,S,D[0]);return ue!==F(R,S,D[1])||ue!==F(R,S,D[2])||ue!==F(R,S,D[3])}function yn(R,S,D){let j=S.paint.get(R).value;return j.kind===\"constant\"?j.value:D.programConfigurations.get(S.id).getMaxValue(R)}function to(R){return Math.sqrt(R[0]*R[0]+R[1]*R[1])}function Rn(R,S,D,j,te){if(!S[0]&&!S[1])return R;let ue=u.convert(S)._mult(te);D===\"viewport\"&&ue._rotate(-j);let ve=[];for(let De=0;Devn($r,Pr))}(at,Ze),sr=Ft?Tt*De:Tt;for(let Tr of te)for(let Pr of Tr){let $r=Ft?Pr:vn(Pr,Ze),ni=sr,Di=Za([],[Pr.x,Pr.y,0,1],Ze);if(this.paint.get(\"circle-pitch-scale\")===\"viewport\"&&this.paint.get(\"circle-pitch-alignment\")===\"map\"?ni*=Di[3]/ve.cameraToCenterDistance:this.paint.get(\"circle-pitch-scale\")===\"map\"&&this.paint.get(\"circle-pitch-alignment\")===\"viewport\"&&(ni*=ve.cameraToCenterDistance/Di[3]),At(Qt,$r,ni))return!0}return!1}}function vn(R,S){let D=Za([],[R.x,R.y,0,1],S);return new u(D[0]/D[3],D[1]/D[3])}class Aa extends dl{}let aa;mi(\"HeatmapBucket\",Aa,{omit:[\"layers\"]});var Xn={get paint(){return aa=aa||new le({\"heatmap-radius\":new eo(ce.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new eo(ce.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Da(ce.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new _c(ce.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Da(ce.paint_heatmap[\"heatmap-opacity\"])})}};function Vn(R,{width:S,height:D},j,te){if(te){if(te instanceof Uint8ClampedArray)te=new Uint8Array(te.buffer);else if(te.length!==S*D*j)throw new RangeError(`mismatched image size. expected: ${te.length} but got: ${S*D*j}`)}else te=new Uint8Array(S*D*j);return R.width=S,R.height=D,R.data=te,R}function ma(R,{width:S,height:D},j){if(S===R.width&&D===R.height)return;let te=Vn({},{width:S,height:D},j);ro(R,te,{x:0,y:0},{x:0,y:0},{width:Math.min(R.width,S),height:Math.min(R.height,D)},j),R.width=S,R.height=D,R.data=te.data}function ro(R,S,D,j,te,ue){if(te.width===0||te.height===0)return S;if(te.width>R.width||te.height>R.height||D.x>R.width-te.width||D.y>R.height-te.height)throw new RangeError(\"out of range source coordinates for image copy\");if(te.width>S.width||te.height>S.height||j.x>S.width-te.width||j.y>S.height-te.height)throw new RangeError(\"out of range destination coordinates for image copy\");let ve=R.data,De=S.data;if(ve===De)throw new Error(\"srcData equals dstData, so image is already copied\");for(let Ze=0;Ze{S[R.evaluationKey]=Ze;let at=R.expression.evaluate(S);te.data[ve+De+0]=Math.floor(255*at.r/at.a),te.data[ve+De+1]=Math.floor(255*at.g/at.a),te.data[ve+De+2]=Math.floor(255*at.b/at.a),te.data[ve+De+3]=Math.floor(255*at.a)};if(R.clips)for(let ve=0,De=0;ve80*D){De=1/0,Ze=1/0;let Tt=-1/0,Ft=-1/0;for(let Qt=D;QtTt&&(Tt=sr),Tr>Ft&&(Ft=Tr)}at=Math.max(Tt-De,Ft-Ze),at=at!==0?32767/at:0}return yf(ue,ve,D,De,Ze,at,0),ve}function bc(R,S,D,j,te){let ue;if(te===function(ve,De,Ze,at){let Tt=0;for(let Ft=De,Qt=Ze-at;Ft0)for(let ve=S;ve=S;ve-=j)ue=Jt(ve/j|0,R[ve],R[ve+1],ue);return ue&&de(ue,ue.next)&&(vt(ue),ue=ue.next),ue}function wc(R,S){if(!R)return R;S||(S=R);let D,j=R;do if(D=!1,j.steiner||!de(j,j.next)&&pe(j.prev,j,j.next)!==0)j=j.next;else{if(vt(j),j=S=j.prev,j===j.next)break;D=!0}while(D||j!==S);return S}function yf(R,S,D,j,te,ue,ve){if(!R)return;!ve&&ue&&function(Ze,at,Tt,Ft){let Qt=Ze;do Qt.z===0&&(Qt.z=z(Qt.x,Qt.y,at,Tt,Ft)),Qt.prevZ=Qt.prev,Qt.nextZ=Qt.next,Qt=Qt.next;while(Qt!==Ze);Qt.prevZ.nextZ=null,Qt.prevZ=null,function(sr){let Tr,Pr=1;do{let $r,ni=sr;sr=null;let Di=null;for(Tr=0;ni;){Tr++;let pi=ni,ki=0;for(let ta=0;ta0||Zi>0&π)ki!==0&&(Zi===0||!pi||ni.z<=pi.z)?($r=ni,ni=ni.nextZ,ki--):($r=pi,pi=pi.nextZ,Zi--),Di?Di.nextZ=$r:sr=$r,$r.prevZ=Di,Di=$r;ni=pi}Di.nextZ=null,Pr*=2}while(Tr>1)}(Qt)}(R,j,te,ue);let De=R;for(;R.prev!==R.next;){let Ze=R.prev,at=R.next;if(ue?Fc(R,j,te,ue):Hl(R))S.push(Ze.i,R.i,at.i),vt(R),R=at.next,De=at.next;else if((R=at)===De){ve?ve===1?yf(R=ef(wc(R),S),S,D,j,te,ue,2):ve===2&&ls(R,S,D,j,te,ue):yf(wc(R),S,D,j,te,ue,1);break}}}function Hl(R){let S=R.prev,D=R,j=R.next;if(pe(S,D,j)>=0)return!1;let te=S.x,ue=D.x,ve=j.x,De=S.y,Ze=D.y,at=j.y,Tt=teue?te>ve?te:ve:ue>ve?ue:ve,sr=De>Ze?De>at?De:at:Ze>at?Ze:at,Tr=j.next;for(;Tr!==S;){if(Tr.x>=Tt&&Tr.x<=Qt&&Tr.y>=Ft&&Tr.y<=sr&&O(te,De,ue,Ze,ve,at,Tr.x,Tr.y)&&pe(Tr.prev,Tr,Tr.next)>=0)return!1;Tr=Tr.next}return!0}function Fc(R,S,D,j){let te=R.prev,ue=R,ve=R.next;if(pe(te,ue,ve)>=0)return!1;let De=te.x,Ze=ue.x,at=ve.x,Tt=te.y,Ft=ue.y,Qt=ve.y,sr=DeZe?De>at?De:at:Ze>at?Ze:at,$r=Tt>Ft?Tt>Qt?Tt:Qt:Ft>Qt?Ft:Qt,ni=z(sr,Tr,S,D,j),Di=z(Pr,$r,S,D,j),pi=R.prevZ,ki=R.nextZ;for(;pi&&pi.z>=ni&&ki&&ki.z<=Di;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0||(pi=pi.prevZ,ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0))return!1;ki=ki.nextZ}for(;pi&&pi.z>=ni;){if(pi.x>=sr&&pi.x<=Pr&&pi.y>=Tr&&pi.y<=$r&&pi!==te&&pi!==ve&&O(De,Tt,Ze,Ft,at,Qt,pi.x,pi.y)&&pe(pi.prev,pi,pi.next)>=0)return!1;pi=pi.prevZ}for(;ki&&ki.z<=Di;){if(ki.x>=sr&&ki.x<=Pr&&ki.y>=Tr&&ki.y<=$r&&ki!==te&&ki!==ve&&O(De,Tt,Ze,Ft,at,Qt,ki.x,ki.y)&&pe(ki.prev,ki,ki.next)>=0)return!1;ki=ki.nextZ}return!0}function ef(R,S){let D=R;do{let j=D.prev,te=D.next.next;!de(j,te)&&Ie(j,D,D.next,te)&&Kt(j,te)&&Kt(te,j)&&(S.push(j.i,D.i,te.i),vt(D),vt(D.next),D=R=te),D=D.next}while(D!==R);return wc(D)}function ls(R,S,D,j,te,ue){let ve=R;do{let De=ve.next.next;for(;De!==ve.prev;){if(ve.i!==De.i&&$(ve,De)){let Ze=ir(ve,De);return ve=wc(ve,ve.next),Ze=wc(Ze,Ze.next),yf(ve,S,D,j,te,ue,0),void yf(Ze,S,D,j,te,ue,0)}De=De.next}ve=ve.next}while(ve!==R)}function _f(R,S){return R.x-S.x}function ns(R,S){let D=function(te,ue){let ve=ue,De=te.x,Ze=te.y,at,Tt=-1/0;do{if(Ze<=ve.y&&Ze>=ve.next.y&&ve.next.y!==ve.y){let Pr=ve.x+(Ze-ve.y)*(ve.next.x-ve.x)/(ve.next.y-ve.y);if(Pr<=De&&Pr>Tt&&(Tt=Pr,at=ve.x=ve.x&&ve.x>=Qt&&De!==ve.x&&O(Zeat.x||ve.x===at.x&&Y(at,ve)))&&(at=ve,Tr=Pr)}ve=ve.next}while(ve!==Ft);return at}(R,S);if(!D)return S;let j=ir(D,R);return wc(j,j.next),wc(D,D.next)}function Y(R,S){return pe(R.prev,R,S.prev)<0&&pe(S.next,R,R.next)<0}function z(R,S,D,j,te){return(R=1431655765&((R=858993459&((R=252645135&((R=16711935&((R=(R-D)*te|0)|R<<8))|R<<4))|R<<2))|R<<1))|(S=1431655765&((S=858993459&((S=252645135&((S=16711935&((S=(S-j)*te|0)|S<<8))|S<<4))|S<<2))|S<<1))<<1}function K(R){let S=R,D=R;do(S.x=(R-ve)*(ue-De)&&(R-ve)*(j-De)>=(D-ve)*(S-De)&&(D-ve)*(ue-De)>=(te-ve)*(j-De)}function $(R,S){return R.next.i!==S.i&&R.prev.i!==S.i&&!function(D,j){let te=D;do{if(te.i!==D.i&&te.next.i!==D.i&&te.i!==j.i&&te.next.i!==j.i&&Ie(te,te.next,D,j))return!0;te=te.next}while(te!==D);return!1}(R,S)&&(Kt(R,S)&&Kt(S,R)&&function(D,j){let te=D,ue=!1,ve=(D.x+j.x)/2,De=(D.y+j.y)/2;do te.y>De!=te.next.y>De&&te.next.y!==te.y&&ve<(te.next.x-te.x)*(De-te.y)/(te.next.y-te.y)+te.x&&(ue=!ue),te=te.next;while(te!==D);return ue}(R,S)&&(pe(R.prev,R,S.prev)||pe(R,S.prev,S))||de(R,S)&&pe(R.prev,R,R.next)>0&&pe(S.prev,S,S.next)>0)}function pe(R,S,D){return(S.y-R.y)*(D.x-S.x)-(S.x-R.x)*(D.y-S.y)}function de(R,S){return R.x===S.x&&R.y===S.y}function Ie(R,S,D,j){let te=pt(pe(R,S,D)),ue=pt(pe(R,S,j)),ve=pt(pe(D,j,R)),De=pt(pe(D,j,S));return te!==ue&&ve!==De||!(te!==0||!$e(R,D,S))||!(ue!==0||!$e(R,j,S))||!(ve!==0||!$e(D,R,j))||!(De!==0||!$e(D,S,j))}function $e(R,S,D){return S.x<=Math.max(R.x,D.x)&&S.x>=Math.min(R.x,D.x)&&S.y<=Math.max(R.y,D.y)&&S.y>=Math.min(R.y,D.y)}function pt(R){return R>0?1:R<0?-1:0}function Kt(R,S){return pe(R.prev,R,R.next)<0?pe(R,S,R.next)>=0&&pe(R,R.prev,S)>=0:pe(R,S,R.prev)<0||pe(R,R.next,S)<0}function ir(R,S){let D=Pt(R.i,R.x,R.y),j=Pt(S.i,S.x,S.y),te=R.next,ue=S.prev;return R.next=S,S.prev=R,D.next=te,te.prev=D,j.next=D,D.prev=j,ue.next=j,j.prev=ue,j}function Jt(R,S,D,j){let te=Pt(R,S,D);return j?(te.next=j.next,te.prev=j,j.next.prev=te,j.next=te):(te.prev=te,te.next=te),te}function vt(R){R.next.prev=R.prev,R.prev.next=R.next,R.prevZ&&(R.prevZ.nextZ=R.nextZ),R.nextZ&&(R.nextZ.prevZ=R.prevZ)}function Pt(R,S,D){return{i:R,x:S,y:D,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Wt(R,S,D){let j=D.patternDependencies,te=!1;for(let ue of S){let ve=ue.paint.get(`${R}-pattern`);ve.isConstant()||(te=!0);let De=ve.constantOr(null);De&&(te=!0,j[De.to]=!0,j[De.from]=!0)}return te}function rr(R,S,D,j,te){let ue=te.patternDependencies;for(let ve of S){let De=ve.paint.get(`${R}-pattern`).value;if(De.kind!==\"constant\"){let Ze=De.evaluate({zoom:j-1},D,{},te.availableImages),at=De.evaluate({zoom:j},D,{},te.availableImages),Tt=De.evaluate({zoom:j+1},D,{},te.availableImages);Ze=Ze&&Ze.name?Ze.name:Ze,at=at&&at.name?at.name:at,Tt=Tt&&Tt.name?Tt.name:Tt,ue[Ze]=!0,ue[at]=!0,ue[Tt]=!0,D.patterns[ve.id]={min:Ze,mid:at,max:Tt}}}return D}class dr{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _l,this.indexArray=new oe,this.indexArray2=new we,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.segments2=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"fill\",this.layers,D);let te=this.layers[0].layout.get(\"fill-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j,D.availableImages):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"fill\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Qc),this.indexBuffer=S.createIndexBuffer(this.indexArray),this.indexBuffer2=S.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De=0;for(let sr of ve)De+=sr.length;let Ze=this.segments.prepareSegment(De,this.layoutVertexArray,this.indexArray),at=Ze.vertexLength,Tt=[],Ft=[];for(let sr of ve){if(sr.length===0)continue;sr!==ve[0]&&Ft.push(Tt.length/2);let Tr=this.segments2.prepareSegment(sr.length,this.layoutVertexArray,this.indexArray2),Pr=Tr.vertexLength;this.layoutVertexArray.emplaceBack(sr[0].x,sr[0].y),this.indexArray2.emplaceBack(Pr+sr.length-1,Pr),Tt.push(sr[0].x),Tt.push(sr[0].y);for(let $r=1;$r>3}if(te--,j===1||j===2)ue+=R.readSVarint(),ve+=R.readSVarint(),j===1&&(S&&De.push(S),S=[]),S.push(new yi(ue,ve));else{if(j!==7)throw new Error(\"unknown command \"+j);S&&S.push(S[0].clone())}}return S&&De.push(S),De},Ri.prototype.bbox=function(){var R=this._pbf;R.pos=this._geometry;for(var S=R.readVarint()+R.pos,D=1,j=0,te=0,ue=0,ve=1/0,De=-1/0,Ze=1/0,at=-1/0;R.pos>3}if(j--,D===1||D===2)(te+=R.readSVarint())De&&(De=te),(ue+=R.readSVarint())at&&(at=ue);else if(D!==7)throw new Error(\"unknown command \"+D)}return[ve,Ze,De,at]},Ri.prototype.toGeoJSON=function(R,S,D){var j,te,ue=this.extent*Math.pow(2,D),ve=this.extent*R,De=this.extent*S,Ze=this.loadGeometry(),at=Ri.types[this.type];function Tt(sr){for(var Tr=0;Tr>3;te=ve===1?j.readString():ve===2?j.readFloat():ve===3?j.readDouble():ve===4?j.readVarint64():ve===5?j.readVarint():ve===6?j.readSVarint():ve===7?j.readBoolean():null}return te}(D))}bn.prototype.feature=function(R){if(R<0||R>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[R];var S=this._pbf.readVarint()+this._pbf.pos;return new qn(this._pbf,S,this.extent,this._keys,this._values)};var Gn=rn;function da(R,S,D){if(R===3){var j=new Gn(D,D.readVarint()+D.pos);j.length&&(S[j.name]=j)}}ei.VectorTile=function(R,S){this.layers=R.readFields(da,{},S)},ei.VectorTileFeature=tn,ei.VectorTileLayer=rn;let No=ei.VectorTileFeature.types,Do=Math.pow(2,13);function ps(R,S,D,j,te,ue,ve,De){R.emplaceBack(S,D,2*Math.floor(j*Do)+ve,te*Do*2,ue*Do*2,Math.round(De))}class fo{constructor(S){this.zoom=S.zoom,this.overscaling=S.overscaling,this.layers=S.layers,this.layerIds=this.layers.map(D=>D.id),this.index=S.index,this.hasPattern=!1,this.layoutVertexArray=new Vl,this.centroidVertexArray=new yo,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.features=[],this.hasPattern=Wt(\"fill-extrusion\",this.layers,D);for(let{feature:te,id:ue,index:ve,sourceLayerIndex:De}of S){let Ze=this.layers[0]._featureFilter.needGeometry,at=xl(te,Ze);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),at,j))continue;let Tt={id:ue,sourceLayerIndex:De,index:ve,geometry:Ze?at.geometry:js(te),properties:te.properties,type:te.type,patterns:{}};this.hasPattern?this.features.push(rr(\"fill-extrusion\",this.layers,Tt,this.zoom,D)):this.addFeature(Tt,Tt.geometry,ve,j,{}),D.featureIndex.insert(te,Tt.geometry,ve,De,this.index,!0)}}addFeatures(S,D,j){for(let te of this.features){let{geometry:ue}=te;this.addFeature(te,ue,te.index,D,j)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,Gr),this.centroidVertexBuffer=S.createVertexBuffer(this.centroidVertexArray,cr.members,!0),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(S,D,j,te,ue){for(let ve of Of(D,500)){let De={x:0,y:0,vertexCount:0},Ze=0;for(let Tr of ve)Ze+=Tr.length;let at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(let Tr of ve){if(Tr.length===0||tl(Tr))continue;let Pr=0;for(let $r=0;$r=1){let Di=Tr[$r-1];if(!as(ni,Di)){at.vertexLength+4>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let pi=ni.sub(Di)._perp()._unit(),ki=Di.dist(ni);Pr+ki>32768&&(Pr=0),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,ni.x,ni.y,pi.x,pi.y,0,1,Pr),De.x+=2*ni.x,De.y+=2*ni.y,De.vertexCount+=2,Pr+=ki,ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,0,Pr),ps(this.layoutVertexArray,Di.x,Di.y,pi.x,pi.y,0,1,Pr),De.x+=2*Di.x,De.y+=2*Di.y,De.vertexCount+=2;let Zi=at.vertexLength;this.indexArray.emplaceBack(Zi,Zi+2,Zi+1),this.indexArray.emplaceBack(Zi+1,Zi+2,Zi+3),at.vertexLength+=4,at.primitiveLength+=2}}}}if(at.vertexLength+Ze>We.MAX_VERTEX_ARRAY_LENGTH&&(at=this.segments.prepareSegment(Ze,this.layoutVertexArray,this.indexArray)),No[S.type]!==\"Polygon\")continue;let Tt=[],Ft=[],Qt=at.vertexLength;for(let Tr of ve)if(Tr.length!==0){Tr!==ve[0]&&Ft.push(Tt.length/2);for(let Pr=0;Prza)||R.y===S.y&&(R.y<0||R.y>za)}function tl(R){return R.every(S=>S.x<0)||R.every(S=>S.x>za)||R.every(S=>S.y<0)||R.every(S=>S.y>za)}let zu;mi(\"FillExtrusionBucket\",fo,{omit:[\"layers\",\"features\"]});var Mv={get paint(){return zu=zu||new le({\"fill-extrusion-opacity\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Jc(ce[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new eo(ce[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Da(ce[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Ev extends B{constructor(S){super(S,Mv)}createBucket(S){return new fo(S)}queryRadius(){return to(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return!0}queryIntersectsFeature(S,D,j,te,ue,ve,De,Ze){let at=Rn(S,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),ve.angle,De),Tt=this.paint.get(\"fill-extrusion-height\").evaluate(D,j),Ft=this.paint.get(\"fill-extrusion-base\").evaluate(D,j),Qt=function(Tr,Pr,$r,ni){let Di=[];for(let pi of Tr){let ki=[pi.x,pi.y,0,1];Za(ki,ki,Pr),Di.push(new u(ki[0]/ki[3],ki[1]/ki[3]))}return Di}(at,Ze),sr=function(Tr,Pr,$r,ni){let Di=[],pi=[],ki=ni[8]*Pr,Zi=ni[9]*Pr,ta=ni[10]*Pr,Va=ni[11]*Pr,Io=ni[8]*$r,La=ni[9]*$r,Hn=ni[10]*$r,lo=ni[11]*$r;for(let $a of Tr){let Xa=[],Tn=[];for(let bo of $a){let Ya=bo.x,Uo=bo.y,wu=ni[0]*Ya+ni[4]*Uo+ni[12],hu=ni[1]*Ya+ni[5]*Uo+ni[13],uh=ni[2]*Ya+ni[6]*Uo+ni[14],$v=ni[3]*Ya+ni[7]*Uo+ni[15],td=uh+ta,ch=$v+Va,Ud=wu+Io,Vd=hu+La,Hd=uh+Hn,rf=$v+lo,fh=new u((wu+ki)/ch,(hu+Zi)/ch);fh.z=td/ch,Xa.push(fh);let Td=new u(Ud/rf,Vd/rf);Td.z=Hd/rf,Tn.push(Td)}Di.push(Xa),pi.push(Tn)}return[Di,pi]}(te,Ft,Tt,Ze);return function(Tr,Pr,$r){let ni=1/0;Er($r,Pr)&&(ni=Yv($r,Pr[0]));for(let Di=0;DiD.id),this.index=S.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(D=>{this.gradients[D.id]={}}),this.layoutVertexArray=new Zu,this.layoutVertexArray2=new cu,this.indexArray=new oe,this.programConfigurations=new _s(S.layers,S.zoom),this.segments=new We,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(D=>D.isStateDependent()).map(D=>D.id)}populate(S,D,j){this.hasPattern=Wt(\"line\",this.layers,D);let te=this.layers[0].layout.get(\"line-sort-key\"),ue=!te.isConstant(),ve=[];for(let{feature:De,id:Ze,index:at,sourceLayerIndex:Tt}of S){let Ft=this.layers[0]._featureFilter.needGeometry,Qt=xl(De,Ft);if(!this.layers[0]._featureFilter.filter(new Ko(this.zoom),Qt,j))continue;let sr=ue?te.evaluate(Qt,{},j):void 0,Tr={id:Ze,properties:De.properties,type:De.type,sourceLayerIndex:Tt,index:at,geometry:Ft?Qt.geometry:js(De),patterns:{},sortKey:sr};ve.push(Tr)}ue&&ve.sort((De,Ze)=>De.sortKey-Ze.sortKey);for(let De of ve){let{geometry:Ze,index:at,sourceLayerIndex:Tt}=De;if(this.hasPattern){let Ft=rr(\"line\",this.layers,De,this.zoom,D);this.patternFeatures.push(Ft)}else this.addFeature(De,Ze,at,j,{});D.featureIndex.insert(S[at].feature,Ze,at,Tt,this.index)}}update(S,D,j){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(S,D,this.stateDependentLayers,j)}addFeatures(S,D,j){for(let te of this.patternFeatures)this.addFeature(te,te.geometry,te.index,D,j)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(S){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=S.createVertexBuffer(this.layoutVertexArray2,pp)),this.layoutVertexBuffer=S.createVertexBuffer(this.layoutVertexArray,vp),this.indexBuffer=S.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(S),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(S){if(S.properties&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(S.properties,\"mapbox_clip_end\"))return{start:+S.properties.mapbox_clip_start,end:+S.properties.mapbox_clip_end}}addFeature(S,D,j,te,ue){let ve=this.layers[0].layout,De=ve.get(\"line-join\").evaluate(S,{}),Ze=ve.get(\"line-cap\"),at=ve.get(\"line-miter-limit\"),Tt=ve.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(S);for(let Ft of D)this.addLine(Ft,S,De,Ze,at,Tt);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,S,j,ue,te)}addLine(S,D,j,te,ue,ve){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ni=0;ni=2&&S[Ze-1].equals(S[Ze-2]);)Ze--;let at=0;for(;at0;if(Va&&ni>at){let lo=Qt.dist(sr);if(lo>2*Tt){let $a=Qt.sub(Qt.sub(sr)._mult(Tt/lo)._round());this.updateDistance(sr,$a),this.addCurrentVertex($a,Pr,0,0,Ft),sr=$a}}let La=sr&&Tr,Hn=La?j:De?\"butt\":te;if(La&&Hn===\"round\"&&(Ziue&&(Hn=\"bevel\"),Hn===\"bevel\"&&(Zi>2&&(Hn=\"flipbevel\"),Zi100)Di=$r.mult(-1);else{let lo=Zi*Pr.add($r).mag()/Pr.sub($r).mag();Di._perp()._mult(lo*(Io?-1:1))}this.addCurrentVertex(Qt,Di,0,0,Ft),this.addCurrentVertex(Qt,Di.mult(-1),0,0,Ft)}else if(Hn===\"bevel\"||Hn===\"fakeround\"){let lo=-Math.sqrt(Zi*Zi-1),$a=Io?lo:0,Xa=Io?0:lo;if(sr&&this.addCurrentVertex(Qt,Pr,$a,Xa,Ft),Hn===\"fakeround\"){let Tn=Math.round(180*ta/Math.PI/20);for(let bo=1;bo2*Tt){let $a=Qt.add(Tr.sub(Qt)._mult(Tt/lo)._round());this.updateDistance(Qt,$a),this.addCurrentVertex($a,$r,0,0,Ft),Qt=$a}}}}addCurrentVertex(S,D,j,te,ue,ve=!1){let De=D.y*te-D.x,Ze=-D.y-D.x*te;this.addHalfVertex(S,D.x+D.y*j,D.y-D.x*j,ve,!1,j,ue),this.addHalfVertex(S,De,Ze,ve,!0,-te,ue),this.distance>kv/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(S,D,j,te,ue,ve))}addHalfVertex({x:S,y:D},j,te,ue,ve,De,Ze){let at=.5*(this.lineClips?this.scaledDistance*(kv-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((S<<1)+(ue?1:0),(D<<1)+(ve?1:0),Math.round(63*j)+128,Math.round(63*te)+128,1+(De===0?0:De<0?-1:1)|(63&at)<<2,at>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let Tt=Ze.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,Tt),Ze.primitiveLength++),ve?this.e2=Tt:this.e1=Tt}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(S,D){this.distance+=S.dist(D),this.updateScaledDistance()}}let Cv,ny;mi(\"LineBucket\",Kv,{omit:[\"layers\",\"patternFeatures\"]});var fg={get paint(){return ny=ny||new le({\"line-opacity\":new eo(ce.paint_line[\"line-opacity\"]),\"line-color\":new eo(ce.paint_line[\"line-color\"]),\"line-translate\":new Da(ce.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Da(ce.paint_line[\"line-translate-anchor\"]),\"line-width\":new eo(ce.paint_line[\"line-width\"]),\"line-gap-width\":new eo(ce.paint_line[\"line-gap-width\"]),\"line-offset\":new eo(ce.paint_line[\"line-offset\"]),\"line-blur\":new eo(ce.paint_line[\"line-blur\"]),\"line-dasharray\":new yc(ce.paint_line[\"line-dasharray\"]),\"line-pattern\":new Jc(ce.paint_line[\"line-pattern\"]),\"line-gradient\":new _c(ce.paint_line[\"line-gradient\"])})},get layout(){return Cv=Cv||new le({\"line-cap\":new Da(ce.layout_line[\"line-cap\"]),\"line-join\":new eo(ce.layout_line[\"line-join\"]),\"line-miter-limit\":new Da(ce.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Da(ce.layout_line[\"line-round-limit\"]),\"line-sort-key\":new eo(ce.layout_line[\"line-sort-key\"])})}};class Hf extends eo{possiblyEvaluate(S,D){return D=new Ko(Math.floor(D.zoom),{now:D.now,fadeDuration:D.fadeDuration,zoomHistory:D.zoomHistory,transition:D.transition}),super.possiblyEvaluate(S,D)}evaluate(S,D,j,te){return D=L({},D,{zoom:Math.floor(D.zoom)}),super.evaluate(S,D,j,te)}}let hg;class ay extends B{constructor(S){super(S,fg),this.gradientVersion=0,hg||(hg=new Hf(fg.paint.properties[\"line-width\"].specification),hg.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(S){if(S===\"line-gradient\"){let D=this.gradientExpression();this.stepInterpolant=!!function(j){return j._styleExpression!==void 0}(D)&&D._styleExpression.expression instanceof Ji,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(S,D){super.recalculate(S,D),this.paint._values[\"line-floorwidth\"]=hg.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,S)}createBucket(S){return new Kv(S)}queryRadius(S){let D=S,j=Rh(yn(\"line-width\",this,D),yn(\"line-gap-width\",this,D)),te=yn(\"line-offset\",this,D);return j/2+Math.abs(te)+to(this.paint.get(\"line-translate\"))}queryIntersectsFeature(S,D,j,te,ue,ve,De){let Ze=Rn(S,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),ve.angle,De),at=De/2*Rh(this.paint.get(\"line-width\").evaluate(D,j),this.paint.get(\"line-gap-width\").evaluate(D,j)),Tt=this.paint.get(\"line-offset\").evaluate(D,j);return Tt&&(te=function(Ft,Qt){let sr=[];for(let Tr=0;Tr=3){for(let $r=0;$r0?S+2*R:R}let rm=qe([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),w1=qe([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);qe([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);let T1=qe([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);qe([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);let oy=qe([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),im=qe([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function nm(R,S,D){return R.sections.forEach(j=>{j.text=function(te,ue,ve){let De=ue.layout.get(\"text-transform\").evaluate(ve,{});return De===\"uppercase\"?te=te.toLocaleUpperCase():De===\"lowercase\"&&(te=te.toLocaleLowerCase()),vs.applyArabicShaping&&(te=vs.applyArabicShaping(te)),te}(j.text,S,D)}),R}qe([{name:\"triangle\",components:3,type:\"Uint16\"}]),qe([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),qe([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),qe([{type:\"Float32\",name:\"offsetX\"}]),qe([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),qe([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);let Fu={\"!\":\"\\uFE15\",\"#\":\"\\uFF03\",$:\"\\uFF04\",\"%\":\"\\uFF05\",\"&\":\"\\uFF06\",\"(\":\"\\uFE35\",\")\":\"\\uFE36\",\"*\":\"\\uFF0A\",\"+\":\"\\uFF0B\",\",\":\"\\uFE10\",\"-\":\"\\uFE32\",\".\":\"\\u30FB\",\"/\":\"\\uFF0F\",\":\":\"\\uFE13\",\";\":\"\\uFE14\",\"<\":\"\\uFE3F\",\"=\":\"\\uFF1D\",\">\":\"\\uFE40\",\"?\":\"\\uFE16\",\"@\":\"\\uFF20\",\"[\":\"\\uFE47\",\"\\\\\":\"\\uFF3C\",\"]\":\"\\uFE48\",\"^\":\"\\uFF3E\",_:\"\\uFE33\",\"`\":\"\\uFF40\",\"{\":\"\\uFE37\",\"|\":\"\\u2015\",\"}\":\"\\uFE38\",\"~\":\"\\uFF5E\",\"\\xA2\":\"\\uFFE0\",\"\\xA3\":\"\\uFFE1\",\"\\xA5\":\"\\uFFE5\",\"\\xA6\":\"\\uFFE4\",\"\\xAC\":\"\\uFFE2\",\"\\xAF\":\"\\uFFE3\",\"\\u2013\":\"\\uFE32\",\"\\u2014\":\"\\uFE31\",\"\\u2018\":\"\\uFE43\",\"\\u2019\":\"\\uFE44\",\"\\u201C\":\"\\uFE41\",\"\\u201D\":\"\\uFE42\",\"\\u2026\":\"\\uFE19\",\"\\u2027\":\"\\u30FB\",\"\\u20A9\":\"\\uFFE6\",\"\\u3001\":\"\\uFE11\",\"\\u3002\":\"\\uFE12\",\"\\u3008\":\"\\uFE3F\",\"\\u3009\":\"\\uFE40\",\"\\u300A\":\"\\uFE3D\",\"\\u300B\":\"\\uFE3E\",\"\\u300C\":\"\\uFE41\",\"\\u300D\":\"\\uFE42\",\"\\u300E\":\"\\uFE43\",\"\\u300F\":\"\\uFE44\",\"\\u3010\":\"\\uFE3B\",\"\\u3011\":\"\\uFE3C\",\"\\u3014\":\"\\uFE39\",\"\\u3015\":\"\\uFE3A\",\"\\u3016\":\"\\uFE17\",\"\\u3017\":\"\\uFE18\",\"\\uFF01\":\"\\uFE15\",\"\\uFF08\":\"\\uFE35\",\"\\uFF09\":\"\\uFE36\",\"\\uFF0C\":\"\\uFE10\",\"\\uFF0D\":\"\\uFE32\",\"\\uFF0E\":\"\\u30FB\",\"\\uFF1A\":\"\\uFE13\",\"\\uFF1B\":\"\\uFE14\",\"\\uFF1C\":\"\\uFE3F\",\"\\uFF1E\":\"\\uFE40\",\"\\uFF1F\":\"\\uFE16\",\"\\uFF3B\":\"\\uFE47\",\"\\uFF3D\":\"\\uFE48\",\"\\uFF3F\":\"\\uFE33\",\"\\uFF5B\":\"\\uFE37\",\"\\uFF5C\":\"\\u2015\",\"\\uFF5D\":\"\\uFE38\",\"\\uFF5F\":\"\\uFE35\",\"\\uFF60\":\"\\uFE36\",\"\\uFF61\":\"\\uFE12\",\"\\uFF62\":\"\\uFE41\",\"\\uFF63\":\"\\uFE42\"};var kl=24,bd=Yl,sy=function(R,S,D,j,te){var ue,ve,De=8*te-j-1,Ze=(1<>1,Tt=-7,Ft=D?te-1:0,Qt=D?-1:1,sr=R[S+Ft];for(Ft+=Qt,ue=sr&(1<<-Tt)-1,sr>>=-Tt,Tt+=De;Tt>0;ue=256*ue+R[S+Ft],Ft+=Qt,Tt-=8);for(ve=ue&(1<<-Tt)-1,ue>>=-Tt,Tt+=j;Tt>0;ve=256*ve+R[S+Ft],Ft+=Qt,Tt-=8);if(ue===0)ue=1-at;else{if(ue===Ze)return ve?NaN:1/0*(sr?-1:1);ve+=Math.pow(2,j),ue-=at}return(sr?-1:1)*ve*Math.pow(2,ue-j)},A1=function(R,S,D,j,te,ue){var ve,De,Ze,at=8*ue-te-1,Tt=(1<>1,Qt=te===23?Math.pow(2,-24)-Math.pow(2,-77):0,sr=j?0:ue-1,Tr=j?1:-1,Pr=S<0||S===0&&1/S<0?1:0;for(S=Math.abs(S),isNaN(S)||S===1/0?(De=isNaN(S)?1:0,ve=Tt):(ve=Math.floor(Math.log(S)/Math.LN2),S*(Ze=Math.pow(2,-ve))<1&&(ve--,Ze*=2),(S+=ve+Ft>=1?Qt/Ze:Qt*Math.pow(2,1-Ft))*Ze>=2&&(ve++,Ze/=2),ve+Ft>=Tt?(De=0,ve=Tt):ve+Ft>=1?(De=(S*Ze-1)*Math.pow(2,te),ve+=Ft):(De=S*Math.pow(2,Ft-1)*Math.pow(2,te),ve=0));te>=8;R[D+sr]=255&De,sr+=Tr,De/=256,te-=8);for(ve=ve<0;R[D+sr]=255&ve,sr+=Tr,ve/=256,at-=8);R[D+sr-Tr]|=128*Pr};function Yl(R){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(R)?R:new Uint8Array(R||0),this.pos=0,this.type=0,this.length=this.buf.length}Yl.Varint=0,Yl.Fixed64=1,Yl.Bytes=2,Yl.Fixed32=5;var Bx=4294967296,am=1/Bx,Mw=typeof TextDecoder==\"undefined\"?null:new TextDecoder(\"utf-8\");function Lv(R){return R.type===Yl.Bytes?R.readVarint()+R.pos:R.pos+1}function om(R,S,D){return D?4294967296*S+(R>>>0):4294967296*(S>>>0)+(R>>>0)}function Ew(R,S,D){var j=S<=16383?1:S<=2097151?2:S<=268435455?3:Math.floor(Math.log(S)/(7*Math.LN2));D.realloc(j);for(var te=D.pos-1;te>=R;te--)D.buf[te+j]=D.buf[te]}function Nx(R,S){for(var D=0;D>>8,R[D+2]=S>>>16,R[D+3]=S>>>24}function lC(R,S){return(R[S]|R[S+1]<<8|R[S+2]<<16)+(R[S+3]<<24)}Yl.prototype={destroy:function(){this.buf=null},readFields:function(R,S,D){for(D=D||this.length;this.pos>3,ue=this.pos;this.type=7&j,R(te,S,this),this.pos===ue&&this.skip(j)}return S},readMessage:function(R,S){return this.readFields(R,S,this.readVarint()+this.pos)},readFixed32:function(){var R=ly(this.buf,this.pos);return this.pos+=4,R},readSFixed32:function(){var R=lC(this.buf,this.pos);return this.pos+=4,R},readFixed64:function(){var R=ly(this.buf,this.pos)+ly(this.buf,this.pos+4)*Bx;return this.pos+=8,R},readSFixed64:function(){var R=ly(this.buf,this.pos)+lC(this.buf,this.pos+4)*Bx;return this.pos+=8,R},readFloat:function(){var R=sy(this.buf,this.pos,!0,23,4);return this.pos+=4,R},readDouble:function(){var R=sy(this.buf,this.pos,!0,52,8);return this.pos+=8,R},readVarint:function(R){var S,D,j=this.buf;return S=127&(D=j[this.pos++]),D<128?S:(S|=(127&(D=j[this.pos++]))<<7,D<128?S:(S|=(127&(D=j[this.pos++]))<<14,D<128?S:(S|=(127&(D=j[this.pos++]))<<21,D<128?S:function(te,ue,ve){var De,Ze,at=ve.buf;if(De=(112&(Ze=at[ve.pos++]))>>4,Ze<128||(De|=(127&(Ze=at[ve.pos++]))<<3,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<10,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<17,Ze<128)||(De|=(127&(Ze=at[ve.pos++]))<<24,Ze<128)||(De|=(1&(Ze=at[ve.pos++]))<<31,Ze<128))return om(te,De,ue);throw new Error(\"Expected varint not more than 10 bytes\")}(S|=(15&(D=j[this.pos]))<<28,R,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var R=this.readVarint();return R%2==1?(R+1)/-2:R/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var R=this.readVarint()+this.pos,S=this.pos;return this.pos=R,R-S>=12&&Mw?function(D,j,te){return Mw.decode(D.subarray(j,te))}(this.buf,S,R):function(D,j,te){for(var ue=\"\",ve=j;ve239?4:Tt>223?3:Tt>191?2:1;if(ve+Qt>te)break;Qt===1?Tt<128&&(Ft=Tt):Qt===2?(192&(De=D[ve+1]))==128&&(Ft=(31&Tt)<<6|63&De)<=127&&(Ft=null):Qt===3?(Ze=D[ve+2],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&((Ft=(15&Tt)<<12|(63&De)<<6|63&Ze)<=2047||Ft>=55296&&Ft<=57343)&&(Ft=null)):Qt===4&&(Ze=D[ve+2],at=D[ve+3],(192&(De=D[ve+1]))==128&&(192&Ze)==128&&(192&at)==128&&((Ft=(15&Tt)<<18|(63&De)<<12|(63&Ze)<<6|63&at)<=65535||Ft>=1114112)&&(Ft=null)),Ft===null?(Ft=65533,Qt=1):Ft>65535&&(Ft-=65536,ue+=String.fromCharCode(Ft>>>10&1023|55296),Ft=56320|1023&Ft),ue+=String.fromCharCode(Ft),ve+=Qt}return ue}(this.buf,S,R)},readBytes:function(){var R=this.readVarint()+this.pos,S=this.buf.subarray(this.pos,R);return this.pos=R,S},readPackedVarint:function(R,S){if(this.type!==Yl.Bytes)return R.push(this.readVarint(S));var D=Lv(this);for(R=R||[];this.pos127;);else if(S===Yl.Bytes)this.pos=this.readVarint()+this.pos;else if(S===Yl.Fixed32)this.pos+=4;else{if(S!==Yl.Fixed64)throw new Error(\"Unimplemented type: \"+S);this.pos+=8}},writeTag:function(R,S){this.writeVarint(R<<3|S)},realloc:function(R){for(var S=this.length||16;S268435455||R<0?function(S,D){var j,te;if(S>=0?(j=S%4294967296|0,te=S/4294967296|0):(te=~(-S/4294967296),4294967295^(j=~(-S%4294967296))?j=j+1|0:(j=0,te=te+1|0)),S>=18446744073709552e3||S<-18446744073709552e3)throw new Error(\"Given varint doesn't fit into 10 bytes\");D.realloc(10),function(ue,ve,De){De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,ue>>>=7,De.buf[De.pos++]=127&ue|128,De.buf[De.pos]=127&(ue>>>=7)}(j,0,D),function(ue,ve){var De=(7&ue)<<4;ve.buf[ve.pos++]|=De|((ue>>>=3)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue|((ue>>>=7)?128:0),ue&&(ve.buf[ve.pos++]=127&ue)))))}(te,D)}(R,this):(this.realloc(4),this.buf[this.pos++]=127&R|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=127&(R>>>=7)|(R>127?128:0),R<=127||(this.buf[this.pos++]=R>>>7&127))))},writeSVarint:function(R){this.writeVarint(R<0?2*-R-1:2*R)},writeBoolean:function(R){this.writeVarint(!!R)},writeString:function(R){R=String(R),this.realloc(4*R.length),this.pos++;var S=this.pos;this.pos=function(j,te,ue){for(var ve,De,Ze=0;Ze55295&&ve<57344){if(!De){ve>56319||Ze+1===te.length?(j[ue++]=239,j[ue++]=191,j[ue++]=189):De=ve;continue}if(ve<56320){j[ue++]=239,j[ue++]=191,j[ue++]=189,De=ve;continue}ve=De-55296<<10|ve-56320|65536,De=null}else De&&(j[ue++]=239,j[ue++]=191,j[ue++]=189,De=null);ve<128?j[ue++]=ve:(ve<2048?j[ue++]=ve>>6|192:(ve<65536?j[ue++]=ve>>12|224:(j[ue++]=ve>>18|240,j[ue++]=ve>>12&63|128),j[ue++]=ve>>6&63|128),j[ue++]=63&ve|128)}return ue}(this.buf,R,this.pos);var D=this.pos-S;D>=128&&Ew(S,D,this),this.pos=S-1,this.writeVarint(D),this.pos+=D},writeFloat:function(R){this.realloc(4),A1(this.buf,R,this.pos,!0,23,4),this.pos+=4},writeDouble:function(R){this.realloc(8),A1(this.buf,R,this.pos,!0,52,8),this.pos+=8},writeBytes:function(R){var S=R.length;this.writeVarint(S),this.realloc(S);for(var D=0;D=128&&Ew(D,j,this),this.pos=D-1,this.writeVarint(j),this.pos+=j},writeMessage:function(R,S,D){this.writeTag(R,Yl.Bytes),this.writeRawMessage(S,D)},writePackedVarint:function(R,S){S.length&&this.writeMessage(R,Nx,S)},writePackedSVarint:function(R,S){S.length&&this.writeMessage(R,L9,S)},writePackedBoolean:function(R,S){S.length&&this.writeMessage(R,R9,S)},writePackedFloat:function(R,S){S.length&&this.writeMessage(R,P9,S)},writePackedDouble:function(R,S){S.length&&this.writeMessage(R,I9,S)},writePackedFixed32:function(R,S){S.length&&this.writeMessage(R,pQ,S)},writePackedSFixed32:function(R,S){S.length&&this.writeMessage(R,D9,S)},writePackedFixed64:function(R,S){S.length&&this.writeMessage(R,z9,S)},writePackedSFixed64:function(R,S){S.length&&this.writeMessage(R,F9,S)},writeBytesField:function(R,S){this.writeTag(R,Yl.Bytes),this.writeBytes(S)},writeFixed32Field:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeFixed32(S)},writeSFixed32Field:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeSFixed32(S)},writeFixed64Field:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeFixed64(S)},writeSFixed64Field:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeSFixed64(S)},writeVarintField:function(R,S){this.writeTag(R,Yl.Varint),this.writeVarint(S)},writeSVarintField:function(R,S){this.writeTag(R,Yl.Varint),this.writeSVarint(S)},writeStringField:function(R,S){this.writeTag(R,Yl.Bytes),this.writeString(S)},writeFloatField:function(R,S){this.writeTag(R,Yl.Fixed32),this.writeFloat(S)},writeDoubleField:function(R,S){this.writeTag(R,Yl.Fixed64),this.writeDouble(S)},writeBooleanField:function(R,S){this.writeVarintField(R,!!S)}};var tS=o(bd);let rS=3;function gQ(R,S,D){R===1&&D.readMessage(q9,S)}function q9(R,S,D){if(R===3){let{id:j,bitmap:te,width:ue,height:ve,left:De,top:Ze,advance:at}=D.readMessage(uC,{});S.push({id:j,bitmap:new Ao({width:ue+2*rS,height:ve+2*rS},te),metrics:{width:ue,height:ve,left:De,top:Ze,advance:at}})}}function uC(R,S,D){R===1?S.id=D.readVarint():R===2?S.bitmap=D.readBytes():R===3?S.width=D.readVarint():R===4?S.height=D.readVarint():R===5?S.left=D.readSVarint():R===6?S.top=D.readSVarint():R===7&&(S.advance=D.readVarint())}let cC=rS;function iS(R){let S=0,D=0;for(let ve of R)S+=ve.w*ve.h,D=Math.max(D,ve.w);R.sort((ve,De)=>De.h-ve.h);let j=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(S/.95)),D),h:1/0}],te=0,ue=0;for(let ve of R)for(let De=j.length-1;De>=0;De--){let Ze=j[De];if(!(ve.w>Ze.w||ve.h>Ze.h)){if(ve.x=Ze.x,ve.y=Ze.y,ue=Math.max(ue,ve.y+ve.h),te=Math.max(te,ve.x+ve.w),ve.w===Ze.w&&ve.h===Ze.h){let at=j.pop();De=0&&j>=S&&Lw[this.text.charCodeAt(j)];j--)D--;this.text=this.text.substring(S,D),this.sectionIndex=this.sectionIndex.slice(S,D)}substring(S,D){let j=new S1;return j.text=this.text.substring(S,D),j.sectionIndex=this.sectionIndex.slice(S,D),j.sections=this.sections,j}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((S,D)=>Math.max(S,this.sections[D].scale),0)}addTextSection(S,D){this.text+=S.text,this.sections.push(Vx.forText(S.scale,S.fontStack||D));let j=this.sections.length-1;for(let te=0;te=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Hx(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=S1.fromFeature(R,te),$r;Ft===i.ah.vertical&&Pr.verticalizePunctuation();let{processBidirectionalText:ni,processStyledBidirectionalText:Di}=vs;if(ni&&Pr.sections.length===1){$r=[];let Zi=ni(Pr.toString(),M1(Pr,at,ue,S,j,sr));for(let ta of Zi){let Va=new S1;Va.text=ta,Va.sections=Pr.sections;for(let Io=0;Io0&&ep>xf&&(xf=ep)}else{let oc=Va[Cl.fontStack],If=oc&&oc[Tu];if(If&&If.rect)I1=If.rect,qc=If.metrics;else{let ep=ta[Cl.fontStack],gg=ep&&ep[Tu];if(!gg)continue;qc=gg.metrics}Rv=(fh-Cl.scale)*kl}Qv?(Zi.verticalizable=!0,Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=Gp*Cl.scale+Tn):(Dh.push({glyph:Tu,imageName:p0,x:Uo,y:wu+Rv,vertical:Qv,scale:Cl.scale,fontStack:Cl.fontStack,sectionIndex:qu,metrics:qc,rect:I1}),Uo+=qc.advance*Cl.scale+Tn)}Dh.length!==0&&(hu=Math.max(Uo-Tn,hu),sm(Dh,0,Dh.length-1,$v,xf)),Uo=0;let Iv=Hn*fh+xf;rd.lineOffset=Math.max(xf,Td),wu+=Iv,uh=Math.max(Iv,uh),++td}var ch;let Ud=wu-lh,{horizontalAlign:Vd,verticalAlign:Hd}=Iw(lo);(function(rf,fh,Td,rd,Dh,xf,Iv,lv,Cl){let qu=(fh-Td)*Dh,Tu=0;Tu=xf!==Iv?-lv*rd-lh:(-rd*Cl+.5)*Iv;for(let Rv of rf)for(let qc of Rv.positionedGlyphs)qc.x+=qu,qc.y+=Tu})(Zi.positionedLines,$v,Vd,Hd,hu,uh,Hn,Ud,La.length),Zi.top+=-Hd*Ud,Zi.bottom=Zi.top+Ud,Zi.left+=-Vd*hu,Zi.right=Zi.left+hu}(ki,S,D,j,$r,ve,De,Ze,Ft,at,Qt,Tr),!function(Zi){for(let ta of Zi)if(ta.positionedGlyphs.length!==0)return!1;return!0}(pi)&&ki}let Lw={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},O9={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},B9={40:!0};function fC(R,S,D,j,te,ue){if(S.imageName){let ve=j[S.imageName];return ve?ve.displaySize[0]*S.scale*kl/ue+te:0}{let ve=D[S.fontStack],De=ve&&ve[R];return De?De.metrics.advance*S.scale+te:0}}function hC(R,S,D,j){let te=Math.pow(R-S,2);return j?R=0,at=0;for(let Ft=0;Ftat){let Tt=Math.ceil(ue/at);te*=Tt/ve,ve=Tt}return{x1:j,y1:te,x2:j+ue,y2:te+ve}}function pC(R,S,D,j,te,ue){let ve=R.image,De;if(ve.content){let $r=ve.content,ni=ve.pixelRatio||1;De=[$r[0]/ni,$r[1]/ni,ve.displaySize[0]-$r[2]/ni,ve.displaySize[1]-$r[3]/ni]}let Ze=S.left*ue,at=S.right*ue,Tt,Ft,Qt,sr;D===\"width\"||D===\"both\"?(sr=te[0]+Ze-j[3],Ft=te[0]+at+j[1]):(sr=te[0]+(Ze+at-ve.displaySize[0])/2,Ft=sr+ve.displaySize[0]);let Tr=S.top*ue,Pr=S.bottom*ue;return D===\"height\"||D===\"both\"?(Tt=te[1]+Tr-j[0],Qt=te[1]+Pr+j[2]):(Tt=te[1]+(Tr+Pr-ve.displaySize[1])/2,Qt=Tt+ve.displaySize[1]),{image:ve,top:Tt,right:Ft,bottom:Qt,left:sr,collisionPadding:De}}let jx=255,v0=128,lm=jx*v0;function gC(R,S){let{expression:D}=S;if(D.kind===\"constant\")return{kind:\"constant\",layoutSize:D.evaluate(new Ko(R+1))};if(D.kind===\"source\")return{kind:\"source\"};{let{zoomStops:j,interpolationType:te}=D,ue=0;for(;ueve.id),this.index=S.index,this.pixelRatio=S.pixelRatio,this.sourceLayerIndex=S.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Un([]),this.placementViewportMatrix=Un([]);let D=this.layers[0]._unevaluatedLayout._values;this.textSizeData=gC(this.zoom,D[\"text-size\"]),this.iconSizeData=gC(this.zoom,D[\"icon-size\"]);let j=this.layers[0].layout,te=j.get(\"symbol-sort-key\"),ue=j.get(\"symbol-z-order\");this.canOverlap=nS(j,\"text-overlap\",\"text-allow-overlap\")!==\"never\"||nS(j,\"icon-overlap\",\"icon-allow-overlap\")!==\"never\"||j.get(\"text-ignore-placement\")||j.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=ue!==\"viewport-y\"&&!te.isConstant(),this.sortFeaturesByY=(ue===\"viewport-y\"||ue===\"auto\"&&!this.sortFeaturesByKey)&&this.canOverlap,j.get(\"symbol-placement\")===\"point\"&&(this.writingModes=j.get(\"text-writing-mode\").map(ve=>i.ah[ve])),this.stateDependentLayerIds=this.layers.filter(ve=>ve.isStateDependent()).map(ve=>ve.id),this.sourceID=S.sourceID}createArrays(){this.text=new sS(new _s(this.layers,this.zoom,S=>/^text/.test(S))),this.icon=new sS(new _s(this.layers,this.zoom,S=>/^icon/.test(S))),this.glyphOffsetArray=new To,this.lineVertexArray=new Wa,this.symbolInstances=new Ga,this.textAnchorOffsets=new Ro}calculateGlyphDependencies(S,D,j,te,ue){for(let ve=0;ve0)&&(ve.value.kind!==\"constant\"||ve.value.value.length>0),Tt=Ze.value.kind!==\"constant\"||!!Ze.value.value||Object.keys(Ze.parameters).length>0,Ft=ue.get(\"symbol-sort-key\");if(this.features=[],!at&&!Tt)return;let Qt=D.iconDependencies,sr=D.glyphDependencies,Tr=D.availableImages,Pr=new Ko(this.zoom);for(let{feature:$r,id:ni,index:Di,sourceLayerIndex:pi}of S){let ki=te._featureFilter.needGeometry,Zi=xl($r,ki);if(!te._featureFilter.filter(Pr,Zi,j))continue;let ta,Va;if(ki||(Zi.geometry=js($r)),at){let La=te.getValueAndResolveTokens(\"text-field\",Zi,j,Tr),Hn=Zr.factory(La),lo=this.hasRTLText=this.hasRTLText||oS(Hn);(!lo||vs.getRTLTextPluginStatus()===\"unavailable\"||lo&&vs.isParsed())&&(ta=nm(Hn,te,Zi))}if(Tt){let La=te.getValueAndResolveTokens(\"icon-image\",Zi,j,Tr);Va=La instanceof Mi?La:Mi.fromString(La)}if(!ta&&!Va)continue;let Io=this.sortFeaturesByKey?Ft.evaluate(Zi,{},j):void 0;if(this.features.push({id:ni,text:ta,icon:Va,index:Di,sourceLayerIndex:pi,geometry:Zi.geometry,properties:$r.properties,type:U9[$r.type],sortKey:Io}),Va&&(Qt[Va.name]=!0),ta){let La=ve.evaluate(Zi,{},j).join(\",\"),Hn=ue.get(\"text-rotation-alignment\")!==\"viewport\"&&ue.get(\"symbol-placement\")!==\"point\";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(i.ah.vertical)>=0;for(let lo of ta.sections)if(lo.image)Qt[lo.image.name]=!0;else{let $a=Ua(ta.toString()),Xa=lo.fontStack||La,Tn=sr[Xa]=sr[Xa]||{};this.calculateGlyphDependencies(lo.text,Tn,Hn,this.allowVerticalPlacement,$a)}}}ue.get(\"symbol-placement\")===\"line\"&&(this.features=function($r){let ni={},Di={},pi=[],ki=0;function Zi(La){pi.push($r[La]),ki++}function ta(La,Hn,lo){let $a=Di[La];return delete Di[La],Di[Hn]=$a,pi[$a].geometry[0].pop(),pi[$a].geometry[0]=pi[$a].geometry[0].concat(lo[0]),$a}function Va(La,Hn,lo){let $a=ni[Hn];return delete ni[Hn],ni[La]=$a,pi[$a].geometry[0].shift(),pi[$a].geometry[0]=lo[0].concat(pi[$a].geometry[0]),$a}function Io(La,Hn,lo){let $a=lo?Hn[0][Hn[0].length-1]:Hn[0][0];return`${La}:${$a.x}:${$a.y}`}for(let La=0;La<$r.length;La++){let Hn=$r[La],lo=Hn.geometry,$a=Hn.text?Hn.text.toString():null;if(!$a){Zi(La);continue}let Xa=Io($a,lo),Tn=Io($a,lo,!0);if(Xa in Di&&Tn in ni&&Di[Xa]!==ni[Tn]){let bo=Va(Xa,Tn,lo),Ya=ta(Xa,Tn,pi[bo].geometry);delete ni[Xa],delete Di[Tn],Di[Io($a,pi[Ya].geometry,!0)]=Ya,pi[bo].geometry=null}else Xa in Di?ta(Xa,Tn,lo):Tn in ni?Va(Xa,Tn,lo):(Zi(La),ni[Xa]=ki-1,Di[Tn]=ki-1)}return pi.filter(La=>La.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort(($r,ni)=>$r.sortKey-ni.sortKey)}update(S,D,j){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(S,D,this.layers,j),this.icon.programConfigurations.updatePaintArrays(S,D,this.layers,j))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(S){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(S),this.iconCollisionBox.upload(S)),this.text.upload(S,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(S,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(S,D){let j=this.lineVertexArray.length;if(S.segment!==void 0){let te=S.dist(D[S.segment+1]),ue=S.dist(D[S.segment]),ve={};for(let De=S.segment+1;De=0;De--)ve[De]={x:D[De].x,y:D[De].y,tileUnitDistanceFromAnchor:ue},De>0&&(ue+=D[De-1].dist(D[De]));for(let De=0;De0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(S,D){let j=S.placedSymbolArray.get(D),te=j.vertexStartIndex+4*j.numGlyphs;for(let ue=j.vertexStartIndex;uete[De]-te[Ze]||ue[Ze]-ue[De]),ve}addToSortKeyRanges(S,D){let j=this.sortKeyRanges[this.sortKeyRanges.length-1];j&&j.sortKey===D?j.symbolInstanceEnd=S+1:this.sortKeyRanges.push({sortKey:D,symbolInstanceStart:S,symbolInstanceEnd:S+1})}sortFeatures(S){if(this.sortFeaturesByY&&this.sortedAngle!==S&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(S),this.sortedAngle=S,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let D of this.symbolInstanceIndexes){let j=this.symbolInstances.get(D);this.featureSortOrder.push(j.featureIndex),[j.rightJustifiedTextSymbolIndex,j.centerJustifiedTextSymbolIndex,j.leftJustifiedTextSymbolIndex].forEach((te,ue,ve)=>{te>=0&&ve.indexOf(te)===ue&&this.addIndicesForPlacedSymbol(this.text,te)}),j.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,j.verticalPlacedTextSymbolIndex),j.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.placedIconSymbolIndex),j.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,j.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let tf,Wx;mi(\"SymbolBucket\",E1,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),E1.MAX_GLYPHS=65535,E1.addDynamicAttributes=aS;var Dw={get paint(){return Wx=Wx||new le({\"icon-opacity\":new eo(ce.paint_symbol[\"icon-opacity\"]),\"icon-color\":new eo(ce.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new eo(ce.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new eo(ce.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new eo(ce.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Da(ce.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Da(ce.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new eo(ce.paint_symbol[\"text-opacity\"]),\"text-color\":new eo(ce.paint_symbol[\"text-color\"],{runtimeType:Ht,getOverride:R=>R.textColor,hasOverride:R=>!!R.textColor}),\"text-halo-color\":new eo(ce.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new eo(ce.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new eo(ce.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Da(ce.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Da(ce.paint_symbol[\"text-translate-anchor\"])})},get layout(){return tf=tf||new le({\"symbol-placement\":new Da(ce.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Da(ce.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Da(ce.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new eo(ce.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Da(ce.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Da(ce.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Da(ce.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Da(ce.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Da(ce.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Da(ce.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new eo(ce.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Da(ce.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Da(ce.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new eo(ce.layout_symbol[\"icon-image\"]),\"icon-rotate\":new eo(ce.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new eo(ce.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Da(ce.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new eo(ce.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new eo(ce.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Da(ce.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Da(ce.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Da(ce.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new eo(ce.layout_symbol[\"text-field\"]),\"text-font\":new eo(ce.layout_symbol[\"text-font\"]),\"text-size\":new eo(ce.layout_symbol[\"text-size\"]),\"text-max-width\":new eo(ce.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Da(ce.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new eo(ce.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new eo(ce.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new eo(ce.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Da(ce.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new eo(ce.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new eo(ce.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Da(ce.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Da(ce.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new eo(ce.layout_symbol[\"text-rotate\"]),\"text-padding\":new Da(ce.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Da(ce.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new eo(ce.layout_symbol[\"text-transform\"]),\"text-offset\":new eo(ce.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Da(ce.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Da(ce.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Da(ce.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Da(ce.layout_symbol[\"text-optional\"])})}};class Zx{constructor(S){if(S.property.overrides===void 0)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=S.property.overrides?S.property.overrides.runtimeType:Lt,this.defaultValue=S}evaluate(S){if(S.formattedSection){let D=this.defaultValue.property.overrides;if(D&&D.hasOverride(S.formattedSection))return D.getOverride(S.formattedSection)}return S.feature&&S.featureState?this.defaultValue.evaluate(S.feature,S.featureState):this.defaultValue.property.specification.default}eachChild(S){this.defaultValue.isConstant()||S(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}mi(\"FormatSectionOverride\",Zx,{omit:[\"defaultValue\"]});class uy extends B{constructor(S){super(S,Dw)}recalculate(S,D){if(super.recalculate(S,D),this.layout.get(\"icon-rotation-alignment\")===\"auto\"&&(this.layout._values[\"icon-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-rotation-alignment\")===\"auto\"&&(this.layout._values[\"text-rotation-alignment\"]=this.layout.get(\"symbol-placement\")!==\"point\"?\"map\":\"viewport\"),this.layout.get(\"text-pitch-alignment\")===\"auto\"&&(this.layout._values[\"text-pitch-alignment\"]=this.layout.get(\"text-rotation-alignment\")===\"map\"?\"map\":\"viewport\"),this.layout.get(\"icon-pitch-alignment\")===\"auto\"&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),this.layout.get(\"symbol-placement\")===\"point\"){let j=this.layout.get(\"text-writing-mode\");if(j){let te=[];for(let ue of j)te.indexOf(ue)<0&&te.push(ue);this.layout._values[\"text-writing-mode\"]=te}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"]}this._setPaintOverrides()}getValueAndResolveTokens(S,D,j,te){let ue=this.layout.get(S).evaluate(D,{},j,te),ve=this._unevaluatedLayout._values[S];return ve.isDataDriven()||Lc(ve.value)||!ue?ue:function(De,Ze){return Ze.replace(/{([^{}]+)}/g,(at,Tt)=>De&&Tt in De?String(De[Tt]):\"\")}(D.properties,ue)}createBucket(S){return new E1(S)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(let S of Dw.paint.overridableProperties){if(!uy.hasPaintOverride(this.layout,S))continue;let D=this.paint.get(S),j=new Zx(D),te=new Pu(j,D.property.specification),ue=null;ue=D.value.kind===\"constant\"||D.value.kind===\"source\"?new Xc(\"source\",te):new ic(\"composite\",te,D.value.zoomStops),this.paint._values[S]=new Du(D.property,ue,D.parameters)}}_handleOverridablePaintPropertyUpdate(S,D,j){return!(!this.layout||D.isDataDriven()||j.isDataDriven())&&uy.hasPaintOverride(this.layout,S)}static hasPaintOverride(S,D){let j=S.get(\"text-field\"),te=Dw.paint.properties[D],ue=!1,ve=De=>{for(let Ze of De)if(te.overrides&&te.overrides.hasOverride(Ze))return void(ue=!0)};if(j.value.kind===\"constant\"&&j.value.value instanceof Zr)ve(j.value.value.sections);else if(j.value.kind===\"source\"){let De=at=>{ue||(at instanceof jn&&Ki(at.value)===Br?ve(at.value.sections):at instanceof $l?ve(at.sections):at.eachChild(De))},Ze=j.value;Ze._styleExpression&&De(Ze._styleExpression.expression)}return ue}}let mC;var Xx={get paint(){return mC=mC||new le({\"background-color\":new Da(ce.paint_background[\"background-color\"]),\"background-pattern\":new yc(ce.paint_background[\"background-pattern\"]),\"background-opacity\":new Da(ce.paint_background[\"background-opacity\"])})}};class H9 extends B{constructor(S){super(S,Xx)}}let lS;var yC={get paint(){return lS=lS||new le({\"raster-opacity\":new Da(ce.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Da(ce.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Da(ce.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Da(ce.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Da(ce.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Da(ce.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Da(ce.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Da(ce.paint_raster[\"raster-fade-duration\"])})}};class Yx extends B{constructor(S){super(S,yC)}}class uS extends B{constructor(S){super(S,{}),this.onAdd=D=>{this.implementation.onAdd&&this.implementation.onAdd(D,D.painter.context.gl)},this.onRemove=D=>{this.implementation.onRemove&&this.implementation.onRemove(D,D.painter.context.gl)},this.implementation=S}is3D(){return this.implementation.renderingMode===\"3d\"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class cS{constructor(S){this._methodToThrottle=S,this._triggered=!1,typeof MessageChannel!=\"undefined\"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let fS=63710088e-1;class dg{constructor(S,D){if(isNaN(S)||isNaN(D))throw new Error(`Invalid LngLat object: (${S}, ${D})`);if(this.lng=+S,this.lat=+D,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new dg(A(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(S){let D=Math.PI/180,j=this.lat*D,te=S.lat*D,ue=Math.sin(j)*Math.sin(te)+Math.cos(j)*Math.cos(te)*Math.cos((S.lng-this.lng)*D);return fS*Math.acos(Math.min(ue,1))}static convert(S){if(S instanceof dg)return S;if(Array.isArray(S)&&(S.length===2||S.length===3))return new dg(Number(S[0]),Number(S[1]));if(!Array.isArray(S)&&typeof S==\"object\"&&S!==null)return new dg(Number(\"lng\"in S?S.lng:S.lon),Number(S.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}let k1=2*Math.PI*fS;function _C(R){return k1*Math.cos(R*Math.PI/180)}function zw(R){return(180+R)/360}function xC(R){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+R*Math.PI/360)))/360}function Fw(R,S){return R/_C(S)}function Kx(R){return 360/Math.PI*Math.atan(Math.exp((180-360*R)*Math.PI/180))-90}class Jx{constructor(S,D,j=0){this.x=+S,this.y=+D,this.z=+j}static fromLngLat(S,D=0){let j=dg.convert(S);return new Jx(zw(j.lng),xC(j.lat),Fw(D,j.lat))}toLngLat(){return new dg(360*this.x-180,Kx(this.y))}toAltitude(){return this.z*_C(Kx(this.y))}meterInMercatorCoordinateUnits(){return 1/k1*(S=Kx(this.y),1/Math.cos(S*Math.PI/180));var S}}function gp(R,S,D){var j=2*Math.PI*6378137/256/Math.pow(2,D);return[R*j-2*Math.PI*6378137/2,S*j-2*Math.PI*6378137/2]}class hS{constructor(S,D,j){if(!function(te,ue,ve){return!(te<0||te>25||ve<0||ve>=Math.pow(2,te)||ue<0||ue>=Math.pow(2,te))}(S,D,j))throw new Error(`x=${D}, y=${j}, z=${S} outside of bounds. 0<=x<${Math.pow(2,S)}, 0<=y<${Math.pow(2,S)} 0<=z<=25 `);this.z=S,this.x=D,this.y=j,this.key=$x(0,S,S,D,j)}equals(S){return this.z===S.z&&this.x===S.x&&this.y===S.y}url(S,D,j){let te=(ve=this.y,De=this.z,Ze=gp(256*(ue=this.x),256*(ve=Math.pow(2,De)-ve-1),De),at=gp(256*(ue+1),256*(ve+1),De),Ze[0]+\",\"+Ze[1]+\",\"+at[0]+\",\"+at[1]);var ue,ve,De,Ze,at;let Tt=function(Ft,Qt,sr){let Tr,Pr=\"\";for(let $r=Ft;$r>0;$r--)Tr=1<<$r-1,Pr+=(Qt&Tr?1:0)+(sr&Tr?2:0);return Pr}(this.z,this.x,this.y);return S[(this.x+this.y)%S.length].replace(/{prefix}/g,(this.x%16).toString(16)+(this.y%16).toString(16)).replace(/{z}/g,String(this.z)).replace(/{x}/g,String(this.x)).replace(/{y}/g,String(j===\"tms\"?Math.pow(2,this.z)-this.y-1:this.y)).replace(/{ratio}/g,D>1?\"@2x\":\"\").replace(/{quadkey}/g,Tt).replace(/{bbox-epsg-3857}/g,te)}isChildOf(S){let D=this.z-S.z;return D>0&&S.x===this.x>>D&&S.y===this.y>>D}getTilePoint(S){let D=Math.pow(2,this.z);return new u((S.x*D-this.x)*za,(S.y*D-this.y)*za)}toString(){return`${this.z}/${this.x}/${this.y}`}}class bC{constructor(S,D){this.wrap=S,this.canonical=D,this.key=$x(S,D.z,D.z,D.x,D.y)}}class Jv{constructor(S,D,j,te,ue){if(S= z; overscaledZ = ${S}; z = ${j}`);this.overscaledZ=S,this.wrap=D,this.canonical=new hS(j,+te,+ue),this.key=$x(D,S,j,te,ue)}clone(){return new Jv(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(S){return this.overscaledZ===S.overscaledZ&&this.wrap===S.wrap&&this.canonical.equals(S.canonical)}scaledTo(S){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let D=this.canonical.z-S;return S>this.canonical.z?new Jv(S,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Jv(S,this.wrap,S,this.canonical.x>>D,this.canonical.y>>D)}calculateScaledKey(S,D){if(S>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${S}; overscaledZ = ${this.overscaledZ}`);let j=this.canonical.z-S;return S>this.canonical.z?$x(this.wrap*+D,S,this.canonical.z,this.canonical.x,this.canonical.y):$x(this.wrap*+D,S,S,this.canonical.x>>j,this.canonical.y>>j)}isChildOf(S){if(S.wrap!==this.wrap)return!1;let D=this.canonical.z-S.canonical.z;return S.overscaledZ===0||S.overscaledZ>D&&S.canonical.y===this.canonical.y>>D}children(S){if(this.overscaledZ>=S)return[new Jv(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let D=this.canonical.z+1,j=2*this.canonical.x,te=2*this.canonical.y;return[new Jv(D,this.wrap,D,j,te),new Jv(D,this.wrap,D,j+1,te),new Jv(D,this.wrap,D,j,te+1),new Jv(D,this.wrap,D,j+1,te+1)]}isLessThan(S){return this.wrapS.wrap)&&(this.overscaledZS.overscaledZ)&&(this.canonical.xS.canonical.x)&&this.canonical.ythis.max&&(this.max=Ft),Ft=this.dim+1||D<-1||D>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return(D+1)*this.stride+(S+1)}unpack(S,D,j){return S*this.redFactor+D*this.greenFactor+j*this.blueFactor-this.baseShift}getPixels(){return new Jn({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(S,D,j){if(this.dim!==S.dim)throw new Error(\"dem dimension mismatch\");let te=D*this.dim,ue=D*this.dim+this.dim,ve=j*this.dim,De=j*this.dim+this.dim;switch(D){case-1:te=ue-1;break;case 1:ue=te+1}switch(j){case-1:ve=De-1;break;case 1:De=ve+1}let Ze=-D*this.dim,at=-j*this.dim;for(let Tt=ve;Tt=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${S} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[S]}}class dS{constructor(S,D,j,te,ue){this.type=\"Feature\",this._vectorTileFeature=S,S._z=D,S._x=j,S._y=te,this.properties=S.properties,this.id=ue}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(S){this._geometry=S}toJSON(){let S={geometry:this.geometry};for(let D in this)D!==\"_geometry\"&&D!==\"_vectorTileFeature\"&&(S[D]=this[D]);return S}}class cy{constructor(S,D){this.tileID=S,this.x=S.canonical.x,this.y=S.canonical.y,this.z=S.canonical.z,this.grid=new qi(za,16,0),this.grid3D=new qi(za,16,0),this.featureIndexArray=new As,this.promoteId=D}insert(S,D,j,te,ue,ve){let De=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(j,te,ue);let Ze=ve?this.grid3D:this.grid;for(let at=0;at=0&&Ft[3]>=0&&Ze.insert(De,Ft[0],Ft[1],Ft[2],Ft[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ei.VectorTile(new tS(this.rawTileData)).layers,this.sourceLayerCoder=new TC(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(S,D,j,te){this.loadVTLayers();let ue=S.params||{},ve=za/S.tileSize/S.scale,De=Pc(ue.filter),Ze=S.queryGeometry,at=S.queryPadding*ve,Tt=SC(Ze),Ft=this.grid.query(Tt.minX-at,Tt.minY-at,Tt.maxX+at,Tt.maxY+at),Qt=SC(S.cameraQueryGeometry),sr=this.grid3D.query(Qt.minX-at,Qt.minY-at,Qt.maxX+at,Qt.maxY+at,($r,ni,Di,pi)=>function(ki,Zi,ta,Va,Io){for(let Hn of ki)if(Zi<=Hn.x&&ta<=Hn.y&&Va>=Hn.x&&Io>=Hn.y)return!0;let La=[new u(Zi,ta),new u(Zi,Io),new u(Va,Io),new u(Va,ta)];if(ki.length>2){for(let Hn of La)if(On(ki,Hn))return!0}for(let Hn=0;Hn(pi||(pi=js(ki)),Zi.queryIntersectsFeature(Ze,ki,ta,pi,this.z,S.transform,ve,S.pixelPosMatrix)))}return Tr}loadMatchingFeature(S,D,j,te,ue,ve,De,Ze,at,Tt,Ft){let Qt=this.bucketLayerIDs[D];if(ve&&!function($r,ni){for(let Di=0;Di<$r.length;Di++)if(ni.indexOf($r[Di])>=0)return!0;return!1}(ve,Qt))return;let sr=this.sourceLayerCoder.decode(j),Tr=this.vtLayers[sr].feature(te);if(ue.needGeometry){let $r=xl(Tr,!0);if(!ue.filter(new Ko(this.tileID.overscaledZ),$r,this.tileID.canonical))return}else if(!ue.filter(new Ko(this.tileID.overscaledZ),Tr))return;let Pr=this.getId(Tr,sr);for(let $r=0;$r{let De=S instanceof Dc?S.get(ve):null;return De&&De.evaluate?De.evaluate(D,j,te):De})}function SC(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return{minX:S,minY:D,maxX:j,maxY:te}}function G9(R,S){return S-R}function MC(R,S,D,j,te){let ue=[];for(let ve=0;ve=j&&Ft.x>=j||(Tt.x>=j?Tt=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round():Ft.x>=j&&(Ft=new u(j,Tt.y+(j-Tt.x)/(Ft.x-Tt.x)*(Ft.y-Tt.y))._round()),Tt.y>=te&&Ft.y>=te||(Tt.y>=te?Tt=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round():Ft.y>=te&&(Ft=new u(Tt.x+(te-Tt.y)/(Ft.y-Tt.y)*(Ft.x-Tt.x),te)._round()),Ze&&Tt.equals(Ze[Ze.length-1])||(Ze=[Tt],ue.push(Ze)),Ze.push(Ft)))))}}return ue}mi(\"FeatureIndex\",cy,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class vg extends u{constructor(S,D,j,te){super(S,D),this.angle=j,te!==void 0&&(this.segment=te)}clone(){return new vg(this.x,this.y,this.angle,this.segment)}}function vS(R,S,D,j,te){if(S.segment===void 0||D===0)return!0;let ue=S,ve=S.segment+1,De=0;for(;De>-D/2;){if(ve--,ve<0)return!1;De-=R[ve].dist(ue),ue=R[ve]}De+=R[ve].dist(R[ve+1]),ve++;let Ze=[],at=0;for(;Dej;)at-=Ze.shift().angleDelta;if(at>te)return!1;ve++,De+=Tt.dist(Ft)}return!0}function EC(R){let S=0;for(let D=0;Dat){let Tr=(at-Ze)/sr,Pr=Mo.number(Ft.x,Qt.x,Tr),$r=Mo.number(Ft.y,Qt.y,Tr),ni=new vg(Pr,$r,Qt.angleTo(Ft),Tt);return ni._round(),!ve||vS(R,ni,De,ve,S)?ni:void 0}Ze+=sr}}function W9(R,S,D,j,te,ue,ve,De,Ze){let at=kC(j,ue,ve),Tt=CC(j,te),Ft=Tt*ve,Qt=R[0].x===0||R[0].x===Ze||R[0].y===0||R[0].y===Ze;return S-Ft=0&&ki=0&&Zi=0&&Qt+at<=Tt){let ta=new vg(ki,Zi,Di,Tr);ta._round(),j&&!vS(R,ta,ue,j,te)||sr.push(ta)}}Ft+=ni}return De||sr.length||ve||(sr=LC(R,Ft/2,D,j,te,ue,ve,!0,Ze)),sr}mi(\"Anchor\",vg);let C1=wd;function PC(R,S,D,j){let te=[],ue=R.image,ve=ue.pixelRatio,De=ue.paddedRect.w-2*C1,Ze=ue.paddedRect.h-2*C1,at={x1:R.left,y1:R.top,x2:R.right,y2:R.bottom},Tt=ue.stretchX||[[0,De]],Ft=ue.stretchY||[[0,Ze]],Qt=(Tn,bo)=>Tn+bo[1]-bo[0],sr=Tt.reduce(Qt,0),Tr=Ft.reduce(Qt,0),Pr=De-sr,$r=Ze-Tr,ni=0,Di=sr,pi=0,ki=Tr,Zi=0,ta=Pr,Va=0,Io=$r;if(ue.content&&j){let Tn=ue.content,bo=Tn[2]-Tn[0],Ya=Tn[3]-Tn[1];(ue.textFitWidth||ue.textFitHeight)&&(at=vC(R)),ni=pg(Tt,0,Tn[0]),pi=pg(Ft,0,Tn[1]),Di=pg(Tt,Tn[0],Tn[2]),ki=pg(Ft,Tn[1],Tn[3]),Zi=Tn[0]-ni,Va=Tn[1]-pi,ta=bo-Di,Io=Ya-ki}let La=at.x1,Hn=at.y1,lo=at.x2-La,$a=at.y2-Hn,Xa=(Tn,bo,Ya,Uo)=>{let wu=qw(Tn.stretch-ni,Di,lo,La),hu=L1(Tn.fixed-Zi,ta,Tn.stretch,sr),uh=qw(bo.stretch-pi,ki,$a,Hn),$v=L1(bo.fixed-Va,Io,bo.stretch,Tr),td=qw(Ya.stretch-ni,Di,lo,La),ch=L1(Ya.fixed-Zi,ta,Ya.stretch,sr),Ud=qw(Uo.stretch-pi,ki,$a,Hn),Vd=L1(Uo.fixed-Va,Io,Uo.stretch,Tr),Hd=new u(wu,uh),rf=new u(td,uh),fh=new u(td,Ud),Td=new u(wu,Ud),rd=new u(hu/ve,$v/ve),Dh=new u(ch/ve,Vd/ve),xf=S*Math.PI/180;if(xf){let Cl=Math.sin(xf),qu=Math.cos(xf),Tu=[qu,-Cl,Cl,qu];Hd._matMult(Tu),rf._matMult(Tu),Td._matMult(Tu),fh._matMult(Tu)}let Iv=Tn.stretch+Tn.fixed,lv=bo.stretch+bo.fixed;return{tl:Hd,tr:rf,bl:Td,br:fh,tex:{x:ue.paddedRect.x+C1+Iv,y:ue.paddedRect.y+C1+lv,w:Ya.stretch+Ya.fixed-Iv,h:Uo.stretch+Uo.fixed-lv},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:rd,pixelOffsetBR:Dh,minFontScaleX:ta/ve/lo,minFontScaleY:Io/ve/$a,isSDF:D}};if(j&&(ue.stretchX||ue.stretchY)){let Tn=IC(Tt,Pr,sr),bo=IC(Ft,$r,Tr);for(let Ya=0;Ya0&&(Pr=Math.max(10,Pr),this.circleDiameter=Pr)}else{let Qt=!((Ft=ve.image)===null||Ft===void 0)&&Ft.content&&(ve.image.textFitWidth||ve.image.textFitHeight)?vC(ve):{x1:ve.left,y1:ve.top,x2:ve.right,y2:ve.bottom};Qt.y1=Qt.y1*De-Ze[0],Qt.y2=Qt.y2*De+Ze[2],Qt.x1=Qt.x1*De-Ze[3],Qt.x2=Qt.x2*De+Ze[1];let sr=ve.collisionPadding;if(sr&&(Qt.x1-=sr[0]*De,Qt.y1-=sr[1]*De,Qt.x2+=sr[2]*De,Qt.y2+=sr[3]*De),Tt){let Tr=new u(Qt.x1,Qt.y1),Pr=new u(Qt.x2,Qt.y1),$r=new u(Qt.x1,Qt.y2),ni=new u(Qt.x2,Qt.y2),Di=Tt*Math.PI/180;Tr._rotate(Di),Pr._rotate(Di),$r._rotate(Di),ni._rotate(Di),Qt.x1=Math.min(Tr.x,Pr.x,$r.x,ni.x),Qt.x2=Math.max(Tr.x,Pr.x,$r.x,ni.x),Qt.y1=Math.min(Tr.y,Pr.y,$r.y,ni.y),Qt.y2=Math.max(Tr.y,Pr.y,$r.y,ni.y)}S.emplaceBack(D.x,D.y,Qt.x1,Qt.y1,Qt.x2,Qt.y2,j,te,ue)}this.boxEndIndex=S.length}}class Hp{constructor(S=[],D=(j,te)=>jte?1:0){if(this.data=S,this.length=this.data.length,this.compare=D,this.length>0)for(let j=(this.length>>1)-1;j>=0;j--)this._down(j)}push(S){this.data.push(S),this._up(this.length++)}pop(){if(this.length===0)return;let S=this.data[0],D=this.data.pop();return--this.length>0&&(this.data[0]=D,this._down(0)),S}peek(){return this.data[0]}_up(S){let{data:D,compare:j}=this,te=D[S];for(;S>0;){let ue=S-1>>1,ve=D[ue];if(j(te,ve)>=0)break;D[S]=ve,S=ue}D[S]=te}_down(S){let{data:D,compare:j}=this,te=this.length>>1,ue=D[S];for(;S=0)break;D[S]=D[ve],S=ve}D[S]=ue}}function Z9(R,S=1,D=!1){let j=1/0,te=1/0,ue=-1/0,ve=-1/0,De=R[0];for(let sr=0;srue)&&(ue=Tr.x),(!sr||Tr.y>ve)&&(ve=Tr.y)}let Ze=Math.min(ue-j,ve-te),at=Ze/2,Tt=new Hp([],X9);if(Ze===0)return new u(j,te);for(let sr=j;srFt.d||!Ft.d)&&(Ft=sr,D&&console.log(\"found best %d after %d probes\",Math.round(1e4*sr.d)/1e4,Qt)),sr.max-Ft.d<=S||(at=sr.h/2,Tt.push(new P1(sr.p.x-at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y-at,at,R)),Tt.push(new P1(sr.p.x-at,sr.p.y+at,at,R)),Tt.push(new P1(sr.p.x+at,sr.p.y+at,at,R)),Qt+=4)}return D&&(console.log(`num probes: ${Qt}`),console.log(`best distance: ${Ft.d}`)),Ft.p}function X9(R,S){return S.max-R.max}function P1(R,S,D,j){this.p=new u(R,S),this.h=D,this.d=function(te,ue){let ve=!1,De=1/0;for(let Ze=0;Zete.y!=Tr.y>te.y&&te.x<(Tr.x-sr.x)*(te.y-sr.y)/(Tr.y-sr.y)+sr.x&&(ve=!ve),De=Math.min(De,Bi(te,sr,Tr))}}return(ve?1:-1)*Math.sqrt(De)}(this.p,j),this.max=this.d+this.h*Math.SQRT2}var ed;i.aq=void 0,(ed=i.aq||(i.aq={}))[ed.center=1]=\"center\",ed[ed.left=2]=\"left\",ed[ed.right=3]=\"right\",ed[ed.top=4]=\"top\",ed[ed.bottom=5]=\"bottom\",ed[ed[\"top-left\"]=6]=\"top-left\",ed[ed[\"top-right\"]=7]=\"top-right\",ed[ed[\"bottom-left\"]=8]=\"bottom-left\",ed[ed[\"bottom-right\"]=9]=\"bottom-right\";let fm=7,fy=Number.POSITIVE_INFINITY;function pS(R,S){return S[1]!==fy?function(D,j,te){let ue=0,ve=0;switch(j=Math.abs(j),te=Math.abs(te),D){case\"top-right\":case\"top-left\":case\"top\":ve=te-fm;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":ve=-te+fm}switch(D){case\"top-right\":case\"bottom-right\":case\"right\":ue=-j;break;case\"top-left\":case\"bottom-left\":case\"left\":ue=j}return[ue,ve]}(R,S[0],S[1]):function(D,j){let te=0,ue=0;j<0&&(j=0);let ve=j/Math.SQRT2;switch(D){case\"top-right\":case\"top-left\":ue=ve-fm;break;case\"bottom-right\":case\"bottom-left\":ue=-ve+fm;break;case\"bottom\":ue=-j+fm;break;case\"top\":ue=j-fm}switch(D){case\"top-right\":case\"bottom-right\":te=-ve;break;case\"top-left\":case\"bottom-left\":te=ve;break;case\"left\":te=j;break;case\"right\":te=-j}return[te,ue]}(R,S[0])}function RC(R,S,D){var j;let te=R.layout,ue=(j=te.get(\"text-variable-anchor-offset\"))===null||j===void 0?void 0:j.evaluate(S,{},D);if(ue){let De=ue.values,Ze=[];for(let at=0;atQt*kl);Tt.startsWith(\"top\")?Ft[1]-=fm:Tt.startsWith(\"bottom\")&&(Ft[1]+=fm),Ze[at+1]=Ft}return new Si(Ze)}let ve=te.get(\"text-variable-anchor\");if(ve){let De;De=R._unevaluatedLayout.getValue(\"text-radial-offset\")!==void 0?[te.get(\"text-radial-offset\").evaluate(S,{},D)*kl,fy]:te.get(\"text-offset\").evaluate(S,{},D).map(at=>at*kl);let Ze=[];for(let at of ve)Ze.push(at,pS(at,De));return new Si(Ze)}return null}function gS(R){switch(R){case\"right\":case\"top-right\":case\"bottom-right\":return\"right\";case\"left\":case\"top-left\":case\"bottom-left\":return\"left\"}return\"center\"}function Y9(R,S,D,j,te,ue,ve,De,Ze,at,Tt){let Ft=ue.textMaxSize.evaluate(S,{});Ft===void 0&&(Ft=ve);let Qt=R.layers[0].layout,sr=Qt.get(\"icon-offset\").evaluate(S,{},Tt),Tr=zC(D.horizontal),Pr=ve/24,$r=R.tilePixelRatio*Pr,ni=R.tilePixelRatio*Ft/24,Di=R.tilePixelRatio*De,pi=R.tilePixelRatio*Qt.get(\"symbol-spacing\"),ki=Qt.get(\"text-padding\")*R.tilePixelRatio,Zi=function(Tn,bo,Ya,Uo=1){let wu=Tn.get(\"icon-padding\").evaluate(bo,{},Ya),hu=wu&&wu.values;return[hu[0]*Uo,hu[1]*Uo,hu[2]*Uo,hu[3]*Uo]}(Qt,S,Tt,R.tilePixelRatio),ta=Qt.get(\"text-max-angle\")/180*Math.PI,Va=Qt.get(\"text-rotation-alignment\")!==\"viewport\"&&Qt.get(\"symbol-placement\")!==\"point\",Io=Qt.get(\"icon-rotation-alignment\")===\"map\"&&Qt.get(\"symbol-placement\")!==\"point\",La=Qt.get(\"symbol-placement\"),Hn=pi/2,lo=Qt.get(\"icon-text-fit\"),$a;j&&lo!==\"none\"&&(R.allowVerticalPlacement&&D.vertical&&($a=pC(j,D.vertical,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)),Tr&&(j=pC(j,Tr,lo,Qt.get(\"icon-text-fit-padding\"),sr,Pr)));let Xa=(Tn,bo)=>{bo.x<0||bo.x>=za||bo.y<0||bo.y>=za||function(Ya,Uo,wu,hu,uh,$v,td,ch,Ud,Vd,Hd,rf,fh,Td,rd,Dh,xf,Iv,lv,Cl,qu,Tu,Rv,qc,I1){let p0=Ya.addToLineVertexArray(Uo,wu),Gp,Qv,oc,If,ep=0,gg=0,uv=0,R1=0,bS=-1,Uw=-1,g0={},hy=ui(\"\");if(Ya.allowVerticalPlacement&&hu.vertical){let Ad=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc)+90;oc=new cm(Ud,Uo,Vd,Hd,rf,hu.vertical,fh,Td,rd,Ad),td&&(If=new cm(Ud,Uo,Vd,Hd,rf,td,xf,Iv,rd,Ad))}if(uh){let Ad=ch.layout.get(\"icon-rotate\").evaluate(qu,{}),tp=ch.layout.get(\"icon-text-fit\")!==\"none\",hm=PC(uh,Ad,Rv,tp),Gd=td?PC(td,Ad,Rv,tp):void 0;Qv=new cm(Ud,Uo,Vd,Hd,rf,uh,xf,Iv,!1,Ad),ep=4*hm.length;let Sd=Ya.iconSizeData,yp=null;Sd.kind===\"source\"?(yp=[v0*ch.layout.get(\"icon-size\").evaluate(qu,{})],yp[0]>lm&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${jx}. Reduce your \"icon-size\".`)):Sd.kind===\"composite\"&&(yp=[v0*Tu.compositeIconSizes[0].evaluate(qu,{},qc),v0*Tu.compositeIconSizes[1].evaluate(qu,{},qc)],(yp[0]>lm||yp[1]>lm)&&T(`${Ya.layerIds[0]}: Value for \"icon-size\" is >= ${jx}. Reduce your \"icon-size\".`)),Ya.addSymbols(Ya.icon,hm,yp,Cl,lv,qu,i.ah.none,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),bS=Ya.icon.placedSymbolArray.length-1,Gd&&(gg=4*Gd.length,Ya.addSymbols(Ya.icon,Gd,yp,Cl,lv,qu,i.ah.vertical,Uo,p0.lineStartIndex,p0.lineLength,-1,qc),Uw=Ya.icon.placedSymbolArray.length-1)}let zh=Object.keys(hu.horizontal);for(let Ad of zh){let tp=hu.horizontal[Ad];if(!Gp){hy=ui(tp.text);let Gd=ch.layout.get(\"text-rotate\").evaluate(qu,{},qc);Gp=new cm(Ud,Uo,Vd,Hd,rf,tp,fh,Td,rd,Gd)}let hm=tp.positionedLines.length===1;if(uv+=DC(Ya,Uo,tp,$v,ch,rd,qu,Dh,p0,hu.vertical?i.ah.horizontal:i.ah.horizontalOnly,hm?zh:[Ad],g0,bS,Tu,qc),hm)break}hu.vertical&&(R1+=DC(Ya,Uo,hu.vertical,$v,ch,rd,qu,Dh,p0,i.ah.vertical,[\"vertical\"],g0,Uw,Tu,qc));let $9=Gp?Gp.boxStartIndex:Ya.collisionBoxArray.length,Vw=Gp?Gp.boxEndIndex:Ya.collisionBoxArray.length,m0=oc?oc.boxStartIndex:Ya.collisionBoxArray.length,cv=oc?oc.boxEndIndex:Ya.collisionBoxArray.length,BC=Qv?Qv.boxStartIndex:Ya.collisionBoxArray.length,Q9=Qv?Qv.boxEndIndex:Ya.collisionBoxArray.length,NC=If?If.boxStartIndex:Ya.collisionBoxArray.length,eq=If?If.boxEndIndex:Ya.collisionBoxArray.length,mp=-1,tb=(Ad,tp)=>Ad&&Ad.circleDiameter?Math.max(Ad.circleDiameter,tp):tp;mp=tb(Gp,mp),mp=tb(oc,mp),mp=tb(Qv,mp),mp=tb(If,mp);let Hw=mp>-1?1:0;Hw&&(mp*=I1/kl),Ya.glyphOffsetArray.length>=E1.MAX_GLYPHS&&T(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),qu.sortKey!==void 0&&Ya.addToSortKeyRanges(Ya.symbolInstances.length,qu.sortKey);let wS=RC(ch,qu,qc),[tq,rq]=function(Ad,tp){let hm=Ad.length,Gd=tp==null?void 0:tp.values;if((Gd==null?void 0:Gd.length)>0)for(let Sd=0;Sd=0?g0.right:-1,g0.center>=0?g0.center:-1,g0.left>=0?g0.left:-1,g0.vertical||-1,bS,Uw,hy,$9,Vw,m0,cv,BC,Q9,NC,eq,Vd,uv,R1,ep,gg,Hw,0,fh,mp,tq,rq)}(R,bo,Tn,D,j,te,$a,R.layers[0],R.collisionBoxArray,S.index,S.sourceLayerIndex,R.index,$r,[ki,ki,ki,ki],Va,Ze,Di,Zi,Io,sr,S,ue,at,Tt,ve)};if(La===\"line\")for(let Tn of MC(S.geometry,0,0,za,za)){let bo=W9(Tn,pi,ta,D.vertical||Tr,j,24,ni,R.overscaling,za);for(let Ya of bo)Tr&&K9(R,Tr.text,Hn,Ya)||Xa(Tn,Ya)}else if(La===\"line-center\"){for(let Tn of S.geometry)if(Tn.length>1){let bo=j9(Tn,ta,D.vertical||Tr,j,24,ni);bo&&Xa(Tn,bo)}}else if(S.type===\"Polygon\")for(let Tn of Of(S.geometry,0)){let bo=Z9(Tn,16);Xa(Tn[0],new vg(bo.x,bo.y,0))}else if(S.type===\"LineString\")for(let Tn of S.geometry)Xa(Tn,new vg(Tn[0].x,Tn[0].y,0));else if(S.type===\"Point\")for(let Tn of S.geometry)for(let bo of Tn)Xa([bo],new vg(bo.x,bo.y,0))}function DC(R,S,D,j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr){let Pr=function(Di,pi,ki,Zi,ta,Va,Io,La){let Hn=Zi.layout.get(\"text-rotate\").evaluate(Va,{})*Math.PI/180,lo=[];for(let $a of pi.positionedLines)for(let Xa of $a.positionedGlyphs){if(!Xa.rect)continue;let Tn=Xa.rect||{},bo=cC+1,Ya=!0,Uo=1,wu=0,hu=(ta||La)&&Xa.vertical,uh=Xa.metrics.advance*Xa.scale/2;if(La&&pi.verticalizable&&(wu=$a.lineOffset/2-(Xa.imageName?-(kl-Xa.metrics.width*Xa.scale)/2:(Xa.scale-1)*kl)),Xa.imageName){let Cl=Io[Xa.imageName];Ya=Cl.sdf,Uo=Cl.pixelRatio,bo=wd/Uo}let $v=ta?[Xa.x+uh,Xa.y]:[0,0],td=ta?[0,0]:[Xa.x+uh+ki[0],Xa.y+ki[1]-wu],ch=[0,0];hu&&(ch=td,td=[0,0]);let Ud=Xa.metrics.isDoubleResolution?2:1,Vd=(Xa.metrics.left-bo)*Xa.scale-uh+td[0],Hd=(-Xa.metrics.top-bo)*Xa.scale+td[1],rf=Vd+Tn.w/Ud*Xa.scale/Uo,fh=Hd+Tn.h/Ud*Xa.scale/Uo,Td=new u(Vd,Hd),rd=new u(rf,Hd),Dh=new u(Vd,fh),xf=new u(rf,fh);if(hu){let Cl=new u(-uh,uh-lh),qu=-Math.PI/2,Tu=kl/2-uh,Rv=new u(5-lh-Tu,-(Xa.imageName?Tu:0)),qc=new u(...ch);Td._rotateAround(qu,Cl)._add(Rv)._add(qc),rd._rotateAround(qu,Cl)._add(Rv)._add(qc),Dh._rotateAround(qu,Cl)._add(Rv)._add(qc),xf._rotateAround(qu,Cl)._add(Rv)._add(qc)}if(Hn){let Cl=Math.sin(Hn),qu=Math.cos(Hn),Tu=[qu,-Cl,Cl,qu];Td._matMult(Tu),rd._matMult(Tu),Dh._matMult(Tu),xf._matMult(Tu)}let Iv=new u(0,0),lv=new u(0,0);lo.push({tl:Td,tr:rd,bl:Dh,br:xf,tex:Tn,writingMode:pi.writingMode,glyphOffset:$v,sectionIndex:Xa.sectionIndex,isSDF:Ya,pixelOffsetTL:Iv,pixelOffsetBR:lv,minFontScaleX:0,minFontScaleY:0})}return lo}(0,D,De,te,ue,ve,j,R.allowVerticalPlacement),$r=R.textSizeData,ni=null;$r.kind===\"source\"?(ni=[v0*te.layout.get(\"text-size\").evaluate(ve,{})],ni[0]>lm&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${jx}. Reduce your \"text-size\".`)):$r.kind===\"composite\"&&(ni=[v0*sr.compositeTextSizes[0].evaluate(ve,{},Tr),v0*sr.compositeTextSizes[1].evaluate(ve,{},Tr)],(ni[0]>lm||ni[1]>lm)&&T(`${R.layerIds[0]}: Value for \"text-size\" is >= ${jx}. Reduce your \"text-size\".`)),R.addSymbols(R.text,Pr,ni,De,ue,ve,at,S,Ze.lineStartIndex,Ze.lineLength,Qt,Tr);for(let Di of Tt)Ft[Di]=R.text.placedSymbolArray.length-1;return 4*Pr.length}function zC(R){for(let S in R)return R[S];return null}function K9(R,S,D,j){let te=R.compareText;if(S in te){let ue=te[S];for(let ve=ue.length-1;ve>=0;ve--)if(j.dist(ue[ve])>4;if(te!==1)throw new Error(`Got v${te} data when expected v1.`);let ue=FC[15&j];if(!ue)throw new Error(\"Unrecognized array type.\");let[ve]=new Uint16Array(S,2,1),[De]=new Uint32Array(S,4,1);return new mS(De,ve,ue,S)}constructor(S,D=64,j=Float64Array,te){if(isNaN(S)||S<0)throw new Error(`Unpexpected numItems value: ${S}.`);this.numItems=+S,this.nodeSize=Math.min(Math.max(+D,2),65535),this.ArrayType=j,this.IndexArrayType=S<65536?Uint16Array:Uint32Array;let ue=FC.indexOf(this.ArrayType),ve=2*S*this.ArrayType.BYTES_PER_ELEMENT,De=S*this.IndexArrayType.BYTES_PER_ELEMENT,Ze=(8-De%8)%8;if(ue<0)throw new Error(`Unexpected typed array class: ${j}.`);te&&te instanceof ArrayBuffer?(this.data=te,this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=2*S,this._finished=!0):(this.data=new ArrayBuffer(8+ve+De+Ze),this.ids=new this.IndexArrayType(this.data,8,S),this.coords=new this.ArrayType(this.data,8+De+Ze,2*S),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+ue]),new Uint16Array(this.data,2,1)[0]=D,new Uint32Array(this.data,4,1)[0]=S)}add(S,D){let j=this._pos>>1;return this.ids[j]=j,this.coords[this._pos++]=S,this.coords[this._pos++]=D,j}finish(){let S=this._pos>>1;if(S!==this.numItems)throw new Error(`Added ${S} items when expected ${this.numItems}.`);return Ow(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(S,D,j,te){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:ue,coords:ve,nodeSize:De}=this,Ze=[0,ue.length-1,0],at=[];for(;Ze.length;){let Tt=Ze.pop()||0,Ft=Ze.pop()||0,Qt=Ze.pop()||0;if(Ft-Qt<=De){for(let $r=Qt;$r<=Ft;$r++){let ni=ve[2*$r],Di=ve[2*$r+1];ni>=S&&ni<=j&&Di>=D&&Di<=te&&at.push(ue[$r])}continue}let sr=Qt+Ft>>1,Tr=ve[2*sr],Pr=ve[2*sr+1];Tr>=S&&Tr<=j&&Pr>=D&&Pr<=te&&at.push(ue[sr]),(Tt===0?S<=Tr:D<=Pr)&&(Ze.push(Qt),Ze.push(sr-1),Ze.push(1-Tt)),(Tt===0?j>=Tr:te>=Pr)&&(Ze.push(sr+1),Ze.push(Ft),Ze.push(1-Tt))}return at}within(S,D,j){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");let{ids:te,coords:ue,nodeSize:ve}=this,De=[0,te.length-1,0],Ze=[],at=j*j;for(;De.length;){let Tt=De.pop()||0,Ft=De.pop()||0,Qt=De.pop()||0;if(Ft-Qt<=ve){for(let $r=Qt;$r<=Ft;$r++)OC(ue[2*$r],ue[2*$r+1],S,D)<=at&&Ze.push(te[$r]);continue}let sr=Qt+Ft>>1,Tr=ue[2*sr],Pr=ue[2*sr+1];OC(Tr,Pr,S,D)<=at&&Ze.push(te[sr]),(Tt===0?S-j<=Tr:D-j<=Pr)&&(De.push(Qt),De.push(sr-1),De.push(1-Tt)),(Tt===0?S+j>=Tr:D+j>=Pr)&&(De.push(sr+1),De.push(Ft),De.push(1-Tt))}return Ze}}function Ow(R,S,D,j,te,ue){if(te-j<=D)return;let ve=j+te>>1;qC(R,S,ve,j,te,ue),Ow(R,S,D,j,ve-1,1-ue),Ow(R,S,D,ve+1,te,1-ue)}function qC(R,S,D,j,te,ue){for(;te>j;){if(te-j>600){let at=te-j+1,Tt=D-j+1,Ft=Math.log(at),Qt=.5*Math.exp(2*Ft/3),sr=.5*Math.sqrt(Ft*Qt*(at-Qt)/at)*(Tt-at/2<0?-1:1);qC(R,S,D,Math.max(j,Math.floor(D-Tt*Qt/at+sr)),Math.min(te,Math.floor(D+(at-Tt)*Qt/at+sr)),ue)}let ve=S[2*D+ue],De=j,Ze=te;for(Qx(R,S,j,D),S[2*te+ue]>ve&&Qx(R,S,j,te);Deve;)Ze--}S[2*j+ue]===ve?Qx(R,S,j,Ze):(Ze++,Qx(R,S,Ze,te)),Ze<=D&&(j=Ze+1),D<=Ze&&(te=Ze-1)}}function Qx(R,S,D,j){yS(R,D,j),yS(S,2*D,2*j),yS(S,2*D+1,2*j+1)}function yS(R,S,D){let j=R[S];R[S]=R[D],R[D]=j}function OC(R,S,D,j){let te=R-D,ue=S-j;return te*te+ue*ue}var Bw;i.bg=void 0,(Bw=i.bg||(i.bg={})).create=\"create\",Bw.load=\"load\",Bw.fullLoad=\"fullLoad\";let eb=null,Gf=[],_S=1e3/60,xS=\"loadTime\",Nw=\"fullLoadTime\",J9={mark(R){performance.mark(R)},frame(R){let S=R;eb!=null&&Gf.push(S-eb),eb=S},clearMetrics(){eb=null,Gf=[],performance.clearMeasures(xS),performance.clearMeasures(Nw);for(let R in i.bg)performance.clearMarks(i.bg[R])},getPerformanceMetrics(){performance.measure(xS,i.bg.create,i.bg.load),performance.measure(Nw,i.bg.create,i.bg.fullLoad);let R=performance.getEntriesByName(xS)[0].duration,S=performance.getEntriesByName(Nw)[0].duration,D=Gf.length,j=1/(Gf.reduce((ue,ve)=>ue+ve,0)/D/1e3),te=Gf.filter(ue=>ue>_S).reduce((ue,ve)=>ue+(ve-_S)/_S,0);return{loadTime:R,fullLoadTime:S,fps:j,percentDroppedFrames:te/(D+te)*100,totalFrames:D}}};i.$=class extends Ot{},i.A=Ln,i.B=Fi,i.C=function(R){if(V==null){let S=R.navigator?R.navigator.userAgent:null;V=!!R.safari||!(!S||!(/\\b(iPad|iPhone|iPod)\\b/.test(S)||S.match(\"Safari\")&&!S.match(\"Chrome\")))}return V},i.D=Da,i.E=Re,i.F=class{constructor(R,S){this.target=R,this.mapId=S,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new cS(()=>this.process()),this.subscription=function(D,j,te,ue){return D.addEventListener(j,te,!1),{unsubscribe:()=>{D.removeEventListener(j,te,!1)}}}(this.target,\"message\",D=>this.receive(D)),this.globalScope=q(self)?R:window}registerMessageHandler(R,S){this.messageHandlers[R]=S}sendAsync(R,S){return new Promise((D,j)=>{let te=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[te]={resolve:D,reject:j},S&&S.signal.addEventListener(\"abort\",()=>{delete this.resolveRejects[te];let De={id:te,type:\"\",origin:location.origin,targetMapId:R.targetMapId,sourceMapId:this.mapId};this.target.postMessage(De)},{once:!0});let ue=[],ve=Object.assign(Object.assign({},R),{id:te,sourceMapId:this.mapId,origin:location.origin,data:Ea(R.data,ue)});this.target.postMessage(ve,{transfer:ue})})}receive(R){let S=R.data,D=S.id;if(!(S.origin!==\"file://\"&&location.origin!==\"file://\"&&S.origin!==\"resource://android\"&&location.origin!==\"resource://android\"&&S.origin!==location.origin||S.targetMapId&&this.mapId!==S.targetMapId)){if(S.type===\"\"){delete this.tasks[D];let j=this.abortControllers[D];return delete this.abortControllers[D],void(j&&j.abort())}if(q(self)||S.mustQueue)return this.tasks[D]=S,this.taskQueue.push(D),void this.invoker.trigger();this.processTask(D,S)}}process(){if(this.taskQueue.length===0)return;let R=this.taskQueue.shift(),S=this.tasks[R];delete this.tasks[R],this.taskQueue.length>0&&this.invoker.trigger(),S&&this.processTask(R,S)}processTask(R,S){return a(this,void 0,void 0,function*(){if(S.type===\"\"){let te=this.resolveRejects[R];return delete this.resolveRejects[R],te?void(S.error?te.reject(qa(S.error)):te.resolve(qa(S.data))):void 0}if(!this.messageHandlers[S.type])return void this.completeTask(R,new Error(`Could not find a registered handler for ${S.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));let D=qa(S.data),j=new AbortController;this.abortControllers[R]=j;try{let te=yield this.messageHandlers[S.type](S.sourceMapId,D,j);this.completeTask(R,null,te)}catch(te){this.completeTask(R,te)}})}completeTask(R,S,D){let j=[];delete this.abortControllers[R];let te={id:R,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:S?Ea(S):null,data:Ea(D,j)};this.target.postMessage(te,{transfer:j})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},i.G=ke,i.H=function(){var R=new Ln(16);return Ln!=Float32Array&&(R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[11]=0,R[12]=0,R[13]=0,R[14]=0),R[0]=1,R[5]=1,R[10]=1,R[15]=1,R},i.I=kw,i.J=function(R,S,D){var j,te,ue,ve,De,Ze,at,Tt,Ft,Qt,sr,Tr,Pr=D[0],$r=D[1],ni=D[2];return S===R?(R[12]=S[0]*Pr+S[4]*$r+S[8]*ni+S[12],R[13]=S[1]*Pr+S[5]*$r+S[9]*ni+S[13],R[14]=S[2]*Pr+S[6]*$r+S[10]*ni+S[14],R[15]=S[3]*Pr+S[7]*$r+S[11]*ni+S[15]):(te=S[1],ue=S[2],ve=S[3],De=S[4],Ze=S[5],at=S[6],Tt=S[7],Ft=S[8],Qt=S[9],sr=S[10],Tr=S[11],R[0]=j=S[0],R[1]=te,R[2]=ue,R[3]=ve,R[4]=De,R[5]=Ze,R[6]=at,R[7]=Tt,R[8]=Ft,R[9]=Qt,R[10]=sr,R[11]=Tr,R[12]=j*Pr+De*$r+Ft*ni+S[12],R[13]=te*Pr+Ze*$r+Qt*ni+S[13],R[14]=ue*Pr+at*$r+sr*ni+S[14],R[15]=ve*Pr+Tt*$r+Tr*ni+S[15]),R},i.K=function(R,S,D){var j=D[0],te=D[1],ue=D[2];return R[0]=S[0]*j,R[1]=S[1]*j,R[2]=S[2]*j,R[3]=S[3]*j,R[4]=S[4]*te,R[5]=S[5]*te,R[6]=S[6]*te,R[7]=S[7]*te,R[8]=S[8]*ue,R[9]=S[9]*ue,R[10]=S[10]*ue,R[11]=S[11]*ue,R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15],R},i.L=gn,i.M=function(R,S){let D={};for(let j=0;j{let S=window.document.createElement(\"video\");return S.muted=!0,new Promise(D=>{S.onloadstart=()=>{D(S)};for(let j of R){let te=window.document.createElement(\"source\");Ee(j)||(S.crossOrigin=\"Anonymous\"),te.src=j,S.appendChild(te)}})},i.a4=function(){return _++},i.a5=Qi,i.a6=E1,i.a7=Pc,i.a8=xl,i.a9=dS,i.aA=function(R){if(R.type===\"custom\")return new uS(R);switch(R.type){case\"background\":return new H9(R);case\"circle\":return new wn(R);case\"fill\":return new gr(R);case\"fill-extrusion\":return new Ev(R);case\"heatmap\":return new Po(R);case\"hillshade\":return new $c(R);case\"line\":return new ay(R);case\"raster\":return new Yx(R);case\"symbol\":return new uy(R)}},i.aB=p,i.aC=function(R,S){if(!R)return[{command:\"setStyle\",args:[S]}];let D=[];try{if(!ct(R.version,S.version))return[{command:\"setStyle\",args:[S]}];ct(R.center,S.center)||D.push({command:\"setCenter\",args:[S.center]}),ct(R.zoom,S.zoom)||D.push({command:\"setZoom\",args:[S.zoom]}),ct(R.bearing,S.bearing)||D.push({command:\"setBearing\",args:[S.bearing]}),ct(R.pitch,S.pitch)||D.push({command:\"setPitch\",args:[S.pitch]}),ct(R.sprite,S.sprite)||D.push({command:\"setSprite\",args:[S.sprite]}),ct(R.glyphs,S.glyphs)||D.push({command:\"setGlyphs\",args:[S.glyphs]}),ct(R.transition,S.transition)||D.push({command:\"setTransition\",args:[S.transition]}),ct(R.light,S.light)||D.push({command:\"setLight\",args:[S.light]}),ct(R.terrain,S.terrain)||D.push({command:\"setTerrain\",args:[S.terrain]}),ct(R.sky,S.sky)||D.push({command:\"setSky\",args:[S.sky]}),ct(R.projection,S.projection)||D.push({command:\"setProjection\",args:[S.projection]});let j={},te=[];(function(ve,De,Ze,at){let Tt;for(Tt in De=De||{},ve=ve||{})Object.prototype.hasOwnProperty.call(ve,Tt)&&(Object.prototype.hasOwnProperty.call(De,Tt)||ot(Tt,Ze,at));for(Tt in De)Object.prototype.hasOwnProperty.call(De,Tt)&&(Object.prototype.hasOwnProperty.call(ve,Tt)?ct(ve[Tt],De[Tt])||(ve[Tt].type===\"geojson\"&&De[Tt].type===\"geojson\"&&kt(ve,De,Tt)?qt(Ze,{command:\"setGeoJSONSourceData\",args:[Tt,De[Tt].data]}):Rt(Tt,De,Ze,at)):rt(Tt,De,Ze))})(R.sources,S.sources,te,j);let ue=[];R.layers&&R.layers.forEach(ve=>{\"source\"in ve&&j[ve.source]?D.push({command:\"removeLayer\",args:[ve.id]}):ue.push(ve)}),D=D.concat(te),function(ve,De,Ze){De=De||[];let at=(ve=ve||[]).map(Yt),Tt=De.map(Yt),Ft=ve.reduce(xr,{}),Qt=De.reduce(xr,{}),sr=at.slice(),Tr=Object.create(null),Pr,$r,ni,Di,pi;for(let ki=0,Zi=0;ki@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,(D,j,te,ue)=>{let ve=te||ue;return S[j]=!ve||ve.toLowerCase(),\"\"}),S[\"max-age\"]){let D=parseInt(S[\"max-age\"],10);isNaN(D)?delete S[\"max-age\"]:S[\"max-age\"]=D}return S},i.ab=function(R,S){let D=[];for(let j in R)j in S||D.push(j);return D},i.ac=k,i.ad=function(R,S,D){var j=Math.sin(D),te=Math.cos(D),ue=S[0],ve=S[1],De=S[2],Ze=S[3],at=S[4],Tt=S[5],Ft=S[6],Qt=S[7];return S!==R&&(R[8]=S[8],R[9]=S[9],R[10]=S[10],R[11]=S[11],R[12]=S[12],R[13]=S[13],R[14]=S[14],R[15]=S[15]),R[0]=ue*te+at*j,R[1]=ve*te+Tt*j,R[2]=De*te+Ft*j,R[3]=Ze*te+Qt*j,R[4]=at*te-ue*j,R[5]=Tt*te-ve*j,R[6]=Ft*te-De*j,R[7]=Qt*te-Ze*j,R},i.ae=function(R){var S=new Ln(16);return S[0]=R[0],S[1]=R[1],S[2]=R[2],S[3]=R[3],S[4]=R[4],S[5]=R[5],S[6]=R[6],S[7]=R[7],S[8]=R[8],S[9]=R[9],S[10]=R[10],S[11]=R[11],S[12]=R[12],S[13]=R[13],S[14]=R[14],S[15]=R[15],S},i.af=Za,i.ag=function(R,S){let D=0,j=0;if(R.kind===\"constant\")j=R.layoutSize;else if(R.kind!==\"source\"){let{interpolationType:te,minZoom:ue,maxZoom:ve}=R,De=te?k(xo.interpolationFactor(te,S,ue,ve),0,1):0;R.kind===\"camera\"?j=Mo.number(R.minSize,R.maxSize,De):D=De}return{uSizeT:D,uSize:j}},i.ai=function(R,{uSize:S,uSizeT:D},{lowerSize:j,upperSize:te}){return R.kind===\"source\"?j/v0:R.kind===\"composite\"?Mo.number(j/v0,te/v0,D):S},i.aj=aS,i.ak=function(R,S,D,j){let te=S.y-R.y,ue=S.x-R.x,ve=j.y-D.y,De=j.x-D.x,Ze=ve*ue-De*te;if(Ze===0)return null;let at=(De*(R.y-D.y)-ve*(R.x-D.x))/Ze;return new u(R.x+at*ue,R.y+at*te)},i.al=MC,i.am=xc,i.an=Un,i.ao=function(R){let S=1/0,D=1/0,j=-1/0,te=-1/0;for(let ue of R)S=Math.min(S,ue.x),D=Math.min(D,ue.y),j=Math.max(j,ue.x),te=Math.max(te,ue.y);return[S,D,j,te]},i.ap=kl,i.ar=nS,i.as=function(R,S){var D=S[0],j=S[1],te=S[2],ue=S[3],ve=S[4],De=S[5],Ze=S[6],at=S[7],Tt=S[8],Ft=S[9],Qt=S[10],sr=S[11],Tr=S[12],Pr=S[13],$r=S[14],ni=S[15],Di=D*De-j*ve,pi=D*Ze-te*ve,ki=D*at-ue*ve,Zi=j*Ze-te*De,ta=j*at-ue*De,Va=te*at-ue*Ze,Io=Tt*Pr-Ft*Tr,La=Tt*$r-Qt*Tr,Hn=Tt*ni-sr*Tr,lo=Ft*$r-Qt*Pr,$a=Ft*ni-sr*Pr,Xa=Qt*ni-sr*$r,Tn=Di*Xa-pi*$a+ki*lo+Zi*Hn-ta*La+Va*Io;return Tn?(R[0]=(De*Xa-Ze*$a+at*lo)*(Tn=1/Tn),R[1]=(te*$a-j*Xa-ue*lo)*Tn,R[2]=(Pr*Va-$r*ta+ni*Zi)*Tn,R[3]=(Qt*ta-Ft*Va-sr*Zi)*Tn,R[4]=(Ze*Hn-ve*Xa-at*La)*Tn,R[5]=(D*Xa-te*Hn+ue*La)*Tn,R[6]=($r*ki-Tr*Va-ni*pi)*Tn,R[7]=(Tt*Va-Qt*ki+sr*pi)*Tn,R[8]=(ve*$a-De*Hn+at*Io)*Tn,R[9]=(j*Hn-D*$a-ue*Io)*Tn,R[10]=(Tr*ta-Pr*ki+ni*Di)*Tn,R[11]=(Ft*ki-Tt*ta-sr*Di)*Tn,R[12]=(De*La-ve*lo-Ze*Io)*Tn,R[13]=(D*lo-j*La+te*Io)*Tn,R[14]=(Pr*pi-Tr*Zi-$r*Di)*Tn,R[15]=(Tt*Zi-Ft*pi+Qt*Di)*Tn,R):null},i.at=gS,i.au=Iw,i.av=mS,i.aw=function(){let R={},S=ce.$version;for(let D in ce.$root){let j=ce.$root[D];if(j.required){let te=null;te=D===\"version\"?S:j.type===\"array\"?[]:{},te!=null&&(R[D]=te)}}return R},i.ax=Cn,i.ay=ie,i.az=function(R){R=R.slice();let S=Object.create(null);for(let D=0;D25||j<0||j>=1||D<0||D>=1)},i.bc=function(R,S){return R[0]=S[0],R[1]=0,R[2]=0,R[3]=0,R[4]=0,R[5]=S[1],R[6]=0,R[7]=0,R[8]=0,R[9]=0,R[10]=S[2],R[11]=0,R[12]=0,R[13]=0,R[14]=0,R[15]=1,R},i.bd=class extends yt{},i.be=fS,i.bf=J9,i.bh=ge,i.bi=function(R,S){_e.REGISTERED_PROTOCOLS[R]=S},i.bj=function(R){delete _e.REGISTERED_PROTOCOLS[R]},i.bk=function(R,S){let D={};for(let te=0;teXa*kl)}let La=ve?\"center\":D.get(\"text-justify\").evaluate(at,{},R.canonical),Hn=D.get(\"symbol-placement\")===\"point\"?D.get(\"text-max-width\").evaluate(at,{},R.canonical)*kl:1/0,lo=()=>{R.bucket.allowVerticalPlacement&&Ua(ki)&&(Tr.vertical=Hx(Pr,R.glyphMap,R.glyphPositions,R.imagePositions,Tt,Hn,ue,Va,\"left\",ta,ni,i.ah.vertical,!0,Qt,Ft))};if(!ve&&Io){let $a=new Set;if(La===\"auto\")for(let Tn=0;Tna(void 0,void 0,void 0,function*(){if(R.byteLength===0)return createImageBitmap(new ImageData(1,1));let S=new Blob([new Uint8Array(R)],{type:\"image/png\"});try{return createImageBitmap(S)}catch(D){throw new Error(`Could not load image because of ${D.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),i.e=L,i.f=R=>new Promise((S,D)=>{let j=new Image;j.onload=()=>{S(j),URL.revokeObjectURL(j.src),j.onload=null,window.requestAnimationFrame(()=>{j.src=X})},j.onerror=()=>D(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));let te=new Blob([new Uint8Array(R)],{type:\"image/png\"});j.src=R.byteLength?URL.createObjectURL(te):X}),i.g=Me,i.h=(R,S)=>Te(L(R,{type:\"json\"}),S),i.i=q,i.j=me,i.k=Ce,i.l=(R,S)=>Te(L(R,{type:\"arrayBuffer\"}),S),i.m=Te,i.n=function(R){return new tS(R).readFields(gQ,[])},i.o=Ao,i.p=iS,i.q=le,i.r=xi,i.s=Ee,i.t=Ti,i.u=fi,i.v=ce,i.w=T,i.x=function([R,S,D]){return S+=90,S*=Math.PI/180,D*=Math.PI/180,{x:R*Math.cos(S)*Math.sin(D),y:R*Math.sin(S)*Math.sin(D),z:R*Math.cos(D)}},i.y=Mo,i.z=Ko}),r(\"worker\",[\"./shared\"],function(i){\"use strict\";class a{constructor(Ne){this.keyCache={},Ne&&this.replace(Ne)}replace(Ne){this._layerConfigs={},this._layers={},this.update(Ne,[])}update(Ne,Ye){for(let Xe of Ne){this._layerConfigs[Xe.id]=Xe;let ht=this._layers[Xe.id]=i.aA(Xe);ht._featureFilter=i.a7(ht.filter),this.keyCache[Xe.id]&&delete this.keyCache[Xe.id]}for(let Xe of Ye)delete this.keyCache[Xe],delete this._layerConfigs[Xe],delete this._layers[Xe];this.familiesBySource={};let Ve=i.bk(Object.values(this._layerConfigs),this.keyCache);for(let Xe of Ve){let ht=Xe.map(Vt=>this._layers[Vt.id]),Le=ht[0];if(Le.visibility===\"none\")continue;let xe=Le.source||\"\",Se=this.familiesBySource[xe];Se||(Se=this.familiesBySource[xe]={});let lt=Le.sourceLayer||\"_geojsonTileLayer\",Gt=Se[lt];Gt||(Gt=Se[lt]=[]),Gt.push(ht)}}}class o{constructor(Ne){let Ye={},Ve=[];for(let xe in Ne){let Se=Ne[xe],lt=Ye[xe]={};for(let Gt in Se){let Vt=Se[+Gt];if(!Vt||Vt.bitmap.width===0||Vt.bitmap.height===0)continue;let ar={x:0,y:0,w:Vt.bitmap.width+2,h:Vt.bitmap.height+2};Ve.push(ar),lt[Gt]={rect:ar,metrics:Vt.metrics}}}let{w:Xe,h:ht}=i.p(Ve),Le=new i.o({width:Xe||1,height:ht||1});for(let xe in Ne){let Se=Ne[xe];for(let lt in Se){let Gt=Se[+lt];if(!Gt||Gt.bitmap.width===0||Gt.bitmap.height===0)continue;let Vt=Ye[xe][lt].rect;i.o.copy(Gt.bitmap,Le,{x:0,y:0},{x:Vt.x+1,y:Vt.y+1},Gt.bitmap)}}this.image=Le,this.positions=Ye}}i.bl(\"GlyphAtlas\",o);class s{constructor(Ne){this.tileID=new i.S(Ne.tileID.overscaledZ,Ne.tileID.wrap,Ne.tileID.canonical.z,Ne.tileID.canonical.x,Ne.tileID.canonical.y),this.uid=Ne.uid,this.zoom=Ne.zoom,this.pixelRatio=Ne.pixelRatio,this.tileSize=Ne.tileSize,this.source=Ne.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=Ne.showCollisionBoxes,this.collectResourceTiming=!!Ne.collectResourceTiming,this.returnDependencies=!!Ne.returnDependencies,this.promoteId=Ne.promoteId,this.inFlightDependencies=[]}parse(Ne,Ye,Ve,Xe){return i._(this,void 0,void 0,function*(){this.status=\"parsing\",this.data=Ne,this.collisionBoxArray=new i.a5;let ht=new i.bm(Object.keys(Ne.layers).sort()),Le=new i.bn(this.tileID,this.promoteId);Le.bucketLayerIDs=[];let xe={},Se={featureIndex:Le,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:Ve},lt=Ye.familiesBySource[this.source];for(let _n in lt){let $i=Ne.layers[_n];if(!$i)continue;$i.version===1&&i.w(`Vector tile source \"${this.source}\" layer \"${_n}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);let zn=ht.encode(_n),Wn=[];for(let It=0;It<$i.length;It++){let ft=$i.feature(It),jt=Le.getId(ft,_n);Wn.push({feature:ft,id:jt,index:It,sourceLayerIndex:zn})}for(let It of lt[_n]){let ft=It[0];ft.source!==this.source&&i.w(`layer.source = ${ft.source} does not equal this.source = ${this.source}`),ft.minzoom&&this.zoom=ft.maxzoom||ft.visibility!==\"none\"&&(l(It,this.zoom,Ve),(xe[ft.id]=ft.createBucket({index:Le.bucketLayerIDs.length,layers:It,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:zn,sourceID:this.source})).populate(Wn,Se,this.tileID.canonical),Le.bucketLayerIDs.push(It.map(jt=>jt.id)))}}let Gt=i.aF(Se.glyphDependencies,_n=>Object.keys(_n).map(Number));this.inFlightDependencies.forEach(_n=>_n==null?void 0:_n.abort()),this.inFlightDependencies=[];let Vt=Promise.resolve({});if(Object.keys(Gt).length){let _n=new AbortController;this.inFlightDependencies.push(_n),Vt=Xe.sendAsync({type:\"GG\",data:{stacks:Gt,source:this.source,tileID:this.tileID,type:\"glyphs\"}},_n)}let ar=Object.keys(Se.iconDependencies),Qr=Promise.resolve({});if(ar.length){let _n=new AbortController;this.inFlightDependencies.push(_n),Qr=Xe.sendAsync({type:\"GI\",data:{icons:ar,source:this.source,tileID:this.tileID,type:\"icons\"}},_n)}let ai=Object.keys(Se.patternDependencies),jr=Promise.resolve({});if(ai.length){let _n=new AbortController;this.inFlightDependencies.push(_n),jr=Xe.sendAsync({type:\"GI\",data:{icons:ai,source:this.source,tileID:this.tileID,type:\"patterns\"}},_n)}let[ri,bi,nn]=yield Promise.all([Vt,Qr,jr]),Wi=new o(ri),Ni=new i.bo(bi,nn);for(let _n in xe){let $i=xe[_n];$i instanceof i.a6?(l($i.layers,this.zoom,Ve),i.bp({bucket:$i,glyphMap:ri,glyphPositions:Wi.positions,imageMap:bi,imagePositions:Ni.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):$i.hasPattern&&($i instanceof i.bq||$i instanceof i.br||$i instanceof i.bs)&&(l($i.layers,this.zoom,Ve),$i.addFeatures(Se,this.tileID.canonical,Ni.patternPositions))}return this.status=\"done\",{buckets:Object.values(xe).filter(_n=>!_n.isEmpty()),featureIndex:Le,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Wi.image,imageAtlas:Ni,glyphMap:this.returnDependencies?ri:null,iconMap:this.returnDependencies?bi:null,glyphPositions:this.returnDependencies?Wi.positions:null}})}}function l(ut,Ne,Ye){let Ve=new i.z(Ne);for(let Xe of ut)Xe.recalculate(Ve,Ye)}class u{constructor(Ne,Ye,Ve){this.actor=Ne,this.layerIndex=Ye,this.availableImages=Ve,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield i.l(Ne.request,Ye);try{return{vectorTile:new i.bt.VectorTile(new i.bu(Ve.data)),rawData:Ve.data,cacheControl:Ve.cacheControl,expires:Ve.expires}}catch(Xe){let ht=new Uint8Array(Ve.data),Le=`Unable to parse the tile at ${Ne.request.url}, `;throw Le+=ht[0]===31&&ht[1]===139?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${Xe.message}`,new Error(Le)}})}loadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid,Ve=!!(Ne&&Ne.request&&Ne.request.collectResourceTiming)&&new i.bv(Ne.request),Xe=new s(Ne);this.loading[Ye]=Xe;let ht=new AbortController;Xe.abort=ht;try{let Le=yield this.loadVectorTile(Ne,ht);if(delete this.loading[Ye],!Le)return null;let xe=Le.rawData,Se={};Le.expires&&(Se.expires=Le.expires),Le.cacheControl&&(Se.cacheControl=Le.cacheControl);let lt={};if(Ve){let Vt=Ve.finish();Vt&&(lt.resourceTiming=JSON.parse(JSON.stringify(Vt)))}Xe.vectorTile=Le.vectorTile;let Gt=Xe.parse(Le.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[Ye]=Xe,this.fetching[Ye]={rawTileData:xe,cacheControl:Se,resourceTiming:lt};try{let Vt=yield Gt;return i.e({rawTileData:xe.slice(0)},Vt,Se,lt)}finally{delete this.fetching[Ye]}}catch(Le){throw delete this.loading[Ye],Xe.status=\"done\",this.loaded[Ye]=Xe,Le}})}reloadTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=Ne.uid;if(!this.loaded||!this.loaded[Ye])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");let Ve=this.loaded[Ye];if(Ve.showCollisionBoxes=Ne.showCollisionBoxes,Ve.status===\"parsing\"){let Xe=yield Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor),ht;if(this.fetching[Ye]){let{rawTileData:Le,cacheControl:xe,resourceTiming:Se}=this.fetching[Ye];delete this.fetching[Ye],ht=i.e({rawTileData:Le.slice(0)},Xe,xe,Se)}else ht=Xe;return ht}if(Ve.status===\"done\"&&Ve.vectorTile)return Ve.parse(Ve.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(Ne){return i._(this,void 0,void 0,function*(){let Ye=this.loading,Ve=Ne.uid;Ye&&Ye[Ve]&&Ye[Ve].abort&&(Ye[Ve].abort.abort(),delete Ye[Ve])})}removeTile(Ne){return i._(this,void 0,void 0,function*(){this.loaded&&this.loaded[Ne.uid]&&delete this.loaded[Ne.uid]})}}class c{constructor(){this.loaded={}}loadTile(Ne){return i._(this,void 0,void 0,function*(){let{uid:Ye,encoding:Ve,rawImageData:Xe,redFactor:ht,greenFactor:Le,blueFactor:xe,baseShift:Se}=Ne,lt=Xe.width+2,Gt=Xe.height+2,Vt=i.b(Xe)?new i.R({width:lt,height:Gt},yield i.bw(Xe,-1,-1,lt,Gt)):Xe,ar=new i.bx(Ye,Vt,Ve,ht,Le,xe,Se);return this.loaded=this.loaded||{},this.loaded[Ye]=ar,ar})}removeTile(Ne){let Ye=this.loaded,Ve=Ne.uid;Ye&&Ye[Ve]&&delete Ye[Ve]}}function f(ut,Ne){if(ut.length!==0){h(ut[0],Ne);for(var Ye=1;Ye=Math.abs(xe)?Ye-Se+xe:xe-Se+Ye,Ye=Se}Ye+Ve>=0!=!!Ne&&ut.reverse()}var d=i.by(function ut(Ne,Ye){var Ve,Xe=Ne&&Ne.type;if(Xe===\"FeatureCollection\")for(Ve=0;Ve>31}function q(ut,Ne){for(var Ye=ut.loadGeometry(),Ve=ut.type,Xe=0,ht=0,Le=Ye.length,xe=0;xeut},G=Math.fround||(N=new Float32Array(1),ut=>(N[0]=+ut,N[0]));var N;let W=3,re=5,ae=6;class _e{constructor(Ne){this.options=Object.assign(Object.create(X),Ne),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(Ne){let{log:Ye,minZoom:Ve,maxZoom:Xe}=this.options;Ye&&console.time(\"total time\");let ht=`prepare ${Ne.length} points`;Ye&&console.time(ht),this.points=Ne;let Le=[];for(let Se=0;Se=Ve;Se--){let lt=+Date.now();xe=this.trees[Se]=this._createTree(this._cluster(xe,Se)),Ye&&console.log(\"z%d: %d clusters in %dms\",Se,xe.numItems,+Date.now()-lt)}return Ye&&console.timeEnd(\"total time\"),this}getClusters(Ne,Ye){let Ve=((Ne[0]+180)%360+360)%360-180,Xe=Math.max(-90,Math.min(90,Ne[1])),ht=Ne[2]===180?180:((Ne[2]+180)%360+360)%360-180,Le=Math.max(-90,Math.min(90,Ne[3]));if(Ne[2]-Ne[0]>=360)Ve=-180,ht=180;else if(Ve>ht){let Vt=this.getClusters([Ve,Xe,180,Le],Ye),ar=this.getClusters([-180,Xe,ht,Le],Ye);return Vt.concat(ar)}let xe=this.trees[this._limitZoom(Ye)],Se=xe.range(ge(Ve),ie(Le),ge(ht),ie(Xe)),lt=xe.data,Gt=[];for(let Vt of Se){let ar=this.stride*Vt;Gt.push(lt[ar+re]>1?Me(lt,ar,this.clusterProps):this.points[lt[ar+W]])}return Gt}getChildren(Ne){let Ye=this._getOriginId(Ne),Ve=this._getOriginZoom(Ne),Xe=\"No cluster with the specified id.\",ht=this.trees[Ve];if(!ht)throw new Error(Xe);let Le=ht.data;if(Ye*this.stride>=Le.length)throw new Error(Xe);let xe=this.options.radius/(this.options.extent*Math.pow(2,Ve-1)),Se=ht.within(Le[Ye*this.stride],Le[Ye*this.stride+1],xe),lt=[];for(let Gt of Se){let Vt=Gt*this.stride;Le[Vt+4]===Ne&<.push(Le[Vt+re]>1?Me(Le,Vt,this.clusterProps):this.points[Le[Vt+W]])}if(lt.length===0)throw new Error(Xe);return lt}getLeaves(Ne,Ye,Ve){let Xe=[];return this._appendLeaves(Xe,Ne,Ye=Ye||10,Ve=Ve||0,0),Xe}getTile(Ne,Ye,Ve){let Xe=this.trees[this._limitZoom(Ne)],ht=Math.pow(2,Ne),{extent:Le,radius:xe}=this.options,Se=xe/Le,lt=(Ve-Se)/ht,Gt=(Ve+1+Se)/ht,Vt={features:[]};return this._addTileFeatures(Xe.range((Ye-Se)/ht,lt,(Ye+1+Se)/ht,Gt),Xe.data,Ye,Ve,ht,Vt),Ye===0&&this._addTileFeatures(Xe.range(1-Se/ht,lt,1,Gt),Xe.data,ht,Ve,ht,Vt),Ye===ht-1&&this._addTileFeatures(Xe.range(0,lt,Se/ht,Gt),Xe.data,-1,Ve,ht,Vt),Vt.features.length?Vt:null}getClusterExpansionZoom(Ne){let Ye=this._getOriginZoom(Ne)-1;for(;Ye<=this.options.maxZoom;){let Ve=this.getChildren(Ne);if(Ye++,Ve.length!==1)break;Ne=Ve[0].properties.cluster_id}return Ye}_appendLeaves(Ne,Ye,Ve,Xe,ht){let Le=this.getChildren(Ye);for(let xe of Le){let Se=xe.properties;if(Se&&Se.cluster?ht+Se.point_count<=Xe?ht+=Se.point_count:ht=this._appendLeaves(Ne,Se.cluster_id,Ve,Xe,ht):ht1,Gt,Vt,ar;if(lt)Gt=ke(Ye,Se,this.clusterProps),Vt=Ye[Se],ar=Ye[Se+1];else{let jr=this.points[Ye[Se+W]];Gt=jr.properties;let[ri,bi]=jr.geometry.coordinates;Vt=ge(ri),ar=ie(bi)}let Qr={type:1,geometry:[[Math.round(this.options.extent*(Vt*ht-Ve)),Math.round(this.options.extent*(ar*ht-Xe))]],tags:Gt},ai;ai=lt||this.options.generateId?Ye[Se+W]:this.points[Ye[Se+W]].id,ai!==void 0&&(Qr.id=ai),Le.features.push(Qr)}}_limitZoom(Ne){return Math.max(this.options.minZoom,Math.min(Math.floor(+Ne),this.options.maxZoom+1))}_cluster(Ne,Ye){let{radius:Ve,extent:Xe,reduce:ht,minPoints:Le}=this.options,xe=Ve/(Xe*Math.pow(2,Ye)),Se=Ne.data,lt=[],Gt=this.stride;for(let Vt=0;VtYe&&(ri+=Se[nn+re])}if(ri>jr&&ri>=Le){let bi,nn=ar*jr,Wi=Qr*jr,Ni=-1,_n=((Vt/Gt|0)<<5)+(Ye+1)+this.points.length;for(let $i of ai){let zn=$i*Gt;if(Se[zn+2]<=Ye)continue;Se[zn+2]=Ye;let Wn=Se[zn+re];nn+=Se[zn]*Wn,Wi+=Se[zn+1]*Wn,Se[zn+4]=_n,ht&&(bi||(bi=this._map(Se,Vt,!0),Ni=this.clusterProps.length,this.clusterProps.push(bi)),ht(bi,this._map(Se,zn)))}Se[Vt+4]=_n,lt.push(nn/ri,Wi/ri,1/0,_n,-1,ri),ht&<.push(Ni)}else{for(let bi=0;bi1)for(let bi of ai){let nn=bi*Gt;if(!(Se[nn+2]<=Ye)){Se[nn+2]=Ye;for(let Wi=0;Wi>5}_getOriginZoom(Ne){return(Ne-this.points.length)%32}_map(Ne,Ye,Ve){if(Ne[Ye+re]>1){let Le=this.clusterProps[Ne[Ye+ae]];return Ve?Object.assign({},Le):Le}let Xe=this.points[Ne[Ye+W]].properties,ht=this.options.map(Xe);return Ve&&ht===Xe?Object.assign({},ht):ht}}function Me(ut,Ne,Ye){return{type:\"Feature\",id:ut[Ne+W],properties:ke(ut,Ne,Ye),geometry:{type:\"Point\",coordinates:[(Ve=ut[Ne],360*(Ve-.5)),Te(ut[Ne+1])]}};var Ve}function ke(ut,Ne,Ye){let Ve=ut[Ne+re],Xe=Ve>=1e4?`${Math.round(Ve/1e3)}k`:Ve>=1e3?Math.round(Ve/100)/10+\"k\":Ve,ht=ut[Ne+ae],Le=ht===-1?{}:Object.assign({},Ye[ht]);return Object.assign(Le,{cluster:!0,cluster_id:ut[Ne+W],point_count:Ve,point_count_abbreviated:Xe})}function ge(ut){return ut/360+.5}function ie(ut){let Ne=Math.sin(ut*Math.PI/180),Ye=.5-.25*Math.log((1+Ne)/(1-Ne))/Math.PI;return Ye<0?0:Ye>1?1:Ye}function Te(ut){let Ne=(180-360*ut)*Math.PI/180;return 360*Math.atan(Math.exp(Ne))/Math.PI-90}function Ee(ut,Ne,Ye,Ve){let Xe=Ve,ht=Ne+(Ye-Ne>>1),Le,xe=Ye-Ne,Se=ut[Ne],lt=ut[Ne+1],Gt=ut[Ye],Vt=ut[Ye+1];for(let ar=Ne+3;arXe)Le=ar,Xe=Qr;else if(Qr===Xe){let ai=Math.abs(ar-ht);aiVe&&(Le-Ne>3&&Ee(ut,Ne,Le,Ve),ut[Le+2]=Xe,Ye-Le>3&&Ee(ut,Le,Ye,Ve))}function Ae(ut,Ne,Ye,Ve,Xe,ht){let Le=Xe-Ye,xe=ht-Ve;if(Le!==0||xe!==0){let Se=((ut-Ye)*Le+(Ne-Ve)*xe)/(Le*Le+xe*xe);Se>1?(Ye=Xe,Ve=ht):Se>0&&(Ye+=Le*Se,Ve+=xe*Se)}return Le=ut-Ye,xe=Ne-Ve,Le*Le+xe*xe}function ze(ut,Ne,Ye,Ve){let Xe={id:ut==null?null:ut,type:Ne,geometry:Ye,tags:Ve,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(Ne===\"Point\"||Ne===\"MultiPoint\"||Ne===\"LineString\")Ce(Xe,Ye);else if(Ne===\"Polygon\")Ce(Xe,Ye[0]);else if(Ne===\"MultiLineString\")for(let ht of Ye)Ce(Xe,ht);else if(Ne===\"MultiPolygon\")for(let ht of Ye)Ce(Xe,ht[0]);return Xe}function Ce(ut,Ne){for(let Ye=0;Ye0&&(Le+=Ve?(Xe*Gt-lt*ht)/2:Math.sqrt(Math.pow(lt-Xe,2)+Math.pow(Gt-ht,2))),Xe=lt,ht=Gt}let xe=Ne.length-3;Ne[2]=1,Ee(Ne,0,xe,Ye),Ne[xe+2]=1,Ne.size=Math.abs(Le),Ne.start=0,Ne.end=Ne.size}function Ge(ut,Ne,Ye,Ve){for(let Xe=0;Xe1?1:Ye}function qt(ut,Ne,Ye,Ve,Xe,ht,Le,xe){if(Ve/=Ne,ht>=(Ye/=Ne)&&Le=Ve)return null;let Se=[];for(let lt of ut){let Gt=lt.geometry,Vt=lt.type,ar=Xe===0?lt.minX:lt.minY,Qr=Xe===0?lt.maxX:lt.maxY;if(ar>=Ye&&Qr=Ve)continue;let ai=[];if(Vt===\"Point\"||Vt===\"MultiPoint\")rt(Gt,ai,Ye,Ve,Xe);else if(Vt===\"LineString\")ot(Gt,ai,Ye,Ve,Xe,!1,xe.lineMetrics);else if(Vt===\"MultiLineString\")kt(Gt,ai,Ye,Ve,Xe,!1);else if(Vt===\"Polygon\")kt(Gt,ai,Ye,Ve,Xe,!0);else if(Vt===\"MultiPolygon\")for(let jr of Gt){let ri=[];kt(jr,ri,Ye,Ve,Xe,!0),ri.length&&ai.push(ri)}if(ai.length){if(xe.lineMetrics&&Vt===\"LineString\"){for(let jr of ai)Se.push(ze(lt.id,Vt,jr,lt.tags));continue}Vt!==\"LineString\"&&Vt!==\"MultiLineString\"||(ai.length===1?(Vt=\"LineString\",ai=ai[0]):Vt=\"MultiLineString\"),Vt!==\"Point\"&&Vt!==\"MultiPoint\"||(Vt=ai.length===3?\"Point\":\"MultiPoint\"),Se.push(ze(lt.id,Vt,ai,lt.tags))}}return Se.length?Se:null}function rt(ut,Ne,Ye,Ve,Xe){for(let ht=0;ht=Ye&&Le<=Ve&&Ct(Ne,ut[ht],ut[ht+1],ut[ht+2])}}function ot(ut,Ne,Ye,Ve,Xe,ht,Le){let xe=Rt(ut),Se=Xe===0?Yt:xr,lt,Gt,Vt=ut.start;for(let ri=0;riYe&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Le&&(xe.start=Vt+lt*Gt)):$i>Ve?zn=Ye&&(Gt=Se(xe,bi,nn,Ni,_n,Ye),Wn=!0),zn>Ve&&$i<=Ve&&(Gt=Se(xe,bi,nn,Ni,_n,Ve),Wn=!0),!ht&&Wn&&(Le&&(xe.end=Vt+lt*Gt),Ne.push(xe),xe=Rt(ut)),Le&&(Vt+=lt)}let ar=ut.length-3,Qr=ut[ar],ai=ut[ar+1],jr=Xe===0?Qr:ai;jr>=Ye&&jr<=Ve&&Ct(xe,Qr,ai,ut[ar+2]),ar=xe.length-3,ht&&ar>=3&&(xe[ar]!==xe[0]||xe[ar+1]!==xe[1])&&Ct(xe,xe[0],xe[1],xe[2]),xe.length&&Ne.push(xe)}function Rt(ut){let Ne=[];return Ne.size=ut.size,Ne.start=ut.start,Ne.end=ut.end,Ne}function kt(ut,Ne,Ye,Ve,Xe,ht){for(let Le of ut)ot(Le,Ne,Ye,Ve,Xe,ht,!1)}function Ct(ut,Ne,Ye,Ve){ut.push(Ne,Ye,Ve)}function Yt(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ne)/(Ve-Ne);return Ct(ut,ht,Ye+(Xe-Ye)*Le,1),Le}function xr(ut,Ne,Ye,Ve,Xe,ht){let Le=(ht-Ye)/(Xe-Ye);return Ct(ut,Ne+(Ve-Ne)*Le,ht,1),Le}function er(ut,Ne){let Ye=[];for(let Ve=0;Ve0&&Ne.size<(Xe?Le:Ve))return void(Ye.numPoints+=Ne.length/3);let xe=[];for(let Se=0;SeLe)&&(Ye.numSimplified++,xe.push(Ne[Se],Ne[Se+1])),Ye.numPoints++;Xe&&function(Se,lt){let Gt=0;for(let Vt=0,ar=Se.length,Qr=ar-2;Vt0===lt)for(let Vt=0,ar=Se.length;Vt24)throw new Error(\"maxZoom should be in the 0-24 range\");if(Ye.promoteId&&Ye.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let Xe=function(ht,Le){let xe=[];if(ht.type===\"FeatureCollection\")for(let Se=0;Se1&&console.time(\"creation\"),Qr=this.tiles[ar]=Lt(Ne,Ye,Ve,Xe,lt),this.tileCoords.push({z:Ye,x:Ve,y:Xe}),Gt)){Gt>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",Ye,Ve,Xe,Qr.numFeatures,Qr.numPoints,Qr.numSimplified),console.timeEnd(\"creation\"));let Wn=`z${Ye}`;this.stats[Wn]=(this.stats[Wn]||0)+1,this.total++}if(Qr.source=Ne,ht==null){if(Ye===lt.indexMaxZoom||Qr.numPoints<=lt.indexMaxPoints)continue}else{if(Ye===lt.maxZoom||Ye===ht)continue;if(ht!=null){let Wn=ht-Ye;if(Ve!==Le>>Wn||Xe!==xe>>Wn)continue}}if(Qr.source=null,Ne.length===0)continue;Gt>1&&console.time(\"clipping\");let ai=.5*lt.buffer/lt.extent,jr=.5-ai,ri=.5+ai,bi=1+ai,nn=null,Wi=null,Ni=null,_n=null,$i=qt(Ne,Vt,Ve-ai,Ve+ri,0,Qr.minX,Qr.maxX,lt),zn=qt(Ne,Vt,Ve+jr,Ve+bi,0,Qr.minX,Qr.maxX,lt);Ne=null,$i&&(nn=qt($i,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),Wi=qt($i,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),$i=null),zn&&(Ni=qt(zn,Vt,Xe-ai,Xe+ri,1,Qr.minY,Qr.maxY,lt),_n=qt(zn,Vt,Xe+jr,Xe+bi,1,Qr.minY,Qr.maxY,lt),zn=null),Gt>1&&console.timeEnd(\"clipping\"),Se.push(nn||[],Ye+1,2*Ve,2*Xe),Se.push(Wi||[],Ye+1,2*Ve,2*Xe+1),Se.push(Ni||[],Ye+1,2*Ve+1,2*Xe),Se.push(_n||[],Ye+1,2*Ve+1,2*Xe+1)}}getTile(Ne,Ye,Ve){Ne=+Ne,Ye=+Ye,Ve=+Ve;let Xe=this.options,{extent:ht,debug:Le}=Xe;if(Ne<0||Ne>24)return null;let xe=1<1&&console.log(\"drilling down to z%d-%d-%d\",Ne,Ye,Ve);let lt,Gt=Ne,Vt=Ye,ar=Ve;for(;!lt&&Gt>0;)Gt--,Vt>>=1,ar>>=1,lt=this.tiles[$t(Gt,Vt,ar)];return lt&<.source?(Le>1&&(console.log(\"found parent tile z%d-%d-%d\",Gt,Vt,ar),console.time(\"drilling down\")),this.splitTile(lt.source,Gt,Vt,ar,Ne,Ye,Ve),Le>1&&console.timeEnd(\"drilling down\"),this.tiles[Se]?xt(this.tiles[Se],ht):null):null}}function $t(ut,Ne,Ye){return 32*((1<{Vt.properties=Qr;let ai={};for(let jr of ar)ai[jr]=Se[jr].evaluate(Gt,Vt);return ai},Le.reduce=(Qr,ai)=>{Vt.properties=ai;for(let jr of ar)Gt.accumulated=Qr[jr],Qr[jr]=lt[jr].evaluate(Gt,Vt)},Le}(Ne)).load((yield this._pendingData).features):(Xe=yield this._pendingData,new Ht(Xe,Ne.geojsonVtOptions)),this.loaded={};let ht={};if(Ve){let Le=Ve.finish();Le&&(ht.resourceTiming={},ht.resourceTiming[Ne.source]=JSON.parse(JSON.stringify(Le)))}return ht}catch(ht){if(delete this._pendingRequest,i.bB(ht))return{abandoned:!0};throw ht}var Xe})}getData(){return i._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(Ne){let Ye=this.loaded;return Ye&&Ye[Ne.uid]?super.reloadTile(Ne):this.loadTile(Ne)}loadAndProcessGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let Ve=yield this.loadGeoJSON(Ne,Ye);if(delete this._pendingRequest,typeof Ve!=\"object\")throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(d(Ve,!0),Ne.filter){let Xe=i.bC(Ne.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(Xe.result===\"error\")throw new Error(Xe.value.map(Le=>`${Le.key}: ${Le.message}`).join(\", \"));Ve={type:\"FeatureCollection\",features:Ve.features.filter(Le=>Xe.value.evaluate({zoom:0},Le))}}return Ve})}loadGeoJSON(Ne,Ye){return i._(this,void 0,void 0,function*(){let{promoteId:Ve}=Ne;if(Ne.request){let Xe=yield i.h(Ne.request,Ye);return this._dataUpdateable=_r(Xe.data,Ve)?Br(Xe.data,Ve):void 0,Xe.data}if(typeof Ne.data==\"string\")try{let Xe=JSON.parse(Ne.data);return this._dataUpdateable=_r(Xe,Ve)?Br(Xe,Ve):void 0,Xe}catch(Xe){throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`)}if(!Ne.dataDiff)throw new Error(`Input data given to '${Ne.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${Ne.source}`);return function(Xe,ht,Le){var xe,Se,lt,Gt;if(ht.removeAll&&Xe.clear(),ht.remove)for(let Vt of ht.remove)Xe.delete(Vt);if(ht.add)for(let Vt of ht.add){let ar=fr(Vt,Le);ar!=null&&Xe.set(ar,Vt)}if(ht.update)for(let Vt of ht.update){let ar=Xe.get(Vt.id);if(ar==null)continue;let Qr=!Vt.removeAllProperties&&(((xe=Vt.removeProperties)===null||xe===void 0?void 0:xe.length)>0||((Se=Vt.addOrUpdateProperties)===null||Se===void 0?void 0:Se.length)>0);if((Vt.newGeometry||Vt.removeAllProperties||Qr)&&(ar=Object.assign({},ar),Xe.set(Vt.id,ar),Qr&&(ar.properties=Object.assign({},ar.properties))),Vt.newGeometry&&(ar.geometry=Vt.newGeometry),Vt.removeAllProperties)ar.properties={};else if(((lt=Vt.removeProperties)===null||lt===void 0?void 0:lt.length)>0)for(let ai of Vt.removeProperties)Object.prototype.hasOwnProperty.call(ar.properties,ai)&&delete ar.properties[ai];if(((Gt=Vt.addOrUpdateProperties)===null||Gt===void 0?void 0:Gt.length)>0)for(let{key:ai,value:jr}of Vt.addOrUpdateProperties)ar.properties[ai]=jr}}(this._dataUpdateable,Ne.dataDiff,Ve),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}})}removeSource(Ne){return i._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(Ne){return this._geoJSONIndex.getClusterExpansionZoom(Ne.clusterId)}getClusterChildren(Ne){return this._geoJSONIndex.getChildren(Ne.clusterId)}getClusterLeaves(Ne){return this._geoJSONIndex.getLeaves(Ne.clusterId,Ne.limit,Ne.offset)}}class Nr{constructor(Ne){this.self=Ne,this.actor=new i.F(Ne),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(Ye,Ve)=>{if(this.externalWorkerSourceTypes[Ye])throw new Error(`Worker source with name \"${Ye}\" already registered.`);this.externalWorkerSourceTypes[Ye]=Ve},this.self.addProtocol=i.bi,this.self.removeProtocol=i.bj,this.self.registerRTLTextPlugin=Ye=>{if(i.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");i.bD.setMethods(Ye)},this.actor.registerMessageHandler(\"LDT\",(Ye,Ve)=>this._getDEMWorkerSource(Ye,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RDT\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getDEMWorkerSource(Ye,Ve.source).removeTile(Ve)})),this.actor.registerMessageHandler(\"GCEZ\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterExpansionZoom(Ve)})),this.actor.registerMessageHandler(\"GCC\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterChildren(Ve)})),this.actor.registerMessageHandler(\"GCL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){return this._getWorkerSource(Ye,Ve.type,Ve.source).getClusterLeaves(Ve)})),this.actor.registerMessageHandler(\"LD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadData(Ve)),this.actor.registerMessageHandler(\"GD\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).getData()),this.actor.registerMessageHandler(\"LT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).loadTile(Ve)),this.actor.registerMessageHandler(\"RT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).reloadTile(Ve)),this.actor.registerMessageHandler(\"AT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).abortTile(Ve)),this.actor.registerMessageHandler(\"RMT\",(Ye,Ve)=>this._getWorkerSource(Ye,Ve.type,Ve.source).removeTile(Ve)),this.actor.registerMessageHandler(\"RS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){if(!this.workerSources[Ye]||!this.workerSources[Ye][Ve.type]||!this.workerSources[Ye][Ve.type][Ve.source])return;let Xe=this.workerSources[Ye][Ve.type][Ve.source];delete this.workerSources[Ye][Ve.type][Ve.source],Xe.removeSource!==void 0&&Xe.removeSource(Ve)})),this.actor.registerMessageHandler(\"RM\",Ye=>i._(this,void 0,void 0,function*(){delete this.layerIndexes[Ye],delete this.availableImages[Ye],delete this.workerSources[Ye],delete this.demWorkerSources[Ye]})),this.actor.registerMessageHandler(\"SR\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.referrer=Ve})),this.actor.registerMessageHandler(\"SRPS\",(Ye,Ve)=>this._syncRTLPluginState(Ye,Ve)),this.actor.registerMessageHandler(\"IS\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this.self.importScripts(Ve)})),this.actor.registerMessageHandler(\"SI\",(Ye,Ve)=>this._setImages(Ye,Ve)),this.actor.registerMessageHandler(\"UL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).update(Ve.layers,Ve.removedIds)})),this.actor.registerMessageHandler(\"SL\",(Ye,Ve)=>i._(this,void 0,void 0,function*(){this._getLayerIndex(Ye).replace(Ve)}))}_setImages(Ne,Ye){return i._(this,void 0,void 0,function*(){this.availableImages[Ne]=Ye;for(let Ve in this.workerSources[Ne]){let Xe=this.workerSources[Ne][Ve];for(let ht in Xe)Xe[ht].availableImages=Ye}})}_syncRTLPluginState(Ne,Ye){return i._(this,void 0,void 0,function*(){if(i.bD.isParsed())return i.bD.getState();if(Ye.pluginStatus!==\"loading\")return i.bD.setState(Ye),Ye;let Ve=Ye.pluginURL;if(this.self.importScripts(Ve),i.bD.isParsed()){let Xe={pluginStatus:\"loaded\",pluginURL:Ve};return i.bD.setState(Xe),Xe}throw i.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${Ve}`)})}_getAvailableImages(Ne){let Ye=this.availableImages[Ne];return Ye||(Ye=[]),Ye}_getLayerIndex(Ne){let Ye=this.layerIndexes[Ne];return Ye||(Ye=this.layerIndexes[Ne]=new a),Ye}_getWorkerSource(Ne,Ye,Ve){if(this.workerSources[Ne]||(this.workerSources[Ne]={}),this.workerSources[Ne][Ye]||(this.workerSources[Ne][Ye]={}),!this.workerSources[Ne][Ye][Ve]){let Xe={sendAsync:(ht,Le)=>(ht.targetMapId=Ne,this.actor.sendAsync(ht,Le))};switch(Ye){case\"vector\":this.workerSources[Ne][Ye][Ve]=new u(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;case\"geojson\":this.workerSources[Ne][Ye][Ve]=new Or(Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne));break;default:this.workerSources[Ne][Ye][Ve]=new this.externalWorkerSourceTypes[Ye](Xe,this._getLayerIndex(Ne),this._getAvailableImages(Ne))}}return this.workerSources[Ne][Ye][Ve]}_getDEMWorkerSource(Ne,Ye){return this.demWorkerSources[Ne]||(this.demWorkerSources[Ne]={}),this.demWorkerSources[Ne][Ye]||(this.demWorkerSources[Ne][Ye]=new c),this.demWorkerSources[Ne][Ye]}}return i.i(self)&&(self.worker=new Nr(self)),Nr}),r(\"index\",[\"exports\",\"./shared\"],function(i,a){\"use strict\";var o=\"4.7.1\";let s,l,u={now:typeof performance!=\"undefined\"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:le=>new Promise((w,B)=>{let Q=requestAnimationFrame(w);le.signal.addEventListener(\"abort\",()=>{cancelAnimationFrame(Q),B(a.c())})}),getImageData(le,w=0){return this.getImageCanvasContext(le).getImageData(-w,-w,le.width+2*w,le.height+2*w)},getImageCanvasContext(le){let w=window.document.createElement(\"canvas\"),B=w.getContext(\"2d\",{willReadFrequently:!0});if(!B)throw new Error(\"failed to create canvas 2d context\");return w.width=le.width,w.height=le.height,B.drawImage(le,0,0,le.width,le.height),B},resolveURL:le=>(s||(s=document.createElement(\"a\")),s.href=le,s.href),hardwareConcurrency:typeof navigator!=\"undefined\"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(l==null&&(l=matchMedia(\"(prefers-reduced-motion: reduce)\")),l.matches)}};class c{static testProp(w){if(!c.docStyle)return w[0];for(let B=0;B{window.removeEventListener(\"click\",c.suppressClickInternal,!0)},0)}static getScale(w){let B=w.getBoundingClientRect();return{x:B.width/w.offsetWidth||1,y:B.height/w.offsetHeight||1,boundingClientRect:B}}static getPoint(w,B,Q){let ee=B.boundingClientRect;return new a.P((Q.clientX-ee.left)/B.x-w.clientLeft,(Q.clientY-ee.top)/B.y-w.clientTop)}static mousePos(w,B){let Q=c.getScale(w);return c.getPoint(w,Q,B)}static touchPos(w,B){let Q=[],ee=c.getScale(w);for(let se=0;se{h&&b(h),h=null,x=!0},d.onerror=()=>{v=!0,h=null},d.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(le){let w,B,Q,ee;le.resetRequestQueue=()=>{w=[],B=0,Q=0,ee={}},le.addThrottleControl=it=>{let yt=Q++;return ee[yt]=it,yt},le.removeThrottleControl=it=>{delete ee[it],qe()},le.getImage=(it,yt,Ot=!0)=>new Promise((Nt,hr)=>{f.supported&&(it.headers||(it.headers={}),it.headers.accept=\"image/webp,*/*\"),a.e(it,{type:\"image\"}),w.push({abortController:yt,requestParameters:it,supportImageRefresh:Ot,state:\"queued\",onError:Sr=>{hr(Sr)},onSuccess:Sr=>{Nt(Sr)}}),qe()});let se=it=>a._(this,void 0,void 0,function*(){it.state=\"running\";let{requestParameters:yt,supportImageRefresh:Ot,onError:Nt,onSuccess:hr,abortController:Sr}=it,he=Ot===!1&&!a.i(self)&&!a.g(yt.url)&&(!yt.headers||Object.keys(yt.headers).reduce((Oe,Je)=>Oe&&Je===\"accept\",!0));B++;let be=he?je(yt,Sr):a.m(yt,Sr);try{let Oe=yield be;delete it.abortController,it.state=\"completed\",Oe.data instanceof HTMLImageElement||a.b(Oe.data)?hr(Oe):Oe.data&&hr({data:yield(Pe=Oe.data,typeof createImageBitmap==\"function\"?a.d(Pe):a.f(Pe)),cacheControl:Oe.cacheControl,expires:Oe.expires})}catch(Oe){delete it.abortController,Nt(Oe)}finally{B--,qe()}var Pe}),qe=()=>{let it=(()=>{for(let yt of Object.keys(ee))if(ee[yt]())return!0;return!1})()?a.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:a.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let yt=B;yt0;yt++){let Ot=w.shift();Ot.abortController.signal.aborted?yt--:se(Ot)}},je=(it,yt)=>new Promise((Ot,Nt)=>{let hr=new Image,Sr=it.url,he=it.credentials;he&&he===\"include\"?hr.crossOrigin=\"use-credentials\":(he&&he===\"same-origin\"||!a.s(Sr))&&(hr.crossOrigin=\"anonymous\"),yt.signal.addEventListener(\"abort\",()=>{hr.src=\"\",Nt(a.c())}),hr.fetchPriority=\"high\",hr.onload=()=>{hr.onerror=hr.onload=null,Ot({data:hr})},hr.onerror=()=>{hr.onerror=hr.onload=null,yt.signal.aborted||Nt(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"))},hr.src=Sr})}(g||(g={})),g.resetRequestQueue();class E{constructor(w){this._transformRequestFn=w}transformRequest(w,B){return this._transformRequestFn&&this._transformRequestFn(w,B)||{url:w}}setTransformRequest(w){this._transformRequestFn=w}}function k(le){var w=new a.A(3);return w[0]=le[0],w[1]=le[1],w[2]=le[2],w}var A,L=function(le,w,B){return le[0]=w[0]-B[0],le[1]=w[1]-B[1],le[2]=w[2]-B[2],le};A=new a.A(3),a.A!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0);var _=function(le){var w=le[0],B=le[1];return w*w+B*B};function C(le){let w=[];if(typeof le==\"string\")w.push({id:\"default\",url:le});else if(le&&le.length>0){let B=[];for(let{id:Q,url:ee}of le){let se=`${Q}${ee}`;B.indexOf(se)===-1&&(B.push(se),w.push({id:Q,url:ee}))}}return w}function M(le,w,B){let Q=le.split(\"?\");return Q[0]+=`${w}${B}`,Q.join(\"?\")}(function(){var le=new a.A(2);a.A!=Float32Array&&(le[0]=0,le[1]=0)})();class p{constructor(w,B,Q,ee){this.context=w,this.format=Q,this.texture=w.gl.createTexture(),this.update(B,ee)}update(w,B,Q){let{width:ee,height:se}=w,qe=!(this.size&&this.size[0]===ee&&this.size[1]===se||Q),{context:je}=this,{gl:it}=je;if(this.useMipmap=!!(B&&B.useMipmap),it.bindTexture(it.TEXTURE_2D,this.texture),je.pixelStoreUnpackFlipY.set(!1),je.pixelStoreUnpack.set(1),je.pixelStoreUnpackPremultiplyAlpha.set(this.format===it.RGBA&&(!B||B.premultiply!==!1)),qe)this.size=[ee,se],w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texImage2D(it.TEXTURE_2D,0,this.format,this.format,it.UNSIGNED_BYTE,w):it.texImage2D(it.TEXTURE_2D,0,this.format,ee,se,0,this.format,it.UNSIGNED_BYTE,w.data);else{let{x:yt,y:Ot}=Q||{x:0,y:0};w instanceof HTMLImageElement||w instanceof HTMLCanvasElement||w instanceof HTMLVideoElement||w instanceof ImageData||a.b(w)?it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,it.RGBA,it.UNSIGNED_BYTE,w):it.texSubImage2D(it.TEXTURE_2D,0,yt,Ot,ee,se,it.RGBA,it.UNSIGNED_BYTE,w.data)}this.useMipmap&&this.isSizePowerOfTwo()&&it.generateMipmap(it.TEXTURE_2D)}bind(w,B,Q){let{context:ee}=this,{gl:se}=ee;se.bindTexture(se.TEXTURE_2D,this.texture),Q!==se.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(Q=se.LINEAR),w!==this.filter&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,w),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,Q||w),this.filter=w),B!==this.wrap&&(se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,B),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,B),this.wrap=B)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:w}=this.context;w.deleteTexture(this.texture),this.texture=null}}function P(le){let{userImage:w}=le;return!!(w&&w.render&&w.render())&&(le.data.replace(new Uint8Array(w.data.buffer)),!0)}class T extends a.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new a.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(w){if(this.loaded!==w&&(this.loaded=w,w)){for(let{ids:B,promiseResolve:Q}of this.requestors)Q(this._getImagesForIds(B));this.requestors=[]}}getImage(w){let B=this.images[w];if(B&&!B.data&&B.spriteData){let Q=B.spriteData;B.data=new a.R({width:Q.width,height:Q.height},Q.context.getImageData(Q.x,Q.y,Q.width,Q.height).data),B.spriteData=null}return B}addImage(w,B){if(this.images[w])throw new Error(`Image id ${w} already exist, use updateImage instead`);this._validate(w,B)&&(this.images[w]=B)}_validate(w,B){let Q=!0,ee=B.data||B.spriteData;return this._validateStretch(B.stretchX,ee&&ee.width)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchX\" value`))),Q=!1),this._validateStretch(B.stretchY,ee&&ee.height)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"stretchY\" value`))),Q=!1),this._validateContent(B.content,B)||(this.fire(new a.j(new Error(`Image \"${w}\" has invalid \"content\" value`))),Q=!1),Q}_validateStretch(w,B){if(!w)return!0;let Q=0;for(let ee of w){if(ee[0]{let ee=!0;if(!this.isLoaded())for(let se of w)this.images[se]||(ee=!1);this.isLoaded()||ee?B(this._getImagesForIds(w)):this.requestors.push({ids:w,promiseResolve:B})})}_getImagesForIds(w){let B={};for(let Q of w){let ee=this.getImage(Q);ee||(this.fire(new a.k(\"styleimagemissing\",{id:Q})),ee=this.getImage(Q)),ee?B[Q]={data:ee.data.clone(),pixelRatio:ee.pixelRatio,sdf:ee.sdf,version:ee.version,stretchX:ee.stretchX,stretchY:ee.stretchY,content:ee.content,textFitWidth:ee.textFitWidth,textFitHeight:ee.textFitHeight,hasRenderCallback:!!(ee.userImage&&ee.userImage.render)}:a.w(`Image \"${Q}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`)}return B}getPixelSize(){let{width:w,height:B}=this.atlasImage;return{width:w,height:B}}getPattern(w){let B=this.patterns[w],Q=this.getImage(w);if(!Q)return null;if(B&&B.position.version===Q.version)return B.position;if(B)B.position.version=Q.version;else{let ee={w:Q.data.width+2,h:Q.data.height+2,x:0,y:0},se=new a.I(ee,Q);this.patterns[w]={bin:ee,position:se}}return this._updatePatternAtlas(),this.patterns[w].position}bind(w){let B=w.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new p(w,this.atlasImage,B.RGBA),this.atlasTexture.bind(B.LINEAR,B.CLAMP_TO_EDGE)}_updatePatternAtlas(){let w=[];for(let se in this.patterns)w.push(this.patterns[se].bin);let{w:B,h:Q}=a.p(w),ee=this.atlasImage;ee.resize({width:B||1,height:Q||1});for(let se in this.patterns){let{bin:qe}=this.patterns[se],je=qe.x+1,it=qe.y+1,yt=this.getImage(se).data,Ot=yt.width,Nt=yt.height;a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it},{width:Ot,height:Nt}),a.R.copy(yt,ee,{x:0,y:Nt-1},{x:je,y:it-1},{width:Ot,height:1}),a.R.copy(yt,ee,{x:0,y:0},{x:je,y:it+Nt},{width:Ot,height:1}),a.R.copy(yt,ee,{x:Ot-1,y:0},{x:je-1,y:it},{width:1,height:Nt}),a.R.copy(yt,ee,{x:0,y:0},{x:je+Ot,y:it},{width:1,height:Nt})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(w){for(let B of w){if(this.callbackDispatchedThisFrame[B])continue;this.callbackDispatchedThisFrame[B]=!0;let Q=this.getImage(B);Q||a.w(`Image with ID: \"${B}\" was not found`),P(Q)&&this.updateImage(B,Q)}}}let F=1e20;function q(le,w,B,Q,ee,se,qe,je,it){for(let yt=w;yt-1);it++,se[it]=je,qe[it]=yt,qe[it+1]=F}for(let je=0,it=0;je65535)throw new Error(\"glyphs > 65535 not supported\");if(Q.ranges[se])return{stack:w,id:B,glyph:ee};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!Q.requests[se]){let je=H.loadGlyphRange(w,se,this.url,this.requestManager);Q.requests[se]=je}let qe=yield Q.requests[se];for(let je in qe)this._doesCharSupportLocalGlyph(+je)||(Q.glyphs[+je]=qe[+je]);return Q.ranges[se]=!0,{stack:w,id:B,glyph:qe[B]||null}})}_doesCharSupportLocalGlyph(w){return!!this.localIdeographFontFamily&&new RegExp(\"\\\\p{Ideo}|\\\\p{sc=Hang}|\\\\p{sc=Hira}|\\\\p{sc=Kana}\",\"u\").test(String.fromCodePoint(w))}_tinySDF(w,B,Q){let ee=this.localIdeographFontFamily;if(!ee||!this._doesCharSupportLocalGlyph(Q))return;let se=w.tinySDF;if(!se){let je=\"400\";/bold/i.test(B)?je=\"900\":/medium/i.test(B)?je=\"500\":/light/i.test(B)&&(je=\"200\"),se=w.tinySDF=new H.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:ee,fontWeight:je})}let qe=se.draw(String.fromCharCode(Q));return{id:Q,bitmap:new a.o({width:qe.width||60,height:qe.height||60},qe.data),metrics:{width:qe.glyphWidth/2||24,height:qe.glyphHeight/2||24,left:qe.glyphLeft/2+.5||0,top:qe.glyphTop/2-27.5||-8,advance:qe.glyphAdvance/2||24,isDoubleResolution:!0}}}}H.loadGlyphRange=function(le,w,B,Q){return a._(this,void 0,void 0,function*(){let ee=256*w,se=ee+255,qe=Q.transformRequest(B.replace(\"{fontstack}\",le).replace(\"{range}\",`${ee}-${se}`),\"Glyphs\"),je=yield a.l(qe,new AbortController);if(!je||!je.data)throw new Error(`Could not load glyph range. range: ${w}, ${ee}-${se}`);let it={};for(let yt of a.n(je.data))it[yt.id]=yt;return it})},H.TinySDF=class{constructor({fontSize:le=24,buffer:w=3,radius:B=8,cutoff:Q=.25,fontFamily:ee=\"sans-serif\",fontWeight:se=\"normal\",fontStyle:qe=\"normal\"}={}){this.buffer=w,this.cutoff=Q,this.radius=B;let je=this.size=le+4*w,it=this._createCanvas(je),yt=this.ctx=it.getContext(\"2d\",{willReadFrequently:!0});yt.font=`${qe} ${se} ${le}px ${ee}`,yt.textBaseline=\"alphabetic\",yt.textAlign=\"left\",yt.fillStyle=\"black\",this.gridOuter=new Float64Array(je*je),this.gridInner=new Float64Array(je*je),this.f=new Float64Array(je),this.z=new Float64Array(je+1),this.v=new Uint16Array(je)}_createCanvas(le){let w=document.createElement(\"canvas\");return w.width=w.height=le,w}draw(le){let{width:w,actualBoundingBoxAscent:B,actualBoundingBoxDescent:Q,actualBoundingBoxLeft:ee,actualBoundingBoxRight:se}=this.ctx.measureText(le),qe=Math.ceil(B),je=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(se-ee))),it=Math.min(this.size-this.buffer,qe+Math.ceil(Q)),yt=je+2*this.buffer,Ot=it+2*this.buffer,Nt=Math.max(yt*Ot,0),hr=new Uint8ClampedArray(Nt),Sr={data:hr,width:yt,height:Ot,glyphWidth:je,glyphHeight:it,glyphTop:qe,glyphLeft:0,glyphAdvance:w};if(je===0||it===0)return Sr;let{ctx:he,buffer:be,gridInner:Pe,gridOuter:Oe}=this;he.clearRect(be,be,je,it),he.fillText(le,be,be+qe);let Je=he.getImageData(be,be,je,it);Oe.fill(F,0,Nt),Pe.fill(0,0,Nt);for(let He=0;He0?Ut*Ut:0,Pe[Dt]=Ut<0?Ut*Ut:0}}q(Oe,0,0,yt,Ot,yt,this.f,this.v,this.z),q(Pe,be,be,je,it,yt,this.f,this.v,this.z);for(let He=0;He1&&(it=w[++je]);let Ot=Math.abs(yt-it.left),Nt=Math.abs(yt-it.right),hr=Math.min(Ot,Nt),Sr,he=se/Q*(ee+1);if(it.isDash){let be=ee-Math.abs(he);Sr=Math.sqrt(hr*hr+be*be)}else Sr=ee-Math.sqrt(hr*hr+he*he);this.data[qe+yt]=Math.max(0,Math.min(255,Sr+128))}}}addRegularDash(w){for(let je=w.length-1;je>=0;--je){let it=w[je],yt=w[je+1];it.zeroLength?w.splice(je,1):yt&&yt.isDash===it.isDash&&(yt.left=it.left,w.splice(je,1))}let B=w[0],Q=w[w.length-1];B.isDash===Q.isDash&&(B.left=Q.left-this.width,Q.right=B.right+this.width);let ee=this.width*this.nextRow,se=0,qe=w[se];for(let je=0;je1&&(qe=w[++se]);let it=Math.abs(je-qe.left),yt=Math.abs(je-qe.right),Ot=Math.min(it,yt);this.data[ee+je]=Math.max(0,Math.min(255,(qe.isDash?Ot:-Ot)+128))}}addDash(w,B){let Q=B?7:0,ee=2*Q+1;if(this.nextRow+ee>this.height)return a.w(\"LineAtlas out of space\"),null;let se=0;for(let je=0;je{B.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[_e]}numActive(){return Object.keys(this.active).length}}let ke=Math.floor(u.hardwareConcurrency/2),ge,ie;function Te(){return ge||(ge=new Me),ge}Me.workerCount=a.C(globalThis)?Math.max(Math.min(ke,3),1):1;class Ee{constructor(w,B){this.workerPool=w,this.actors=[],this.currentActor=0,this.id=B;let Q=this.workerPool.acquire(B);for(let ee=0;ee{B.remove()}),this.actors=[],w&&this.workerPool.release(this.id)}registerMessageHandler(w,B){for(let Q of this.actors)Q.registerMessageHandler(w,B)}}function Ae(){return ie||(ie=new Ee(Te(),a.G),ie.registerMessageHandler(\"GR\",(le,w,B)=>a.m(w,B))),ie}function ze(le,w){let B=a.H();return a.J(B,B,[1,1,0]),a.K(B,B,[.5*le.width,.5*le.height,1]),a.L(B,B,le.calculatePosMatrix(w.toUnwrapped()))}function Ce(le,w,B,Q,ee,se){let qe=function(Nt,hr,Sr){if(Nt)for(let he of Nt){let be=hr[he];if(be&&be.source===Sr&&be.type===\"fill-extrusion\")return!0}else for(let he in hr){let be=hr[he];if(be.source===Sr&&be.type===\"fill-extrusion\")return!0}return!1}(ee&&ee.layers,w,le.id),je=se.maxPitchScaleFactor(),it=le.tilesIn(Q,je,qe);it.sort(me);let yt=[];for(let Nt of it)yt.push({wrappedTileID:Nt.tileID.wrapped().key,queryResults:Nt.tile.queryRenderedFeatures(w,B,le._state,Nt.queryGeometry,Nt.cameraQueryGeometry,Nt.scale,ee,se,je,ze(le.transform,Nt.tileID))});let Ot=function(Nt){let hr={},Sr={};for(let he of Nt){let be=he.queryResults,Pe=he.wrappedTileID,Oe=Sr[Pe]=Sr[Pe]||{};for(let Je in be){let He=be[Je],et=Oe[Je]=Oe[Je]||{},Mt=hr[Je]=hr[Je]||[];for(let Dt of He)et[Dt.featureIndex]||(et[Dt.featureIndex]=!0,Mt.push(Dt))}}return hr}(yt);for(let Nt in Ot)Ot[Nt].forEach(hr=>{let Sr=hr.feature,he=le.getFeatureState(Sr.layer[\"source-layer\"],Sr.id);Sr.source=Sr.layer.source,Sr.layer[\"source-layer\"]&&(Sr.sourceLayer=Sr.layer[\"source-layer\"]),Sr.state=he});return Ot}function me(le,w){let B=le.tileID,Q=w.tileID;return B.overscaledZ-Q.overscaledZ||B.canonical.y-Q.canonical.y||B.wrap-Q.wrap||B.canonical.x-Q.canonical.x}function Re(le,w,B){return a._(this,void 0,void 0,function*(){let Q=le;if(le.url?Q=(yield a.h(w.transformRequest(le.url,\"Source\"),B)).data:yield u.frameAsync(B),!Q)return null;let ee=a.M(a.e(Q,le),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return\"vector_layers\"in Q&&Q.vector_layers&&(ee.vectorLayerIds=Q.vector_layers.map(se=>se.id)),ee})}class ce{constructor(w,B){w&&(B?this.setSouthWest(w).setNorthEast(B):Array.isArray(w)&&(w.length===4?this.setSouthWest([w[0],w[1]]).setNorthEast([w[2],w[3]]):this.setSouthWest(w[0]).setNorthEast(w[1])))}setNorthEast(w){return this._ne=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}setSouthWest(w){return this._sw=w instanceof a.N?new a.N(w.lng,w.lat):a.N.convert(w),this}extend(w){let B=this._sw,Q=this._ne,ee,se;if(w instanceof a.N)ee=w,se=w;else{if(!(w instanceof ce))return Array.isArray(w)?w.length===4||w.every(Array.isArray)?this.extend(ce.convert(w)):this.extend(a.N.convert(w)):w&&(\"lng\"in w||\"lon\"in w)&&\"lat\"in w?this.extend(a.N.convert(w)):this;if(ee=w._sw,se=w._ne,!ee||!se)return this}return B||Q?(B.lng=Math.min(ee.lng,B.lng),B.lat=Math.min(ee.lat,B.lat),Q.lng=Math.max(se.lng,Q.lng),Q.lat=Math.max(se.lat,Q.lat)):(this._sw=new a.N(ee.lng,ee.lat),this._ne=new a.N(se.lng,se.lat)),this}getCenter(){return new a.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new a.N(this.getWest(),this.getNorth())}getSouthEast(){return new a.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(w){let{lng:B,lat:Q}=a.N.convert(w),ee=this._sw.lng<=B&&B<=this._ne.lng;return this._sw.lng>this._ne.lng&&(ee=this._sw.lng>=B&&B>=this._ne.lng),this._sw.lat<=Q&&Q<=this._ne.lat&&ee}static convert(w){return w instanceof ce?w:w&&new ce(w)}static fromLngLat(w,B=0){let Q=360*B/40075017,ee=Q/Math.cos(Math.PI/180*w.lat);return new ce(new a.N(w.lng-ee,w.lat-Q),new a.N(w.lng+ee,w.lat+Q))}adjustAntiMeridian(){let w=new a.N(this._sw.lng,this._sw.lat),B=new a.N(this._ne.lng,this._ne.lat);return new ce(w,w.lng>B.lng?new a.N(B.lng+360,B.lat):B)}}class Ge{constructor(w,B,Q){this.bounds=ce.convert(this.validateBounds(w)),this.minzoom=B||0,this.maxzoom=Q||24}validateBounds(w){return Array.isArray(w)&&w.length===4?[Math.max(-180,w[0]),Math.max(-90,w[1]),Math.min(180,w[2]),Math.min(90,w[3])]:[-180,-90,180,90]}contains(w){let B=Math.pow(2,w.z),Q=Math.floor(a.O(this.bounds.getWest())*B),ee=Math.floor(a.Q(this.bounds.getNorth())*B),se=Math.ceil(a.O(this.bounds.getEast())*B),qe=Math.ceil(a.Q(this.bounds.getSouth())*B);return w.x>=Q&&w.x=ee&&w.y{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return a.e({},this._options)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q={request:this.map._requestManager.transformRequest(B,\"Tile\"),uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,tileSize:this.tileSize*w.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};Q.request.collectResourceTiming=this._collectResourceTiming;let ee=\"RT\";if(w.actor&&w.state!==\"expired\"){if(w.state===\"loading\")return new Promise((se,qe)=>{w.reloadPromise={resolve:se,reject:qe}})}else w.actor=this.dispatcher.getActor(),ee=\"LT\";w.abortController=new AbortController;try{let se=yield w.actor.sendAsync({type:ee,data:Q},w.abortController);if(delete w.abortController,w.aborted)return;this._afterTileLoadWorkerResponse(w,se)}catch(se){if(delete w.abortController,w.aborted)return;if(se&&se.status!==404)throw se;this._afterTileLoadWorkerResponse(w,null)}})}_afterTileLoadWorkerResponse(w,B){if(B&&B.resourceTiming&&(w.resourceTiming=B.resourceTiming),B&&this.map._refreshExpiredTiles&&w.setExpiryData(B),w.loadVectorData(B,this.map.painter),w.reloadPromise){let Q=w.reloadPromise;w.reloadPromise=null,this.loadTile(w).then(Q.resolve).catch(Q.reject)}}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.actor&&(yield w.actor.sendAsync({type:\"AT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),w.actor&&(yield w.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ct extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.setEventedParent(ee),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=a.e({type:\"raster\"},B),a.e(this,a.M(B,[\"url\",\"scheme\",\"tileSize\"]))}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{let w=yield Re(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,w&&(a.e(this,w),w.bounds&&(this.tileBounds=new Ge(w.bounds,this.minzoom,this.maxzoom)),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})))}catch(w){this._tileJSONRequest=null,this.fire(new a.j(w))}})}loaded(){return this._loaded}onAdd(w){this.map=w,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(w){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),w(),this.load()}setTiles(w){return this.setSourceProperty(()=>{this._options.tiles=w}),this}setUrl(w){return this.setSourceProperty(()=>{this.url=w,this._options.url=w}),this}serialize(){return a.e({},this._options)}hasTile(w){return!this.tileBounds||this.tileBounds.contains(w.canonical)}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);w.abortController=new AbortController;try{let Q=yield g.getImage(this.map._requestManager.transformRequest(B,\"Tile\"),w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(Q&&Q.data){this.map._refreshExpiredTiles&&Q.cacheControl&&Q.expires&&w.setExpiryData({cacheControl:Q.cacheControl,expires:Q.expires});let ee=this.map.painter.context,se=ee.gl,qe=Q.data;w.texture=this.map.painter.getTileTexture(qe.width),w.texture?w.texture.update(qe,{useMipmap:!0}):(w.texture=new p(ee,qe,se.RGBA,{useMipmap:!0}),w.texture.bind(se.LINEAR,se.CLAMP_TO_EDGE,se.LINEAR_MIPMAP_NEAREST)),w.state=\"loaded\"}}catch(Q){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(Q)throw w.state=\"errored\",Q}})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController)})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.texture&&this.map.painter.saveTileTexture(w.texture)})}hasTransition(){return!1}}class qt extends ct{constructor(w,B,Q,ee){super(w,B,Q,ee),this.type=\"raster-dem\",this.maxzoom=22,this._options=a.e({type:\"raster-dem\"},B),this.encoding=B.encoding||\"mapbox\",this.redFactor=B.redFactor,this.greenFactor=B.greenFactor,this.blueFactor=B.blueFactor,this.baseShift=B.baseShift}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),Q=this.map._requestManager.transformRequest(B,\"Tile\");w.neighboringTiles=this._getNeighboringTiles(w.tileID),w.abortController=new AbortController;try{let ee=yield g.getImage(Q,w.abortController,this.map._refreshExpiredTiles);if(delete w.abortController,w.aborted)return void(w.state=\"unloaded\");if(ee&&ee.data){let se=ee.data;this.map._refreshExpiredTiles&&ee.cacheControl&&ee.expires&&w.setExpiryData({cacheControl:ee.cacheControl,expires:ee.expires});let qe=a.b(se)&&a.U()?se:yield this.readImageNow(se),je={type:this.type,uid:w.uid,source:this.id,rawImageData:qe,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!w.actor||w.state===\"expired\"){w.actor=this.dispatcher.getActor();let it=yield w.actor.sendAsync({type:\"LDT\",data:je});w.dem=it,w.needsHillshadePrepare=!0,w.needsTerrainPrepare=!0,w.state=\"loaded\"}}}catch(ee){if(delete w.abortController,w.aborted)w.state=\"unloaded\";else if(ee)throw w.state=\"errored\",ee}})}readImageNow(w){return a._(this,void 0,void 0,function*(){if(typeof VideoFrame!=\"undefined\"&&a.V()){let B=w.width+2,Q=w.height+2;try{return new a.R({width:B,height:Q},yield a.W(w,-1,-1,B,Q))}catch(ee){}}return u.getImageData(w,1)})}_getNeighboringTiles(w){let B=w.canonical,Q=Math.pow(2,B.z),ee=(B.x-1+Q)%Q,se=B.x===0?w.wrap-1:w.wrap,qe=(B.x+1+Q)%Q,je=B.x+1===Q?w.wrap+1:w.wrap,it={};return it[new a.S(w.overscaledZ,se,B.z,ee,B.y).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y).key]={backfilled:!1},B.y>0&&(it[new a.S(w.overscaledZ,se,B.z,ee,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,w.wrap,B.z,B.x,B.y-1).key]={backfilled:!1},it[new a.S(w.overscaledZ,je,B.z,qe,B.y-1).key]={backfilled:!1}),B.y+10&&a.e(se,{resourceTiming:ee}),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"metadata\"}))),this.fire(new a.k(\"data\",Object.assign(Object.assign({},se),{sourceDataType:\"content\"})))}catch(Q){if(this._pendingLoads--,this._removed)return void this.fire(new a.k(\"dataabort\",{dataType:\"source\"}));this.fire(new a.j(Q))}})}loaded(){return this._pendingLoads===0}loadTile(w){return a._(this,void 0,void 0,function*(){let B=w.actor?\"RT\":\"LT\";w.actor=this.actor;let Q={type:this.type,uid:w.uid,tileID:w.tileID,zoom:w.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};w.abortController=new AbortController;let ee=yield this.actor.sendAsync({type:B,data:Q},w.abortController);delete w.abortController,w.unloadVectorData(),w.aborted||w.loadVectorData(ee,this.map.painter,B===\"RT\")})}abortTile(w){return a._(this,void 0,void 0,function*(){w.abortController&&(w.abortController.abort(),delete w.abortController),w.aborted=!0})}unloadTile(w){return a._(this,void 0,void 0,function*(){w.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:w.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}})}serialize(){return a.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var ot=a.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Rt extends a.E{constructor(w,B,Q,ee){super(),this.id=w,this.dispatcher=Q,this.coordinates=B.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(ee),this.options=B}load(w){return a._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new a.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{let B=yield g.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,B&&B.data&&(this.image=B.data,w&&(this.coordinates=w),this._finishLoading())}catch(B){this._request=null,this._loaded=!0,this.fire(new a.j(B))}})}loaded(){return this._loaded}updateImage(w){return w.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=w.url,this.load(w.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})))}onAdd(w){this.map=w,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(w){this.coordinates=w;let B=w.map(a.Z.fromLngLat);this.tileID=function(ee){let se=1/0,qe=1/0,je=-1/0,it=-1/0;for(let hr of ee)se=Math.min(se,hr.x),qe=Math.min(qe,hr.y),je=Math.max(je,hr.x),it=Math.max(it,hr.y);let yt=Math.max(je-se,it-qe),Ot=Math.max(0,Math.floor(-Math.log(yt)/Math.LN2)),Nt=Math.pow(2,Ot);return new a.a1(Ot,Math.floor((se+je)/2*Nt),Math.floor((qe+it)/2*Nt))}(B),this.minzoom=this.maxzoom=this.tileID.z;let Q=B.map(ee=>this.tileID.getTilePoint(ee)._round());return this._boundsArray=new a.$,this._boundsArray.emplaceBack(Q[0].x,Q[0].y,0,0),this._boundsArray.emplaceBack(Q[1].x,Q[1].y,a.X,0),this._boundsArray.emplaceBack(Q[3].x,Q[3].y,0,a.X),this._boundsArray.emplaceBack(Q[2].x,Q[2].y,a.X,a.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new p(w,this.image,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}loadTile(w){return a._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(w.tileID.canonical)?(this.tiles[String(w.tileID.wrap)]=w,w.buckets={}):w.state=\"errored\"})}serialize(){return{type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class kt extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),this.roundZoom=!0,this.type=\"video\",this.options=B}load(){return a._(this,void 0,void 0,function*(){this._loaded=!1;let w=this.options;this.urls=[];for(let B of w.urls)this.urls.push(this.map._requestManager.transformRequest(B,\"Source\").url);try{let B=yield a.a3(this.urls);if(this._loaded=!0,!B)return;this.video=B,this.video.loop=!0,this.video.addEventListener(\"playing\",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(B){this.fire(new a.j(B))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(w){if(this.video){let B=this.video.seekable;wB.end(0)?this.fire(new a.j(new a.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${B.start(0)} and ${B.end(0)}-second mark.`))):this.video.currentTime=w}}getVideo(){return this.video}onAdd(w){this.map||(this.map=w,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;let w=this.map.painter.context,B=w.gl;this.boundsBuffer||(this.boundsBuffer=w.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE),B.texSubImage2D(B.TEXTURE_2D,0,0,0,B.RGBA,B.UNSIGNED_BYTE,this.video)):(this.texture=new p(w,this.video,B.RGBA),this.texture.bind(B.LINEAR,B.CLAMP_TO_EDGE));let Q=!1;for(let ee in this.tiles){let se=this.tiles[ee];se.state!==\"loaded\"&&(se.state=\"loaded\",se.texture=this.texture,Q=!0)}Q&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Ct extends Rt{constructor(w,B,Q,ee){super(w,B,Q,ee),B.coordinates?Array.isArray(B.coordinates)&&B.coordinates.length===4&&!B.coordinates.some(se=>!Array.isArray(se)||se.length!==2||se.some(qe=>typeof qe!=\"number\"))||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"coordinates\"'))),B.animate&&typeof B.animate!=\"boolean\"&&this.fire(new a.j(new a.a2(`sources.${w}`,null,'optional \"animate\" property must be a boolean value'))),B.canvas?typeof B.canvas==\"string\"||B.canvas instanceof HTMLCanvasElement||this.fire(new a.j(new a.a2(`sources.${w}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new a.j(new a.a2(`sources.${w}`,null,'missing required property \"canvas\"'))),this.options=B,this.animate=B.animate===void 0||B.animate}load(){return a._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new a.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(w){this.map=w,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let w=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,w=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,w=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;let B=this.map.painter.context,Q=B.gl;this.boundsBuffer||(this.boundsBuffer=B.createVertexBuffer(this._boundsArray,ot.members)),this.boundsSegments||(this.boundsSegments=a.a0.simpleSegment(0,0,4,2)),this.texture?(w||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new p(B,this.canvas,Q.RGBA,{premultiply:!0});let ee=!1;for(let se in this.tiles){let qe=this.tiles[se];qe.state!==\"loaded\"&&(qe.state=\"loaded\",qe.texture=this.texture,ee=!0)}ee&&this.fire(new a.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}))}serialize(){return{type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let w of[this.canvas.width,this.canvas.height])if(isNaN(w)||w<=0)return!0;return!1}}let Yt={},xr=le=>{switch(le){case\"geojson\":return rt;case\"image\":return Rt;case\"raster\":return ct;case\"raster-dem\":return qt;case\"vector\":return nt;case\"video\":return kt;case\"canvas\":return Ct}return Yt[le]},er=\"RTLPluginLoaded\";class Ke extends a.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=Ae()}_syncState(w){return this.status=w,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:w,pluginURL:this.url}).catch(B=>{throw this.status=\"error\",B})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null}setRTLTextPlugin(w){return a._(this,arguments,void 0,function*(B,Q=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=u.resolveURL(B),!this.url)throw new Error(`requested url ${B} is invalid`);if(this.status===\"unavailable\"){if(!Q)return this._requestImport();this.status=\"deferred\",this._syncState(this.status)}else if(this.status===\"requested\")return this._requestImport()})}_requestImport(){return a._(this,void 0,void 0,function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new a.k(er))})}lazyLoad(){this.status===\"unavailable\"?this.status=\"requested\":this.status===\"deferred\"&&this._requestImport()}}let xt=null;function bt(){return xt||(xt=new Ke),xt}class Lt{constructor(w,B){this.timeAdded=0,this.fadeEndTime=0,this.tileID=w,this.uid=a.a4(),this.uses=0,this.tileSize=B,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\"}registerFadeDuration(w){let B=w+this.timeAdded;Bse.getLayer(yt)).filter(Boolean);if(it.length!==0){je.layers=it,je.stateDependentLayerIds&&(je.stateDependentLayers=je.stateDependentLayerIds.map(yt=>it.filter(Ot=>Ot.id===yt)[0]));for(let yt of it)qe[yt.id]=je}}return qe}(w.buckets,B.style),this.hasSymbolBuckets=!1;for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6){if(this.hasSymbolBuckets=!0,!Q)break;se.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let ee in this.buckets){let se=this.buckets[ee];if(se instanceof a.a6&&se.hasRTLText){this.hasRTLText=!0,bt().lazyLoad();break}}this.queryPadding=0;for(let ee in this.buckets){let se=this.buckets[ee];this.queryPadding=Math.max(this.queryPadding,B.style.getLayer(ee).queryRadius(se))}w.imageAtlas&&(this.imageAtlas=w.imageAtlas),w.glyphAtlasImage&&(this.glyphAtlasImage=w.glyphAtlasImage)}else this.collisionBoxArray=new a.a5}unloadVectorData(){for(let w in this.buckets)this.buckets[w].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\"}getBucket(w){return this.buckets[w.id]}upload(w){for(let Q in this.buckets){let ee=this.buckets[Q];ee.uploadPending()&&ee.upload(w)}let B=w.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new p(w,this.imageAtlas.image,B.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new p(w,this.glyphAtlasImage,B.ALPHA),this.glyphAtlasImage=null)}prepare(w){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(w,this.imageAtlasTexture)}queryRenderedFeatures(w,B,Q,ee,se,qe,je,it,yt,Ot){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:ee,cameraQueryGeometry:se,scale:qe,tileSize:this.tileSize,pixelPosMatrix:Ot,transform:it,params:je,queryPadding:this.queryPadding*yt},w,B,Q):{}}querySourceFeatures(w,B){let Q=this.latestFeatureIndex;if(!Q||!Q.rawTileData)return;let ee=Q.loadVTLayers(),se=B&&B.sourceLayer?B.sourceLayer:\"\",qe=ee._geojsonTileLayer||ee[se];if(!qe)return;let je=a.a7(B&&B.filter),{z:it,x:yt,y:Ot}=this.tileID.canonical,Nt={z:it,x:yt,y:Ot};for(let hr=0;hrQ)ee=!1;else if(B)if(this.expirationTime{this.remove(w,se)},Q)),this.data[ee].push(se),this.order.push(ee),this.order.length>this.max){let qe=this._getAndRemoveByKey(this.order[0]);qe&&this.onRemove(qe)}return this}has(w){return w.wrapped().key in this.data}getAndRemove(w){return this.has(w)?this._getAndRemoveByKey(w.wrapped().key):null}_getAndRemoveByKey(w){let B=this.data[w].shift();return B.timeout&&clearTimeout(B.timeout),this.data[w].length===0&&delete this.data[w],this.order.splice(this.order.indexOf(w),1),B.value}getByKey(w){let B=this.data[w];return B?B[0].value:null}get(w){return this.has(w)?this.data[w.wrapped().key][0].value:null}remove(w,B){if(!this.has(w))return this;let Q=w.wrapped().key,ee=B===void 0?0:this.data[Q].indexOf(B),se=this.data[Q][ee];return this.data[Q].splice(ee,1),se.timeout&&clearTimeout(se.timeout),this.data[Q].length===0&&delete this.data[Q],this.onRemove(se.value),this.order.splice(this.order.indexOf(Q),1),this}setMaxSize(w){for(this.max=w;this.order.length>this.max;){let B=this._getAndRemoveByKey(this.order[0]);B&&this.onRemove(B)}return this}filter(w){let B=[];for(let Q in this.data)for(let ee of this.data[Q])w(ee.value)||B.push(ee);for(let Q of B)this.remove(Q.value.tileID,Q)}}class Et{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(w,B,Q){let ee=String(B);if(this.stateChanges[w]=this.stateChanges[w]||{},this.stateChanges[w][ee]=this.stateChanges[w][ee]||{},a.e(this.stateChanges[w][ee],Q),this.deletedStates[w]===null){this.deletedStates[w]={};for(let se in this.state[w])se!==ee&&(this.deletedStates[w][se]=null)}else if(this.deletedStates[w]&&this.deletedStates[w][ee]===null){this.deletedStates[w][ee]={};for(let se in this.state[w][ee])Q[se]||(this.deletedStates[w][ee][se]=null)}else for(let se in Q)this.deletedStates[w]&&this.deletedStates[w][ee]&&this.deletedStates[w][ee][se]===null&&delete this.deletedStates[w][ee][se]}removeFeatureState(w,B,Q){if(this.deletedStates[w]===null)return;let ee=String(B);if(this.deletedStates[w]=this.deletedStates[w]||{},Q&&B!==void 0)this.deletedStates[w][ee]!==null&&(this.deletedStates[w][ee]=this.deletedStates[w][ee]||{},this.deletedStates[w][ee][Q]=null);else if(B!==void 0)if(this.stateChanges[w]&&this.stateChanges[w][ee])for(Q in this.deletedStates[w][ee]={},this.stateChanges[w][ee])this.deletedStates[w][ee][Q]=null;else this.deletedStates[w][ee]=null;else this.deletedStates[w]=null}getState(w,B){let Q=String(B),ee=a.e({},(this.state[w]||{})[Q],(this.stateChanges[w]||{})[Q]);if(this.deletedStates[w]===null)return{};if(this.deletedStates[w]){let se=this.deletedStates[w][B];if(se===null)return{};for(let qe in se)delete ee[qe]}return ee}initializeTileState(w,B){w.setFeatureState(this.state,B)}coalesceChanges(w,B){let Q={};for(let ee in this.stateChanges){this.state[ee]=this.state[ee]||{};let se={};for(let qe in this.stateChanges[ee])this.state[ee][qe]||(this.state[ee][qe]={}),a.e(this.state[ee][qe],this.stateChanges[ee][qe]),se[qe]=this.state[ee][qe];Q[ee]=se}for(let ee in this.deletedStates){this.state[ee]=this.state[ee]||{};let se={};if(this.deletedStates[ee]===null)for(let qe in this.state[ee])se[qe]={},this.state[ee][qe]={};else for(let qe in this.deletedStates[ee]){if(this.deletedStates[ee][qe]===null)this.state[ee][qe]={};else for(let je of Object.keys(this.deletedStates[ee][qe]))delete this.state[ee][qe][je];se[qe]=this.state[ee][qe]}Q[ee]=Q[ee]||{},a.e(Q[ee],se)}if(this.stateChanges={},this.deletedStates={},Object.keys(Q).length!==0)for(let ee in w)w[ee].setFeatureState(Q,B)}}class dt extends a.E{constructor(w,B,Q){super(),this.id=w,this.dispatcher=Q,this.on(\"data\",ee=>this._dataHandler(ee)),this.on(\"dataloading\",()=>{this._sourceErrored=!1}),this.on(\"error\",()=>{this._sourceErrored=this._source.loaded()}),this._source=((ee,se,qe,je)=>{let it=new(xr(se.type))(ee,se,qe,je);if(it.id!==ee)throw new Error(`Expected Source id to be ${ee} instead of ${it.id}`);return it})(w,B,Q,this),this._tiles={},this._cache=new St(0,ee=>this._unloadTile(ee)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new Et,this._didEmitContent=!1,this._updated=!1}onAdd(w){this.map=w,this._maxTileCacheSize=w?w._maxTileCacheSize:null,this._maxTileCacheZoomLevels=w?w._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(w)}onRemove(w){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(w)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(let w in this._tiles){let B=this._tiles[w];if(B.state!==\"loaded\"&&B.state!==\"errored\")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;let w=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,w&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(w,B,Q){return a._(this,void 0,void 0,function*(){try{yield this._source.loadTile(w),this._tileLoaded(w,B,Q)}catch(ee){w.state=\"errored\",ee.status!==404?this._source.fire(new a.j(ee,{tile:w})):this.update(this.transform,this.terrain)}})}_unloadTile(w){this._source.unloadTile&&this._source.unloadTile(w)}_abortTile(w){this._source.abortTile&&this._source.abortTile(w),this._source.fire(new a.k(\"dataabort\",{tile:w,coord:w.tileID,dataType:\"source\"}))}serialize(){return this._source.serialize()}prepare(w){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(let B in this._tiles){let Q=this._tiles[B];Q.upload(w),Q.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(w=>w.tileID).sort(Ht).map(w=>w.key)}getRenderableIds(w){let B=[];for(let Q in this._tiles)this._isIdRenderable(Q,w)&&B.push(this._tiles[Q]);return w?B.sort((Q,ee)=>{let se=Q.tileID,qe=ee.tileID,je=new a.P(se.canonical.x,se.canonical.y)._rotate(this.transform.angle),it=new a.P(qe.canonical.x,qe.canonical.y)._rotate(this.transform.angle);return se.overscaledZ-qe.overscaledZ||it.y-je.y||it.x-je.x}).map(Q=>Q.tileID.key):B.map(Q=>Q.tileID).sort(Ht).map(Q=>Q.key)}hasRenderableParent(w){let B=this.findLoadedParent(w,0);return!!B&&this._isIdRenderable(B.tileID.key)}_isIdRenderable(w,B){return this._tiles[w]&&this._tiles[w].hasData()&&!this._coveredTiles[w]&&(B||!this._tiles[w].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(let w in this._tiles)this._tiles[w].state!==\"errored\"&&this._reloadTile(w,\"reloading\")}}_reloadTile(w,B){return a._(this,void 0,void 0,function*(){let Q=this._tiles[w];Q&&(Q.state!==\"loading\"&&(Q.state=B),yield this._loadTile(Q,w,B))})}_tileLoaded(w,B,Q){w.timeAdded=u.now(),Q===\"expired\"&&(w.refreshedUponExpiration=!0),this._setTileReloadTimer(B,w),this.getSource().type===\"raster-dem\"&&w.dem&&this._backfillDEM(w),this._state.initializeTileState(w,this.map?this.map.painter:null),w.aborted||this._source.fire(new a.k(\"data\",{dataType:\"source\",tile:w,coord:w.tileID}))}_backfillDEM(w){let B=this.getRenderableIds();for(let ee=0;ee1||(Math.abs(qe)>1&&(Math.abs(qe+it)===1?qe+=it:Math.abs(qe-it)===1&&(qe-=it)),se.dem&&ee.dem&&(ee.dem.backfillBorder(se.dem,qe,je),ee.neighboringTiles&&ee.neighboringTiles[yt]&&(ee.neighboringTiles[yt].backfilled=!0)))}}getTile(w){return this.getTileByID(w.key)}getTileByID(w){return this._tiles[w]}_retainLoadedChildren(w,B,Q,ee){for(let se in this._tiles){let qe=this._tiles[se];if(ee[se]||!qe.hasData()||qe.tileID.overscaledZ<=B||qe.tileID.overscaledZ>Q)continue;let je=qe.tileID;for(;qe&&qe.tileID.overscaledZ>B+1;){let yt=qe.tileID.scaledTo(qe.tileID.overscaledZ-1);qe=this._tiles[yt.key],qe&&qe.hasData()&&(je=yt)}let it=je;for(;it.overscaledZ>B;)if(it=it.scaledTo(it.overscaledZ-1),w[it.key]){ee[je.key]=je;break}}}findLoadedParent(w,B){if(w.key in this._loadedParentTiles){let Q=this._loadedParentTiles[w.key];return Q&&Q.tileID.overscaledZ>=B?Q:null}for(let Q=w.overscaledZ-1;Q>=B;Q--){let ee=w.scaledTo(Q),se=this._getLoadedTile(ee);if(se)return se}}findLoadedSibling(w){return this._getLoadedTile(w)}_getLoadedTile(w){let B=this._tiles[w.key];return B&&B.hasData()?B:this._cache.getByKey(w.wrapped().key)}updateCacheSize(w){let B=Math.ceil(w.width/this._source.tileSize)+1,Q=Math.ceil(w.height/this._source.tileSize)+1,ee=Math.floor(B*Q*(this._maxTileCacheZoomLevels===null?a.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),se=typeof this._maxTileCacheSize==\"number\"?Math.min(this._maxTileCacheSize,ee):ee;this._cache.setMaxSize(se)}handleWrapJump(w){let B=Math.round((w-(this._prevLng===void 0?w:this._prevLng))/360);if(this._prevLng=w,B){let Q={};for(let ee in this._tiles){let se=this._tiles[ee];se.tileID=se.tileID.unwrapTo(se.tileID.wrap+B),Q[se.tileID.key]=se}this._tiles=Q;for(let ee in this._timers)clearTimeout(this._timers[ee]),delete this._timers[ee];for(let ee in this._tiles)this._setTileReloadTimer(ee,this._tiles[ee])}}_updateCoveredAndRetainedTiles(w,B,Q,ee,se,qe){let je={},it={},yt=Object.keys(w),Ot=u.now();for(let Nt of yt){let hr=w[Nt],Sr=this._tiles[Nt];if(!Sr||Sr.fadeEndTime!==0&&Sr.fadeEndTime<=Ot)continue;let he=this.findLoadedParent(hr,B),be=this.findLoadedSibling(hr),Pe=he||be||null;Pe&&(this._addTile(Pe.tileID),je[Pe.tileID.key]=Pe.tileID),it[Nt]=hr}this._retainLoadedChildren(it,ee,Q,w);for(let Nt in je)w[Nt]||(this._coveredTiles[Nt]=!0,w[Nt]=je[Nt]);if(qe){let Nt={},hr={};for(let Sr of se)this._tiles[Sr.key].hasData()?Nt[Sr.key]=Sr:hr[Sr.key]=Sr;for(let Sr in hr){let he=hr[Sr].children(this._source.maxzoom);this._tiles[he[0].key]&&this._tiles[he[1].key]&&this._tiles[he[2].key]&&this._tiles[he[3].key]&&(Nt[he[0].key]=w[he[0].key]=he[0],Nt[he[1].key]=w[he[1].key]=he[1],Nt[he[2].key]=w[he[2].key]=he[2],Nt[he[3].key]=w[he[3].key]=he[3],delete hr[Sr])}for(let Sr in hr){let he=hr[Sr],be=this.findLoadedParent(he,this._source.minzoom),Pe=this.findLoadedSibling(he),Oe=be||Pe||null;if(Oe){Nt[Oe.tileID.key]=w[Oe.tileID.key]=Oe.tileID;for(let Je in Nt)Nt[Je].isChildOf(Oe.tileID)&&delete Nt[Je]}}for(let Sr in this._tiles)Nt[Sr]||(this._coveredTiles[Sr]=!0)}}update(w,B){if(!this._sourceLoaded||this._paused)return;let Q;this.transform=w,this.terrain=B,this.updateCacheSize(w),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?Q=w.getVisibleUnwrappedCoordinates(this._source.tileID).map(Ot=>new a.S(Ot.canonical.z,Ot.wrap,Ot.canonical.z,Ot.canonical.x,Ot.canonical.y)):(Q=w.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:B}),this._source.hasTile&&(Q=Q.filter(Ot=>this._source.hasTile(Ot)))):Q=[];let ee=w.coveringZoomLevel(this._source),se=Math.max(ee-dt.maxOverzooming,this._source.minzoom),qe=Math.max(ee+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){let Ot={};for(let Nt of Q)if(Nt.canonical.z>this._source.minzoom){let hr=Nt.scaledTo(Nt.canonical.z-1);Ot[hr.key]=hr;let Sr=Nt.scaledTo(Math.max(this._source.minzoom,Math.min(Nt.canonical.z,5)));Ot[Sr.key]=Sr}Q=Q.concat(Object.values(Ot))}let je=Q.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,je&&this.fire(new a.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));let it=this._updateRetainedTiles(Q,ee);$t(this._source.type)&&this._updateCoveredAndRetainedTiles(it,se,qe,ee,Q,B);for(let Ot in it)this._tiles[Ot].clearFadeHold();let yt=a.ab(this._tiles,it);for(let Ot of yt){let Nt=this._tiles[Ot];Nt.hasSymbolBuckets&&!Nt.holdingForFade()?Nt.setHoldDuration(this.map._fadeDuration):Nt.hasSymbolBuckets&&!Nt.symbolFadeFinished()||this._removeTile(Ot)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(let w in this._tiles)this._tiles[w].holdingForFade()&&this._removeTile(w)}_updateRetainedTiles(w,B){var Q;let ee={},se={},qe=Math.max(B-dt.maxOverzooming,this._source.minzoom),je=Math.max(B+dt.maxUnderzooming,this._source.minzoom),it={};for(let yt of w){let Ot=this._addTile(yt);ee[yt.key]=yt,Ot.hasData()||Bthis._source.maxzoom){let hr=yt.children(this._source.maxzoom)[0],Sr=this.getTile(hr);if(Sr&&Sr.hasData()){ee[hr.key]=hr;continue}}else{let hr=yt.children(this._source.maxzoom);if(ee[hr[0].key]&&ee[hr[1].key]&&ee[hr[2].key]&&ee[hr[3].key])continue}let Nt=Ot.wasRequested();for(let hr=yt.overscaledZ-1;hr>=qe;--hr){let Sr=yt.scaledTo(hr);if(se[Sr.key])break;if(se[Sr.key]=!0,Ot=this.getTile(Sr),!Ot&&Nt&&(Ot=this._addTile(Sr)),Ot){let he=Ot.hasData();if((he||!(!((Q=this.map)===null||Q===void 0)&&Q.cancelPendingTileRequestsWhileZooming)||Nt)&&(ee[Sr.key]=Sr),Nt=Ot.wasRequested(),he)break}}}return ee}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(let w in this._tiles){let B=[],Q,ee=this._tiles[w].tileID;for(;ee.overscaledZ>0;){if(ee.key in this._loadedParentTiles){Q=this._loadedParentTiles[ee.key];break}B.push(ee.key);let se=ee.scaledTo(ee.overscaledZ-1);if(Q=this._getLoadedTile(se),Q)break;ee=se}for(let se of B)this._loadedParentTiles[se]=Q}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(let w in this._tiles){let B=this._tiles[w].tileID,Q=this._getLoadedTile(B);this._loadedSiblingTiles[B.key]=Q}}_addTile(w){let B=this._tiles[w.key];if(B)return B;B=this._cache.getAndRemove(w),B&&(this._setTileReloadTimer(w.key,B),B.tileID=w,this._state.initializeTileState(B,this.map?this.map.painter:null),this._cacheTimers[w.key]&&(clearTimeout(this._cacheTimers[w.key]),delete this._cacheTimers[w.key],this._setTileReloadTimer(w.key,B)));let Q=B;return B||(B=new Lt(w,this._source.tileSize*w.overscaleFactor()),this._loadTile(B,w.key,B.state)),B.uses++,this._tiles[w.key]=B,Q||this._source.fire(new a.k(\"dataloading\",{tile:B,coord:B.tileID,dataType:\"source\"})),B}_setTileReloadTimer(w,B){w in this._timers&&(clearTimeout(this._timers[w]),delete this._timers[w]);let Q=B.getExpiryTimeout();Q&&(this._timers[w]=setTimeout(()=>{this._reloadTile(w,\"expired\"),delete this._timers[w]},Q))}_removeTile(w){let B=this._tiles[w];B&&(B.uses--,delete this._tiles[w],this._timers[w]&&(clearTimeout(this._timers[w]),delete this._timers[w]),B.uses>0||(B.hasData()&&B.state!==\"reloading\"?this._cache.add(B.tileID,B,B.getExpiryTimeout()):(B.aborted=!0,this._abortTile(B),this._unloadTile(B))))}_dataHandler(w){let B=w.sourceDataType;w.dataType===\"source\"&&B===\"metadata\"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&w.dataType===\"source\"&&B===\"content\"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let w in this._tiles)this._removeTile(w);this._cache.reset()}tilesIn(w,B,Q){let ee=[],se=this.transform;if(!se)return ee;let qe=Q?se.getCameraQueryGeometry(w):w,je=w.map(he=>se.pointCoordinate(he,this.terrain)),it=qe.map(he=>se.pointCoordinate(he,this.terrain)),yt=this.getIds(),Ot=1/0,Nt=1/0,hr=-1/0,Sr=-1/0;for(let he of it)Ot=Math.min(Ot,he.x),Nt=Math.min(Nt,he.y),hr=Math.max(hr,he.x),Sr=Math.max(Sr,he.y);for(let he=0;he=0&&He[1].y+Je>=0){let et=je.map(Dt=>Pe.getTilePoint(Dt)),Mt=it.map(Dt=>Pe.getTilePoint(Dt));ee.push({tile:be,tileID:Pe,queryGeometry:et,cameraQueryGeometry:Mt,scale:Oe})}}return ee}getVisibleCoordinates(w){let B=this.getRenderableIds(w).map(Q=>this._tiles[Q].tileID);for(let Q of B)Q.posMatrix=this.transform.calculatePosMatrix(Q.toUnwrapped());return B}hasTransition(){if(this._source.hasTransition())return!0;if($t(this._source.type)){let w=u.now();for(let B in this._tiles)if(this._tiles[B].fadeEndTime>=w)return!0}return!1}setFeatureState(w,B,Q){this._state.updateState(w=w||\"_geojsonTileLayer\",B,Q)}removeFeatureState(w,B,Q){this._state.removeFeatureState(w=w||\"_geojsonTileLayer\",B,Q)}getFeatureState(w,B){return this._state.getState(w=w||\"_geojsonTileLayer\",B)}setDependencies(w,B,Q){let ee=this._tiles[w];ee&&ee.setDependencies(B,Q)}reloadTilesForDependencies(w,B){for(let Q in this._tiles)this._tiles[Q].hasDependency(w,B)&&this._reloadTile(Q,\"reloading\");this._cache.filter(Q=>!Q.hasDependency(w,B))}}function Ht(le,w){let B=Math.abs(2*le.wrap)-+(le.wrap<0),Q=Math.abs(2*w.wrap)-+(w.wrap<0);return le.overscaledZ-w.overscaledZ||Q-B||w.canonical.y-le.canonical.y||w.canonical.x-le.canonical.x}function $t(le){return le===\"raster\"||le===\"image\"||le===\"video\"}dt.maxOverzooming=10,dt.maxUnderzooming=3;class fr{constructor(w,B){this.reset(w,B)}reset(w,B){this.points=w||[],this._distances=[0];for(let Q=1;Q0?(ee-qe)/je:0;return this.points[se].mult(1-it).add(this.points[B].mult(it))}}function _r(le,w){let B=!0;return le===\"always\"||le!==\"never\"&&w!==\"never\"||(B=!1),B}class Br{constructor(w,B,Q){let ee=this.boxCells=[],se=this.circleCells=[];this.xCellCount=Math.ceil(w/Q),this.yCellCount=Math.ceil(B/Q);for(let qe=0;qethis.width||ee<0||B>this.height)return[];let it=[];if(w<=0&&B<=0&&this.width<=Q&&this.height<=ee){if(se)return[{key:null,x1:w,y1:B,x2:Q,y2:ee}];for(let yt=0;yt0}hitTestCircle(w,B,Q,ee,se){let qe=w-Q,je=w+Q,it=B-Q,yt=B+Q;if(je<0||qe>this.width||yt<0||it>this.height)return!1;let Ot=[];return this._forEachCell(qe,it,je,yt,this._queryCellCircle,Ot,{hitTest:!0,overlapMode:ee,circle:{x:w,y:B,radius:Q},seenUids:{box:{},circle:{}}},se),Ot.length>0}_queryCell(w,B,Q,ee,se,qe,je,it){let{seenUids:yt,hitTest:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!yt.box[be]){yt.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(w<=he[Pe+2]&&B<=he[Pe+3]&&Q>=he[Pe+0]&&ee>=he[Pe+1]&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))&&(qe.push({key:Oe,x1:he[Pe],y1:he[Pe+1],x2:he[Pe+2],y2:he[Pe+3]}),Ot))return!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!yt.circle[be]){yt.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circleAndRectCollide(he[Pe],he[Pe+1],he[Pe+2],w,B,Q,ee)&&(!it||it(Oe))&&(!Ot||!_r(Nt,Oe.overlapMode))){let Je=he[Pe],He=he[Pe+1],et=he[Pe+2];if(qe.push({key:Oe,x1:Je-et,y1:He-et,x2:Je+et,y2:He+et}),Ot)return!0}}}return!1}_queryCellCircle(w,B,Q,ee,se,qe,je,it){let{circle:yt,seenUids:Ot,overlapMode:Nt}=je,hr=this.boxCells[se];if(hr!==null){let he=this.bboxes;for(let be of hr)if(!Ot.box[be]){Ot.box[be]=!0;let Pe=4*be,Oe=this.boxKeys[be];if(this._circleAndRectCollide(yt.x,yt.y,yt.radius,he[Pe+0],he[Pe+1],he[Pe+2],he[Pe+3])&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}let Sr=this.circleCells[se];if(Sr!==null){let he=this.circles;for(let be of Sr)if(!Ot.circle[be]){Ot.circle[be]=!0;let Pe=3*be,Oe=this.circleKeys[be];if(this._circlesCollide(he[Pe],he[Pe+1],he[Pe+2],yt.x,yt.y,yt.radius)&&(!it||it(Oe))&&!_r(Nt,Oe.overlapMode))return qe.push(!0),!0}}}_forEachCell(w,B,Q,ee,se,qe,je,it){let yt=this._convertToXCellCoord(w),Ot=this._convertToYCellCoord(B),Nt=this._convertToXCellCoord(Q),hr=this._convertToYCellCoord(ee);for(let Sr=yt;Sr<=Nt;Sr++)for(let he=Ot;he<=hr;he++)if(se.call(this,w,B,Q,ee,this.xCellCount*he+Sr,qe,je,it))return}_convertToXCellCoord(w){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(w*this.xScale)))}_convertToYCellCoord(w){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(w*this.yScale)))}_circlesCollide(w,B,Q,ee,se,qe){let je=ee-w,it=se-B,yt=Q+qe;return yt*yt>je*je+it*it}_circleAndRectCollide(w,B,Q,ee,se,qe,je){let it=(qe-ee)/2,yt=Math.abs(w-(ee+it));if(yt>it+Q)return!1;let Ot=(je-se)/2,Nt=Math.abs(B-(se+Ot));if(Nt>Ot+Q)return!1;if(yt<=it||Nt<=Ot)return!0;let hr=yt-it,Sr=Nt-Ot;return hr*hr+Sr*Sr<=Q*Q}}function Or(le,w,B,Q,ee){let se=a.H();return w?(a.K(se,se,[1/ee,1/ee,1]),B||a.ad(se,se,Q.angle)):a.L(se,Q.labelPlaneMatrix,le),se}function Nr(le,w,B,Q,ee){if(w){let se=a.ae(le);return a.K(se,se,[ee,ee,1]),B||a.ad(se,se,-Q.angle),se}return Q.glCoordMatrix}function ut(le,w,B,Q){let ee;Q?(ee=[le,w,Q(le,w),1],a.af(ee,ee,B)):(ee=[le,w,0,1],jr(ee,ee,B));let se=ee[3];return{point:new a.P(ee[0]/se,ee[1]/se),signedDistanceFromCamera:se,isOccluded:!1}}function Ne(le,w){return .5+le/w*.5}function Ye(le,w){return le.x>=-w[0]&&le.x<=w[0]&&le.y>=-w[1]&&le.y<=w[1]}function Ve(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he){let be=Q?le.textSizeData:le.iconSizeData,Pe=a.ag(be,B.transform.zoom),Oe=[256/B.width*2+1,256/B.height*2+1],Je=Q?le.text.dynamicLayoutVertexArray:le.icon.dynamicLayoutVertexArray;Je.clear();let He=le.lineVertexArray,et=Q?le.text.placedSymbolArray:le.icon.placedSymbolArray,Mt=B.transform.width/B.transform.height,Dt=!1;for(let Ut=0;UtMath.abs(B.x-w.x)*Q?{useVertical:!0}:(le===a.ah.vertical?w.yB.x)?{needsFlipping:!0}:null}function Le(le,w,B,Q,ee,se,qe,je,it,yt,Ot){let Nt=B/24,hr=w.lineOffsetX*Nt,Sr=w.lineOffsetY*Nt,he;if(w.numGlyphs>1){let be=w.glyphStartIndex+w.numGlyphs,Pe=w.lineStartIndex,Oe=w.lineStartIndex+w.lineLength,Je=Xe(Nt,je,hr,Sr,Q,w,Ot,le);if(!Je)return{notEnoughRoom:!0};let He=ut(Je.first.point.x,Je.first.point.y,qe,le.getElevation).point,et=ut(Je.last.point.x,Je.last.point.y,qe,le.getElevation).point;if(ee&&!Q){let Mt=ht(w.writingMode,He,et,yt);if(Mt)return Mt}he=[Je.first];for(let Mt=w.glyphStartIndex+1;Mt0?He.point:function(Dt,Ut,tr,mr,Rr,zr){return xe(Dt,Ut,tr,1,Rr,zr)}(le.tileAnchorPoint,Je,Pe,0,se,le),Mt=ht(w.writingMode,Pe,et,yt);if(Mt)return Mt}let be=ar(Nt*je.getoffsetX(w.glyphStartIndex),hr,Sr,Q,w.segment,w.lineStartIndex,w.lineStartIndex+w.lineLength,le,Ot);if(!be||le.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};he=[be]}for(let be of he)a.aj(it,be.point,be.angle);return{}}function xe(le,w,B,Q,ee,se){let qe=le.add(le.sub(w)._unit()),je=ee!==void 0?ut(qe.x,qe.y,ee,se.getElevation).point:lt(qe.x,qe.y,se).point,it=B.sub(je);return B.add(it._mult(Q/it.mag()))}function Se(le,w,B){let Q=w.projectionCache;if(Q.projections[le])return Q.projections[le];let ee=new a.P(w.lineVertexArray.getx(le),w.lineVertexArray.gety(le)),se=lt(ee.x,ee.y,w);if(se.signedDistanceFromCamera>0)return Q.projections[le]=se.point,Q.anyProjectionOccluded=Q.anyProjectionOccluded||se.isOccluded,se.point;let qe=le-B.direction;return function(je,it,yt,Ot,Nt){return xe(je,it,yt,Ot,void 0,Nt)}(B.distanceFromAnchor===0?w.tileAnchorPoint:new a.P(w.lineVertexArray.getx(qe),w.lineVertexArray.gety(qe)),ee,B.previousVertex,B.absOffsetX-B.distanceFromAnchor+1,w)}function lt(le,w,B){let Q=le+B.translation[0],ee=w+B.translation[1],se;return!B.pitchWithMap&&B.projection.useSpecialProjectionForSymbols?(se=B.projection.projectTileCoordinates(Q,ee,B.unwrappedTileID,B.getElevation),se.point.x=(.5*se.point.x+.5)*B.width,se.point.y=(.5*-se.point.y+.5)*B.height):(se=ut(Q,ee,B.labelPlaneMatrix,B.getElevation),se.isOccluded=!1),se}function Gt(le,w,B){return le._unit()._perp()._mult(w*B)}function Vt(le,w,B,Q,ee,se,qe,je,it){if(je.projectionCache.offsets[le])return je.projectionCache.offsets[le];let yt=B.add(w);if(le+it.direction=ee)return je.projectionCache.offsets[le]=yt,yt;let Ot=Se(le+it.direction,je,it),Nt=Gt(Ot.sub(B),qe,it.direction),hr=B.add(Nt),Sr=Ot.add(Nt);return je.projectionCache.offsets[le]=a.ak(se,yt,hr,Sr)||yt,je.projectionCache.offsets[le]}function ar(le,w,B,Q,ee,se,qe,je,it){let yt=Q?le-w:le+w,Ot=yt>0?1:-1,Nt=0;Q&&(Ot*=-1,Nt=Math.PI),Ot<0&&(Nt+=Math.PI);let hr,Sr=Ot>0?se+ee:se+ee+1;je.projectionCache.cachedAnchorPoint?hr=je.projectionCache.cachedAnchorPoint:(hr=lt(je.tileAnchorPoint.x,je.tileAnchorPoint.y,je).point,je.projectionCache.cachedAnchorPoint=hr);let he,be,Pe=hr,Oe=hr,Je=0,He=0,et=Math.abs(yt),Mt=[],Dt;for(;Je+He<=et;){if(Sr+=Ot,Sr=qe)return null;Je+=He,Oe=Pe,be=he;let mr={absOffsetX:et,direction:Ot,distanceFromAnchor:Je,previousVertex:Oe};if(Pe=Se(Sr,je,mr),B===0)Mt.push(Oe),Dt=Pe.sub(Oe);else{let Rr,zr=Pe.sub(Oe);Rr=zr.mag()===0?Gt(Se(Sr+Ot,je,mr).sub(Pe),B,Ot):Gt(zr,B,Ot),be||(be=Oe.add(Rr)),he=Vt(Sr,Rr,Pe,se,qe,be,B,je,mr),Mt.push(be),Dt=he.sub(be)}He=Dt.mag()}let Ut=Dt._mult((et-Je)/He)._add(be||Oe),tr=Nt+Math.atan2(Pe.y-Oe.y,Pe.x-Oe.x);return Mt.push(Ut),{point:Ut,angle:it?tr:0,path:Mt}}let Qr=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ai(le,w){for(let B=0;B=1;ea--)Qi.push(Li.path[ea]);for(let ea=1;eaGa.signedDistanceFromCamera<=0)?[]:ea.map(Ga=>Ga.point)}let pa=[];if(Qi.length>0){let ea=Qi[0].clone(),Ga=Qi[0].clone();for(let To=1;To=zr.x&&Ga.x<=Xr.x&&ea.y>=zr.y&&Ga.y<=Xr.y?[Qi]:Ga.xXr.x||Ga.yXr.y?[]:a.al([Qi],zr.x,zr.y,Xr.x,Xr.y)}for(let ea of pa){di.reset(ea,.25*Rr);let Ga=0;Ga=di.length<=.5*Rr?1:Math.ceil(di.paddedLength/Mn)+1;for(let To=0;Tout(ee.x,ee.y,Q,B.getElevation))}queryRenderedSymbols(w){if(w.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let B=[],Q=1/0,ee=1/0,se=-1/0,qe=-1/0;for(let Ot of w){let Nt=new a.P(Ot.x+ri,Ot.y+ri);Q=Math.min(Q,Nt.x),ee=Math.min(ee,Nt.y),se=Math.max(se,Nt.x),qe=Math.max(qe,Nt.y),B.push(Nt)}let je=this.grid.query(Q,ee,se,qe).concat(this.ignoredGrid.query(Q,ee,se,qe)),it={},yt={};for(let Ot of je){let Nt=Ot.key;if(it[Nt.bucketInstanceId]===void 0&&(it[Nt.bucketInstanceId]={}),it[Nt.bucketInstanceId][Nt.featureIndex])continue;let hr=[new a.P(Ot.x1,Ot.y1),new a.P(Ot.x2,Ot.y1),new a.P(Ot.x2,Ot.y2),new a.P(Ot.x1,Ot.y2)];a.am(B,hr)&&(it[Nt.bucketInstanceId][Nt.featureIndex]=!0,yt[Nt.bucketInstanceId]===void 0&&(yt[Nt.bucketInstanceId]=[]),yt[Nt.bucketInstanceId].push(Nt.featureIndex))}return yt}insertCollisionBox(w,B,Q,ee,se,qe){(Q?this.ignoredGrid:this.grid).insert({bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B},w[0],w[1],w[2],w[3])}insertCollisionCircles(w,B,Q,ee,se,qe){let je=Q?this.ignoredGrid:this.grid,it={bucketInstanceId:ee,featureIndex:se,collisionGroupID:qe,overlapMode:B};for(let yt=0;yt=this.screenRightBoundary||eethis.screenBottomBoundary}isInsideGrid(w,B,Q,ee){return Q>=0&&w=0&&Bthis.projectAndGetPerspectiveRatio(Q,Rr.x,Rr.y,ee,yt));tr=mr.some(Rr=>!Rr.isOccluded),Ut=mr.map(Rr=>Rr.point)}else tr=!0;return{box:a.ao(Ut),allPointsOccluded:!tr}}}function nn(le,w,B){return w*(a.X/(le.tileSize*Math.pow(2,B-le.tileID.overscaledZ)))}class Wi{constructor(w,B,Q,ee){this.opacity=w?Math.max(0,Math.min(1,w.opacity+(w.placed?B:-B))):ee&&Q?1:0,this.placed=Q}isHidden(){return this.opacity===0&&!this.placed}}class Ni{constructor(w,B,Q,ee,se){this.text=new Wi(w?w.text:null,B,Q,se),this.icon=new Wi(w?w.icon:null,B,ee,se)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class _n{constructor(w,B,Q){this.text=w,this.icon=B,this.skipFade=Q}}class $i{constructor(){this.invProjMatrix=a.H(),this.viewportMatrix=a.H(),this.circles=[]}}class zn{constructor(w,B,Q,ee,se){this.bucketInstanceId=w,this.featureIndex=B,this.sourceLayerIndex=Q,this.bucketIndex=ee,this.tileID=se}}class Wn{constructor(w){this.crossSourceCollisions=w,this.maxGroupID=0,this.collisionGroups={}}get(w){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[w]){let B=++this.maxGroupID;this.collisionGroups[w]={ID:B,predicate:Q=>Q.collisionGroupID===B}}return this.collisionGroups[w]}}function It(le,w,B,Q,ee){let{horizontalAlign:se,verticalAlign:qe}=a.au(le);return new a.P(-(se-.5)*w+Q[0]*ee,-(qe-.5)*B+Q[1]*ee)}class ft{constructor(w,B,Q,ee,se,qe){this.transform=w.clone(),this.terrain=Q,this.collisionIndex=new bi(this.transform,B),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=ee,this.retainedQueryData={},this.collisionGroups=new Wn(se),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=qe,qe&&(qe.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(w){let B=this.terrain;return B?(Q,ee)=>B.getElevation(w,Q,ee):null}getBucketParts(w,B,Q,ee){let se=Q.getBucket(B),qe=Q.latestFeatureIndex;if(!se||!qe||B.id!==se.layerIds[0])return;let je=Q.collisionBoxArray,it=se.layers[0].layout,yt=se.layers[0].paint,Ot=Math.pow(2,this.transform.zoom-Q.tileID.overscaledZ),Nt=Q.tileSize/a.X,hr=Q.tileID.toUnwrapped(),Sr=this.transform.calculatePosMatrix(hr),he=it.get(\"text-pitch-alignment\")===\"map\",be=it.get(\"text-rotation-alignment\")===\"map\",Pe=nn(Q,1,this.transform.zoom),Oe=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"text-translate\"),yt.get(\"text-translate-anchor\")),Je=this.collisionIndex.mapProjection.translatePosition(this.transform,Q,yt.get(\"icon-translate\"),yt.get(\"icon-translate-anchor\")),He=Or(Sr,he,be,this.transform,Pe),et=null;if(he){let Dt=Nr(Sr,he,be,this.transform,Pe);et=a.L([],this.transform.labelPlaneMatrix,Dt)}this.retainedQueryData[se.bucketInstanceId]=new zn(se.bucketInstanceId,qe,se.sourceLayerIndex,se.index,Q.tileID);let Mt={bucket:se,layout:it,translationText:Oe,translationIcon:Je,posMatrix:Sr,unwrappedTileID:hr,textLabelPlaneMatrix:He,labelToScreenMatrix:et,scale:Ot,textPixelRatio:Nt,holdingForFade:Q.holdingForFade(),collisionBoxArray:je,partiallyEvaluatedTextSize:a.ag(se.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(se.sourceID)};if(ee)for(let Dt of se.sortKeyRanges){let{sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr}=Dt;w.push({sortKey:Ut,symbolInstanceStart:tr,symbolInstanceEnd:mr,parameters:Mt})}else w.push({symbolInstanceStart:0,symbolInstanceEnd:se.symbolInstances.length,parameters:Mt})}attemptAnchorPlacement(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je,He){let et=a.aq[w.textAnchor],Mt=[w.textOffset0,w.textOffset1],Dt=It(et,Q,ee,Mt,se),Ut=this.collisionIndex.placeCollisionBox(B,hr,it,yt,Ot,je,qe,Pe,Nt.predicate,He,Dt);if((!Je||this.collisionIndex.placeCollisionBox(Je,hr,it,yt,Ot,je,qe,Oe,Nt.predicate,He,Dt).placeable)&&Ut.placeable){let tr;if(this.prevPlacement&&this.prevPlacement.variableOffsets[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID]&&this.prevPlacement.placements[Sr.crossTileID].text&&(tr=this.prevPlacement.variableOffsets[Sr.crossTileID].anchor),Sr.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[Sr.crossTileID]={textOffset:Mt,width:Q,height:ee,anchor:et,textBoxScale:se,prevAnchor:tr},this.markUsedJustification(he,et,Sr,be),he.allowVerticalPlacement&&(this.markUsedOrientation(he,be,Sr),this.placedOrientations[Sr.crossTileID]=be),{shift:Dt,placedGlyphBoxes:Ut}}}placeLayerBucketPart(w,B,Q){let{bucket:ee,layout:se,translationText:qe,translationIcon:je,posMatrix:it,unwrappedTileID:yt,textLabelPlaneMatrix:Ot,labelToScreenMatrix:Nt,textPixelRatio:hr,holdingForFade:Sr,collisionBoxArray:he,partiallyEvaluatedTextSize:be,collisionGroup:Pe}=w.parameters,Oe=se.get(\"text-optional\"),Je=se.get(\"icon-optional\"),He=a.ar(se,\"text-overlap\",\"text-allow-overlap\"),et=He===\"always\",Mt=a.ar(se,\"icon-overlap\",\"icon-allow-overlap\"),Dt=Mt===\"always\",Ut=se.get(\"text-rotation-alignment\")===\"map\",tr=se.get(\"text-pitch-alignment\")===\"map\",mr=se.get(\"icon-text-fit\")!==\"none\",Rr=se.get(\"symbol-z-order\")===\"viewport-y\",zr=et&&(Dt||!ee.hasIconData()||Je),Xr=Dt&&(et||!ee.hasTextData()||Oe);!ee.collisionArrays&&he&&ee.deserializeCollisionBoxes(he);let di=this._getTerrainElevationFunc(this.retainedQueryData[ee.bucketInstanceId].tileID),Li=(Ci,Qi,Mn)=>{var pa,ea;if(B[Ci.crossTileID])return;if(Sr)return void(this.placements[Ci.crossTileID]=new _n(!1,!1,!1));let Ga=!1,To=!1,Wa=!0,co=null,Ro={box:null,placeable:!1,offscreen:null},Ds={box:null,placeable:!1,offscreen:null},As=null,yo=null,po=null,_l=0,Vl=0,Zu=0;Qi.textFeatureIndex?_l=Qi.textFeatureIndex:Ci.useRuntimeCollisionCircles&&(_l=Ci.featureIndex),Qi.verticalTextFeatureIndex&&(Vl=Qi.verticalTextFeatureIndex);let cu=Qi.textBox;if(cu){let Dl=we=>{let Be=a.ah.horizontal;if(ee.allowVerticalPlacement&&!we&&this.prevPlacement){let Ue=this.prevPlacement.placedOrientations[Ci.crossTileID];Ue&&(this.placedOrientations[Ci.crossTileID]=Ue,Be=Ue,this.markUsedOrientation(ee,Be,Ci))}return Be},zl=(we,Be)=>{if(ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Qi.verticalTextBox){for(let Ue of ee.writingModes)if(Ue===a.ah.vertical?(Ro=Be(),Ds=Ro):Ro=we(),Ro&&Ro.placeable)break}else Ro=we()},Z=Ci.textAnchorOffsetStartIndex,oe=Ci.textAnchorOffsetEndIndex;if(oe===Z){let we=(Be,Ue)=>{let We=this.collisionIndex.placeCollisionBox(Be,He,hr,it,yt,tr,Ut,qe,Pe.predicate,di);return We&&We.placeable&&(this.markUsedOrientation(ee,Ue,Ci),this.placedOrientations[Ci.crossTileID]=Ue),We};zl(()=>we(cu,a.ah.horizontal),()=>{let Be=Qi.verticalTextBox;return ee.allowVerticalPlacement&&Ci.numVerticalGlyphVertices>0&&Be?we(Be,a.ah.vertical):{box:null,offscreen:null}}),Dl(Ro&&Ro.placeable)}else{let we=a.aq[(ea=(pa=this.prevPlacement)===null||pa===void 0?void 0:pa.variableOffsets[Ci.crossTileID])===null||ea===void 0?void 0:ea.anchor],Be=(We,wt,tt)=>{let zt=We.x2-We.x1,or=We.y2-We.y1,lr=Ci.textBoxScale,Dr=mr&&Mt===\"never\"?wt:null,Ir=null,oi=He===\"never\"?1:2,ui=\"never\";we&&oi++;for(let qr=0;qrBe(cu,Qi.iconBox,a.ah.horizontal),()=>{let We=Qi.verticalTextBox;return ee.allowVerticalPlacement&&(!Ro||!Ro.placeable)&&Ci.numVerticalGlyphVertices>0&&We?Be(We,Qi.verticalIconBox,a.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Ro&&(Ga=Ro.placeable,Wa=Ro.offscreen);let Ue=Dl(Ro&&Ro.placeable);if(!Ga&&this.prevPlacement){let We=this.prevPlacement.variableOffsets[Ci.crossTileID];We&&(this.variableOffsets[Ci.crossTileID]=We,this.markUsedJustification(ee,We.anchor,Ci,Ue))}}}if(As=Ro,Ga=As&&As.placeable,Wa=As&&As.offscreen,Ci.useRuntimeCollisionCircles){let Dl=ee.text.placedSymbolArray.get(Ci.centerJustifiedTextSymbolIndex),zl=a.ai(ee.textSizeData,be,Dl),Z=se.get(\"text-padding\");yo=this.collisionIndex.placeCollisionCircles(He,Dl,ee.lineVertexArray,ee.glyphOffsetArray,zl,it,yt,Ot,Nt,Q,tr,Pe.predicate,Ci.collisionCircleDiameter,Z,qe,di),yo.circles.length&&yo.collisionDetected&&!Q&&a.w(\"Collisions detected, but collision boxes are not shown\"),Ga=et||yo.circles.length>0&&!yo.collisionDetected,Wa=Wa&&yo.offscreen}if(Qi.iconFeatureIndex&&(Zu=Qi.iconFeatureIndex),Qi.iconBox){let Dl=zl=>this.collisionIndex.placeCollisionBox(zl,Mt,hr,it,yt,tr,Ut,je,Pe.predicate,di,mr&&co?co:void 0);Ds&&Ds.placeable&&Qi.verticalIconBox?(po=Dl(Qi.verticalIconBox),To=po.placeable):(po=Dl(Qi.iconBox),To=po.placeable),Wa=Wa&&po.offscreen}let el=Oe||Ci.numHorizontalGlyphVertices===0&&Ci.numVerticalGlyphVertices===0,nu=Je||Ci.numIconVertices===0;el||nu?nu?el||(To=To&&Ga):Ga=To&&Ga:To=Ga=To&&Ga;let zc=To&&po.placeable;if(Ga&&As.placeable&&this.collisionIndex.insertCollisionBox(As.box,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,Ds&&Ds.placeable&&Vl?Vl:_l,Pe.ID),zc&&this.collisionIndex.insertCollisionBox(po.box,Mt,se.get(\"icon-ignore-placement\"),ee.bucketInstanceId,Zu,Pe.ID),yo&&Ga&&this.collisionIndex.insertCollisionCircles(yo.circles,He,se.get(\"text-ignore-placement\"),ee.bucketInstanceId,_l,Pe.ID),Q&&this.storeCollisionData(ee.bucketInstanceId,Mn,Qi,As,po,yo),Ci.crossTileID===0)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(ee.bucketInstanceId===0)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[Ci.crossTileID]=new _n(Ga||zr,To||Xr,Wa||ee.justReloaded),B[Ci.crossTileID]=!0};if(Rr){if(w.symbolInstanceStart!==0)throw new Error(\"bucket.bucketInstanceId should be 0\");let Ci=ee.getSortedSymbolIndexes(this.transform.angle);for(let Qi=Ci.length-1;Qi>=0;--Qi){let Mn=Ci[Qi];Li(ee.symbolInstances.get(Mn),ee.collisionArrays[Mn],Mn)}}else for(let Ci=w.symbolInstanceStart;Ci=0&&(w.text.placedSymbolArray.get(je).crossTileID=se>=0&&je!==se?0:Q.crossTileID)}markUsedOrientation(w,B,Q){let ee=B===a.ah.horizontal||B===a.ah.horizontalOnly?B:0,se=B===a.ah.vertical?B:0,qe=[Q.leftJustifiedTextSymbolIndex,Q.centerJustifiedTextSymbolIndex,Q.rightJustifiedTextSymbolIndex];for(let je of qe)w.text.placedSymbolArray.get(je).placedOrientation=ee;Q.verticalPlacedTextSymbolIndex&&(w.text.placedSymbolArray.get(Q.verticalPlacedTextSymbolIndex).placedOrientation=se)}commit(w){this.commitTime=w,this.zoomAtLastRecencyCheck=this.transform.zoom;let B=this.prevPlacement,Q=!1;this.prevZoomAdjustment=B?B.zoomAdjustment(this.transform.zoom):0;let ee=B?B.symbolFadeChange(w):1,se=B?B.opacities:{},qe=B?B.variableOffsets:{},je=B?B.placedOrientations:{};for(let it in this.placements){let yt=this.placements[it],Ot=se[it];Ot?(this.opacities[it]=new Ni(Ot,ee,yt.text,yt.icon),Q=Q||yt.text!==Ot.text.placed||yt.icon!==Ot.icon.placed):(this.opacities[it]=new Ni(null,ee,yt.text,yt.icon,yt.skipFade),Q=Q||yt.text||yt.icon)}for(let it in se){let yt=se[it];if(!this.opacities[it]){let Ot=new Ni(yt,ee,!1,!1);Ot.isHidden()||(this.opacities[it]=Ot,Q=Q||yt.text.placed||yt.icon.placed)}}for(let it in qe)this.variableOffsets[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.variableOffsets[it]=qe[it]);for(let it in je)this.placedOrientations[it]||!this.opacities[it]||this.opacities[it].isHidden()||(this.placedOrientations[it]=je[it]);if(B&&B.lastPlacementChangeTime===void 0)throw new Error(\"Last placement time for previous placement is not defined\");Q?this.lastPlacementChangeTime=w:typeof this.lastPlacementChangeTime!=\"number\"&&(this.lastPlacementChangeTime=B?B.lastPlacementChangeTime:w)}updateLayerOpacities(w,B){let Q={};for(let ee of B){let se=ee.getBucket(w);se&&ee.latestFeatureIndex&&w.id===se.layerIds[0]&&this.updateBucketOpacities(se,ee.tileID,Q,ee.collisionBoxArray)}}updateBucketOpacities(w,B,Q,ee){w.hasTextData()&&(w.text.opacityVertexArray.clear(),w.text.hasVisibleVertices=!1),w.hasIconData()&&(w.icon.opacityVertexArray.clear(),w.icon.hasVisibleVertices=!1),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexArray.clear(),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexArray.clear();let se=w.layers[0],qe=se.layout,je=new Ni(null,0,!1,!1,!0),it=qe.get(\"text-allow-overlap\"),yt=qe.get(\"icon-allow-overlap\"),Ot=se._unevaluatedLayout.hasValue(\"text-variable-anchor\")||se._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),Nt=qe.get(\"text-rotation-alignment\")===\"map\",hr=qe.get(\"text-pitch-alignment\")===\"map\",Sr=qe.get(\"icon-text-fit\")!==\"none\",he=new Ni(null,0,it&&(yt||!w.hasIconData()||qe.get(\"icon-optional\")),yt&&(it||!w.hasTextData()||qe.get(\"text-optional\")),!0);!w.collisionArrays&&ee&&(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData())&&w.deserializeCollisionBoxes(ee);let be=(Oe,Je,He)=>{for(let et=0;et0,tr=this.placedOrientations[Je.crossTileID],mr=tr===a.ah.vertical,Rr=tr===a.ah.horizontal||tr===a.ah.horizontalOnly;if(He>0||et>0){let Xr=Mi(Dt.text);be(w.text,He,mr?Pi:Xr),be(w.text,et,Rr?Pi:Xr);let di=Dt.text.isHidden();[Je.rightJustifiedTextSymbolIndex,Je.centerJustifiedTextSymbolIndex,Je.leftJustifiedTextSymbolIndex].forEach(Qi=>{Qi>=0&&(w.text.placedSymbolArray.get(Qi).hidden=di||mr?1:0)}),Je.verticalPlacedTextSymbolIndex>=0&&(w.text.placedSymbolArray.get(Je.verticalPlacedTextSymbolIndex).hidden=di||Rr?1:0);let Li=this.variableOffsets[Je.crossTileID];Li&&this.markUsedJustification(w,Li.anchor,Je,tr);let Ci=this.placedOrientations[Je.crossTileID];Ci&&(this.markUsedJustification(w,\"left\",Je,Ci),this.markUsedOrientation(w,Ci,Je))}if(Ut){let Xr=Mi(Dt.icon),di=!(Sr&&Je.verticalPlacedIconSymbolIndex&&mr);Je.placedIconSymbolIndex>=0&&(be(w.icon,Je.numIconVertices,di?Xr:Pi),w.icon.placedSymbolArray.get(Je.placedIconSymbolIndex).hidden=Dt.icon.isHidden()),Je.verticalPlacedIconSymbolIndex>=0&&(be(w.icon,Je.numVerticalIconVertices,di?Pi:Xr),w.icon.placedSymbolArray.get(Je.verticalPlacedIconSymbolIndex).hidden=Dt.icon.isHidden())}let zr=Pe&&Pe.has(Oe)?Pe.get(Oe):{text:null,icon:null};if(w.hasIconCollisionBoxData()||w.hasTextCollisionBoxData()){let Xr=w.collisionArrays[Oe];if(Xr){let di=new a.P(0,0);if(Xr.textBox||Xr.verticalTextBox){let Li=!0;if(Ot){let Ci=this.variableOffsets[Mt];Ci?(di=It(Ci.anchor,Ci.width,Ci.height,Ci.textOffset,Ci.textBoxScale),Nt&&di._rotate(hr?this.transform.angle:-this.transform.angle)):Li=!1}if(Xr.textBox||Xr.verticalTextBox){let Ci;Xr.textBox&&(Ci=mr),Xr.verticalTextBox&&(Ci=Rr),jt(w.textCollisionBox.collisionVertexArray,Dt.text.placed,!Li||Ci,zr.text,di.x,di.y)}}if(Xr.iconBox||Xr.verticalIconBox){let Li=!!(!Rr&&Xr.verticalIconBox),Ci;Xr.iconBox&&(Ci=Li),Xr.verticalIconBox&&(Ci=!Li),jt(w.iconCollisionBox.collisionVertexArray,Dt.icon.placed,Ci,zr.icon,Sr?di.x:0,Sr?di.y:0)}}}}if(w.sortFeatures(this.transform.angle),this.retainedQueryData[w.bucketInstanceId]&&(this.retainedQueryData[w.bucketInstanceId].featureSortOrder=w.featureSortOrder),w.hasTextData()&&w.text.opacityVertexBuffer&&w.text.opacityVertexBuffer.updateData(w.text.opacityVertexArray),w.hasIconData()&&w.icon.opacityVertexBuffer&&w.icon.opacityVertexBuffer.updateData(w.icon.opacityVertexArray),w.hasIconCollisionBoxData()&&w.iconCollisionBox.collisionVertexBuffer&&w.iconCollisionBox.collisionVertexBuffer.updateData(w.iconCollisionBox.collisionVertexArray),w.hasTextCollisionBoxData()&&w.textCollisionBox.collisionVertexBuffer&&w.textCollisionBox.collisionVertexBuffer.updateData(w.textCollisionBox.collisionVertexArray),w.text.opacityVertexArray.length!==w.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${w.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${w.text.layoutVertexArray.length}) / 4`);if(w.icon.opacityVertexArray.length!==w.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${w.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${w.icon.layoutVertexArray.length}) / 4`);if(w.bucketInstanceId in this.collisionCircleArrays){let Oe=this.collisionCircleArrays[w.bucketInstanceId];w.placementInvProjMatrix=Oe.invProjMatrix,w.placementViewportMatrix=Oe.viewportMatrix,w.collisionCircleArray=Oe.circles,delete this.collisionCircleArrays[w.bucketInstanceId]}}symbolFadeChange(w){return this.fadeDuration===0?1:(w-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(w){return Math.max(0,(this.transform.zoom-w)/1.5)}hasTransitions(w){return this.stale||w-this.lastPlacementChangeTimew}setStale(){this.stale=!0}}function jt(le,w,B,Q,ee,se){Q&&Q.length!==0||(Q=[0,0,0,0]);let qe=Q[0]-ri,je=Q[1]-ri,it=Q[2]-ri,yt=Q[3]-ri;le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,je),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,it,yt),le.emplaceBack(w?1:0,B?1:0,ee||0,se||0,qe,yt)}let Zt=Math.pow(2,25),yr=Math.pow(2,24),Fr=Math.pow(2,17),Zr=Math.pow(2,16),Vr=Math.pow(2,9),gi=Math.pow(2,8),Si=Math.pow(2,1);function Mi(le){if(le.opacity===0&&!le.placed)return 0;if(le.opacity===1&&le.placed)return 4294967295;let w=le.placed?1:0,B=Math.floor(127*le.opacity);return B*Zt+w*yr+B*Fr+w*Zr+B*Vr+w*gi+B*Si+w}let Pi=0;function Gi(){return{isOccluded:(le,w,B)=>!1,getPitchedTextCorrection:(le,w,B)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(le,w,B,Q){throw new Error(\"Not implemented.\")},translatePosition:(le,w,B,Q)=>function(ee,se,qe,je,it=!1){if(!qe[0]&&!qe[1])return[0,0];let yt=it?je===\"map\"?ee.angle:0:je===\"viewport\"?-ee.angle:0;if(yt){let Ot=Math.sin(yt),Nt=Math.cos(yt);qe=[qe[0]*Nt-qe[1]*Ot,qe[0]*Ot+qe[1]*Nt]}return[it?qe[0]:nn(se,qe[0],ee.zoom),it?qe[1]:nn(se,qe[1],ee.zoom)]}(le,w,B,Q),getCircleRadiusCorrection:le=>1}}class Ki{constructor(w){this._sortAcrossTiles=w.layout.get(\"symbol-z-order\")!==\"viewport-y\"&&!w.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(w,B,Q,ee,se){let qe=this._bucketParts;for(;this._currentTileIndexje.sortKey-it.sortKey));this._currentPartIndex!this._forceFullPlacement&&u.now()-ee>2;for(;this._currentPlacementIndex>=0;){let qe=B[w[this._currentPlacementIndex]],je=this.placement.collisionIndex.transform.zoom;if(qe.type===\"symbol\"&&(!qe.minzoom||qe.minzoom<=je)&&(!qe.maxzoom||qe.maxzoom>je)){if(this._inProgressLayer||(this._inProgressLayer=new Ki(qe)),this._inProgressLayer.continuePlacement(Q[qe.source],this.placement,this._showCollisionBoxes,qe,se))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(w){return this.placement.commit(w),this.placement}}let jn=512/a.X/2;class la{constructor(w,B,Q){this.tileID=w,this.bucketInstanceId=Q,this._symbolsByKey={};let ee=new Map;for(let se=0;se({x:Math.floor(it.anchorX*jn),y:Math.floor(it.anchorY*jn)})),crossTileIDs:qe.map(it=>it.crossTileID)};if(je.positions.length>128){let it=new a.av(je.positions.length,16,Uint16Array);for(let{x:yt,y:Ot}of je.positions)it.add(yt,Ot);it.finish(),delete je.positions,je.index=it}this._symbolsByKey[se]=je}}getScaledCoordinates(w,B){let{x:Q,y:ee,z:se}=this.tileID.canonical,{x:qe,y:je,z:it}=B.canonical,yt=jn/Math.pow(2,it-se),Ot=(je*a.X+w.anchorY)*yt,Nt=ee*a.X*jn;return{x:Math.floor((qe*a.X+w.anchorX)*yt-Q*a.X*jn),y:Math.floor(Ot-Nt)}}findMatches(w,B,Q){let ee=this.tileID.canonical.zw)}}class Fa{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class Ra{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(w){let B=Math.round((w-this.lng)/360);if(B!==0)for(let Q in this.indexes){let ee=this.indexes[Q],se={};for(let qe in ee){let je=ee[qe];je.tileID=je.tileID.unwrapTo(je.tileID.wrap+B),se[je.tileID.key]=je}this.indexes[Q]=se}this.lng=w}addBucket(w,B,Q){if(this.indexes[w.overscaledZ]&&this.indexes[w.overscaledZ][w.key]){if(this.indexes[w.overscaledZ][w.key].bucketInstanceId===B.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(w.overscaledZ,this.indexes[w.overscaledZ][w.key])}for(let se=0;sew.overscaledZ)for(let je in qe){let it=qe[je];it.tileID.isChildOf(w)&&it.findMatches(B.symbolInstances,w,ee)}else{let je=qe[w.scaledTo(Number(se)).key];je&&je.findMatches(B.symbolInstances,w,ee)}}for(let se=0;se{B[Q]=!0});for(let Q in this.layerIndexes)B[Q]||delete this.layerIndexes[Q]}}let oa=(le,w)=>a.t(le,w&&w.filter(B=>B.identifier!==\"source.canvas\")),Sn=a.aw();class Ha extends a.E{constructor(w,B={}){super(),this._rtlPluginLoaded=()=>{for(let Q in this.sourceCaches){let ee=this.sourceCaches[Q].getSource().type;ee!==\"vector\"&&ee!==\"geojson\"||this.sourceCaches[Q].reload()}},this.map=w,this.dispatcher=new Ee(Te(),w._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",(Q,ee)=>this.getGlyphs(Q,ee)),this.dispatcher.registerMessageHandler(\"GI\",(Q,ee)=>this.getImages(Q,ee)),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new H(w._requestManager,B.localIdeographFontFamily),this.lineAtlas=new ae(256,512),this.crossTileSymbolIndex=new jo,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new a.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",a.ay()),bt().on(er,this._rtlPluginLoaded),this.on(\"data\",Q=>{if(Q.dataType!==\"source\"||Q.sourceDataType!==\"metadata\")return;let ee=this.sourceCaches[Q.sourceId];if(!ee)return;let se=ee.getSource();if(se&&se.vectorLayerIds)for(let qe in this._layers){let je=this._layers[qe];je.source===se.id&&this._validateLayer(je)}})}loadURL(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),B.validate=typeof B.validate!=\"boolean\"||B.validate;let ee=this.map._requestManager.transformRequest(w,\"Style\");this._loadStyleRequest=new AbortController;let se=this._loadStyleRequest;a.h(ee,this._loadStyleRequest).then(qe=>{this._loadStyleRequest=null,this._load(qe.data,B,Q)}).catch(qe=>{this._loadStyleRequest=null,qe&&!se.signal.aborted&&this.fire(new a.j(qe))})}loadJSON(w,B={},Q){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,B.validate=B.validate!==!1,this._load(w,B,Q)}).catch(()=>{})}loadEmpty(){this.fire(new a.k(\"dataloading\",{dataType:\"style\"})),this._load(Sn,{validate:!1})}_load(w,B,Q){var ee;let se=B.transformStyle?B.transformStyle(Q,w):w;if(!B.validate||!oa(this,a.u(se))){this._loaded=!0,this.stylesheet=se;for(let qe in se.sources)this.addSource(qe,se.sources[qe],{validate:!1});se.sprite?this._loadSprite(se.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(se.glyphs),this._createLayers(),this.light=new N(this.stylesheet.light),this.sky=new re(this.stylesheet.sky),this.map.setTerrain((ee=this.stylesheet.terrain)!==null&&ee!==void 0?ee:null),this.fire(new a.k(\"data\",{dataType:\"style\"})),this.fire(new a.k(\"style.load\"))}}_createLayers(){let w=a.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",w),this._order=w.map(B=>B.id),this._layers={},this._serializedLayers=null;for(let B of w){let Q=a.aA(B);Q.setEventedParent(this,{layer:{id:B.id}}),this._layers[B.id]=Q}}_loadSprite(w,B=!1,Q=void 0){let ee;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(se,qe,je,it){return a._(this,void 0,void 0,function*(){let yt=C(se),Ot=je>1?\"@2x\":\"\",Nt={},hr={};for(let{id:Sr,url:he}of yt){let be=qe.transformRequest(M(he,Ot,\".json\"),\"SpriteJSON\");Nt[Sr]=a.h(be,it);let Pe=qe.transformRequest(M(he,Ot,\".png\"),\"SpriteImage\");hr[Sr]=g.getImage(Pe,it)}return yield Promise.all([...Object.values(Nt),...Object.values(hr)]),function(Sr,he){return a._(this,void 0,void 0,function*(){let be={};for(let Pe in Sr){be[Pe]={};let Oe=u.getImageCanvasContext((yield he[Pe]).data),Je=(yield Sr[Pe]).data;for(let He in Je){let{width:et,height:Mt,x:Dt,y:Ut,sdf:tr,pixelRatio:mr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li}=Je[He];be[Pe][He]={data:null,pixelRatio:mr,sdf:tr,stretchX:Rr,stretchY:zr,content:Xr,textFitWidth:di,textFitHeight:Li,spriteData:{width:et,height:Mt,x:Dt,y:Ut,context:Oe}}}}return be})}(Nt,hr)})}(w,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(se=>{if(this._spriteRequest=null,se)for(let qe in se){this._spritesImagesIds[qe]=[];let je=this._spritesImagesIds[qe]?this._spritesImagesIds[qe].filter(it=>!(it in se)):[];for(let it of je)this.imageManager.removeImage(it),this._changedImages[it]=!0;for(let it in se[qe]){let yt=qe===\"default\"?it:`${qe}:${it}`;this._spritesImagesIds[qe].push(yt),yt in this.imageManager.images?this.imageManager.updateImage(yt,se[qe][it],!1):this.imageManager.addImage(yt,se[qe][it]),B&&(this._changedImages[yt]=!0)}}}).catch(se=>{this._spriteRequest=null,ee=se,this.fire(new a.j(ee))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),B&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"})),Q&&Q(ee)})}_unloadSprite(){for(let w of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(w),this._changedImages[w]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}_validateLayer(w){let B=this.sourceCaches[w.source];if(!B)return;let Q=w.sourceLayer;if(!Q)return;let ee=B.getSource();(ee.type===\"geojson\"||ee.vectorLayerIds&&ee.vectorLayerIds.indexOf(Q)===-1)&&this.fire(new a.j(new Error(`Source layer \"${Q}\" does not exist on source \"${ee.id}\" as specified by style layer \"${w.id}\".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(let w in this.sourceCaches)if(!this.sourceCaches[w].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(w,B=!1){let Q=this._serializedAllLayers();if(!w||w.length===0)return Object.values(B?a.aB(Q):Q);let ee=[];for(let se of w)if(Q[se]){let qe=B?a.aB(Q[se]):Q[se];ee.push(qe)}return ee}_serializedAllLayers(){let w=this._serializedLayers;if(w)return w;w=this._serializedLayers={};let B=Object.keys(this._layers);for(let Q of B){let ee=this._layers[Q];ee.type!==\"custom\"&&(w[Q]=ee.serialize())}return w}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(let w in this.sourceCaches)if(this.sourceCaches[w].hasTransition())return!0;for(let w in this._layers)if(this._layers[w].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(w){if(!this._loaded)return;let B=this._changed;if(B){let ee=Object.keys(this._updatedLayers),se=Object.keys(this._removedLayers);(ee.length||se.length)&&this._updateWorkerLayers(ee,se);for(let qe in this._updatedSources){let je=this._updatedSources[qe];if(je===\"reload\")this._reloadSource(qe);else{if(je!==\"clear\")throw new Error(`Invalid action ${je}`);this._clearSource(qe)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let qe in this._updatedPaintProps)this._layers[qe].updateTransitions(w);this.light.updateTransitions(w),this.sky.updateTransitions(w),this._resetUpdates()}let Q={};for(let ee in this.sourceCaches){let se=this.sourceCaches[ee];Q[ee]=se.used,se.used=!1}for(let ee of this._order){let se=this._layers[ee];se.recalculate(w,this._availableImages),!se.isHidden(w.zoom)&&se.source&&(this.sourceCaches[se.source].used=!0)}for(let ee in Q){let se=this.sourceCaches[ee];!!Q[ee]!=!!se.used&&se.fire(new a.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:ee}))}this.light.recalculate(w),this.sky.recalculate(w),this.z=w.zoom,B&&this.fire(new a.k(\"data\",{dataType:\"style\"}))}_updateTilesForChangedImages(){let w=Object.keys(this._changedImages);if(w.length){for(let B in this.sourceCaches)this.sourceCaches[B].reloadTilesForDependencies([\"icons\",\"patterns\"],w);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let w in this.sourceCaches)this.sourceCaches[w].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1}}_updateWorkerLayers(w,B){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(w,!1),removedIds:B})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(w,B={}){var Q;this._checkLoaded();let ee=this.serialize();if(w=B.transformStyle?B.transformStyle(ee,w):w,((Q=B.validate)===null||Q===void 0||Q)&&oa(this,a.u(w)))return!1;(w=a.aB(w)).layers=a.az(w.layers);let se=a.aC(ee,w),qe=this._getOperationsToPerform(se);if(qe.unimplemented.length>0)throw new Error(`Unimplemented: ${qe.unimplemented.join(\", \")}.`);if(qe.operations.length===0)return!1;for(let je of qe.operations)je();return this.stylesheet=w,this._serializedLayers=null,!0}_getOperationsToPerform(w){let B=[],Q=[];for(let ee of w)switch(ee.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":B.push(()=>this.addLayer.apply(this,ee.args));break;case\"removeLayer\":B.push(()=>this.removeLayer.apply(this,ee.args));break;case\"setPaintProperty\":B.push(()=>this.setPaintProperty.apply(this,ee.args));break;case\"setLayoutProperty\":B.push(()=>this.setLayoutProperty.apply(this,ee.args));break;case\"setFilter\":B.push(()=>this.setFilter.apply(this,ee.args));break;case\"addSource\":B.push(()=>this.addSource.apply(this,ee.args));break;case\"removeSource\":B.push(()=>this.removeSource.apply(this,ee.args));break;case\"setLayerZoomRange\":B.push(()=>this.setLayerZoomRange.apply(this,ee.args));break;case\"setLight\":B.push(()=>this.setLight.apply(this,ee.args));break;case\"setGeoJSONSourceData\":B.push(()=>this.setGeoJSONSourceData.apply(this,ee.args));break;case\"setGlyphs\":B.push(()=>this.setGlyphs.apply(this,ee.args));break;case\"setSprite\":B.push(()=>this.setSprite.apply(this,ee.args));break;case\"setSky\":B.push(()=>this.setSky.apply(this,ee.args));break;case\"setTerrain\":B.push(()=>this.map.setTerrain.apply(this,ee.args));break;case\"setTransition\":B.push(()=>{});break;default:Q.push(ee.command)}return{operations:B,unimplemented:Q}}addImage(w,B){if(this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" already exists.`)));this.imageManager.addImage(w,B),this._afterImageUpdated(w)}updateImage(w,B){this.imageManager.updateImage(w,B)}getImage(w){return this.imageManager.getImage(w)}removeImage(w){if(!this.getImage(w))return this.fire(new a.j(new Error(`An image named \"${w}\" does not exist.`)));this.imageManager.removeImage(w),this._afterImageUpdated(w)}_afterImageUpdated(w){this._availableImages=this.imageManager.listImages(),this._changedImages[w]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(w,B,Q={}){if(this._checkLoaded(),this.sourceCaches[w]!==void 0)throw new Error(`Source \"${w}\" already exists.`);if(!B.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(B).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(B.type)>=0&&this._validate(a.u.source,`sources.${w}`,B,null,Q))return;this.map&&this.map._collectResourceTiming&&(B.collectResourceTiming=!0);let ee=this.sourceCaches[w]=new dt(w,B,this.dispatcher);ee.style=this,ee.setEventedParent(this,()=>({isSourceLoaded:ee.loaded(),source:ee.serialize(),sourceId:w})),ee.onAdd(this.map),this._changed=!0}removeSource(w){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(\"There is no source with this ID\");for(let Q in this._layers)if(this._layers[Q].source===w)return this.fire(new a.j(new Error(`Source \"${w}\" cannot be removed while layer \"${Q}\" is using it.`)));let B=this.sourceCaches[w];delete this.sourceCaches[w],delete this._updatedSources[w],B.fire(new a.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:w})),B.setEventedParent(null),B.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(w,B){if(this._checkLoaded(),this.sourceCaches[w]===void 0)throw new Error(`There is no source with this ID=${w}`);let Q=this.sourceCaches[w].getSource();if(Q.type!==\"geojson\")throw new Error(`geojsonSource.type is ${Q.type}, which is !== 'geojson`);Q.setData(B),this._changed=!0}getSource(w){return this.sourceCaches[w]&&this.sourceCaches[w].getSource()}addLayer(w,B,Q={}){this._checkLoaded();let ee=w.id;if(this.getLayer(ee))return void this.fire(new a.j(new Error(`Layer \"${ee}\" already exists on this map.`)));let se;if(w.type===\"custom\"){if(oa(this,a.aD(w)))return;se=a.aA(w)}else{if(\"source\"in w&&typeof w.source==\"object\"&&(this.addSource(ee,w.source),w=a.aB(w),w=a.e(w,{source:ee})),this._validate(a.u.layer,`layers.${ee}`,w,{arrayIndex:-1},Q))return;se=a.aA(w),this._validateLayer(se),se.setEventedParent(this,{layer:{id:ee}})}let qe=B?this._order.indexOf(B):this._order.length;if(B&&qe===-1)this.fire(new a.j(new Error(`Cannot add layer \"${ee}\" before non-existing layer \"${B}\".`)));else{if(this._order.splice(qe,0,ee),this._layerOrderChanged=!0,this._layers[ee]=se,this._removedLayers[ee]&&se.source&&se.type!==\"custom\"){let je=this._removedLayers[ee];delete this._removedLayers[ee],je.type!==se.type?this._updatedSources[se.source]=\"clear\":(this._updatedSources[se.source]=\"reload\",this.sourceCaches[se.source].pause())}this._updateLayer(se),se.onAdd&&se.onAdd(this.map)}}moveLayer(w,B){if(this._checkLoaded(),this._changed=!0,!this._layers[w])return void this.fire(new a.j(new Error(`The layer '${w}' does not exist in the map's style and cannot be moved.`)));if(w===B)return;let Q=this._order.indexOf(w);this._order.splice(Q,1);let ee=B?this._order.indexOf(B):this._order.length;B&&ee===-1?this.fire(new a.j(new Error(`Cannot move layer \"${w}\" before non-existing layer \"${B}\".`))):(this._order.splice(ee,0,w),this._layerOrderChanged=!0)}removeLayer(w){this._checkLoaded();let B=this._layers[w];if(!B)return void this.fire(new a.j(new Error(`Cannot remove non-existing layer \"${w}\".`)));B.setEventedParent(null);let Q=this._order.indexOf(w);this._order.splice(Q,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[w]=B,delete this._layers[w],this._serializedLayers&&delete this._serializedLayers[w],delete this._updatedLayers[w],delete this._updatedPaintProps[w],B.onRemove&&B.onRemove(this.map)}getLayer(w){return this._layers[w]}getLayersOrder(){return[...this._order]}hasLayer(w){return w in this._layers}setLayerZoomRange(w,B,Q){this._checkLoaded();let ee=this.getLayer(w);ee?ee.minzoom===B&&ee.maxzoom===Q||(B!=null&&(ee.minzoom=B),Q!=null&&(ee.maxzoom=Q),this._updateLayer(ee)):this.fire(new a.j(new Error(`Cannot set the zoom range of non-existing layer \"${w}\".`)))}setFilter(w,B,Q={}){this._checkLoaded();let ee=this.getLayer(w);if(ee){if(!a.aE(ee.filter,B))return B==null?(ee.filter=void 0,void this._updateLayer(ee)):void(this._validate(a.u.filter,`layers.${ee.id}.filter`,B,null,Q)||(ee.filter=a.aB(B),this._updateLayer(ee)))}else this.fire(new a.j(new Error(`Cannot filter non-existing layer \"${w}\".`)))}getFilter(w){return a.aB(this.getLayer(w).filter)}setLayoutProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getLayoutProperty(B),Q)||(se.setLayoutProperty(B,Q,ee),this._updateLayer(se)):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getLayoutProperty(w,B){let Q=this.getLayer(w);if(Q)return Q.getLayoutProperty(B);this.fire(new a.j(new Error(`Cannot get style of non-existing layer \"${w}\".`)))}setPaintProperty(w,B,Q,ee={}){this._checkLoaded();let se=this.getLayer(w);se?a.aE(se.getPaintProperty(B),Q)||(se.setPaintProperty(B,Q,ee)&&this._updateLayer(se),this._changed=!0,this._updatedPaintProps[w]=!0,this._serializedLayers=null):this.fire(new a.j(new Error(`Cannot style non-existing layer \"${w}\".`)))}getPaintProperty(w,B){return this.getLayer(w).getPaintProperty(B)}setFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=w.sourceLayer,se=this.sourceCaches[Q];if(se===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let qe=se.getSource().type;qe===\"geojson\"&&ee?this.fire(new a.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):qe!==\"vector\"||ee?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),se.setFeatureState(ee,w.id,B)):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}removeFeatureState(w,B){this._checkLoaded();let Q=w.source,ee=this.sourceCaches[Q];if(ee===void 0)return void this.fire(new a.j(new Error(`The source '${Q}' does not exist in the map's style.`)));let se=ee.getSource().type,qe=se===\"vector\"?w.sourceLayer:void 0;se!==\"vector\"||qe?B&&typeof w.id!=\"string\"&&typeof w.id!=\"number\"?this.fire(new a.j(new Error(\"A feature id is required to remove its specific state property.\"))):ee.removeFeatureState(qe,w.id,B):this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")))}getFeatureState(w){this._checkLoaded();let B=w.source,Q=w.sourceLayer,ee=this.sourceCaches[B];if(ee!==void 0)return ee.getSource().type!==\"vector\"||Q?(w.id===void 0&&this.fire(new a.j(new Error(\"The feature id parameter must be provided.\"))),ee.getFeatureState(Q,w.id)):void this.fire(new a.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new a.j(new Error(`The source '${B}' does not exist in the map's style.`)))}getTransition(){return a.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;let w=a.aF(this.sourceCaches,se=>se.serialize()),B=this._serializeByIds(this._order,!0),Q=this.map.getTerrain()||void 0,ee=this.stylesheet;return a.aG({version:ee.version,name:ee.name,metadata:ee.metadata,light:ee.light,sky:ee.sky,center:ee.center,zoom:ee.zoom,bearing:ee.bearing,pitch:ee.pitch,sprite:ee.sprite,glyphs:ee.glyphs,transition:ee.transition,sources:w,layers:B,terrain:Q},se=>se!==void 0)}_updateLayer(w){this._updatedLayers[w.id]=!0,w.source&&!this._updatedSources[w.source]&&this.sourceCaches[w.source].getSource().type!==\"raster\"&&(this._updatedSources[w.source]=\"reload\",this.sourceCaches[w.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(w){let B=qe=>this._layers[qe].type===\"fill-extrusion\",Q={},ee=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je)){Q[je]=qe;for(let it of w){let yt=it[je];if(yt)for(let Ot of yt)ee.push(Ot)}}}ee.sort((qe,je)=>je.intersectionZ-qe.intersectionZ);let se=[];for(let qe=this._order.length-1;qe>=0;qe--){let je=this._order[qe];if(B(je))for(let it=ee.length-1;it>=0;it--){let yt=ee[it].feature;if(Q[yt.layer.id]{let tr=Oe.featureSortOrder;if(tr){let mr=tr.indexOf(Dt.featureIndex);return tr.indexOf(Ut.featureIndex)-mr}return Ut.featureIndex-Dt.featureIndex});for(let Dt of Mt)et.push(Dt)}}for(let Oe in he)he[Oe].forEach(Je=>{let He=Je.feature,et=yt[je[Oe].source].getFeatureState(He.layer[\"source-layer\"],He.id);He.source=He.layer.source,He.layer[\"source-layer\"]&&(He.sourceLayer=He.layer[\"source-layer\"]),He.state=et});return he}(this._layers,qe,this.sourceCaches,w,B,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(se)}querySourceFeatures(w,B){B&&B.filter&&this._validate(a.u.filter,\"querySourceFeatures.filter\",B.filter,null,B);let Q=this.sourceCaches[w];return Q?function(ee,se){let qe=ee.getRenderableIds().map(yt=>ee.getTileByID(yt)),je=[],it={};for(let yt=0;ythr.getTileByID(Sr)).sort((Sr,he)=>he.tileID.overscaledZ-Sr.tileID.overscaledZ||(Sr.tileID.isLessThan(he.tileID)?-1:1))}let Nt=this.crossTileSymbolIndex.addLayer(Ot,it[Ot.source],w.center.lng);qe=qe||Nt}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((se=se||this._layerOrderChanged||Q===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(u.now(),w.zoom))&&(this.pauseablePlacement=new ka(w,this.map.terrain,this._order,se,B,Q,ee,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,it),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(u.now()),je=!0),qe&&this.pauseablePlacement.placement.setStale()),je||qe)for(let yt of this._order){let Ot=this._layers[yt];Ot.type===\"symbol\"&&this.placement.updateLayerOpacities(Ot,it[Ot.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(u.now())}_releaseSymbolFadeTiles(){for(let w in this.sourceCaches)this.sourceCaches[w].releaseSymbolFadeTiles()}getImages(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.imageManager.getImages(B.icons);this._updateTilesForChangedImages();let ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,B.icons),Q})}getGlyphs(w,B){return a._(this,void 0,void 0,function*(){let Q=yield this.glyphManager.getGlyphs(B.stacks),ee=this.sourceCaches[B.source];return ee&&ee.setDependencies(B.tileID.key,B.type,[\"\"]),Q})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(w,B={}){this._checkLoaded(),w&&this._validate(a.u.glyphs,\"glyphs\",w,null,B)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=w,this.glyphManager.entries={},this.glyphManager.setURL(w))}addSprite(w,B,Q={},ee){this._checkLoaded();let se=[{id:w,url:B}],qe=[...C(this.stylesheet.sprite),...se];this._validate(a.u.sprite,\"sprite\",qe,null,Q)||(this.stylesheet.sprite=qe,this._loadSprite(se,!0,ee))}removeSprite(w){this._checkLoaded();let B=C(this.stylesheet.sprite);if(B.find(Q=>Q.id===w)){if(this._spritesImagesIds[w])for(let Q of this._spritesImagesIds[w])this.imageManager.removeImage(Q),this._changedImages[Q]=!0;B.splice(B.findIndex(Q=>Q.id===w),1),this.stylesheet.sprite=B.length>0?B:void 0,delete this._spritesImagesIds[w],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new a.k(\"data\",{dataType:\"style\"}))}else this.fire(new a.j(new Error(`Sprite \"${w}\" doesn't exists on this map.`)))}getSprite(){return C(this.stylesheet.sprite)}setSprite(w,B={},Q){this._checkLoaded(),w&&this._validate(a.u.sprite,\"sprite\",w,null,B)||(this.stylesheet.sprite=w,w?this._loadSprite(w,!0,Q):(this._unloadSprite(),Q&&Q(null)))}}var oo=a.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);let xn={prelude:_t(`#ifdef GL_ES\n", + "precision mediump float;\n", + "#else\n", + "#if !defined(lowp)\n", + "#define lowp\n", + "#endif\n", + "#if !defined(mediump)\n", + "#define mediump\n", + "#endif\n", + "#if !defined(highp)\n", + "#define highp\n", + "#endif\n", + "#endif\n", + "`,`#ifdef GL_ES\n", + "precision highp float;\n", + "#else\n", + "#if !defined(lowp)\n", + "#define lowp\n", + "#endif\n", + "#if !defined(mediump)\n", + "#define mediump\n", + "#endif\n", + "#if !defined(highp)\n", + "#define highp\n", + "#endif\n", + "#endif\n", + "vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n", + ");}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n", + "#ifdef TERRAIN3D\n", + "uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n", + "#endif\n", + "const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n", + "#ifdef TERRAIN3D\n", + "highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n", + "#else\n", + "return 1.0;\n", + "#endif\n", + "}float calculate_visibility(vec4 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n", + "#else\n", + "return 1.0;\n", + "#endif\n", + "}float ele(vec2 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n", + "#else\n", + "return 0.0;\n", + "#endif\n", + "}float get_elevation(vec2 pos) {\n", + "#ifdef TERRAIN3D\n", + "vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n", + "#else\n", + "return 0.0;\n", + "#endif\n", + "}`),background:_t(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_t(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_t(`varying vec3 v_data;varying float v_visibility;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define mediump float radius\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define highp vec4 stroke_color\n", + "#pragma mapbox: define mediump float stroke_width\n", + "#pragma mapbox: define lowp float stroke_opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize mediump float radius\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize highp vec4 stroke_color\n", + "#pragma mapbox: initialize mediump float stroke_width\n", + "#pragma mapbox: initialize lowp float stroke_opacity\n", + "vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define mediump float radius\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define highp vec4 stroke_color\n", + "#pragma mapbox: define mediump float stroke_width\n", + "#pragma mapbox: define lowp float stroke_opacity\n", + "void main(void) {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize mediump float radius\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize highp vec4 stroke_color\n", + "#pragma mapbox: initialize mediump float stroke_width\n", + "#pragma mapbox: initialize lowp float stroke_opacity\n", + "vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:_t(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_t(`uniform highp float u_intensity;varying vec2 v_extrude;\n", + "#pragma mapbox: define highp float weight\n", + "#define GAUSS_COEF 0.3989422804014327\n", + "void main() {\n", + "#pragma mapbox: initialize highp float weight\n", + "float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n", + "#pragma mapbox: define highp float weight\n", + "#pragma mapbox: define mediump float radius\n", + "const highp float ZERO=1.0/255.0/16.0;\n", + "#define GAUSS_COEF 0.3989422804014327\n", + "void main(void) {\n", + "#pragma mapbox: initialize highp float weight\n", + "#pragma mapbox: initialize mediump float radius\n", + "vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:_t(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(0.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_t(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_t(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_t(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_t(`#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_FragColor=color*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec2 a_pos;uniform mat4 u_matrix;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:_t(`varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n", + "#pragma mapbox: define highp vec4 outline_color\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 outline_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:_t(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:_t(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:_t(`varying vec4 v_color;void main() {gl_FragColor=v_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n", + "#ifdef TERRAIN3D\n", + "attribute vec2 a_centroid;\n", + "#endif\n", + "varying vec4 v_color;\n", + "#pragma mapbox: define highp float base\n", + "#pragma mapbox: define highp float height\n", + "#pragma mapbox: define highp vec4 color\n", + "void main() {\n", + "#pragma mapbox: initialize highp float base\n", + "#pragma mapbox: initialize highp float height\n", + "#pragma mapbox: initialize highp vec4 color\n", + "vec3 normal=a_normal_ed.xyz;\n", + "#ifdef TERRAIN3D\n", + "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", + "#else\n", + "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", + "#endif\n", + "base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:_t(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n", + "#ifdef TERRAIN3D\n", + "attribute vec2 a_centroid;\n", + "#endif\n", + "varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n", + "#pragma mapbox: define lowp float base\n", + "#pragma mapbox: define lowp float height\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float base\n", + "#pragma mapbox: initialize lowp float height\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n", + "#ifdef TERRAIN3D\n", + "float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n", + "#else\n", + "float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n", + "#endif\n", + "base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n", + "? a_pos\n", + ": vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:_t(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_t(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n", + "#define PI 3.141592653589793\n", + "void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_t(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n", + "#endif\n", + "v_width2=vec2(outset,inset);}`),lineGradient:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n", + "#endif\n", + "v_width2=vec2(outset,inset);}`),linePattern:_t(`#ifdef GL_ES\n", + "precision highp float;\n", + "#endif\n", + "uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "#pragma mapbox: define lowp vec4 pattern_from\n", + "#pragma mapbox: define lowp vec4 pattern_to\n", + "#pragma mapbox: define lowp float pixel_ratio_from\n", + "#pragma mapbox: define lowp float pixel_ratio_to\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "#pragma mapbox: initialize mediump vec4 pattern_from\n", + "#pragma mapbox: initialize mediump vec4 pattern_to\n", + "#pragma mapbox: initialize lowp float pixel_ratio_from\n", + "#pragma mapbox: initialize lowp float pixel_ratio_to\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n", + "#endif\n", + "v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:_t(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`\n", + "#define scale 0.015873016\n", + "#define LINE_DISTANCE_SCALE 2.0\n", + "attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n", + "#pragma mapbox: define highp vec4 color\n", + "#pragma mapbox: define lowp float blur\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define mediump float gapwidth\n", + "#pragma mapbox: define lowp float offset\n", + "#pragma mapbox: define mediump float width\n", + "#pragma mapbox: define lowp float floorwidth\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 color\n", + "#pragma mapbox: initialize lowp float blur\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize mediump float gapwidth\n", + "#pragma mapbox: initialize lowp float offset\n", + "#pragma mapbox: initialize mediump float width\n", + "#pragma mapbox: initialize lowp float floorwidth\n", + "float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n", + "#ifdef TERRAIN3D\n", + "v_gamma_scale=1.0;\n", + "#else\n", + "float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n", + "#endif\n", + "v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:_t(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_t(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n", + "#pragma mapbox: define lowp float opacity\n", + "void main() {\n", + "#pragma mapbox: initialize lowp float opacity\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:_t(`#define SDF_PX 8.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:_t(`#define SDF_PX 8.0\n", + "#define SDF 1.0\n", + "#define ICON 0.0\n", + "uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n", + "#ifdef OVERDRAW_INSPECTOR\n", + "gl_FragColor=vec4(1.0);\n", + "#endif\n", + "}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n", + "#pragma mapbox: define highp vec4 fill_color\n", + "#pragma mapbox: define highp vec4 halo_color\n", + "#pragma mapbox: define lowp float opacity\n", + "#pragma mapbox: define lowp float halo_width\n", + "#pragma mapbox: define lowp float halo_blur\n", + "void main() {\n", + "#pragma mapbox: initialize highp vec4 fill_color\n", + "#pragma mapbox: initialize highp vec4 halo_color\n", + "#pragma mapbox: initialize lowp float opacity\n", + "#pragma mapbox: initialize lowp float halo_width\n", + "#pragma mapbox: initialize lowp float halo_blur\n", + "vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\n", + "camera_to_anchor_distance/u_camera_to_center_distance :\n", + "u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:_t(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:_t(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:_t(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:_t(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function _t(le,w){let B=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,Q=w.match(/attribute ([\\w]+) ([\\w]+)/g),ee=le.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),se=w.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),qe=se?se.concat(ee):ee,je={};return{fragmentSource:le=le.replace(B,(it,yt,Ot,Nt,hr)=>(je[hr]=!0,yt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + "varying ${Ot} ${Nt} ${hr};\n", + "#else\n", + "uniform ${Ot} ${Nt} u_${hr};\n", + "#endif\n", + "`:`\n", + "#ifdef HAS_UNIFORM_u_${hr}\n", + " ${Ot} ${Nt} ${hr} = u_${hr};\n", + "#endif\n", + "`)),vertexSource:w=w.replace(B,(it,yt,Ot,Nt,hr)=>{let Sr=Nt===\"float\"?\"vec2\":\"vec4\",he=hr.match(/color/)?\"color\":Sr;return je[hr]?yt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + "uniform lowp float u_${hr}_t;\n", + "attribute ${Ot} ${Sr} a_${hr};\n", + "varying ${Ot} ${Nt} ${hr};\n", + "#else\n", + "uniform ${Ot} ${Nt} u_${hr};\n", + "#endif\n", + "`:he===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + " ${hr} = a_${hr};\n", + "#else\n", + " ${Ot} ${Nt} ${hr} = u_${hr};\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + " ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", + "#else\n", + " ${Ot} ${Nt} ${hr} = u_${hr};\n", + "#endif\n", + "`:yt===\"define\"?`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + "uniform lowp float u_${hr}_t;\n", + "attribute ${Ot} ${Sr} a_${hr};\n", + "#else\n", + "uniform ${Ot} ${Nt} u_${hr};\n", + "#endif\n", + "`:he===\"vec4\"?`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + " ${Ot} ${Nt} ${hr} = a_${hr};\n", + "#else\n", + " ${Ot} ${Nt} ${hr} = u_${hr};\n", + "#endif\n", + "`:`\n", + "#ifndef HAS_UNIFORM_u_${hr}\n", + " ${Ot} ${Nt} ${hr} = unpack_mix_${he}(a_${hr}, u_${hr}_t);\n", + "#else\n", + " ${Ot} ${Nt} ${hr} = u_${hr};\n", + "#endif\n", + "`}),staticAttributes:Q,staticUniforms:qe}}class br{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(w,B,Q,ee,se,qe,je,it,yt){this.context=w;let Ot=this.boundPaintVertexBuffers.length!==ee.length;for(let Nt=0;!Ot&&Nt({u_matrix:le,u_texture:0,u_ele_delta:w,u_fog_matrix:B,u_fog_color:Q?Q.properties.get(\"fog-color\"):a.aM.white,u_fog_ground_blend:Q?Q.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:Q?Q.calculateFogBlendOpacity(ee):0,u_horizon_color:Q?Q.properties.get(\"horizon-color\"):a.aM.white,u_horizon_fog_blend:Q?Q.properties.get(\"horizon-fog-blend\"):1});function ti(le){let w=[];for(let B=0;B({u_depth:new a.aH(Dt,Ut.u_depth),u_terrain:new a.aH(Dt,Ut.u_terrain),u_terrain_dim:new a.aI(Dt,Ut.u_terrain_dim),u_terrain_matrix:new a.aJ(Dt,Ut.u_terrain_matrix),u_terrain_unpack:new a.aK(Dt,Ut.u_terrain_unpack),u_terrain_exaggeration:new a.aI(Dt,Ut.u_terrain_exaggeration)}))(w,Mt),this.binderUniforms=Q?Q.getUniforms(w,Mt):[]}draw(w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he,be,Pe,Oe,Je){let He=w.gl;if(this.failedToCreate)return;if(w.program.set(this.program),w.setDepthMode(Q),w.setStencilMode(ee),w.setColorMode(se),w.setCullFace(qe),it){w.activeTexture.set(He.TEXTURE2),He.bindTexture(He.TEXTURE_2D,it.depthTexture),w.activeTexture.set(He.TEXTURE3),He.bindTexture(He.TEXTURE_2D,it.texture);for(let Mt in this.terrainUniforms)this.terrainUniforms[Mt].set(it[Mt])}for(let Mt in this.fixedUniforms)this.fixedUniforms[Mt].set(je[Mt]);be&&be.setUniforms(w,this.binderUniforms,Sr,{zoom:he});let et=0;switch(B){case He.LINES:et=2;break;case He.TRIANGLES:et=3;break;case He.LINE_STRIP:et=1}for(let Mt of hr.get()){let Dt=Mt.vaos||(Mt.vaos={});(Dt[yt]||(Dt[yt]=new br)).bind(w,this,Ot,be?be.getPaintVertexBuffers():[],Nt,Mt.vertexOffset,Pe,Oe,Je),He.drawElements(B,Mt.primitiveLength*et,He.UNSIGNED_SHORT,Mt.primitiveOffset*et*2)}}}function Yi(le,w,B){let Q=1/nn(B,1,w.transform.tileZoom),ee=Math.pow(2,B.tileID.overscaledZ),se=B.tileSize*Math.pow(2,w.transform.tileZoom)/ee,qe=se*(B.tileID.canonical.x+B.tileID.wrap*ee),je=se*B.tileID.canonical.y;return{u_image:0,u_texsize:B.imageAtlasTexture.size,u_scale:[Q,le.fromScale,le.toScale],u_fade:le.t,u_pixel_coord_upper:[qe>>16,je>>16],u_pixel_coord_lower:[65535&qe,65535&je]}}let an=(le,w,B,Q)=>{let ee=w.style.light,se=ee.properties.get(\"position\"),qe=[se.x,se.y,se.z],je=function(){var yt=new a.A(9);return a.A!=Float32Array&&(yt[1]=0,yt[2]=0,yt[3]=0,yt[5]=0,yt[6]=0,yt[7]=0),yt[0]=1,yt[4]=1,yt[8]=1,yt}();ee.properties.get(\"anchor\")===\"viewport\"&&function(yt,Ot){var Nt=Math.sin(Ot),hr=Math.cos(Ot);yt[0]=hr,yt[1]=Nt,yt[2]=0,yt[3]=-Nt,yt[4]=hr,yt[5]=0,yt[6]=0,yt[7]=0,yt[8]=1}(je,-w.transform.angle),function(yt,Ot,Nt){var hr=Ot[0],Sr=Ot[1],he=Ot[2];yt[0]=hr*Nt[0]+Sr*Nt[3]+he*Nt[6],yt[1]=hr*Nt[1]+Sr*Nt[4]+he*Nt[7],yt[2]=hr*Nt[2]+Sr*Nt[5]+he*Nt[8]}(qe,qe,je);let it=ee.properties.get(\"color\");return{u_matrix:le,u_lightpos:qe,u_lightintensity:ee.properties.get(\"intensity\"),u_lightcolor:[it.r,it.g,it.b],u_vertical_gradient:+B,u_opacity:Q}},hi=(le,w,B,Q,ee,se,qe)=>a.e(an(le,w,B,Q),Yi(se,w,qe),{u_height_factor:-Math.pow(2,ee.overscaledZ)/qe.tileSize/8}),Ji=le=>({u_matrix:le}),ua=(le,w,B,Q)=>a.e(Ji(le),Yi(B,w,Q)),Fn=(le,w)=>({u_matrix:le,u_world:w}),Sa=(le,w,B,Q,ee)=>a.e(ua(le,w,B,Q),{u_world:ee}),go=(le,w,B,Q)=>{let ee=le.transform,se,qe;if(Q.paint.get(\"circle-pitch-alignment\")===\"map\"){let je=nn(B,1,ee.zoom);se=!0,qe=[je,je]}else se=!1,qe=ee.pixelsToGLUnits;return{u_camera_to_center_distance:ee.cameraToCenterDistance,u_scale_with_map:+(Q.paint.get(\"circle-pitch-scale\")===\"map\"),u_matrix:le.translatePosMatrix(w.posMatrix,B,Q.paint.get(\"circle-translate\"),Q.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+se,u_device_pixel_ratio:le.pixelRatio,u_extrude_scale:qe}},Oo=(le,w,B)=>({u_matrix:le,u_inv_matrix:w,u_camera_to_center_distance:B.cameraToCenterDistance,u_viewport_size:[B.width,B.height]}),ho=(le,w,B=1)=>({u_matrix:le,u_color:w,u_overlay:0,u_overlay_scale:B}),Mo=le=>({u_matrix:le}),xo=(le,w,B,Q)=>({u_matrix:le,u_extrude_scale:nn(w,1,B),u_intensity:Q}),zs=(le,w,B,Q)=>{let ee=a.H();a.aP(ee,0,le.width,le.height,0,0,1);let se=le.context.gl;return{u_matrix:ee,u_world:[se.drawingBufferWidth,se.drawingBufferHeight],u_image:B,u_color_ramp:Q,u_opacity:w.paint.get(\"heatmap-opacity\")}};function ks(le,w){let B=Math.pow(2,w.canonical.z),Q=w.canonical.y;return[new a.Z(0,Q/B).toLngLat().lat,new a.Z(0,(Q+1)/B).toLngLat().lat]}let Zs=(le,w,B,Q)=>{let ee=le.transform;return{u_matrix:Cs(le,w,B,Q),u_ratio:1/nn(w,1,ee.zoom),u_device_pixel_ratio:le.pixelRatio,u_units_to_pixels:[1/ee.pixelsToGLUnits[0],1/ee.pixelsToGLUnits[1]]}},Xs=(le,w,B,Q,ee)=>a.e(Zs(le,w,B,ee),{u_image:0,u_image_height:Q}),wl=(le,w,B,Q,ee)=>{let se=le.transform,qe=cl(w,se);return{u_matrix:Cs(le,w,B,ee),u_texsize:w.imageAtlasTexture.size,u_ratio:1/nn(w,1,se.zoom),u_device_pixel_ratio:le.pixelRatio,u_image:0,u_scale:[qe,Q.fromScale,Q.toScale],u_fade:Q.t,u_units_to_pixels:[1/se.pixelsToGLUnits[0],1/se.pixelsToGLUnits[1]]}},os=(le,w,B,Q,ee,se)=>{let qe=le.lineAtlas,je=cl(w,le.transform),it=B.layout.get(\"line-cap\")===\"round\",yt=qe.getDash(Q.from,it),Ot=qe.getDash(Q.to,it),Nt=yt.width*ee.fromScale,hr=Ot.width*ee.toScale;return a.e(Zs(le,w,B,se),{u_patternscale_a:[je/Nt,-yt.height/2],u_patternscale_b:[je/hr,-Ot.height/2],u_sdfgamma:qe.width/(256*Math.min(Nt,hr)*le.pixelRatio)/2,u_image:0,u_tex_y_a:yt.y,u_tex_y_b:Ot.y,u_mix:ee.t})};function cl(le,w){return 1/nn(le,1,w.tileZoom)}function Cs(le,w,B,Q){return le.translatePosMatrix(Q?Q.posMatrix:w.tileID.posMatrix,w,B.paint.get(\"line-translate\"),B.paint.get(\"line-translate-anchor\"))}let ml=(le,w,B,Q,ee)=>{return{u_matrix:le,u_tl_parent:w,u_scale_parent:B,u_buffer_scale:1,u_fade_t:Q.mix,u_opacity:Q.opacity*ee.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:ee.paint.get(\"raster-brightness-min\"),u_brightness_high:ee.paint.get(\"raster-brightness-max\"),u_saturation_factor:(qe=ee.paint.get(\"raster-saturation\"),qe>0?1-1/(1.001-qe):-qe),u_contrast_factor:(se=ee.paint.get(\"raster-contrast\"),se>0?1/(1-se):1+se),u_spin_weights:Ys(ee.paint.get(\"raster-hue-rotate\"))};var se,qe};function Ys(le){le*=Math.PI/180;let w=Math.sin(le),B=Math.cos(le);return[(2*B+1)/3,(-Math.sqrt(3)*w-B+1)/3,(Math.sqrt(3)*w-B+1)/3]}let Hs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>{let he=qe.transform;return{u_is_size_zoom_constant:+(le===\"constant\"||le===\"source\"),u_is_size_feature_constant:+(le===\"constant\"||le===\"camera\"),u_size_t:w?w.uSizeT:0,u_size:w?w.uSize:0,u_camera_to_center_distance:he.cameraToCenterDistance,u_pitch:he.pitch/360*2*Math.PI,u_rotate_symbol:+B,u_aspect_ratio:he.width/he.height,u_fade_change:qe.options.fadeDuration?qe.symbolFadeChange:1,u_matrix:je,u_label_plane_matrix:it,u_coord_matrix:yt,u_is_text:+Nt,u_pitch_with_map:+Q,u_is_along_line:ee,u_is_variable_anchor:se,u_texsize:hr,u_texture:0,u_translation:Ot,u_pitched_scale:Sr}},Eo=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr,he)=>{let be=qe.transform;return a.e(Hs(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,he),{u_gamma_scale:Q?Math.cos(be._pitch)*be.cameraToCenterDistance:1,u_device_pixel_ratio:qe.pixelRatio,u_is_halo:+Sr})},fs=(le,w,B,Q,ee,se,qe,je,it,yt,Ot,Nt,hr,Sr)=>a.e(Eo(le,w,B,Q,ee,se,qe,je,it,yt,Ot,!0,Nt,!0,Sr),{u_texsize_icon:hr,u_texture_icon:1}),$l=(le,w,B)=>({u_matrix:le,u_opacity:w,u_color:B}),Hu=(le,w,B,Q,ee,se)=>a.e(function(qe,je,it,yt){let Ot=it.imageManager.getPattern(qe.from.toString()),Nt=it.imageManager.getPattern(qe.to.toString()),{width:hr,height:Sr}=it.imageManager.getPixelSize(),he=Math.pow(2,yt.tileID.overscaledZ),be=yt.tileSize*Math.pow(2,it.transform.tileZoom)/he,Pe=be*(yt.tileID.canonical.x+yt.tileID.wrap*he),Oe=be*yt.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:Ot.tl,u_pattern_br_a:Ot.br,u_pattern_tl_b:Nt.tl,u_pattern_br_b:Nt.br,u_texsize:[hr,Sr],u_mix:je.t,u_pattern_size_a:Ot.displaySize,u_pattern_size_b:Nt.displaySize,u_scale_a:je.fromScale,u_scale_b:je.toScale,u_tile_units_to_pixels:1/nn(yt,1,it.transform.tileZoom),u_pixel_coord_upper:[Pe>>16,Oe>>16],u_pixel_coord_lower:[65535&Pe,65535&Oe]}}(Q,se,B,ee),{u_matrix:le,u_opacity:w}),fc={fillExtrusion:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_opacity:new a.aI(le,w.u_opacity)}),fillExtrusionPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_lightpos:new a.aN(le,w.u_lightpos),u_lightintensity:new a.aI(le,w.u_lightintensity),u_lightcolor:new a.aN(le,w.u_lightcolor),u_vertical_gradient:new a.aI(le,w.u_vertical_gradient),u_height_factor:new a.aI(le,w.u_height_factor),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade),u_opacity:new a.aI(le,w.u_opacity)}),fill:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),fillPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),fillOutline:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world)}),fillOutlinePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_texsize:new a.aO(le,w.u_texsize),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),circle:(le,w)=>({u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_scale_with_map:new a.aH(le,w.u_scale_with_map),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_extrude_scale:new a.aO(le,w.u_extrude_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_matrix:new a.aJ(le,w.u_matrix)}),collisionBox:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_pixel_extrude_scale:new a.aO(le,w.u_pixel_extrude_scale)}),collisionCircle:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_inv_matrix:new a.aJ(le,w.u_inv_matrix),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_viewport_size:new a.aO(le,w.u_viewport_size)}),debug:(le,w)=>({u_color:new a.aL(le,w.u_color),u_matrix:new a.aJ(le,w.u_matrix),u_overlay:new a.aH(le,w.u_overlay),u_overlay_scale:new a.aI(le,w.u_overlay_scale)}),clippingMask:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix)}),heatmap:(le,w)=>({u_extrude_scale:new a.aI(le,w.u_extrude_scale),u_intensity:new a.aI(le,w.u_intensity),u_matrix:new a.aJ(le,w.u_matrix)}),heatmapTexture:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_world:new a.aO(le,w.u_world),u_image:new a.aH(le,w.u_image),u_color_ramp:new a.aH(le,w.u_color_ramp),u_opacity:new a.aI(le,w.u_opacity)}),hillshade:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_latrange:new a.aO(le,w.u_latrange),u_light:new a.aO(le,w.u_light),u_shadow:new a.aL(le,w.u_shadow),u_highlight:new a.aL(le,w.u_highlight),u_accent:new a.aL(le,w.u_accent)}),hillshadePrepare:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_image:new a.aH(le,w.u_image),u_dimension:new a.aO(le,w.u_dimension),u_zoom:new a.aI(le,w.u_zoom),u_unpack:new a.aK(le,w.u_unpack)}),line:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels)}),lineGradient:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_image:new a.aH(le,w.u_image),u_image_height:new a.aI(le,w.u_image_height)}),linePattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texsize:new a.aO(le,w.u_texsize),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_image:new a.aH(le,w.u_image),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_scale:new a.aN(le,w.u_scale),u_fade:new a.aI(le,w.u_fade)}),lineSDF:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ratio:new a.aI(le,w.u_ratio),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_units_to_pixels:new a.aO(le,w.u_units_to_pixels),u_patternscale_a:new a.aO(le,w.u_patternscale_a),u_patternscale_b:new a.aO(le,w.u_patternscale_b),u_sdfgamma:new a.aI(le,w.u_sdfgamma),u_image:new a.aH(le,w.u_image),u_tex_y_a:new a.aI(le,w.u_tex_y_a),u_tex_y_b:new a.aI(le,w.u_tex_y_b),u_mix:new a.aI(le,w.u_mix)}),raster:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_tl_parent:new a.aO(le,w.u_tl_parent),u_scale_parent:new a.aI(le,w.u_scale_parent),u_buffer_scale:new a.aI(le,w.u_buffer_scale),u_fade_t:new a.aI(le,w.u_fade_t),u_opacity:new a.aI(le,w.u_opacity),u_image0:new a.aH(le,w.u_image0),u_image1:new a.aH(le,w.u_image1),u_brightness_low:new a.aI(le,w.u_brightness_low),u_brightness_high:new a.aI(le,w.u_brightness_high),u_saturation_factor:new a.aI(le,w.u_saturation_factor),u_contrast_factor:new a.aI(le,w.u_contrast_factor),u_spin_weights:new a.aN(le,w.u_spin_weights)}),symbolIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolSDF:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texture:new a.aH(le,w.u_texture),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),symbolTextAndIcon:(le,w)=>({u_is_size_zoom_constant:new a.aH(le,w.u_is_size_zoom_constant),u_is_size_feature_constant:new a.aH(le,w.u_is_size_feature_constant),u_size_t:new a.aI(le,w.u_size_t),u_size:new a.aI(le,w.u_size),u_camera_to_center_distance:new a.aI(le,w.u_camera_to_center_distance),u_pitch:new a.aI(le,w.u_pitch),u_rotate_symbol:new a.aH(le,w.u_rotate_symbol),u_aspect_ratio:new a.aI(le,w.u_aspect_ratio),u_fade_change:new a.aI(le,w.u_fade_change),u_matrix:new a.aJ(le,w.u_matrix),u_label_plane_matrix:new a.aJ(le,w.u_label_plane_matrix),u_coord_matrix:new a.aJ(le,w.u_coord_matrix),u_is_text:new a.aH(le,w.u_is_text),u_pitch_with_map:new a.aH(le,w.u_pitch_with_map),u_is_along_line:new a.aH(le,w.u_is_along_line),u_is_variable_anchor:new a.aH(le,w.u_is_variable_anchor),u_texsize:new a.aO(le,w.u_texsize),u_texsize_icon:new a.aO(le,w.u_texsize_icon),u_texture:new a.aH(le,w.u_texture),u_texture_icon:new a.aH(le,w.u_texture_icon),u_gamma_scale:new a.aI(le,w.u_gamma_scale),u_device_pixel_ratio:new a.aI(le,w.u_device_pixel_ratio),u_is_halo:new a.aH(le,w.u_is_halo),u_translation:new a.aO(le,w.u_translation),u_pitched_scale:new a.aI(le,w.u_pitched_scale)}),background:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_color:new a.aL(le,w.u_color)}),backgroundPattern:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_opacity:new a.aI(le,w.u_opacity),u_image:new a.aH(le,w.u_image),u_pattern_tl_a:new a.aO(le,w.u_pattern_tl_a),u_pattern_br_a:new a.aO(le,w.u_pattern_br_a),u_pattern_tl_b:new a.aO(le,w.u_pattern_tl_b),u_pattern_br_b:new a.aO(le,w.u_pattern_br_b),u_texsize:new a.aO(le,w.u_texsize),u_mix:new a.aI(le,w.u_mix),u_pattern_size_a:new a.aO(le,w.u_pattern_size_a),u_pattern_size_b:new a.aO(le,w.u_pattern_size_b),u_scale_a:new a.aI(le,w.u_scale_a),u_scale_b:new a.aI(le,w.u_scale_b),u_pixel_coord_upper:new a.aO(le,w.u_pixel_coord_upper),u_pixel_coord_lower:new a.aO(le,w.u_pixel_coord_lower),u_tile_units_to_pixels:new a.aI(le,w.u_tile_units_to_pixels)}),terrain:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_ele_delta:new a.aI(le,w.u_ele_delta),u_fog_matrix:new a.aJ(le,w.u_fog_matrix),u_fog_color:new a.aL(le,w.u_fog_color),u_fog_ground_blend:new a.aI(le,w.u_fog_ground_blend),u_fog_ground_blend_opacity:new a.aI(le,w.u_fog_ground_blend_opacity),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon_fog_blend:new a.aI(le,w.u_horizon_fog_blend)}),terrainDepth:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_ele_delta:new a.aI(le,w.u_ele_delta)}),terrainCoords:(le,w)=>({u_matrix:new a.aJ(le,w.u_matrix),u_texture:new a.aH(le,w.u_texture),u_terrain_coords_id:new a.aI(le,w.u_terrain_coords_id),u_ele_delta:new a.aI(le,w.u_ele_delta)}),sky:(le,w)=>({u_sky_color:new a.aL(le,w.u_sky_color),u_horizon_color:new a.aL(le,w.u_horizon_color),u_horizon:new a.aI(le,w.u_horizon),u_sky_horizon_blend:new a.aI(le,w.u_sky_horizon_blend)})};class ms{constructor(w,B,Q){this.context=w;let ee=w.gl;this.buffer=ee.createBuffer(),this.dynamicDraw=!!Q,this.context.unbindVAO(),w.bindElementBuffer.set(this.buffer),ee.bufferData(ee.ELEMENT_ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?ee.DYNAMIC_DRAW:ee.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(w){let B=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),B.bufferSubData(B.ELEMENT_ARRAY_BUFFER,0,w.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let on={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class fa{constructor(w,B,Q,ee){this.length=B.length,this.attributes=Q,this.itemSize=B.bytesPerElement,this.dynamicDraw=ee,this.context=w;let se=w.gl;this.buffer=se.createBuffer(),w.bindVertexBuffer.set(this.buffer),se.bufferData(se.ARRAY_BUFFER,B.arrayBuffer,this.dynamicDraw?se.DYNAMIC_DRAW:se.STATIC_DRAW),this.dynamicDraw||delete B.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(w){if(w.length!==this.length)throw new Error(`Length of new data is ${w.length}, which doesn't match current length of ${this.length}`);let B=this.context.gl;this.bind(),B.bufferSubData(B.ARRAY_BUFFER,0,w.arrayBuffer)}enableAttributes(w,B){for(let Q=0;Q0){let Dt=a.H();a.aQ(Dt,He.placementInvProjMatrix,le.transform.glCoordMatrix),a.aQ(Dt,Dt,He.placementViewportMatrix),it.push({circleArray:Mt,circleOffset:Ot,transform:Je.posMatrix,invTransform:Dt,coord:Je}),yt+=Mt.length/4,Ot=yt}et&&je.draw(se,qe.LINES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,{u_matrix:Je.posMatrix,u_pixel_extrude_scale:[1/(Nt=le.transform).width,1/Nt.height]},le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je),B.id,et.layoutVertexBuffer,et.indexBuffer,et.segments,null,le.transform.zoom,null,null,et.collisionVertexBuffer)}var Nt;if(!ee||!it.length)return;let hr=le.useProgram(\"collisionCircle\"),Sr=new a.aR;Sr.resize(4*yt),Sr._trim();let he=0;for(let Oe of it)for(let Je=0;Je=0&&(Oe[He.associatedIconIndex]={shiftedAnchor:Mn,angle:pa})}else ai(He.numGlyphs,be)}if(yt){Pe.clear();let Je=le.icon.placedSymbolArray;for(let He=0;Hele.style.map.terrain.getElevation(zr,tt,zt):null,wt=B.layout.get(\"text-rotation-alignment\")===\"map\";Ve(di,zr.posMatrix,le,ee,Vl,cu,Oe,yt,wt,be,zr.toUnwrapped(),he.width,he.height,el,We)}let Dl=zr.posMatrix,zl=ee&&tr||zc,Z=Je||zl?uu:Vl,oe=Zu,we=Qi&&B.paint.get(ee?\"text-halo-width\":\"icon-halo-width\").constantOr(1)!==0,Be;Be=Qi?di.iconsInText?fs(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,Wa,As,Rr):Eo(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,ee,Wa,!0,Rr):Hs(Mn.kind,Ga,He,Oe,Je,zl,le,Dl,Z,oe,el,ee,Wa,Rr);let Ue={program:ea,buffers:Li,uniformValues:Be,atlasTexture:co,atlasTextureIcon:yo,atlasInterpolation:Ro,atlasInterpolationIcon:Ds,isSDF:Qi,hasHalo:we};if(Mt&&di.canOverlap){Dt=!0;let We=Li.segments.get();for(let wt of We)mr.push({segments:new a.a0([wt]),sortKey:wt.sortKey,state:Ue,terrainData:To})}else mr.push({segments:Li.segments,sortKey:0,state:Ue,terrainData:To})}Dt&&mr.sort((zr,Xr)=>zr.sortKey-Xr.sortKey);for(let zr of mr){let Xr=zr.state;if(hr.activeTexture.set(Sr.TEXTURE0),Xr.atlasTexture.bind(Xr.atlasInterpolation,Sr.CLAMP_TO_EDGE),Xr.atlasTextureIcon&&(hr.activeTexture.set(Sr.TEXTURE1),Xr.atlasTextureIcon&&Xr.atlasTextureIcon.bind(Xr.atlasInterpolationIcon,Sr.CLAMP_TO_EDGE)),Xr.isSDF){let di=Xr.uniformValues;Xr.hasHalo&&(di.u_is_halo=1,Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,di,zr.terrainData)),di.u_is_halo=0}Eh(Xr.buffers,zr.segments,B,le,Xr.program,Ut,Ot,Nt,Xr.uniformValues,zr.terrainData)}}function Eh(le,w,B,Q,ee,se,qe,je,it,yt){let Ot=Q.context;ee.draw(Ot,Ot.gl.TRIANGLES,se,qe,je,Ja.disabled,it,yt,B.id,le.layoutVertexBuffer,le.indexBuffer,w,B.paint,Q.transform.zoom,le.programConfigurations.get(B.id),le.dynamicLayoutVertexBuffer,le.opacityVertexBuffer)}function nh(le,w,B,Q){let ee=le.context,se=ee.gl,qe=$o.disabled,je=new Ps([se.ONE,se.ONE],a.aM.transparent,[!0,!0,!0,!0]),it=w.getBucket(B);if(!it)return;let yt=Q.key,Ot=B.heatmapFbos.get(yt);Ot||(Ot=kh(ee,w.tileSize,w.tileSize),B.heatmapFbos.set(yt,Ot)),ee.bindFramebuffer.set(Ot.framebuffer),ee.viewport.set([0,0,w.tileSize,w.tileSize]),ee.clear({color:a.aM.transparent});let Nt=it.programConfigurations.get(B.id),hr=le.useProgram(\"heatmap\",Nt),Sr=le.style.map.terrain.getTerrainData(Q);hr.draw(ee,se.TRIANGLES,wo.disabled,qe,je,Ja.disabled,xo(Q.posMatrix,w,le.transform.zoom,B.paint.get(\"heatmap-intensity\")),Sr,B.id,it.layoutVertexBuffer,it.indexBuffer,it.segments,B.paint,le.transform.zoom,Nt)}function hf(le,w,B){let Q=le.context,ee=Q.gl;Q.setColorMode(le.colorModeForRenderPass());let se=Kh(Q,w),qe=B.key,je=w.heatmapFbos.get(qe);je&&(Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,je.colorAttachment.get()),Q.activeTexture.set(ee.TEXTURE1),se.bind(ee.LINEAR,ee.CLAMP_TO_EDGE),le.useProgram(\"heatmapTexture\").draw(Q,ee.TRIANGLES,wo.disabled,$o.disabled,le.colorModeForRenderPass(),Ja.disabled,zs(le,w,0,1),null,w.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments,w.paint,le.transform.zoom),je.destroy(),w.heatmapFbos.delete(qe))}function kh(le,w,B){var Q,ee;let se=le.gl,qe=se.createTexture();se.bindTexture(se.TEXTURE_2D,qe),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_S,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_WRAP_T,se.CLAMP_TO_EDGE),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MIN_FILTER,se.LINEAR),se.texParameteri(se.TEXTURE_2D,se.TEXTURE_MAG_FILTER,se.LINEAR);let je=(Q=le.HALF_FLOAT)!==null&&Q!==void 0?Q:se.UNSIGNED_BYTE,it=(ee=le.RGBA16F)!==null&&ee!==void 0?ee:se.RGBA;se.texImage2D(se.TEXTURE_2D,0,it,w,B,0,se.RGBA,je,null);let yt=le.createFramebuffer(w,B,!1,!1);return yt.colorAttachment.set(qe),yt}function Kh(le,w){return w.colorRampTexture||(w.colorRampTexture=new p(le,w.colorRamp,le.gl.RGBA)),w.colorRampTexture}function rc(le,w,B,Q,ee){if(!B||!Q||!Q.imageAtlas)return;let se=Q.imageAtlas.patternPositions,qe=se[B.to.toString()],je=se[B.from.toString()];if(!qe&&je&&(qe=je),!je&&qe&&(je=qe),!qe||!je){let it=ee.getPaintProperty(w);qe=se[it],je=se[it]}qe&&je&&le.setConstantPatternPositions(qe,je)}function ah(le,w,B,Q,ee,se,qe){let je=le.context.gl,it=\"fill-pattern\",yt=B.paint.get(it),Ot=yt&&yt.constantOr(1),Nt=B.getCrossfadeParameters(),hr,Sr,he,be,Pe;qe?(Sr=Ot&&!B.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",hr=je.LINES):(Sr=Ot?\"fillPattern\":\"fill\",hr=je.TRIANGLES);let Oe=yt.constantOr(null);for(let Je of Q){let He=w.getTile(Je);if(Ot&&!He.patternsLoaded())continue;let et=He.getBucket(B);if(!et)continue;let Mt=et.programConfigurations.get(B.id),Dt=le.useProgram(Sr,Mt),Ut=le.style.map.terrain&&le.style.map.terrain.getTerrainData(Je);Ot&&(le.context.activeTexture.set(je.TEXTURE0),He.imageAtlasTexture.bind(je.LINEAR,je.CLAMP_TO_EDGE),Mt.updatePaintBuffers(Nt)),rc(Mt,it,Oe,He,B);let tr=Ut?Je:null,mr=le.translatePosMatrix(tr?tr.posMatrix:Je.posMatrix,He,B.paint.get(\"fill-translate\"),B.paint.get(\"fill-translate-anchor\"));if(qe){be=et.indexBuffer2,Pe=et.segments2;let Rr=[je.drawingBufferWidth,je.drawingBufferHeight];he=Sr===\"fillOutlinePattern\"&&Ot?Sa(mr,le,Nt,He,Rr):Fn(mr,Rr)}else be=et.indexBuffer,Pe=et.segments,he=Ot?ua(mr,le,Nt,He):Ji(mr);Dt.draw(le.context,hr,ee,le.stencilModeForClipping(Je),se,Ja.disabled,he,Ut,B.id,et.layoutVertexBuffer,be,Pe,B.paint,le.transform.zoom,Mt)}}function Wc(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=\"fill-extrusion-pattern\",Ot=B.paint.get(yt),Nt=Ot.constantOr(1),hr=B.getCrossfadeParameters(),Sr=B.paint.get(\"fill-extrusion-opacity\"),he=Ot.constantOr(null);for(let be of Q){let Pe=w.getTile(be),Oe=Pe.getBucket(B);if(!Oe)continue;let Je=le.style.map.terrain&&le.style.map.terrain.getTerrainData(be),He=Oe.programConfigurations.get(B.id),et=le.useProgram(Nt?\"fillExtrusionPattern\":\"fillExtrusion\",He);Nt&&(le.context.activeTexture.set(it.TEXTURE0),Pe.imageAtlasTexture.bind(it.LINEAR,it.CLAMP_TO_EDGE),He.updatePaintBuffers(hr)),rc(He,yt,he,Pe,B);let Mt=le.translatePosMatrix(be.posMatrix,Pe,B.paint.get(\"fill-extrusion-translate\"),B.paint.get(\"fill-extrusion-translate-anchor\")),Dt=B.paint.get(\"fill-extrusion-vertical-gradient\"),Ut=Nt?hi(Mt,le,Dt,Sr,be,hr,Pe):an(Mt,le,Dt,Sr);et.draw(je,je.gl.TRIANGLES,ee,se,qe,Ja.backCCW,Ut,Je,B.id,Oe.layoutVertexBuffer,Oe.indexBuffer,Oe.segments,B.paint,le.transform.zoom,He,le.style.map.terrain&&Oe.centroidVertexBuffer)}}function df(le,w,B,Q,ee,se,qe){let je=le.context,it=je.gl,yt=B.fbo;if(!yt)return;let Ot=le.useProgram(\"hillshade\"),Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(w);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,yt.colorAttachment.get()),Ot.draw(je,it.TRIANGLES,ee,se,qe,Ja.disabled,((hr,Sr,he,be)=>{let Pe=he.paint.get(\"hillshade-shadow-color\"),Oe=he.paint.get(\"hillshade-highlight-color\"),Je=he.paint.get(\"hillshade-accent-color\"),He=he.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);he.paint.get(\"hillshade-illumination-anchor\")===\"viewport\"&&(He-=hr.transform.angle);let et=!hr.options.moving;return{u_matrix:be?be.posMatrix:hr.transform.calculatePosMatrix(Sr.tileID.toUnwrapped(),et),u_image:0,u_latrange:ks(0,Sr.tileID),u_light:[he.paint.get(\"hillshade-exaggeration\"),He],u_shadow:Pe,u_highlight:Oe,u_accent:Je}})(le,B,Q,Nt?w:null),Nt,Q.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments)}function Cu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl,it=w.dem;if(it&&it.data){let yt=it.dim,Ot=it.stride,Nt=it.getPixels();if(qe.activeTexture.set(je.TEXTURE1),qe.pixelStoreUnpackPremultiplyAlpha.set(!1),w.demTexture=w.demTexture||le.getTileTexture(Ot),w.demTexture){let Sr=w.demTexture;Sr.update(Nt,{premultiply:!1}),Sr.bind(je.NEAREST,je.CLAMP_TO_EDGE)}else w.demTexture=new p(qe,Nt,je.RGBA,{premultiply:!1}),w.demTexture.bind(je.NEAREST,je.CLAMP_TO_EDGE);qe.activeTexture.set(je.TEXTURE0);let hr=w.fbo;if(!hr){let Sr=new p(qe,{width:yt,height:yt,data:null},je.RGBA);Sr.bind(je.LINEAR,je.CLAMP_TO_EDGE),hr=w.fbo=qe.createFramebuffer(yt,yt,!0,!1),hr.colorAttachment.set(Sr.texture)}qe.bindFramebuffer.set(hr.framebuffer),qe.viewport.set([0,0,yt,yt]),le.useProgram(\"hillshadePrepare\").draw(qe,je.TRIANGLES,Q,ee,se,Ja.disabled,((Sr,he)=>{let be=he.stride,Pe=a.H();return a.aP(Pe,0,a.X,-a.X,0,0,1),a.J(Pe,Pe,[0,-a.X,0]),{u_matrix:Pe,u_image:1,u_dimension:[be,be],u_zoom:Sr.overscaledZ,u_unpack:he.getUnpackVector()}})(w.tileID,it),null,B.id,le.rasterBoundsBuffer,le.quadTriangleIndexBuffer,le.rasterBoundsSegments),w.needsHillshadePrepare=!1}}function Nf(le,w,B,Q,ee,se){let qe=Q.paint.get(\"raster-fade-duration\");if(!se&&qe>0){let je=u.now(),it=(je-le.timeAdded)/qe,yt=w?(je-w.timeAdded)/qe:-1,Ot=B.getSource(),Nt=ee.coveringZoomLevel({tileSize:Ot.tileSize,roundZoom:Ot.roundZoom}),hr=!w||Math.abs(w.tileID.overscaledZ-Nt)>Math.abs(le.tileID.overscaledZ-Nt),Sr=hr&&le.refreshedUponExpiration?1:a.ac(hr?it:1-yt,0,1);return le.refreshedUponExpiration&&it>=1&&(le.refreshedUponExpiration=!1),w?{opacity:1,mix:1-Sr}:{opacity:Sr,mix:0}}return{opacity:1,mix:0}}let Zc=new a.aM(1,0,0,1),ds=new a.aM(0,1,0,1),Ch=new a.aM(0,0,1,1),Bd=new a.aM(1,0,1,1),Jh=new a.aM(0,1,1,1);function Cf(le,w,B,Q){Lu(le,0,w+B/2,le.transform.width,B,Q)}function pd(le,w,B,Q){Lu(le,w-B/2,0,B,le.transform.height,Q)}function Lu(le,w,B,Q,ee,se){let qe=le.context,je=qe.gl;je.enable(je.SCISSOR_TEST),je.scissor(w*le.pixelRatio,B*le.pixelRatio,Q*le.pixelRatio,ee*le.pixelRatio),qe.clear({color:se}),je.disable(je.SCISSOR_TEST)}function $h(le,w,B){let Q=le.context,ee=Q.gl,se=B.posMatrix,qe=le.useProgram(\"debug\"),je=wo.disabled,it=$o.disabled,yt=le.colorModeForRenderPass(),Ot=\"$debug\",Nt=le.style.map.terrain&&le.style.map.terrain.getTerrainData(B);Q.activeTexture.set(ee.TEXTURE0);let hr=w.getTileByID(B.key).latestRawTileData,Sr=Math.floor((hr&&hr.byteLength||0)/1024),he=w.getTile(B).tileSize,be=512/Math.min(he,512)*(B.overscaledZ/le.transform.zoom)*.5,Pe=B.canonical.toString();B.overscaledZ!==B.canonical.z&&(Pe+=` => ${B.overscaledZ}`),function(Oe,Je){Oe.initDebugOverlayCanvas();let He=Oe.debugOverlayCanvas,et=Oe.context.gl,Mt=Oe.debugOverlayCanvas.getContext(\"2d\");Mt.clearRect(0,0,He.width,He.height),Mt.shadowColor=\"white\",Mt.shadowBlur=2,Mt.lineWidth=1.5,Mt.strokeStyle=\"white\",Mt.textBaseline=\"top\",Mt.font=\"bold 36px Open Sans, sans-serif\",Mt.fillText(Je,5,5),Mt.strokeText(Je,5,5),Oe.debugOverlayTexture.update(He),Oe.debugOverlayTexture.bind(et.LINEAR,et.CLAMP_TO_EDGE)}(le,`${Pe} ${Sr}kB`),qe.draw(Q,ee.TRIANGLES,je,it,Ps.alphaBlended,Ja.disabled,ho(se,a.aM.transparent,be),null,Ot,le.debugBuffer,le.quadTriangleIndexBuffer,le.debugSegments),qe.draw(Q,ee.LINE_STRIP,je,it,yt,Ja.disabled,ho(se,a.aM.red),Nt,Ot,le.debugBuffer,le.tileBorderIndexBuffer,le.debugSegments)}function eu(le,w,B){let Q=le.context,ee=Q.gl,se=le.colorModeForRenderPass(),qe=new wo(ee.LEQUAL,wo.ReadWrite,le.depthRangeFor3D),je=le.useProgram(\"terrain\"),it=w.getTerrainMesh();Q.bindFramebuffer.set(null),Q.viewport.set([0,0,le.width,le.height]);for(let yt of B){let Ot=le.renderToTexture.getTexture(yt),Nt=w.getTerrainData(yt.tileID);Q.activeTexture.set(ee.TEXTURE0),ee.bindTexture(ee.TEXTURE_2D,Ot.texture);let hr=le.transform.calculatePosMatrix(yt.tileID.toUnwrapped()),Sr=w.getMeshFrameDelta(le.transform.zoom),he=le.transform.calculateFogMatrix(yt.tileID.toUnwrapped()),be=Hr(hr,Sr,he,le.style.sky,le.transform.pitch);je.draw(Q,ee.TRIANGLES,qe,$o.disabled,se,Ja.backCCW,be,Nt,\"terrain\",it.vertexBuffer,it.indexBuffer,it.segments)}}class Pu{constructor(w,B,Q){this.vertexBuffer=w,this.indexBuffer=B,this.segments=Q}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Lc{constructor(w,B){this.context=new ov(w),this.transform=B,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:a.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new jo}resize(w,B,Q){if(this.width=Math.floor(w*Q),this.height=Math.floor(B*Q),this.pixelRatio=Q,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let ee of this.style._order)this.style._layers[ee].resize()}setup(){let w=this.context,B=new a.aX;B.emplaceBack(0,0),B.emplaceBack(a.X,0),B.emplaceBack(0,a.X),B.emplaceBack(a.X,a.X),this.tileExtentBuffer=w.createVertexBuffer(B,oo.members),this.tileExtentSegments=a.a0.simpleSegment(0,0,4,2);let Q=new a.aX;Q.emplaceBack(0,0),Q.emplaceBack(a.X,0),Q.emplaceBack(0,a.X),Q.emplaceBack(a.X,a.X),this.debugBuffer=w.createVertexBuffer(Q,oo.members),this.debugSegments=a.a0.simpleSegment(0,0,4,5);let ee=new a.$;ee.emplaceBack(0,0,0,0),ee.emplaceBack(a.X,0,a.X,0),ee.emplaceBack(0,a.X,0,a.X),ee.emplaceBack(a.X,a.X,a.X,a.X),this.rasterBoundsBuffer=w.createVertexBuffer(ee,ot.members),this.rasterBoundsSegments=a.a0.simpleSegment(0,0,4,2);let se=new a.aX;se.emplaceBack(0,0),se.emplaceBack(1,0),se.emplaceBack(0,1),se.emplaceBack(1,1),this.viewportBuffer=w.createVertexBuffer(se,oo.members),this.viewportSegments=a.a0.simpleSegment(0,0,4,2);let qe=new a.aZ;qe.emplaceBack(0),qe.emplaceBack(1),qe.emplaceBack(3),qe.emplaceBack(2),qe.emplaceBack(0),this.tileBorderIndexBuffer=w.createIndexBuffer(qe);let je=new a.aY;je.emplaceBack(0,1,2),je.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=w.createIndexBuffer(je);let it=this.context.gl;this.stencilClearMode=new $o({func:it.ALWAYS,mask:0},0,255,it.ZERO,it.ZERO,it.ZERO)}clearStencil(){let w=this.context,B=w.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let Q=a.H();a.aP(Q,0,this.width,this.height,0,0,1),a.K(Q,Q,[B.drawingBufferWidth,B.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(w,B.TRIANGLES,wo.disabled,this.stencilClearMode,Ps.disabled,Ja.disabled,Mo(Q),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(w,B){if(this.currentStencilSource===w.source||!w.isTileClipped()||!B||!B.length)return;this.currentStencilSource=w.source;let Q=this.context,ee=Q.gl;this.nextStencilID+B.length>256&&this.clearStencil(),Q.setColorMode(Ps.disabled),Q.setDepthMode(wo.disabled);let se=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(let qe of B){let je=this._tileClippingMaskIDs[qe.key]=this.nextStencilID++,it=this.style.map.terrain&&this.style.map.terrain.getTerrainData(qe);se.draw(Q,ee.TRIANGLES,wo.disabled,new $o({func:ee.ALWAYS,mask:0},je,255,ee.KEEP,ee.KEEP,ee.REPLACE),Ps.disabled,Ja.disabled,Mo(qe.posMatrix),it,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let w=this.nextStencilID++,B=this.context.gl;return new $o({func:B.NOTEQUAL,mask:255},w,255,B.KEEP,B.KEEP,B.REPLACE)}stencilModeForClipping(w){let B=this.context.gl;return new $o({func:B.EQUAL,mask:255},this._tileClippingMaskIDs[w.key],0,B.KEEP,B.KEEP,B.REPLACE)}stencilConfigForOverlap(w){let B=this.context.gl,Q=w.sort((qe,je)=>je.overscaledZ-qe.overscaledZ),ee=Q[Q.length-1].overscaledZ,se=Q[0].overscaledZ-ee+1;if(se>1){this.currentStencilSource=void 0,this.nextStencilID+se>256&&this.clearStencil();let qe={};for(let je=0;je({u_sky_color:Oe.properties.get(\"sky-color\"),u_horizon_color:Oe.properties.get(\"horizon-color\"),u_horizon:(Je.height/2+Je.getHorizon())*He,u_sky_horizon_blend:Oe.properties.get(\"sky-horizon-blend\")*Je.height/2*He}))(yt,it.style.map.transform,it.pixelRatio),Sr=new wo(Nt.LEQUAL,wo.ReadWrite,[0,1]),he=$o.disabled,be=it.colorModeForRenderPass(),Pe=it.useProgram(\"sky\");if(!yt.mesh){let Oe=new a.aX;Oe.emplaceBack(-1,-1),Oe.emplaceBack(1,-1),Oe.emplaceBack(1,1),Oe.emplaceBack(-1,1);let Je=new a.aY;Je.emplaceBack(0,1,2),Je.emplaceBack(0,2,3),yt.mesh=new Pu(Ot.createVertexBuffer(Oe,oo.members),Ot.createIndexBuffer(Je),a.a0.simpleSegment(0,0,Oe.length,Je.length))}Pe.draw(Ot,Nt.TRIANGLES,Sr,he,be,Ja.disabled,hr,void 0,\"sky\",yt.mesh.vertexBuffer,yt.mesh.indexBuffer,yt.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=B.showOverdrawInspector,this.depthRangeFor3D=[0,1-(w._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=Q.length-1;this.currentLayer>=0;this.currentLayer--){let it=this.style._layers[Q[this.currentLayer]],yt=ee[it.source],Ot=se[it.source];this._renderTileClippingMasks(it,Ot),this.renderLayer(this,yt,it,Ot)}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayerPe.source&&!Pe.isHidden(Ot)?[yt.sourceCaches[Pe.source]]:[]),Sr=hr.filter(Pe=>Pe.getSource().type===\"vector\"),he=hr.filter(Pe=>Pe.getSource().type!==\"vector\"),be=Pe=>{(!Nt||Nt.getSource().maxzoombe(Pe)),Nt||he.forEach(Pe=>be(Pe)),Nt}(this.style,this.transform.zoom);it&&function(yt,Ot,Nt){for(let hr=0;hr0),ee&&(a.b0(B,Q),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.sourceCache.getRenderableTiles(),Sr=se.useProgram(\"terrainDepth\");je.bindFramebuffer.set(qe.getFramebuffer(\"depth\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1});for(let he of hr){let be=qe.getTerrainData(he.tileID),Pe={u_matrix:se.transform.calculatePosMatrix(he.tileID.toUnwrapped()),u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};Sr.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Pe,be,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain),function(se,qe){let je=se.context,it=je.gl,yt=Ps.unblended,Ot=new wo(it.LEQUAL,wo.ReadWrite,[0,1]),Nt=qe.getTerrainMesh(),hr=qe.getCoordsTexture(),Sr=qe.sourceCache.getRenderableTiles(),he=se.useProgram(\"terrainCoords\");je.bindFramebuffer.set(qe.getFramebuffer(\"coords\").framebuffer),je.viewport.set([0,0,se.width/devicePixelRatio,se.height/devicePixelRatio]),je.clear({color:a.aM.transparent,depth:1}),qe.coordsIndex=[];for(let be of Sr){let Pe=qe.getTerrainData(be.tileID);je.activeTexture.set(it.TEXTURE0),it.bindTexture(it.TEXTURE_2D,hr.texture);let Oe={u_matrix:se.transform.calculatePosMatrix(be.tileID.toUnwrapped()),u_terrain_coords_id:(255-qe.coordsIndex.length)/255,u_texture:0,u_ele_delta:qe.getMeshFrameDelta(se.transform.zoom)};he.draw(je,it.TRIANGLES,Ot,$o.disabled,yt,Ja.backCCW,Oe,Pe,\"terrain\",Nt.vertexBuffer,Nt.indexBuffer,Nt.segments),qe.coordsIndex.push(be.tileID.key)}je.bindFramebuffer.set(null),je.viewport.set([0,0,se.width,se.height])}(this,this.style.map.terrain))}renderLayer(w,B,Q,ee){if(!Q.isHidden(this.transform.zoom)&&(Q.type===\"background\"||Q.type===\"custom\"||(ee||[]).length))switch(this.id=Q.id,Q.type){case\"symbol\":(function(se,qe,je,it,yt){if(se.renderPass!==\"translucent\")return;let Ot=$o.disabled,Nt=se.colorModeForRenderPass();(je._unevaluatedLayout.hasValue(\"text-variable-anchor\")||je._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(hr,Sr,he,be,Pe,Oe,Je,He,et){let Mt=Sr.transform,Dt=Gi(),Ut=Pe===\"map\",tr=Oe===\"map\";for(let mr of hr){let Rr=be.getTile(mr),zr=Rr.getBucket(he);if(!zr||!zr.text||!zr.text.segments.get().length)continue;let Xr=a.ag(zr.textSizeData,Mt.zoom),di=nn(Rr,1,Sr.transform.zoom),Li=Or(mr.posMatrix,tr,Ut,Sr.transform,di),Ci=he.layout.get(\"icon-text-fit\")!==\"none\"&&zr.hasIconData();if(Xr){let Qi=Math.pow(2,Mt.zoom-Rr.tileID.overscaledZ),Mn=Sr.style.map.terrain?(ea,Ga)=>Sr.style.map.terrain.getElevation(mr,ea,Ga):null,pa=Dt.translatePosition(Mt,Rr,Je,He);kf(zr,Ut,tr,et,Mt,Li,mr.posMatrix,Qi,Xr,Ci,Dt,pa,mr.toUnwrapped(),Mn)}}}(it,se,je,qe,je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),yt),je.paint.get(\"icon-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!1,je.paint.get(\"icon-translate\"),je.paint.get(\"icon-translate-anchor\"),je.layout.get(\"icon-rotation-alignment\"),je.layout.get(\"icon-pitch-alignment\"),je.layout.get(\"icon-keep-upright\"),Ot,Nt),je.paint.get(\"text-opacity\").constantOr(1)!==0&&Yh(se,qe,je,it,!0,je.paint.get(\"text-translate\"),je.paint.get(\"text-translate-anchor\"),je.layout.get(\"text-rotation-alignment\"),je.layout.get(\"text-pitch-alignment\"),je.layout.get(\"text-keep-upright\"),Ot,Nt),qe.map.showCollisionBoxes&&(tc(se,qe,je,it,!0),tc(se,qe,je,it,!1))})(w,B,Q,ee,this.style.placement.variableOffsets);break;case\"circle\":(function(se,qe,je,it){if(se.renderPass!==\"translucent\")return;let yt=je.paint.get(\"circle-opacity\"),Ot=je.paint.get(\"circle-stroke-width\"),Nt=je.paint.get(\"circle-stroke-opacity\"),hr=!je.layout.get(\"circle-sort-key\").isConstant();if(yt.constantOr(1)===0&&(Ot.constantOr(1)===0||Nt.constantOr(1)===0))return;let Sr=se.context,he=Sr.gl,be=se.depthModeForSublayer(0,wo.ReadOnly),Pe=$o.disabled,Oe=se.colorModeForRenderPass(),Je=[];for(let He=0;HeHe.sortKey-et.sortKey);for(let He of Je){let{programConfiguration:et,program:Mt,layoutVertexBuffer:Dt,indexBuffer:Ut,uniformValues:tr,terrainData:mr}=He.state;Mt.draw(Sr,he.TRIANGLES,be,Pe,Oe,Ja.disabled,tr,mr,je.id,Dt,Ut,He.segments,je.paint,se.transform.zoom,et)}})(w,B,Q,ee);break;case\"heatmap\":(function(se,qe,je,it){if(je.paint.get(\"heatmap-opacity\")===0)return;let yt=se.context;if(se.style.map.terrain){for(let Ot of it){let Nt=qe.getTile(Ot);qe.hasRenderableParent(Ot)||(se.renderPass===\"offscreen\"?nh(se,Nt,je,Ot):se.renderPass===\"translucent\"&&hf(se,je,Ot))}yt.viewport.set([0,0,se.width,se.height])}else se.renderPass===\"offscreen\"?function(Ot,Nt,hr,Sr){let he=Ot.context,be=he.gl,Pe=$o.disabled,Oe=new Ps([be.ONE,be.ONE],a.aM.transparent,[!0,!0,!0,!0]);(function(Je,He,et){let Mt=Je.gl;Je.activeTexture.set(Mt.TEXTURE1),Je.viewport.set([0,0,He.width/4,He.height/4]);let Dt=et.heatmapFbos.get(a.aU);Dt?(Mt.bindTexture(Mt.TEXTURE_2D,Dt.colorAttachment.get()),Je.bindFramebuffer.set(Dt.framebuffer)):(Dt=kh(Je,He.width/4,He.height/4),et.heatmapFbos.set(a.aU,Dt))})(he,Ot,hr),he.clear({color:a.aM.transparent});for(let Je=0;Je20&&Ot.texParameterf(Ot.TEXTURE_2D,yt.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,yt.extTextureFilterAnisotropicMax);let zr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Je),Xr=zr?Je:null,di=Xr?Xr.posMatrix:se.transform.calculatePosMatrix(Je.toUnwrapped(),Oe),Li=ml(di,mr||[0,0],tr||1,Ut,je);Nt instanceof Rt?hr.draw(yt,Ot.TRIANGLES,He,$o.disabled,Sr,Ja.disabled,Li,zr,je.id,Nt.boundsBuffer,se.quadTriangleIndexBuffer,Nt.boundsSegments):hr.draw(yt,Ot.TRIANGLES,He,he[Je.overscaledZ],Sr,Ja.disabled,Li,zr,je.id,se.rasterBoundsBuffer,se.quadTriangleIndexBuffer,se.rasterBoundsSegments)}})(w,B,Q,ee);break;case\"background\":(function(se,qe,je,it){let yt=je.paint.get(\"background-color\"),Ot=je.paint.get(\"background-opacity\");if(Ot===0)return;let Nt=se.context,hr=Nt.gl,Sr=se.transform,he=Sr.tileSize,be=je.paint.get(\"background-pattern\");if(se.isPatternMissing(be))return;let Pe=!be&&yt.a===1&&Ot===1&&se.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(se.renderPass!==Pe)return;let Oe=$o.disabled,Je=se.depthModeForSublayer(0,Pe===\"opaque\"?wo.ReadWrite:wo.ReadOnly),He=se.colorModeForRenderPass(),et=se.useProgram(be?\"backgroundPattern\":\"background\"),Mt=it||Sr.coveringTiles({tileSize:he,terrain:se.style.map.terrain});be&&(Nt.activeTexture.set(hr.TEXTURE0),se.imageManager.bind(se.context));let Dt=je.getCrossfadeParameters();for(let Ut of Mt){let tr=it?Ut.posMatrix:se.transform.calculatePosMatrix(Ut.toUnwrapped()),mr=be?Hu(tr,Ot,se,be,{tileID:Ut,tileSize:he},Dt):$l(tr,Ot,yt),Rr=se.style.map.terrain&&se.style.map.terrain.getTerrainData(Ut);et.draw(Nt,hr.TRIANGLES,Je,Oe,He,Ja.disabled,mr,Rr,je.id,se.tileExtentBuffer,se.quadTriangleIndexBuffer,se.tileExtentSegments)}})(w,0,Q,ee);break;case\"custom\":(function(se,qe,je){let it=se.context,yt=je.implementation;if(se.renderPass===\"offscreen\"){let Ot=yt.prerender;Ot&&(se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),Ot.call(yt,it.gl,se.transform.customLayerMatrix()),it.setDirty(),se.setBaseState())}else if(se.renderPass===\"translucent\"){se.setCustomLayerDefaults(),it.setColorMode(se.colorModeForRenderPass()),it.setStencilMode($o.disabled);let Ot=yt.renderingMode===\"3d\"?new wo(se.context.gl.LEQUAL,wo.ReadWrite,se.depthRangeFor3D):se.depthModeForSublayer(0,wo.ReadOnly);it.setDepthMode(Ot),yt.render(it.gl,se.transform.customLayerMatrix(),{farZ:se.transform.farZ,nearZ:se.transform.nearZ,fov:se.transform._fov,modelViewProjectionMatrix:se.transform.modelViewProjectionMatrix,projectionMatrix:se.transform.projectionMatrix}),it.setDirty(),se.setBaseState(),it.bindFramebuffer.set(null)}})(w,0,Q)}}translatePosMatrix(w,B,Q,ee,se){if(!Q[0]&&!Q[1])return w;let qe=se?ee===\"map\"?this.transform.angle:0:ee===\"viewport\"?-this.transform.angle:0;if(qe){let yt=Math.sin(qe),Ot=Math.cos(qe);Q=[Q[0]*Ot-Q[1]*yt,Q[0]*yt+Q[1]*Ot]}let je=[se?Q[0]:nn(B,Q[0],this.transform.zoom),se?Q[1]:nn(B,Q[1],this.transform.zoom),0],it=new Float32Array(16);return a.J(it,w,je),it}saveTileTexture(w){let B=this._tileTextures[w.size[0]];B?B.push(w):this._tileTextures[w.size[0]]=[w]}getTileTexture(w){let B=this._tileTextures[w];return B&&B.length>0?B.pop():null}isPatternMissing(w){if(!w)return!1;if(!w.from||!w.to)return!0;let B=this.imageManager.getPattern(w.from.toString()),Q=this.imageManager.getPattern(w.to.toString());return!B||!Q}useProgram(w,B){this.cache=this.cache||{};let Q=w+(B?B.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[Q]||(this.cache[Q]=new zi(this.context,xn[w],B,fc[w],this._showOverdrawInspector,this.style.map.terrain)),this.cache[Q]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){let w=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(w.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new p(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){let{drawingBufferWidth:w,drawingBufferHeight:B}=this.context.gl;return this.width!==w||this.height!==B}}class fl{constructor(w,B){this.points=w,this.planes=B}static fromInvProjectionMatrix(w,B,Q){let ee=Math.pow(2,Q),se=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(je=>{let it=1/(je=a.af([],je,w))[3]/B*ee;return a.b1(je,je,[it,it,1/je[3],it])}),qe=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(je=>{let it=function(hr,Sr){var he=Sr[0],be=Sr[1],Pe=Sr[2],Oe=he*he+be*be+Pe*Pe;return Oe>0&&(Oe=1/Math.sqrt(Oe)),hr[0]=Sr[0]*Oe,hr[1]=Sr[1]*Oe,hr[2]=Sr[2]*Oe,hr}([],function(hr,Sr,he){var be=Sr[0],Pe=Sr[1],Oe=Sr[2],Je=he[0],He=he[1],et=he[2];return hr[0]=Pe*et-Oe*He,hr[1]=Oe*Je-be*et,hr[2]=be*He-Pe*Je,hr}([],L([],se[je[0]],se[je[1]]),L([],se[je[2]],se[je[1]]))),yt=-((Ot=it)[0]*(Nt=se[je[1]])[0]+Ot[1]*Nt[1]+Ot[2]*Nt[2]);var Ot,Nt;return it.concat(yt)});return new fl(se,qe)}}class Xc{constructor(w,B){this.min=w,this.max=B,this.center=function(Q,ee,se){return Q[0]=.5*ee[0],Q[1]=.5*ee[1],Q[2]=.5*ee[2],Q}([],function(Q,ee,se){return Q[0]=ee[0]+se[0],Q[1]=ee[1]+se[1],Q[2]=ee[2]+se[2],Q}([],this.min,this.max))}quadrant(w){let B=[w%2==0,w<2],Q=k(this.min),ee=k(this.max);for(let se=0;se=0&&qe++;if(qe===0)return 0;qe!==B.length&&(Q=!1)}if(Q)return 2;for(let ee=0;ee<3;ee++){let se=Number.MAX_VALUE,qe=-Number.MAX_VALUE;for(let je=0;jethis.max[ee]-this.min[ee])return 0}return 1}}class ic{constructor(w=0,B=0,Q=0,ee=0){if(isNaN(w)||w<0||isNaN(B)||B<0||isNaN(Q)||Q<0||isNaN(ee)||ee<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=w,this.bottom=B,this.left=Q,this.right=ee}interpolate(w,B,Q){return B.top!=null&&w.top!=null&&(this.top=a.y.number(w.top,B.top,Q)),B.bottom!=null&&w.bottom!=null&&(this.bottom=a.y.number(w.bottom,B.bottom,Q)),B.left!=null&&w.left!=null&&(this.left=a.y.number(w.left,B.left,Q)),B.right!=null&&w.right!=null&&(this.right=a.y.number(w.right,B.right,Q)),this}getCenter(w,B){let Q=a.ac((this.left+w-this.right)/2,0,w),ee=a.ac((this.top+B-this.bottom)/2,0,B);return new a.P(Q,ee)}equals(w){return this.top===w.top&&this.bottom===w.bottom&&this.left===w.left&&this.right===w.right}clone(){return new ic(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}let yu=85.051129;class Qs{constructor(w,B,Q,ee,se){this.tileSize=512,this._renderWorldCopies=se===void 0||!!se,this._minZoom=w||0,this._maxZoom=B||22,this._minPitch=Q==null?0:Q,this._maxPitch=ee==null?60:ee,this.setMaxBounds(),this.width=0,this.height=0,this._center=new a.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ic,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){let w=new Qs(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return w.apply(this),w}apply(w){this.tileSize=w.tileSize,this.latRange=w.latRange,this.lngRange=w.lngRange,this.width=w.width,this.height=w.height,this._center=w._center,this._elevation=w._elevation,this.minElevationForCurrentTile=w.minElevationForCurrentTile,this.zoom=w.zoom,this.angle=w.angle,this._fov=w._fov,this._pitch=w._pitch,this._unmodified=w._unmodified,this._edgeInsets=w._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(w){this._minZoom!==w&&(this._minZoom=w,this.zoom=Math.max(this.zoom,w))}get maxZoom(){return this._maxZoom}set maxZoom(w){this._maxZoom!==w&&(this._maxZoom=w,this.zoom=Math.min(this.zoom,w))}get minPitch(){return this._minPitch}set minPitch(w){this._minPitch!==w&&(this._minPitch=w,this.pitch=Math.max(this.pitch,w))}get maxPitch(){return this._maxPitch}set maxPitch(w){this._maxPitch!==w&&(this._maxPitch=w,this.pitch=Math.min(this.pitch,w))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(w){w===void 0?w=!0:w===null&&(w=!1),this._renderWorldCopies=w}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new a.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(w){let B=-a.b3(w,-180,180)*Math.PI/180;this.angle!==B&&(this._unmodified=!1,this.angle=B,this._calcMatrices(),this.rotationMatrix=function(){var Q=new a.A(4);return a.A!=Float32Array&&(Q[1]=0,Q[2]=0),Q[0]=1,Q[3]=1,Q}(),function(Q,ee,se){var qe=ee[0],je=ee[1],it=ee[2],yt=ee[3],Ot=Math.sin(se),Nt=Math.cos(se);Q[0]=qe*Nt+it*Ot,Q[1]=je*Nt+yt*Ot,Q[2]=qe*-Ot+it*Nt,Q[3]=je*-Ot+yt*Nt}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(w){let B=a.ac(w,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==B&&(this._unmodified=!1,this._pitch=B,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(w){w=Math.max(.01,Math.min(60,w)),this._fov!==w&&(this._unmodified=!1,this._fov=w/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(w){let B=Math.min(Math.max(w,this.minZoom),this.maxZoom);this._zoom!==B&&(this._unmodified=!1,this._zoom=B,this.tileZoom=Math.max(0,Math.floor(B)),this.scale=this.zoomScale(B),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(w){w.lat===this._center.lat&&w.lng===this._center.lng||(this._unmodified=!1,this._center=w,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(w){w!==this._elevation&&(this._elevation=w,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(w){this._edgeInsets.equals(w)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,w,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(w){return this._edgeInsets.equals(w)}interpolatePadding(w,B,Q){this._unmodified=!1,this._edgeInsets.interpolate(w,B,Q),this._constrain(),this._calcMatrices()}coveringZoomLevel(w){let B=(w.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/w.tileSize));return Math.max(0,B)}getVisibleUnwrappedCoordinates(w){let B=[new a.b4(0,w)];if(this._renderWorldCopies){let Q=this.pointCoordinate(new a.P(0,0)),ee=this.pointCoordinate(new a.P(this.width,0)),se=this.pointCoordinate(new a.P(this.width,this.height)),qe=this.pointCoordinate(new a.P(0,this.height)),je=Math.floor(Math.min(Q.x,ee.x,se.x,qe.x)),it=Math.floor(Math.max(Q.x,ee.x,se.x,qe.x)),yt=1;for(let Ot=je-yt;Ot<=it+yt;Ot++)Ot!==0&&B.push(new a.b4(Ot,w))}return B}coveringTiles(w){var B,Q;let ee=this.coveringZoomLevel(w),se=ee;if(w.minzoom!==void 0&&eew.maxzoom&&(ee=w.maxzoom);let qe=this.pointCoordinate(this.getCameraPoint()),je=a.Z.fromLngLat(this.center),it=Math.pow(2,ee),yt=[it*qe.x,it*qe.y,0],Ot=[it*je.x,it*je.y,0],Nt=fl.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,ee),hr=w.minzoom||0;!w.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(hr=ee);let Sr=w.terrain?2/Math.min(this.tileSize,w.tileSize)*this.tileSize:3,he=He=>({aabb:new Xc([He*it,0,0],[(He+1)*it,it,0]),zoom:0,x:0,y:0,wrap:He,fullyVisible:!1}),be=[],Pe=[],Oe=ee,Je=w.reparseOverscaled?se:ee;if(this._renderWorldCopies)for(let He=1;He<=3;He++)be.push(he(-He)),be.push(he(He));for(be.push(he(0));be.length>0;){let He=be.pop(),et=He.x,Mt=He.y,Dt=He.fullyVisible;if(!Dt){let zr=He.aabb.intersects(Nt);if(zr===0)continue;Dt=zr===2}let Ut=w.terrain?yt:Ot,tr=He.aabb.distanceX(Ut),mr=He.aabb.distanceY(Ut),Rr=Math.max(Math.abs(tr),Math.abs(mr));if(He.zoom===Oe||Rr>Sr+(1<=hr){let zr=Oe-He.zoom,Xr=yt[0]-.5-(et<>1),Li=He.zoom+1,Ci=He.aabb.quadrant(zr);if(w.terrain){let Qi=new a.S(Li,He.wrap,Li,Xr,di),Mn=w.terrain.getMinMaxElevation(Qi),pa=(B=Mn.minElevation)!==null&&B!==void 0?B:this.elevation,ea=(Q=Mn.maxElevation)!==null&&Q!==void 0?Q:this.elevation;Ci=new Xc([Ci.min[0],Ci.min[1],pa],[Ci.max[0],Ci.max[1],ea])}be.push({aabb:Ci,zoom:Li,x:Xr,y:di,wrap:He.wrap,fullyVisible:Dt})}}return Pe.sort((He,et)=>He.distanceSq-et.distanceSq).map(He=>He.tileID)}resize(w,B){this.width=w,this.height=B,this.pixelsToGLUnits=[2/w,-2/B],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(w){return Math.pow(2,w)}scaleZoom(w){return Math.log(w)/Math.LN2}project(w){let B=a.ac(w.lat,-85.051129,yu);return new a.P(a.O(w.lng)*this.worldSize,a.Q(B)*this.worldSize)}unproject(w){return new a.Z(w.x/this.worldSize,w.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(w){let B=this.elevation,Q=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,ee=this.pointLocation(this.centerPoint,w),se=w.getElevationForLngLatZoom(ee,this.tileZoom);if(!(this.elevation-se))return;let qe=Q+B-se,je=Math.cos(this._pitch)*this.cameraToCenterDistance/qe/a.b5(1,ee.lat),it=this.scaleZoom(je/this.tileSize);this._elevation=se,this._center=ee,this.zoom=it}setLocationAtPoint(w,B){let Q=this.pointCoordinate(B),ee=this.pointCoordinate(this.centerPoint),se=this.locationCoordinate(w),qe=new a.Z(se.x-(Q.x-ee.x),se.y-(Q.y-ee.y));this.center=this.coordinateLocation(qe),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(w,B){return B?this.coordinatePoint(this.locationCoordinate(w),B.getElevationForLngLatZoom(w,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(w))}pointLocation(w,B){return this.coordinateLocation(this.pointCoordinate(w,B))}locationCoordinate(w){return a.Z.fromLngLat(w)}coordinateLocation(w){return w&&w.toLngLat()}pointCoordinate(w,B){if(B){let hr=B.pointCoordinate(w);if(hr!=null)return hr}let Q=[w.x,w.y,0,1],ee=[w.x,w.y,1,1];a.af(Q,Q,this.pixelMatrixInverse),a.af(ee,ee,this.pixelMatrixInverse);let se=Q[3],qe=ee[3],je=Q[1]/se,it=ee[1]/qe,yt=Q[2]/se,Ot=ee[2]/qe,Nt=yt===Ot?0:(0-yt)/(Ot-yt);return new a.Z(a.y.number(Q[0]/se,ee[0]/qe,Nt)/this.worldSize,a.y.number(je,it,Nt)/this.worldSize)}coordinatePoint(w,B=0,Q=this.pixelMatrix){let ee=[w.x*this.worldSize,w.y*this.worldSize,B,1];return a.af(ee,ee,Q),new a.P(ee[0]/ee[3],ee[1]/ee[3])}getBounds(){let w=Math.max(0,this.height/2-this.getHorizon());return new ce().extend(this.pointLocation(new a.P(0,w))).extend(this.pointLocation(new a.P(this.width,w))).extend(this.pointLocation(new a.P(this.width,this.height))).extend(this.pointLocation(new a.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ce([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(w){w?(this.lngRange=[w.getWest(),w.getEast()],this.latRange=[w.getSouth(),w.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,yu])}calculateTileMatrix(w){let B=w.canonical,Q=this.worldSize/this.zoomScale(B.z),ee=B.x+Math.pow(2,B.z)*w.wrap,se=a.an(new Float64Array(16));return a.J(se,se,[ee*Q,B.y*Q,0]),a.K(se,se,[Q/a.X,Q/a.X,1]),se}calculatePosMatrix(w,B=!1){let Q=w.key,ee=B?this._alignedPosMatrixCache:this._posMatrixCache;if(ee[Q])return ee[Q];let se=this.calculateTileMatrix(w);return a.L(se,B?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,se),ee[Q]=new Float32Array(se),ee[Q]}calculateFogMatrix(w){let B=w.key,Q=this._fogMatrixCache;if(Q[B])return Q[B];let ee=this.calculateTileMatrix(w);return a.L(ee,this.fogMatrix,ee),Q[B]=new Float32Array(ee),Q[B]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(w,B){B=a.ac(+B,this.minZoom,this.maxZoom);let Q={center:new a.N(w.lng,w.lat),zoom:B},ee=this.lngRange;if(!this._renderWorldCopies&&ee===null){let He=179.9999999999;ee=[-He,He]}let se=this.tileSize*this.zoomScale(Q.zoom),qe=0,je=se,it=0,yt=se,Ot=0,Nt=0,{x:hr,y:Sr}=this.size;if(this.latRange){let He=this.latRange;qe=a.Q(He[1])*se,je=a.Q(He[0])*se,je-qeje&&(Oe=je-He)}if(ee){let He=(it+yt)/2,et=he;this._renderWorldCopies&&(et=a.b3(he,He-se/2,He+se/2));let Mt=hr/2;et-Mtyt&&(Pe=yt-Mt)}if(Pe!==void 0||Oe!==void 0){let He=new a.P(Pe!=null?Pe:he,Oe!=null?Oe:be);Q.center=this.unproject.call({worldSize:se},He).wrap()}return Q}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;let w=this._unmodified,{center:B,zoom:Q}=this.getConstrained(this.center,this.zoom);this.center=B,this.zoom=Q,this._unmodified=w,this._constraining=!1}_calcMatrices(){if(!this.height)return;let w=this.centerOffset,B=this.point.x,Q=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=a.b5(1,this.center.lat)*this.worldSize;let ee=a.an(new Float64Array(16));a.K(ee,ee,[this.width/2,-this.height/2,1]),a.J(ee,ee,[1,-1,0]),this.labelPlaneMatrix=ee,ee=a.an(new Float64Array(16)),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[-1,-1,0]),a.K(ee,ee,[2/this.width,2/this.height,1]),this.glCoordMatrix=ee;let se=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),qe=Math.min(this.elevation,this.minElevationForCurrentTile),je=se-qe*this._pixelPerMeter/Math.cos(this._pitch),it=qe<0?je:se,yt=Math.PI/2+this._pitch,Ot=this._fov*(.5+w.y/this.height),Nt=Math.sin(Ot)*it/Math.sin(a.ac(Math.PI-yt-Ot,.01,Math.PI-.01)),hr=this.getHorizon(),Sr=2*Math.atan(hr/this.cameraToCenterDistance)*(.5+w.y/(2*hr)),he=Math.sin(Sr)*it/Math.sin(a.ac(Math.PI-yt-Sr,.01,Math.PI-.01)),be=Math.min(Nt,he);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*be+it),this.nearZ=this.height/50,ee=new Float64Array(16),a.b6(ee,this._fov,this.width/this.height,this.nearZ,this.farZ),ee[8]=2*-w.x/this.width,ee[9]=2*w.y/this.height,this.projectionMatrix=a.ae(ee),a.K(ee,ee,[1,-1,1]),a.J(ee,ee,[0,0,-this.cameraToCenterDistance]),a.b7(ee,ee,this._pitch),a.ad(ee,ee,this.angle),a.J(ee,ee,[-B,-Q,0]),this.mercatorMatrix=a.K([],ee,[this.worldSize,this.worldSize,this.worldSize]),a.K(ee,ee,[1,1,this._pixelPerMeter]),this.pixelMatrix=a.L(new Float64Array(16),this.labelPlaneMatrix,ee),a.J(ee,ee,[0,0,-this.elevation]),this.modelViewProjectionMatrix=ee,this.invModelViewProjectionMatrix=a.as([],ee),this.fogMatrix=new Float64Array(16),a.b6(this.fogMatrix,this._fov,this.width/this.height,se,this.farZ),this.fogMatrix[8]=2*-w.x/this.width,this.fogMatrix[9]=2*w.y/this.height,a.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),a.b7(this.fogMatrix,this.fogMatrix,this._pitch),a.ad(this.fogMatrix,this.fogMatrix,this.angle),a.J(this.fogMatrix,this.fogMatrix,[-B,-Q,0]),a.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),a.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=a.L(new Float64Array(16),this.labelPlaneMatrix,ee);let Pe=this.width%2/2,Oe=this.height%2/2,Je=Math.cos(this.angle),He=Math.sin(this.angle),et=B-Math.round(B)+Je*Pe+He*Oe,Mt=Q-Math.round(Q)+Je*Oe+He*Pe,Dt=new Float64Array(ee);if(a.J(Dt,Dt,[et>.5?et-1:et,Mt>.5?Mt-1:Mt,0]),this.alignedModelViewProjectionMatrix=Dt,ee=a.as(new Float64Array(16),this.pixelMatrix),!ee)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=ee,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;let w=this.pointCoordinate(new a.P(0,0)),B=[w.x*this.worldSize,w.y*this.worldSize,0,1];return a.af(B,B,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){let w=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new a.P(0,w))}getCameraQueryGeometry(w){let B=this.getCameraPoint();if(w.length===1)return[w[0],B];{let Q=B.x,ee=B.y,se=B.x,qe=B.y;for(let je of w)Q=Math.min(Q,je.x),ee=Math.min(ee,je.y),se=Math.max(se,je.x),qe=Math.max(qe,je.y);return[new a.P(Q,ee),new a.P(se,ee),new a.P(se,qe),new a.P(Q,qe),new a.P(Q,ee)]}}lngLatToCameraDepth(w,B){let Q=this.locationCoordinate(w),ee=[Q.x*this.worldSize,Q.y*this.worldSize,B,1];return a.af(ee,ee,this.modelViewProjectionMatrix),ee[2]/ee[3]}}function Qh(le,w){let B,Q=!1,ee=null,se=null,qe=()=>{ee=null,Q&&(le.apply(se,B),ee=setTimeout(qe,w),Q=!1)};return(...je)=>(Q=!0,se=this,B=je,ee||qe(),ee)}class gd{constructor(w){this._getCurrentHash=()=>{let B=window.location.hash.replace(\"#\",\"\");if(this._hashName){let Q;return B.split(\"&\").map(ee=>ee.split(\"=\")).forEach(ee=>{ee[0]===this._hashName&&(Q=ee)}),(Q&&Q[1]||\"\").split(\"/\")}return B.split(\"/\")},this._onHashChange=()=>{let B=this._getCurrentHash();if(B.length>=3&&!B.some(Q=>isNaN(Q))){let Q=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(B[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+B[2],+B[1]],zoom:+B[0],bearing:Q,pitch:+(B[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{let B=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,B)},this._removeHash=()=>{let B=this._getCurrentHash();if(B.length===0)return;let Q=B.join(\"/\"),ee=Q;ee.split(\"&\").length>0&&(ee=ee.split(\"&\")[0]),this._hashName&&(ee=`${this._hashName}=${Q}`);let se=window.location.hash.replace(ee,\"\");se.startsWith(\"#&\")?se=se.slice(0,1)+se.slice(2):se===\"#\"&&(se=\"\");let qe=window.location.href.replace(/(#.+)?$/,se);qe=qe.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,qe)},this._updateHash=Qh(this._updateHashUnthrottled,300),this._hashName=w&&encodeURIComponent(w)}addTo(w){return this._map=w,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(w){let B=this._map.getCenter(),Q=Math.round(100*this._map.getZoom())/100,ee=Math.ceil((Q*Math.LN2+Math.log(512/360/.5))/Math.LN10),se=Math.pow(10,ee),qe=Math.round(B.lng*se)/se,je=Math.round(B.lat*se)/se,it=this._map.getBearing(),yt=this._map.getPitch(),Ot=\"\";if(Ot+=w?`/${qe}/${je}/${Q}`:`${Q}/${je}/${qe}`,(it||yt)&&(Ot+=\"/\"+Math.round(10*it)/10),yt&&(Ot+=`/${Math.round(yt)}`),this._hashName){let Nt=this._hashName,hr=!1,Sr=window.location.hash.slice(1).split(\"&\").map(he=>{let be=he.split(\"=\")[0];return be===Nt?(hr=!0,`${be}=${Ot}`):he}).filter(he=>he);return hr||Sr.push(`${Nt}=${Ot}`),`#${Sr.join(\"&\")}`}return`#${Ot}`}}let Gu={linearity:.3,easing:a.b8(0,0,.3,1)},Pc=a.e({deceleration:2500,maxSpeed:1400},Gu),vc=a.e({deceleration:20,maxSpeed:1400},Gu),sv=a.e({deceleration:1e3,maxSpeed:360},Gu),Lf=a.e({deceleration:1e3,maxSpeed:90},Gu);class Uf{constructor(w){this._map=w,this.clear()}clear(){this._inertiaBuffer=[]}record(w){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:u.now(),settings:w})}_drainInertiaBuffer(){let w=this._inertiaBuffer,B=u.now();for(;w.length>0&&B-w[0].time>160;)w.shift()}_onMoveEnd(w){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let B={zoom:0,bearing:0,pitch:0,pan:new a.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:se}of this._inertiaBuffer)B.zoom+=se.zoomDelta||0,B.bearing+=se.bearingDelta||0,B.pitch+=se.pitchDelta||0,se.panDelta&&B.pan._add(se.panDelta),se.around&&(B.around=se.around),se.pinchAround&&(B.pinchAround=se.pinchAround);let Q=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,ee={};if(B.pan.mag()){let se=oh(B.pan.mag(),Q,a.e({},Pc,w||{}));ee.offset=B.pan.mult(se.amount/B.pan.mag()),ee.center=this._map.transform.center,Iu(ee,se)}if(B.zoom){let se=oh(B.zoom,Q,vc);ee.zoom=this._map.transform.zoom+se.amount,Iu(ee,se)}if(B.bearing){let se=oh(B.bearing,Q,sv);ee.bearing=this._map.transform.bearing+a.ac(se.amount,-179,179),Iu(ee,se)}if(B.pitch){let se=oh(B.pitch,Q,Lf);ee.pitch=this._map.transform.pitch+se.amount,Iu(ee,se)}if(ee.zoom||ee.bearing){let se=B.pinchAround===void 0?B.around:B.pinchAround;ee.around=se?this._map.unproject(se):this._map.getCenter()}return this.clear(),a.e(ee,{noMoveStart:!0})}}function Iu(le,w){(!le.duration||le.durationB.unproject(it)),je=se.reduce((it,yt,Ot,Nt)=>it.add(yt.div(Nt.length)),new a.P(0,0));super(w,{points:se,point:je,lngLats:qe,lngLat:B.unproject(je),originalEvent:Q}),this._defaultPrevented=!1}}class md extends a.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(w,B,Q){super(w,{originalEvent:Q}),this._defaultPrevented=!1}}class sh{constructor(w,B){this._map=w,this._clickTolerance=B.clickTolerance}reset(){delete this._mousedownPos}wheel(w){return this._firePreventable(new md(w.type,this._map,w))}mousedown(w,B){return this._mousedownPos=B,this._firePreventable(new tu(w.type,this._map,w))}mouseup(w){this._map.fire(new tu(w.type,this._map,w))}click(w,B){this._mousedownPos&&this._mousedownPos.dist(B)>=this._clickTolerance||this._map.fire(new tu(w.type,this._map,w))}dblclick(w){return this._firePreventable(new tu(w.type,this._map,w))}mouseover(w){this._map.fire(new tu(w.type,this._map,w))}mouseout(w){this._map.fire(new tu(w.type,this._map,w))}touchstart(w){return this._firePreventable(new vf(w.type,this._map,w))}touchmove(w){this._map.fire(new vf(w.type,this._map,w))}touchend(w){this._map.fire(new vf(w.type,this._map,w))}touchcancel(w){this._map.fire(new vf(w.type,this._map,w))}_firePreventable(w){if(this._map.fire(w),w.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Fs{constructor(w){this._map=w}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(w){this._map.fire(new tu(w.type,this._map,w))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new tu(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(w){this._delayContextMenu?this._contextMenuEvent=w:this._ignoreContextMenu||this._map.fire(new tu(w.type,this._map,w)),this._map.listens(\"contextmenu\")&&w.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class _u{constructor(w){this._map=w}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(w){return this.transform.pointLocation(a.P.convert(w),this._map.terrain)}}class xu{constructor(w,B){this._map=w,this._tr=new _u(w),this._el=w.getCanvasContainer(),this._container=w.getContainer(),this._clickTolerance=B.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(w,B){this.isEnabled()&&w.shiftKey&&w.button===0&&(c.disableDrag(),this._startPos=this._lastPos=B,this._active=!0)}mousemoveWindow(w,B){if(!this._active)return;let Q=B;if(this._lastPos.equals(Q)||!this._box&&Q.dist(this._startPos)se.fitScreenCoordinates(Q,ee,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",w)}keydown(w){this._active&&w.keyCode===27&&(this.reset(),this._fireEvent(\"boxzoomcancel\",w))}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(c.remove(this._box),this._box=null),c.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(w,B){return this._map.fire(new a.k(w,{originalEvent:B}))}}function Lh(le,w){if(le.length!==w.length)throw new Error(`The number of touches and points are not equal - touches ${le.length}, points ${w.length}`);let B={};for(let Q=0;Qthis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=w.timeStamp),Q.length===this.numTouches&&(this.centroid=function(ee){let se=new a.P(0,0);for(let qe of ee)se._add(qe);return se.div(ee.length)}(B),this.touches=Lh(Q,B)))}touchmove(w,B,Q){if(this.aborted||!this.centroid)return;let ee=Lh(Q,B);for(let se in this.touches){let qe=ee[se];(!qe||qe.dist(this.touches[se])>30)&&(this.aborted=!0)}}touchend(w,B,Q){if((!this.centroid||w.timeStamp-this.startTime>500)&&(this.aborted=!0),Q.length===0){let ee=!this.aborted&&this.centroid;if(this.reset(),ee)return ee}}}class Pf{constructor(w){this.singleTap=new Is(w),this.numTaps=w.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(w,B,Q){this.singleTap.touchstart(w,B,Q)}touchmove(w,B,Q){this.singleTap.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this.singleTap.touchend(w,B,Q);if(ee){let se=w.timeStamp-this.lastTime<500,qe=!this.lastTap||this.lastTap.dist(ee)<30;if(se&&qe||this.reset(),this.count++,this.lastTime=w.timeStamp,this.lastTap=ee,this.count===this.numTaps)return this.reset(),ee}}}class Ic{constructor(w){this._tr=new _u(w),this._zoomIn=new Pf({numTouches:1,numTaps:2}),this._zoomOut=new Pf({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(w,B,Q){this._zoomIn.touchstart(w,B,Q),this._zoomOut.touchstart(w,B,Q)}touchmove(w,B,Q){this._zoomIn.touchmove(w,B,Q),this._zoomOut.touchmove(w,B,Q)}touchend(w,B,Q){let ee=this._zoomIn.touchend(w,B,Q),se=this._zoomOut.touchend(w,B,Q),qe=this._tr;return ee?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom+1,around:qe.unproject(ee)},{originalEvent:w})}):se?(this._active=!0,w.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:je=>je.easeTo({duration:300,zoom:qe.zoom-1,around:qe.unproject(se)},{originalEvent:w})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ju{constructor(w){this._enabled=!!w.enable,this._moveStateManager=w.moveStateManager,this._clickTolerance=w.clickTolerance||1,this._moveFunction=w.move,this._activateOnStart=!!w.activateOnStart,w.assignEvents(this),this.reset()}reset(w){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(w)}_move(...w){let B=this._moveFunction(...w);if(B.bearingDelta||B.pitchDelta||B.around||B.panDelta)return this._active=!0,B}dragStart(w,B){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(w)&&(this._moveStateManager.startMove(w),this._lastPoint=B.length?B[0]:B,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(w,B){if(!this.isEnabled())return;let Q=this._lastPoint;if(!Q)return;if(w.preventDefault(),!this._moveStateManager.isValidMoveEvent(w))return void this.reset(w);let ee=B.length?B[0]:B;return!this._moved&&ee.dist(Q){le.mousedown=le.dragStart,le.mousemoveWindow=le.dragMove,le.mouseup=le.dragEnd,le.contextmenu=w=>{w.preventDefault()}},Rl=({enable:le,clickTolerance:w,bearingDegreesPerPixelMoved:B=.8})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({bearingDelta:(se.x-ee.x)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})},Ih=({enable:le,clickTolerance:w,pitchDegreesPerPixelMoved:B=-.5})=>{let Q=new pc({checkCorrectEvent:ee=>c.mouseButton(ee)===0&&ee.ctrlKey||c.mouseButton(ee)===2});return new ju({clickTolerance:w,move:(ee,se)=>({pitchDelta:(se.y-ee.y)*B}),moveStateManager:Q,enable:le,assignEvents:Ph})};class Wu{constructor(w,B){this._clickTolerance=w.clickTolerance||1,this._map=B,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new a.P(0,0)}_shouldBePrevented(w){return w<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(w,B,Q){return this._calculateTransform(w,B,Q)}touchmove(w,B,Q){if(this._active){if(!this._shouldBePrevented(Q.length))return w.preventDefault(),this._calculateTransform(w,B,Q);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",w)}}touchend(w,B,Q){this._calculateTransform(w,B,Q),this._active&&this._shouldBePrevented(Q.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(w,B,Q){Q.length>0&&(this._active=!0);let ee=Lh(Q,B),se=new a.P(0,0),qe=new a.P(0,0),je=0;for(let yt in ee){let Ot=ee[yt],Nt=this._touches[yt];Nt&&(se._add(Ot),qe._add(Ot.sub(Nt)),je++,ee[yt]=Ot)}if(this._touches=ee,this._shouldBePrevented(je)||!qe.mag())return;let it=qe.div(je);return this._sum._add(it),this._sum.mag()Math.abs(le.x)}class gf extends Rc{constructor(w){super(),this._currentTouchCount=0,this._map=w}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(w,B,Q){super.touchstart(w,B,Q),this._currentTouchCount=Q.length}_start(w){this._lastPoints=w,nc(w[0].sub(w[1]))&&(this._valid=!1)}_move(w,B,Q){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;let ee=w[0].sub(this._lastPoints[0]),se=w[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(ee,se,Q.timeStamp),this._valid?(this._lastPoints=w,this._active=!0,{pitchDelta:(ee.y+se.y)/2*-.5}):void 0}gestureBeginsVertically(w,B,Q){if(this._valid!==void 0)return this._valid;let ee=w.mag()>=2,se=B.mag()>=2;if(!ee&&!se)return;if(!ee||!se)return this._firstMove===void 0&&(this._firstMove=Q),Q-this._firstMove<100&&void 0;let qe=w.y>0==B.y>0;return nc(w)&&nc(B)&&qe}}let gt={panStep:100,bearingStep:15,pitchStep:10};class Bt{constructor(w){this._tr=new _u(w);let B=gt;this._panStep=B.panStep,this._bearingStep=B.bearingStep,this._pitchStep=B.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(w){if(w.altKey||w.ctrlKey||w.metaKey)return;let B=0,Q=0,ee=0,se=0,qe=0;switch(w.keyCode){case 61:case 107:case 171:case 187:B=1;break;case 189:case 109:case 173:B=-1;break;case 37:w.shiftKey?Q=-1:(w.preventDefault(),se=-1);break;case 39:w.shiftKey?Q=1:(w.preventDefault(),se=1);break;case 38:w.shiftKey?ee=1:(w.preventDefault(),qe=-1);break;case 40:w.shiftKey?ee=-1:(w.preventDefault(),qe=1);break;default:return}return this._rotationDisabled&&(Q=0,ee=0),{cameraAnimation:je=>{let it=this._tr;je.easeTo({duration:300,easeId:\"keyboardHandler\",easing:wr,zoom:B?Math.round(it.zoom)+B*(w.shiftKey?2:1):it.zoom,bearing:it.bearing+Q*this._bearingStep,pitch:it.pitch+ee*this._pitchStep,offset:[-se*this._panStep,-qe*this._panStep],center:it.center},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function wr(le){return le*(2-le)}let vr=4.000244140625;class Ur{constructor(w,B){this._onTimeout=Q=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(Q)},this._map=w,this._tr=new _u(w),this._triggerRenderFrame=B,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(w){this._defaultZoomRate=w}setWheelZoomRate(w){this._wheelZoomRate=w}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(w){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!w&&w.around===\"center\")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(w){return!!this._map.cooperativeGestures.isEnabled()&&!(w.ctrlKey||this._map.cooperativeGestures.isBypassed(w))}wheel(w){if(!this.isEnabled())return;if(this._shouldBePrevented(w))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",w);let B=w.deltaMode===WheelEvent.DOM_DELTA_LINE?40*w.deltaY:w.deltaY,Q=u.now(),ee=Q-(this._lastWheelEventTime||0);this._lastWheelEventTime=Q,B!==0&&B%vr==0?this._type=\"wheel\":B!==0&&Math.abs(B)<4?this._type=\"trackpad\":ee>400?(this._type=null,this._lastValue=B,this._timeout=setTimeout(this._onTimeout,40,w)):this._type||(this._type=Math.abs(ee*B)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,B+=this._lastValue)),w.shiftKey&&B&&(B/=4),this._type&&(this._lastWheelEvent=w,this._delta-=B,this._active||this._start(w)),w.preventDefault()}_start(w){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);let B=c.mousePos(this._map.getCanvas(),w),Q=this._tr;this._around=B.y>Q.transform.height/2-Q.transform.getHorizon()?a.N.convert(this._aroundCenter?Q.center:Q.unproject(B)):a.N.convert(Q.center),this._aroundPoint=Q.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;let w=this._tr.transform;if(this._delta!==0){let it=this._type===\"wheel\"&&Math.abs(this._delta)>vr?this._wheelZoomRate:this._defaultZoomRate,yt=2/(1+Math.exp(-Math.abs(this._delta*it)));this._delta<0&&yt!==0&&(yt=1/yt);let Ot=typeof this._targetZoom==\"number\"?w.zoomScale(this._targetZoom):w.scale;this._targetZoom=Math.min(w.maxZoom,Math.max(w.minZoom,w.scaleZoom(Ot*yt))),this._type===\"wheel\"&&(this._startZoom=w.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let B=typeof this._targetZoom==\"number\"?this._targetZoom:w.zoom,Q=this._startZoom,ee=this._easing,se,qe=!1,je=u.now()-this._lastWheelEventTime;if(this._type===\"wheel\"&&Q&&ee&&je){let it=Math.min(je/200,1),yt=ee(it);se=a.y.number(Q,B,yt),it<1?this._frameId||(this._frameId=!0):qe=!0}else se=B,qe=!0;return this._active=!0,qe&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!qe,zoomDelta:se-w.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(w){let B=a.b9;if(this._prevEase){let Q=this._prevEase,ee=(u.now()-Q.start)/Q.duration,se=Q.easing(ee+.01)-Q.easing(ee),qe=.27/Math.sqrt(se*se+1e-4)*.01,je=Math.sqrt(.0729-qe*qe);B=a.b8(qe,je,.25,1)}return this._prevEase={start:u.now(),duration:w,easing:B},B}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class fi{constructor(w,B){this._clickZoom=w,this._tapZoom=B}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class xi{constructor(w){this._tr=new _u(w),this.reset()}reset(){this._active=!1}dblclick(w,B){return w.preventDefault(),{cameraAnimation:Q=>{Q.easeTo({duration:300,zoom:this._tr.zoom+(w.shiftKey?-1:1),around:this._tr.unproject(B)},{originalEvent:w})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Fi{constructor(){this._tap=new Pf({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(w,B,Q){if(!this._swipePoint)if(this._tapTime){let ee=B[0],se=w.timeStamp-this._tapTime<500,qe=this._tapPoint.dist(ee)<30;se&&qe?Q.length>0&&(this._swipePoint=ee,this._swipeTouch=Q[0].identifier):this.reset()}else this._tap.touchstart(w,B,Q)}touchmove(w,B,Q){if(this._tapTime){if(this._swipePoint){if(Q[0].identifier!==this._swipeTouch)return;let ee=B[0],se=ee.y-this._swipePoint.y;return this._swipePoint=ee,w.preventDefault(),this._active=!0,{zoomDelta:se/128}}}else this._tap.touchmove(w,B,Q)}touchend(w,B,Q){if(this._tapTime)this._swipePoint&&Q.length===0&&this.reset();else{let ee=this._tap.touchend(w,B,Q);ee&&(this._tapTime=w.timeStamp,this._tapPoint=ee)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Xi{constructor(w,B,Q){this._el=w,this._mousePan=B,this._touchPan=Q}enable(w){this._inertiaOptions=w||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class hn{constructor(w,B,Q){this._pitchWithRotate=w.pitchWithRotate,this._mouseRotate=B,this._mousePitch=Q}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Ti{constructor(w,B,Q,ee){this._el=w,this._touchZoom=B,this._touchRotate=Q,this._tapDragZoom=ee,this._rotationDisabled=!1,this._enabled=!0}enable(w){this._touchZoom.enable(w),this._rotationDisabled||this._touchRotate.enable(w),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class qi{constructor(w,B){this._bypassKey=navigator.userAgent.indexOf(\"Mac\")!==-1?\"metaKey\":\"ctrlKey\",this._map=w,this._options=B,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let w=this._map.getCanvasContainer();w.classList.add(\"maplibregl-cooperative-gestures\"),this._container=c.create(\"div\",\"maplibregl-cooperative-gesture-screen\",w);let B=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");this._bypassKey===\"metaKey\"&&(B=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));let Q=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),ee=document.createElement(\"div\");ee.className=\"maplibregl-desktop-message\",ee.textContent=B,this._container.appendChild(ee);let se=document.createElement(\"div\");se.className=\"maplibregl-mobile-message\",se.textContent=Q,this._container.appendChild(se),this._container.setAttribute(\"aria-hidden\",\"true\")}_destroyUI(){this._container&&(c.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(w){return w[this._bypassKey]}notifyGestureBlocked(w,B){this._enabled&&(this._map.fire(new a.k(\"cooperativegestureprevented\",{gestureType:w,originalEvent:B})),this._container.classList.add(\"maplibregl-show\"),setTimeout(()=>{this._container.classList.remove(\"maplibregl-show\")},100))}}let Ii=le=>le.zoom||le.drag||le.pitch||le.rotate;class mi extends a.k{}function Pn(le){return le.panDelta&&le.panDelta.mag()||le.zoomDelta||le.bearingDelta||le.pitchDelta}class Ma{constructor(w,B){this.handleWindowEvent=ee=>{this.handleEvent(ee,`${ee.type}Window`)},this.handleEvent=(ee,se)=>{if(ee.type===\"blur\")return void this.stop(!0);this._updatingCamera=!0;let qe=ee.type===\"renderFrame\"?void 0:ee,je={needsRenderFrame:!1},it={},yt={},Ot=ee.touches,Nt=Ot?this._getMapTouches(Ot):void 0,hr=Nt?c.touchPos(this._map.getCanvas(),Nt):c.mousePos(this._map.getCanvas(),ee);for(let{handlerName:be,handler:Pe,allowed:Oe}of this._handlers){if(!Pe.isEnabled())continue;let Je;this._blockedByActive(yt,Oe,be)?Pe.reset():Pe[se||ee.type]&&(Je=Pe[se||ee.type](ee,hr,Nt),this.mergeHandlerResult(je,it,Je,be,qe),Je&&Je.needsRenderFrame&&this._triggerRenderFrame()),(Je||Pe.isActive())&&(yt[be]=Pe)}let Sr={};for(let be in this._previousActiveHandlers)yt[be]||(Sr[be]=qe);this._previousActiveHandlers=yt,(Object.keys(Sr).length||Pn(je))&&(this._changes.push([je,it,Sr]),this._triggerRenderFrame()),(Object.keys(yt).length||Pn(je))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:he}=je;he&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],he(this._map))},this._map=w,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Uf(w),this._bearingSnap=B.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(B);let Q=this._el;this._listeners=[[Q,\"touchstart\",{passive:!0}],[Q,\"touchmove\",{passive:!1}],[Q,\"touchend\",void 0],[Q,\"touchcancel\",void 0],[Q,\"mousedown\",void 0],[Q,\"mousemove\",void 0],[Q,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[Q,\"mouseover\",void 0],[Q,\"mouseout\",void 0],[Q,\"dblclick\",void 0],[Q,\"click\",void 0],[Q,\"keydown\",{capture:!1}],[Q,\"keyup\",void 0],[Q,\"wheel\",{passive:!1}],[Q,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(let[ee,se,qe]of this._listeners)c.addEventListener(ee,se,ee===document?this.handleWindowEvent:this.handleEvent,qe)}destroy(){for(let[w,B,Q]of this._listeners)c.removeEventListener(w,B,w===document?this.handleWindowEvent:this.handleEvent,Q)}_addDefaultHandlers(w){let B=this._map,Q=B.getCanvasContainer();this._add(\"mapEvent\",new sh(B,w));let ee=B.boxZoom=new xu(B,w);this._add(\"boxZoom\",ee),w.interactive&&w.boxZoom&&ee.enable();let se=B.cooperativeGestures=new qi(B,w.cooperativeGestures);this._add(\"cooperativeGestures\",se),w.cooperativeGestures&&se.enable();let qe=new Ic(B),je=new xi(B);B.doubleClickZoom=new fi(je,qe),this._add(\"tapZoom\",qe),this._add(\"clickZoom\",je),w.interactive&&w.doubleClickZoom&&B.doubleClickZoom.enable();let it=new Fi;this._add(\"tapDragZoom\",it);let yt=B.touchPitch=new gf(B);this._add(\"touchPitch\",yt),w.interactive&&w.touchPitch&&B.touchPitch.enable(w.touchPitch);let Ot=Rl(w),Nt=Ih(w);B.dragRotate=new hn(w,Ot,Nt),this._add(\"mouseRotate\",Ot,[\"mousePitch\"]),this._add(\"mousePitch\",Nt,[\"mouseRotate\"]),w.interactive&&w.dragRotate&&B.dragRotate.enable();let hr=(({enable:Je,clickTolerance:He})=>{let et=new pc({checkCorrectEvent:Mt=>c.mouseButton(Mt)===0&&!Mt.ctrlKey});return new ju({clickTolerance:He,move:(Mt,Dt)=>({around:Dt,panDelta:Dt.sub(Mt)}),activateOnStart:!0,moveStateManager:et,enable:Je,assignEvents:Ph})})(w),Sr=new Wu(w,B);B.dragPan=new Xi(Q,hr,Sr),this._add(\"mousePan\",hr),this._add(\"touchPan\",Sr,[\"touchZoom\",\"touchRotate\"]),w.interactive&&w.dragPan&&B.dragPan.enable(w.dragPan);let he=new Yc,be=new ru;B.touchZoomRotate=new Ti(Q,be,he,it),this._add(\"touchRotate\",he,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",be,[\"touchPan\",\"touchRotate\"]),w.interactive&&w.touchZoomRotate&&B.touchZoomRotate.enable(w.touchZoomRotate);let Pe=B.scrollZoom=new Ur(B,()=>this._triggerRenderFrame());this._add(\"scrollZoom\",Pe,[\"mousePan\"]),w.interactive&&w.scrollZoom&&B.scrollZoom.enable(w.scrollZoom);let Oe=B.keyboard=new Bt(B);this._add(\"keyboard\",Oe),w.interactive&&w.keyboard&&B.keyboard.enable(),this._add(\"blockableMapEvent\",new Fs(B))}_add(w,B,Q){this._handlers.push({handlerName:w,handler:B,allowed:Q}),this._handlersById[w]=B}stop(w){if(!this._updatingCamera){for(let{handler:B}of this._handlers)B.reset();this._inertia.clear(),this._fireEvents({},{},w),this._changes=[]}}isActive(){for(let{handler:w}of this._handlers)if(w.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Ii(this._eventsInProgress)||this.isZooming()}_blockedByActive(w,B,Q){for(let ee in w)if(ee!==Q&&(!B||B.indexOf(ee)<0))return!0;return!1}_getMapTouches(w){let B=[];for(let Q of w)this._el.contains(Q.target)&&B.push(Q);return B}mergeHandlerResult(w,B,Q,ee,se){if(!Q)return;a.e(w,Q);let qe={handlerName:ee,originalEvent:Q.originalEvent||se};Q.zoomDelta!==void 0&&(B.zoom=qe),Q.panDelta!==void 0&&(B.drag=qe),Q.pitchDelta!==void 0&&(B.pitch=qe),Q.bearingDelta!==void 0&&(B.rotate=qe)}_applyChanges(){let w={},B={},Q={};for(let[ee,se,qe]of this._changes)ee.panDelta&&(w.panDelta=(w.panDelta||new a.P(0,0))._add(ee.panDelta)),ee.zoomDelta&&(w.zoomDelta=(w.zoomDelta||0)+ee.zoomDelta),ee.bearingDelta&&(w.bearingDelta=(w.bearingDelta||0)+ee.bearingDelta),ee.pitchDelta&&(w.pitchDelta=(w.pitchDelta||0)+ee.pitchDelta),ee.around!==void 0&&(w.around=ee.around),ee.pinchAround!==void 0&&(w.pinchAround=ee.pinchAround),ee.noInertia&&(w.noInertia=ee.noInertia),a.e(B,se),a.e(Q,qe);this._updateMapTransform(w,B,Q),this._changes=[]}_updateMapTransform(w,B,Q){let ee=this._map,se=ee._getTransformForUpdate(),qe=ee.terrain;if(!(Pn(w)||qe&&this._terrainMovement))return this._fireEvents(B,Q,!0);let{panDelta:je,zoomDelta:it,bearingDelta:yt,pitchDelta:Ot,around:Nt,pinchAround:hr}=w;hr!==void 0&&(Nt=hr),ee._stop(!0),Nt=Nt||ee.transform.centerPoint;let Sr=se.pointLocation(je?Nt.sub(je):Nt);yt&&(se.bearing+=yt),Ot&&(se.pitch+=Ot),it&&(se.zoom+=it),qe?this._terrainMovement||!B.drag&&!B.zoom?B.drag&&this._terrainMovement?se.center=se.pointLocation(se.centerPoint.sub(je)):se.setLocationAtPoint(Sr,Nt):(this._terrainMovement=!0,this._map._elevationFreeze=!0,se.setLocationAtPoint(Sr,Nt)):se.setLocationAtPoint(Sr,Nt),ee._applyUpdatedTransform(se),this._map._update(),w.noInertia||this._inertia.record(w),this._fireEvents(B,Q,!0)}_fireEvents(w,B,Q){let ee=Ii(this._eventsInProgress),se=Ii(w),qe={};for(let Nt in w){let{originalEvent:hr}=w[Nt];this._eventsInProgress[Nt]||(qe[`${Nt}start`]=hr),this._eventsInProgress[Nt]=w[Nt]}!ee&&se&&this._fireEvent(\"movestart\",se.originalEvent);for(let Nt in qe)this._fireEvent(Nt,qe[Nt]);se&&this._fireEvent(\"move\",se.originalEvent);for(let Nt in w){let{originalEvent:hr}=w[Nt];this._fireEvent(Nt,hr)}let je={},it;for(let Nt in this._eventsInProgress){let{handlerName:hr,originalEvent:Sr}=this._eventsInProgress[Nt];this._handlersById[hr].isActive()||(delete this._eventsInProgress[Nt],it=B[hr]||Sr,je[`${Nt}end`]=it)}for(let Nt in je)this._fireEvent(Nt,je[Nt]);let yt=Ii(this._eventsInProgress),Ot=(ee||se)&&!yt;if(Ot&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;let Nt=this._map._getTransformForUpdate();Nt.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(Nt)}if(Q&&Ot){this._updatingCamera=!0;let Nt=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),hr=Sr=>Sr!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new mi(\"renderFrame\",{timeStamp:w})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Ta extends a.E{constructor(w,B){super(),this._renderFrameCallback=()=>{let Q=Math.min((u.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(Q)),Q<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=w,this._bearingSnap=B.bearingSnap,this.on(\"moveend\",()=>{delete this._requestedCameraState})}getCenter(){return new a.N(this.transform.center.lng,this.transform.center.lat)}setCenter(w,B){return this.jumpTo({center:w},B)}panBy(w,B,Q){return w=a.P.convert(w).mult(-1),this.panTo(this.transform.center,a.e({offset:w},B),Q)}panTo(w,B,Q){return this.easeTo(a.e({center:w},B),Q)}getZoom(){return this.transform.zoom}setZoom(w,B){return this.jumpTo({zoom:w},B),this}zoomTo(w,B,Q){return this.easeTo(a.e({zoom:w},B),Q)}zoomIn(w,B){return this.zoomTo(this.getZoom()+1,w,B),this}zoomOut(w,B){return this.zoomTo(this.getZoom()-1,w,B),this}getBearing(){return this.transform.bearing}setBearing(w,B){return this.jumpTo({bearing:w},B),this}getPadding(){return this.transform.padding}setPadding(w,B){return this.jumpTo({padding:w},B),this}rotateTo(w,B,Q){return this.easeTo(a.e({bearing:w},B),Q)}resetNorth(w,B){return this.rotateTo(0,a.e({duration:1e3},w),B),this}resetNorthPitch(w,B){return this.easeTo(a.e({bearing:0,pitch:0,duration:1e3},w),B),this}snapToNorth(w,B){return Math.abs(this.getBearing()){if(this._zooming&&(ee.zoom=a.y.number(se,Pe,Ut)),this._rotating&&(ee.bearing=a.y.number(qe,yt,Ut)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Ut)),this._padding&&(ee.interpolatePadding(it,Nt,Ut),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Ut),et)ee.setLocationAtPoint(et,Mt);else{let tr=ee.zoomScale(ee.zoom-se),mr=Pe>se?Math.min(2,He):Math.max(.5,He),Rr=Math.pow(mr,1-Ut),zr=ee.unproject(Oe.add(Je.mult(Ut*Rr)).mult(tr));ee.setLocationAtPoint(ee.renderWorldCopies?zr.wrap():zr,Sr)}this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},Ut=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B,Ut)},w),this}_prepareEase(w,B,Q={}){this._moving=!0,B||Q.moving||this.fire(new a.k(\"movestart\",w)),this._zooming&&!Q.zooming&&this.fire(new a.k(\"zoomstart\",w)),this._rotating&&!Q.rotating&&this.fire(new a.k(\"rotatestart\",w)),this._pitching&&!Q.pitching&&this.fire(new a.k(\"pitchstart\",w))}_prepareElevation(w){this._elevationCenter=w,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(w,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(w){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);let B=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(w<1&&B!==this._elevationTarget){let Q=this._elevationTarget-this._elevationStart;this._elevationStart+=w*(Q-(B-(Q*w+this._elevationStart))/(1-w)),this._elevationTarget=B}this.transform.elevation=a.y.number(this._elevationStart,this._elevationTarget,w)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(w){let B=w.getCameraPosition(),Q=this.terrain.getElevationForLngLatZoom(B.lngLat,w.zoom);if(B.altitudethis._elevateCameraIfInsideTerrain(ee)),this.transformCameraUpdate&&B.push(ee=>this.transformCameraUpdate(ee)),!B.length)return;let Q=w.clone();for(let ee of B){let se=Q.clone(),{center:qe,zoom:je,pitch:it,bearing:yt,elevation:Ot}=ee(se);qe&&(se.center=qe),je!==void 0&&(se.zoom=je),it!==void 0&&(se.pitch=it),yt!==void 0&&(se.bearing=yt),Ot!==void 0&&(se.elevation=Ot),Q.apply(se)}this.transform.apply(Q)}_fireMoveEvents(w){this.fire(new a.k(\"move\",w)),this._zooming&&this.fire(new a.k(\"zoom\",w)),this._rotating&&this.fire(new a.k(\"rotate\",w)),this._pitching&&this.fire(new a.k(\"pitch\",w))}_afterEase(w,B){if(this._easeId&&B&&this._easeId===B)return;delete this._easeId;let Q=this._zooming,ee=this._rotating,se=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,Q&&this.fire(new a.k(\"zoomend\",w)),ee&&this.fire(new a.k(\"rotateend\",w)),se&&this.fire(new a.k(\"pitchend\",w)),this.fire(new a.k(\"moveend\",w))}flyTo(w,B){var Q;if(!w.essential&&u.prefersReducedMotion){let Qi=a.M(w,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(Qi,B)}this.stop(),w=a.e({offset:[0,0],speed:1.2,curve:1.42,easing:a.b9},w);let ee=this._getTransformForUpdate(),se=ee.zoom,qe=ee.bearing,je=ee.pitch,it=ee.padding,yt=\"bearing\"in w?this._normalizeBearing(w.bearing,qe):qe,Ot=\"pitch\"in w?+w.pitch:je,Nt=\"padding\"in w?w.padding:ee.padding,hr=a.P.convert(w.offset),Sr=ee.centerPoint.add(hr),he=ee.pointLocation(Sr),{center:be,zoom:Pe}=ee.getConstrained(a.N.convert(w.center||he),(Q=w.zoom)!==null&&Q!==void 0?Q:se);this._normalizeCenter(be,ee);let Oe=ee.zoomScale(Pe-se),Je=ee.project(he),He=ee.project(be).sub(Je),et=w.curve,Mt=Math.max(ee.width,ee.height),Dt=Mt/Oe,Ut=He.mag();if(\"minZoom\"in w){let Qi=a.ac(Math.min(w.minZoom,se,Pe),ee.minZoom,ee.maxZoom),Mn=Mt/ee.zoomScale(Qi-se);et=Math.sqrt(Mn/Ut*2)}let tr=et*et;function mr(Qi){let Mn=(Dt*Dt-Mt*Mt+(Qi?-1:1)*tr*tr*Ut*Ut)/(2*(Qi?Dt:Mt)*tr*Ut);return Math.log(Math.sqrt(Mn*Mn+1)-Mn)}function Rr(Qi){return(Math.exp(Qi)-Math.exp(-Qi))/2}function zr(Qi){return(Math.exp(Qi)+Math.exp(-Qi))/2}let Xr=mr(!1),di=function(Qi){return zr(Xr)/zr(Xr+et*Qi)},Li=function(Qi){return Mt*((zr(Xr)*(Rr(Mn=Xr+et*Qi)/zr(Mn))-Rr(Xr))/tr)/Ut;var Mn},Ci=(mr(!0)-Xr)/et;if(Math.abs(Ut)<1e-6||!isFinite(Ci)){if(Math.abs(Mt-Dt)<1e-6)return this.easeTo(w,B);let Qi=Dt0,di=Mn=>Math.exp(Qi*et*Mn)}return w.duration=\"duration\"in w?+w.duration:1e3*Ci/(\"screenSpeed\"in w?+w.screenSpeed/et:+w.speed),w.maxDuration&&w.duration>w.maxDuration&&(w.duration=0),this._zooming=!0,this._rotating=qe!==yt,this._pitching=Ot!==je,this._padding=!ee.isPaddingEqual(Nt),this._prepareEase(B,!1),this.terrain&&this._prepareElevation(be),this._ease(Qi=>{let Mn=Qi*Ci,pa=1/di(Mn);ee.zoom=Qi===1?Pe:se+ee.scaleZoom(pa),this._rotating&&(ee.bearing=a.y.number(qe,yt,Qi)),this._pitching&&(ee.pitch=a.y.number(je,Ot,Qi)),this._padding&&(ee.interpolatePadding(it,Nt,Qi),Sr=ee.centerPoint.add(hr)),this.terrain&&!w.freezeElevation&&this._updateElevation(Qi);let ea=Qi===1?be:ee.unproject(Je.add(He.mult(Li(Mn))).mult(pa));ee.setLocationAtPoint(ee.renderWorldCopies?ea.wrap():ea,Sr),this._applyUpdatedTransform(ee),this._fireMoveEvents(B)},()=>{this.terrain&&w.freezeElevation&&this._finalizeElevation(),this._afterEase(B)},w),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(w,B){var Q;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let ee=this._onEaseEnd;delete this._onEaseEnd,ee.call(this,B)}return w||(Q=this.handlers)===null||Q===void 0||Q.stop(!1),this}_ease(w,B,Q){Q.animate===!1||Q.duration===0?(w(1),B()):(this._easeStart=u.now(),this._easeOptions=Q,this._onEaseFrame=w,this._onEaseEnd=B,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(w,B){w=a.b3(w,-180,180);let Q=Math.abs(w-B);return Math.abs(w-360-B)180?-360:Q<-180?360:0}queryTerrainElevation(w){return this.terrain?this.terrain.getElevationForLngLatZoom(a.N.convert(w),this.transform.tileZoom)-this.transform.elevation:null}}let Ea={compact:!0,customAttribution:'MapLibre'};class qa{constructor(w=Ea){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")))},this._updateData=B=>{!B||B.sourceDataType!==\"metadata\"&&B.sourceDataType!==\"visibility\"&&B.dataType!==\"style\"&&B.type!==\"terrain\"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"))},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\")},this.options=w}getDefaultPosition(){return\"bottom-right\"}onAdd(w){return this._map=w,this._compact=this.options.compact,this._container=c.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=c.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=c.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){c.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(w,B){let Q=this._map._getUIString(`AttributionControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)}_updateAttributions(){if(!this._map.style)return;let w=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?w=w.concat(this.options.customAttribution.map(ee=>typeof ee!=\"string\"?\"\":ee)):typeof this.options.customAttribution==\"string\"&&w.push(this.options.customAttribution)),this._map.style.stylesheet){let ee=this._map.style.stylesheet;this.styleOwner=ee.owner,this.styleId=ee.id}let B=this._map.style.sourceCaches;for(let ee in B){let se=B[ee];if(se.used||se.usedForTerrain){let qe=se.getSource();qe.attribution&&w.indexOf(qe.attribution)<0&&w.push(qe.attribution)}}w=w.filter(ee=>String(ee).trim()),w.sort((ee,se)=>ee.length-se.length),w=w.filter((ee,se)=>{for(let qe=se+1;qe=0)return!1;return!0});let Q=w.join(\" | \");Q!==this._attribHTML&&(this._attribHTML=Q,w.length?(this._innerContainer.innerHTML=Q,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null)}}class Cn{constructor(w={}){this._updateCompact=()=>{let B=this._container.children;if(B.length){let Q=B[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&Q.classList.add(\"maplibregl-compact\"):Q.classList.remove(\"maplibregl-compact\")}},this.options=w}getDefaultPosition(){return\"bottom-left\"}onAdd(w){this._map=w,this._compact=this.options&&this.options.compact,this._container=c.create(\"div\",\"maplibregl-ctrl\");let B=c.create(\"a\",\"maplibregl-ctrl-logo\");return B.target=\"_blank\",B.rel=\"noopener nofollow\",B.href=\"https://maplibre.org/\",B.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),B.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(B),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){c.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0}}class sn{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(w){let B=++this._id;return this._queue.push({callback:w,id:B,cancelled:!1}),B}remove(w){let B=this._currentlyRunning,Q=B?this._queue.concat(B):this._queue;for(let ee of Q)if(ee.id===w)return void(ee.cancelled=!0)}run(w=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");let B=this._currentlyRunning=this._queue;this._queue=[];for(let Q of B)if(!Q.cancelled&&(Q.callback(w),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var Ua=a.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class mo extends a.E{constructor(w){super(),this.sourceCache=w,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,w.usedForTerrain=!0,w.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(w,B){this.sourceCache.update(w,B),this._renderableTilesKeys=[];let Q={};for(let ee of w.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:B}))Q[ee.key]=!0,this._renderableTilesKeys.push(ee.key),this._tiles[ee.key]||(ee.posMatrix=new Float64Array(16),a.aP(ee.posMatrix,0,a.X,0,a.X,0,1),this._tiles[ee.key]=new Lt(ee,this.tileSize));for(let ee in this._tiles)Q[ee]||delete this._tiles[ee]}freeRtt(w){for(let B in this._tiles){let Q=this._tiles[B];(!w||Q.tileID.equals(w)||Q.tileID.isChildOf(w)||w.isChildOf(Q.tileID))&&(Q.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(w=>this.getTileByID(w))}getTileByID(w){return this._tiles[w]}getTerrainCoords(w){let B={};for(let Q of this._renderableTilesKeys){let ee=this._tiles[Q].tileID;if(ee.canonical.equals(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16),a.aP(se.posMatrix,0,a.X,0,a.X,0,1),B[Q]=se}else if(ee.canonical.isChildOf(w.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=ee.canonical.z-w.canonical.z,je=ee.canonical.x-(ee.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,yt,0,yt,0,1),a.J(se.posMatrix,se.posMatrix,[-je*yt,-it*yt,0]),B[Q]=se}else if(w.canonical.isChildOf(ee.canonical)){let se=w.clone();se.posMatrix=new Float64Array(16);let qe=w.canonical.z-ee.canonical.z,je=w.canonical.x-(w.canonical.x>>qe<>qe<>qe;a.aP(se.posMatrix,0,a.X,0,a.X,0,1),a.J(se.posMatrix,se.posMatrix,[je*yt,it*yt,0]),a.K(se.posMatrix,se.posMatrix,[1/2**qe,1/2**qe,0]),B[Q]=se}}return B}getSourceTile(w,B){let Q=this.sourceCache._source,ee=w.overscaledZ-this.deltaZoom;if(ee>Q.maxzoom&&(ee=Q.maxzoom),ee=Q.minzoom&&(!se||!se.dem);)se=this.sourceCache.getTileByID(w.scaledTo(ee--).key);return se}tilesAfterTime(w=Date.now()){return Object.values(this._tiles).filter(B=>B.timeAdded>=w)}}class Xo{constructor(w,B,Q){this.painter=w,this.sourceCache=new mo(B),this.options=Q,this.exaggeration=typeof Q.exaggeration==\"number\"?Q.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(w,B,Q,ee=a.X){var se;if(!(B>=0&&B=0&&Qw.canonical.z&&(w.canonical.z>=ee?se=w.canonical.z-ee:a.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));let qe=w.canonical.x-(w.canonical.x>>se<>se<>8<<4|se>>8,B[qe+3]=0;let Q=new a.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(B.buffer)),ee=new p(w,Q,w.gl.RGBA,{premultiply:!1});return ee.bind(w.gl.NEAREST,w.gl.CLAMP_TO_EDGE),this._coordsTexture=ee,ee}pointCoordinate(w){this.painter.maybeDrawDepthAndCoords(!0);let B=new Uint8Array(4),Q=this.painter.context,ee=Q.gl,se=Math.round(w.x*this.painter.pixelRatio/devicePixelRatio),qe=Math.round(w.y*this.painter.pixelRatio/devicePixelRatio),je=Math.round(this.painter.height/devicePixelRatio);Q.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),ee.readPixels(se,je-qe-1,1,1,ee.RGBA,ee.UNSIGNED_BYTE,B),Q.bindFramebuffer.set(null);let it=B[0]+(B[2]>>4<<8),yt=B[1]+((15&B[2])<<8),Ot=this.coordsIndex[255-B[3]],Nt=Ot&&this.sourceCache.getTileByID(Ot);if(!Nt)return null;let hr=this._coordsTextureSize,Sr=(1<w.id!==B),this._recentlyUsed.push(w.id)}stampObject(w){w.stamp=++this._stamp}getOrCreateFreeObject(){for(let B of this._recentlyUsed)if(!this._objects[B].inUse)return this._objects[B];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");let w=this._createObject(this._objects.length);return this._objects.push(w),w}freeObject(w){w.inUse=!1}freeAllObjects(){for(let w of this._objects)this.freeObject(w)}isFull(){return!(this._objects.length!w.inUse)===!1}}let Qo={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class ys{constructor(w,B){this.painter=w,this.terrain=B,this.pool=new Ts(w.context,30,B.sourceCache.tileSize*B.qualityFactor)}destruct(){this.pool.destruct()}getTexture(w){return this.pool.getObjectForId(w.rtt[this._stacks.length-1].id).texture}prepareForRender(w,B){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=w._order.filter(Q=>!w._layers[Q].isHidden(B)),this._coordsDescendingInv={};for(let Q in w.sourceCaches){this._coordsDescendingInv[Q]={};let ee=w.sourceCaches[Q].getVisibleCoordinates();for(let se of ee){let qe=this.terrain.sourceCache.getTerrainCoords(se);for(let je in qe)this._coordsDescendingInv[Q][je]||(this._coordsDescendingInv[Q][je]=[]),this._coordsDescendingInv[Q][je].push(qe[je])}}this._coordsDescendingInvStr={};for(let Q of w._order){let ee=w._layers[Q],se=ee.source;if(Qo[ee.type]&&!this._coordsDescendingInvStr[se]){this._coordsDescendingInvStr[se]={};for(let qe in this._coordsDescendingInv[se])this._coordsDescendingInvStr[se][qe]=this._coordsDescendingInv[se][qe].map(je=>je.key).sort().join()}}for(let Q of this._renderableTiles)for(let ee in this._coordsDescendingInvStr){let se=this._coordsDescendingInvStr[ee][Q.tileID.key];se&&se!==Q.rttCoords[ee]&&(Q.rtt=[])}}renderLayer(w){if(w.isHidden(this.painter.transform.zoom))return!1;let B=w.type,Q=this.painter,ee=this._renderableLayerIds[this._renderableLayerIds.length-1]===w.id;if(Qo[B]&&(this._prevType&&Qo[this._prevType]||this._stacks.push([]),this._prevType=B,this._stacks[this._stacks.length-1].push(w.id),!ee))return!0;if(Qo[this._prevType]||Qo[B]&&ee){this._prevType=B;let se=this._stacks.length-1,qe=this._stacks[se]||[];for(let je of this._renderableTiles){if(this.pool.isFull()&&(eu(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(je),je.rtt[se]){let yt=this.pool.getObjectForId(je.rtt[se].id);if(yt.stamp===je.rtt[se].stamp){this.pool.useObject(yt);continue}}let it=this.pool.getOrCreateFreeObject();this.pool.useObject(it),this.pool.stampObject(it),je.rtt[se]={id:it.id,stamp:it.stamp},Q.context.bindFramebuffer.set(it.fbo.framebuffer),Q.context.clear({color:a.aM.transparent,stencil:0}),Q.currentStencilSource=void 0;for(let yt=0;yt{le.touchstart=le.dragStart,le.touchmoveWindow=le.dragMove,le.touchend=le.dragEnd},ia={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ka{constructor(w,B,Q=!1){this.mousedown=qe=>{this.startMouse(a.e({},qe,{ctrlKey:!0,preventDefault:()=>qe.preventDefault()}),c.mousePos(this.element,qe)),c.addEventListener(window,\"mousemove\",this.mousemove),c.addEventListener(window,\"mouseup\",this.mouseup)},this.mousemove=qe=>{this.moveMouse(qe,c.mousePos(this.element,qe))},this.mouseup=qe=>{this.mouseRotate.dragEnd(qe),this.mousePitch&&this.mousePitch.dragEnd(qe),this.offTemp()},this.touchstart=qe=>{qe.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.startTouch(qe,this._startPos),c.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.addEventListener(window,\"touchend\",this.touchend))},this.touchmove=qe=>{qe.targetTouches.length!==1?this.reset():(this._lastPos=c.touchPos(this.element,qe.targetTouches)[0],this.moveTouch(qe,this._lastPos))},this.touchend=qe=>{qe.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;let ee=w.dragRotate._mouseRotate.getClickTolerance(),se=w.dragRotate._mousePitch.getClickTolerance();this.element=B,this.mouseRotate=Rl({clickTolerance:ee,enable:!0}),this.touchRotate=(({enable:qe,clickTolerance:je,bearingDegreesPerPixelMoved:it=.8})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({bearingDelta:(Nt.x-Ot.x)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:ee,enable:!0}),this.map=w,Q&&(this.mousePitch=Ih({clickTolerance:se,enable:!0}),this.touchPitch=(({enable:qe,clickTolerance:je,pitchDegreesPerPixelMoved:it=-.5})=>{let yt=new pf;return new ju({clickTolerance:je,move:(Ot,Nt)=>({pitchDelta:(Nt.y-Ot.y)*it}),moveStateManager:yt,enable:qe,assignEvents:Rs})})({clickTolerance:se,enable:!0})),c.addEventListener(B,\"mousedown\",this.mousedown),c.addEventListener(B,\"touchstart\",this.touchstart,{passive:!1}),c.addEventListener(B,\"touchcancel\",this.reset)}startMouse(w,B){this.mouseRotate.dragStart(w,B),this.mousePitch&&this.mousePitch.dragStart(w,B),c.disableDrag()}startTouch(w,B){this.touchRotate.dragStart(w,B),this.touchPitch&&this.touchPitch.dragStart(w,B),c.disableDrag()}moveMouse(w,B){let Q=this.map,{bearingDelta:ee}=this.mouseRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.mousePitch){let{pitchDelta:se}=this.mousePitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}moveTouch(w,B){let Q=this.map,{bearingDelta:ee}=this.touchRotate.dragMove(w,B)||{};if(ee&&Q.setBearing(Q.getBearing()+ee),this.touchPitch){let{pitchDelta:se}=this.touchPitch.dragMove(w,B)||{};se&&Q.setPitch(Q.getPitch()+se)}}off(){let w=this.element;c.removeEventListener(w,\"mousedown\",this.mousedown),c.removeEventListener(w,\"touchstart\",this.touchstart,{passive:!1}),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend),c.removeEventListener(w,\"touchcancel\",this.reset),this.offTemp()}offTemp(){c.enableDrag(),c.removeEventListener(window,\"mousemove\",this.mousemove),c.removeEventListener(window,\"mouseup\",this.mouseup),c.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),c.removeEventListener(window,\"touchend\",this.touchend)}}let vs;function Ko(le,w,B){let Q=new a.N(le.lng,le.lat);if(le=new a.N(le.lng,le.lat),w){let ee=new a.N(le.lng-360,le.lat),se=new a.N(le.lng+360,le.lat),qe=B.locationPoint(le).distSqr(w);B.locationPoint(ee).distSqr(w)180;){let ee=B.locationPoint(le);if(ee.x>=0&&ee.y>=0&&ee.x<=B.width&&ee.y<=B.height)break;le.lng>B.center.lng?le.lng-=360:le.lng+=360}return le.lng!==Q.lng&&B.locationPoint(le).y>B.height/2-B.getHorizon()?le:Q}let iu={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Ru(le,w,B){let Q=le.classList;for(let ee in iu)Q.remove(`maplibregl-${B}-anchor-${ee}`);Q.add(`maplibregl-${B}-anchor-${w}`)}class ac extends a.E{constructor(w){if(super(),this._onKeyPress=B=>{let Q=B.code,ee=B.charCode||B.keyCode;Q!==\"Space\"&&Q!==\"Enter\"&&ee!==32&&ee!==13||this.togglePopup()},this._onMapClick=B=>{let Q=B.originalEvent.target,ee=this._element;this._popup&&(Q===ee||ee.contains(Q))&&this.togglePopup()},this._update=B=>{var Q;if(!this._map)return;let ee=this._map.loaded()&&!this._map.isMoving();((B==null?void 0:B.type)===\"terrain\"||(B==null?void 0:B.type)===\"render\"&&!ee)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?Ko(this._lngLat,this._flatPos,this._map.transform):(Q=this._lngLat)===null||Q===void 0?void 0:Q.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let se=\"\";this._rotationAlignment===\"viewport\"||this._rotationAlignment===\"auto\"?se=`rotateZ(${this._rotation}deg)`:this._rotationAlignment===\"map\"&&(se=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let qe=\"\";this._pitchAlignment===\"viewport\"||this._pitchAlignment===\"auto\"?qe=\"rotateX(0deg)\":this._pitchAlignment===\"map\"&&(qe=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||B&&B.type!==\"moveend\"||(this._pos=this._pos.round()),c.setTransform(this._element,`${iu[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${qe} ${se}`),u.frameAsync(new AbortController).then(()=>{this._updateOpacity(B&&B.type===\"moveend\")}).catch(()=>{})},this._onMove=B=>{if(!this._isDragging){let Q=this._clickTolerance||this._map._clickTolerance;this._isDragging=B.point.dist(this._pointerdownPos)>=Q}this._isDragging&&(this._pos=B.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",this._state===\"pending\"&&(this._state=\"active\",this.fire(new a.k(\"dragstart\"))),this.fire(new a.k(\"drag\")))},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),this._state===\"active\"&&this.fire(new a.k(\"dragend\")),this._state=\"inactive\"},this._addDragHandler=B=>{this._element.contains(B.originalEvent.target)&&(B.preventDefault(),this._positionDelta=B.point.sub(this._pos).add(this._offset),this._pointerdownPos=B.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp))},this._anchor=w&&w.anchor||\"center\",this._color=w&&w.color||\"#3FB1CE\",this._scale=w&&w.scale||1,this._draggable=w&&w.draggable||!1,this._clickTolerance=w&&w.clickTolerance||0,this._subpixelPositioning=w&&w.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=w&&w.rotation||0,this._rotationAlignment=w&&w.rotationAlignment||\"auto\",this._pitchAlignment=w&&w.pitchAlignment&&w.pitchAlignment!==\"auto\"?w.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(w==null?void 0:w.opacity,w==null?void 0:w.opacityWhenCovered),w&&w.element)this._element=w.element,this._offset=a.P.convert(w&&w.offset||[0,0]);else{this._defaultMarker=!0,this._element=c.create(\"div\");let B=c.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),Q=41,ee=27;B.setAttributeNS(null,\"display\",\"block\"),B.setAttributeNS(null,\"height\",`${Q}px`),B.setAttributeNS(null,\"width\",`${ee}px`),B.setAttributeNS(null,\"viewBox\",`0 0 ${ee} ${Q}`);let se=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");se.setAttributeNS(null,\"stroke\",\"none\"),se.setAttributeNS(null,\"stroke-width\",\"1\"),se.setAttributeNS(null,\"fill\",\"none\"),se.setAttributeNS(null,\"fill-rule\",\"evenodd\");let qe=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");qe.setAttributeNS(null,\"fill-rule\",\"nonzero\");let je=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");je.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),je.setAttributeNS(null,\"fill\",\"#000000\");let it=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(let Oe of it){let Je=c.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");Je.setAttributeNS(null,\"opacity\",\"0.04\"),Je.setAttributeNS(null,\"cx\",\"10.5\"),Je.setAttributeNS(null,\"cy\",\"5.80029008\"),Je.setAttributeNS(null,\"rx\",Oe.rx),Je.setAttributeNS(null,\"ry\",Oe.ry),je.appendChild(Je)}let yt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");yt.setAttributeNS(null,\"fill\",this._color);let Ot=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");Ot.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),yt.appendChild(Ot);let Nt=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Nt.setAttributeNS(null,\"opacity\",\"0.25\"),Nt.setAttributeNS(null,\"fill\",\"#000000\");let hr=c.createNS(\"http://www.w3.org/2000/svg\",\"path\");hr.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),Nt.appendChild(hr);let Sr=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");Sr.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),Sr.setAttributeNS(null,\"fill\",\"#FFFFFF\");let he=c.createNS(\"http://www.w3.org/2000/svg\",\"g\");he.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");let be=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");be.setAttributeNS(null,\"fill\",\"#000000\"),be.setAttributeNS(null,\"opacity\",\"0.25\"),be.setAttributeNS(null,\"cx\",\"5.5\"),be.setAttributeNS(null,\"cy\",\"5.5\"),be.setAttributeNS(null,\"r\",\"5.4999962\");let Pe=c.createNS(\"http://www.w3.org/2000/svg\",\"circle\");Pe.setAttributeNS(null,\"fill\",\"#FFFFFF\"),Pe.setAttributeNS(null,\"cx\",\"5.5\"),Pe.setAttributeNS(null,\"cy\",\"5.5\"),Pe.setAttributeNS(null,\"r\",\"5.4999962\"),he.appendChild(be),he.appendChild(Pe),qe.appendChild(je),qe.appendChild(yt),qe.appendChild(Nt),qe.appendChild(Sr),qe.appendChild(he),B.appendChild(qe),B.setAttributeNS(null,\"height\",Q*this._scale+\"px\"),B.setAttributeNS(null,\"width\",ee*this._scale+\"px\"),this._element.appendChild(B),this._offset=a.P.convert(w&&w.offset||[0,-14])}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",B=>{B.preventDefault()}),this._element.addEventListener(\"mousedown\",B=>{B.preventDefault()}),Ru(this._element,this._anchor,\"marker\"),w&&w.className)for(let B of w.className.split(\" \"))this._element.classList.add(B);this._popup=null}addTo(w){return this.remove(),this._map=w,this._element.setAttribute(\"aria-label\",w._getUIString(\"Marker.Title\")),w.getCanvasContainer().appendChild(this._element),w.on(\"move\",this._update),w.on(\"moveend\",this._update),w.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),c.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(w){return this._lngLat=a.N.convert(w),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(w){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),w){if(!(\"offset\"in w.options)){let ee=Math.abs(13.5)/Math.SQRT2;w.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-38.1],\"bottom-left\":[ee,-1*(38.1-13.5+ee)],\"bottom-right\":[-ee,-1*(38.1-13.5+ee)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=w,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress)}return this}setSubpixelPositioning(w){return this._subpixelPositioning=w,this}getPopup(){return this._popup}togglePopup(){let w=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:w?(w.isOpen()?w.remove():(w.setLngLat(this._lngLat),w.addTo(this._map)),this):this}_updateOpacity(w=!1){var B,Q;if(!(!((B=this._map)===null||B===void 0)&&B.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(w)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let ee=this._map,se=ee.terrain.depthAtPoint(this._pos),qe=ee.terrain.getElevationForLngLatZoom(this._lngLat,ee.transform.tileZoom);if(ee.transform.lngLatToCameraDepth(this._lngLat,qe)-se<.006)return void(this._element.style.opacity=this._opacity);let je=-this._offset.y/ee.transform._pixelPerMeter,it=Math.sin(ee.getPitch()*Math.PI/180)*je,yt=ee.terrain.depthAtPoint(new a.P(this._pos.x,this._pos.y-this._offset.y)),Ot=ee.transform.lngLatToCameraDepth(this._lngLat,qe+it)-yt>.006;!((Q=this._popup)===null||Q===void 0)&&Q.isOpen()&&Ot&&this._popup.remove(),this._element.style.opacity=Ot?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(w){return this._offset=a.P.convert(w),this._update(),this}addClassName(w){this._element.classList.add(w)}removeClassName(w){this._element.classList.remove(w)}toggleClassName(w){return this._element.classList.toggle(w)}setDraggable(w){return this._draggable=!!w,this._map&&(w?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(w){return this._rotation=w||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(w){return this._rotationAlignment=w||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(w){return this._pitchAlignment=w&&w!==\"auto\"?w:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(w,B){return w===void 0&&B===void 0&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),w!==void 0&&(this._opacity=w),B!==void 0&&(this._opacityWhenCovered=B),this._map&&this._updateOpacity(!0),this}}let mf={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},bu=0,Kc=!1,Du={maxWidth:100,unit:\"metric\"};function Dc(le,w,B){let Q=B&&B.maxWidth||100,ee=le._container.clientHeight/2,se=le.unproject([0,ee]),qe=le.unproject([Q,ee]),je=se.distanceTo(qe);if(B&&B.unit===\"imperial\"){let it=3.2808*je;it>5280?Da(w,Q,it/5280,le._getUIString(\"ScaleControl.Miles\")):Da(w,Q,it,le._getUIString(\"ScaleControl.Feet\"))}else B&&B.unit===\"nautical\"?Da(w,Q,je/1852,le._getUIString(\"ScaleControl.NauticalMiles\")):je>=1e3?Da(w,Q,je/1e3,le._getUIString(\"ScaleControl.Kilometers\")):Da(w,Q,je,le._getUIString(\"ScaleControl.Meters\"))}function Da(le,w,B,Q){let ee=function(se){let qe=Math.pow(10,`${Math.floor(se)}`.length-1),je=se/qe;return je=je>=10?10:je>=5?5:je>=3?3:je>=2?2:je>=1?1:function(it){let yt=Math.pow(10,Math.ceil(-Math.log(it)/Math.LN10));return Math.round(it*yt)/yt}(je),qe*je}(B);le.style.width=w*(ee/B)+\"px\",le.innerHTML=`${ee} ${Q}`}let eo={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Jc=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function yc(le){if(le){if(typeof le==\"number\"){let w=Math.round(Math.abs(le)/Math.SQRT2);return{center:new a.P(0,0),top:new a.P(0,le),\"top-left\":new a.P(w,w),\"top-right\":new a.P(-w,w),bottom:new a.P(0,-le),\"bottom-left\":new a.P(w,-w),\"bottom-right\":new a.P(-w,-w),left:new a.P(le,0),right:new a.P(-le,0)}}if(le instanceof a.P||Array.isArray(le)){let w=a.P.convert(le);return{center:w,top:w,\"top-left\":w,\"top-right\":w,bottom:w,\"bottom-left\":w,\"bottom-right\":w,left:w,right:w}}return{center:a.P.convert(le.center||[0,0]),top:a.P.convert(le.top||[0,0]),\"top-left\":a.P.convert(le[\"top-left\"]||[0,0]),\"top-right\":a.P.convert(le[\"top-right\"]||[0,0]),bottom:a.P.convert(le.bottom||[0,0]),\"bottom-left\":a.P.convert(le[\"bottom-left\"]||[0,0]),\"bottom-right\":a.P.convert(le[\"bottom-right\"]||[0,0]),left:a.P.convert(le.left||[0,0]),right:a.P.convert(le.right||[0,0])}}return yc(new a.P(0,0))}let _c=o;i.AJAXError=a.bh,i.Evented=a.E,i.LngLat=a.N,i.MercatorCoordinate=a.Z,i.Point=a.P,i.addProtocol=a.bi,i.config=a.a,i.removeProtocol=a.bj,i.AttributionControl=qa,i.BoxZoomHandler=xu,i.CanvasSource=Ct,i.CooperativeGesturesHandler=qi,i.DoubleClickZoomHandler=fi,i.DragPanHandler=Xi,i.DragRotateHandler=hn,i.EdgeInsets=ic,i.FullscreenControl=class extends a.E{constructor(le={}){super(),this._onFullscreenChange=()=>{var w;let B=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((w=B==null?void 0:B.shadowRoot)===null||w===void 0)&&w.fullscreenElement;)B=B.shadowRoot.fullscreenElement;B===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,le&&le.container&&(le.container instanceof HTMLElement?this._container=le.container:a.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\")}onAdd(le){return this._map=le,this._container||(this._container=this._map.getContainer()),this._controlContainer=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){c.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let le=this._fullscreenButton=c.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);c.create(\"span\",\"maplibregl-ctrl-icon\",le).setAttribute(\"aria-hidden\",\"true\"),le.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let le=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",le),this._fullscreenButton.title=le}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new a.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new a.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize()}},i.GeoJSONSource=rt,i.GeolocateControl=class extends a.E{constructor(le){super(),this._onSuccess=w=>{if(this._map){if(this._isOutOfMapMaxBounds(w))return this._setErrorState(),this.fire(new a.k(\"outofmaxbounds\",w)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=w,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!==\"OFF\"&&this._updateMarker(w),this.options.trackUserLocation&&this._watchState!==\"ACTIVE_LOCK\"||this._updateCamera(w),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"geolocate\",w)),this._finish()}},this._updateCamera=w=>{let B=new a.N(w.coords.longitude,w.coords.latitude),Q=w.coords.accuracy,ee=this._map.getBearing(),se=a.e({bearing:ee},this.options.fitBoundsOptions),qe=ce.fromLngLat(B,Q);this._map.fitBounds(qe,se,{geolocateSource:!0})},this._updateMarker=w=>{if(w){let B=new a.N(w.coords.longitude,w.coords.latitude);this._accuracyCircleMarker.setLngLat(B).addTo(this._map),this._userLocationDotMarker.setLngLat(B).addTo(this._map),this._accuracy=w.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=w=>{if(this._map){if(this.options.trackUserLocation)if(w.code===1){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(w.code===3&&Kc)return;this._setErrorState()}this._watchState!==\"OFF\"&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new a.k(\"error\",w)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this._geolocateButton=c.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0)},this._finishSetupUI=w=>{if(this._map){if(w===!1){a.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");let B=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}else{let B=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=B,this._geolocateButton.setAttribute(\"aria-label\",B)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=c.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ac({element:this._dotElement}),this._circleElement=c.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ac({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",B=>{B.geolocateSource||this._watchState!==\"ACTIVE_LOCK\"||B.originalEvent&&B.originalEvent.type===\"resize\"||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new a.k(\"trackuserlocationend\")),this.fire(new a.k(\"userlocationlostfocus\")))})}},this.options=a.e({},mf,le)}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return a._(this,arguments,void 0,function*(w=!1){if(vs!==void 0&&!w)return vs;if(window.navigator.permissions===void 0)return vs=!!window.navigator.geolocation,vs;try{vs=(yield window.navigator.permissions.query({name:\"geolocation\"})).state!==\"denied\"}catch(B){vs=!!window.navigator.geolocation}return vs})}().then(w=>this._finishSetupUI(w)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),c.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,bu=0,Kc=!1}_isOutOfMapMaxBounds(le){let w=this._map.getMaxBounds(),B=le.coords;return w&&(B.longitudew.getEast()||B.latitudew.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){let le=this._map.getBounds(),w=le.getSouthEast(),B=le.getNorthEast(),Q=w.distanceTo(B),ee=Math.ceil(this._accuracy/(Q/this._map._container.clientHeight)*2);this._circleElement.style.width=`${ee}px`,this._circleElement.style.height=`${ee}px`}trigger(){if(!this._setup)return a.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new a.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":bu--,Kc=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new a.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new a.k(\"trackuserlocationstart\")),this.fire(new a.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState===\"OFF\"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let le;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),bu++,bu>1?(le={maximumAge:6e5,timeout:0},Kc=!0):(le=this.options.positionOptions,Kc=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,le)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null)}},i.Hash=gd,i.ImageSource=Rt,i.KeyboardHandler=Bt,i.LngLatBounds=ce,i.LogoControl=Cn,i.Map=class extends Ta{constructor(le){a.bf.mark(a.bg.create);let w=Object.assign(Object.assign({},Gs),le);if(w.minZoom!=null&&w.maxZoom!=null&&w.minZoom>w.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(w.minPitch!=null&&w.maxPitch!=null&&w.minPitch>w.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(w.minPitch!=null&&w.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(w.maxPitch!=null&&w.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Qs(w.minZoom,w.maxZoom,w.minPitch,w.maxPitch,w.renderWorldCopies),{bearingSnap:w.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new sn,this._controls=[],this._mapId=a.a4(),this._contextLost=B=>{B.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new a.k(\"webglcontextlost\",{originalEvent:B}))},this._contextRestored=B=>{this._setupPainter(),this.resize(),this._update(),this.fire(new a.k(\"webglcontextrestored\",{originalEvent:B}))},this._onMapScroll=B=>{if(B.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=w.interactive,this._maxTileCacheSize=w.maxTileCacheSize,this._maxTileCacheZoomLevels=w.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=w.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=w.preserveDrawingBuffer===!0,this._antialias=w.antialias===!0,this._trackResize=w.trackResize===!0,this._bearingSnap=w.bearingSnap,this._refreshExpiredTiles=w.refreshExpiredTiles===!0,this._fadeDuration=w.fadeDuration,this._crossSourceCollisions=w.crossSourceCollisions===!0,this._collectResourceTiming=w.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Bo),w.locale),this._clickTolerance=w.clickTolerance,this._overridePixelRatio=w.pixelRatio,this._maxCanvasSize=w.maxCanvasSize,this.transformCameraUpdate=w.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=w.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=g.addThrottleControl(()=>this.isMoving()),this._requestManager=new E(w.transformRequest),typeof w.container==\"string\"){if(this._container=document.getElementById(w.container),!this._container)throw new Error(`Container '${w.container}' not found.`)}else{if(!(w.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=w.container}if(w.maxBounds&&this.setMaxBounds(w.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",()=>this._update(!1)).on(\"moveend\",()=>this._update(!1)).on(\"zoom\",()=>this._update(!0)).on(\"terrain\",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once(\"idle\",()=>{this._idleTriggered=!0}),typeof window!=\"undefined\"){addEventListener(\"online\",this._onWindowOnline,!1);let B=!1,Q=Qh(ee=>{this._trackResize&&!this._removed&&(this.resize(ee),this.redraw())},50);this._resizeObserver=new ResizeObserver(ee=>{B?Q(ee):B=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Ma(this,w),this._hash=w.hash&&new gd(typeof w.hash==\"string\"&&w.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:w.center,zoom:w.zoom,bearing:w.bearing,pitch:w.pitch}),w.bounds&&(this.resize(),this.fitBounds(w.bounds,a.e({},w.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=w.localIdeographFontFamily,this._validateStyle=w.validateStyle,w.style&&this.setStyle(w.style,{localIdeographFontFamily:w.localIdeographFontFamily}),w.attributionControl&&this.addControl(new qa(typeof w.attributionControl==\"boolean\"?void 0:w.attributionControl)),w.maplibreLogo&&this.addControl(new Cn,w.logoPosition),this.on(\"style.load\",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on(\"data\",B=>{this._update(B.dataType===\"style\"),this.fire(new a.k(`${B.dataType}data`,B))}),this.on(\"dataloading\",B=>{this.fire(new a.k(`${B.dataType}dataloading`,B))}),this.on(\"dataabort\",B=>{this.fire(new a.k(\"sourcedataabort\",B))})}_getMapId(){return this._mapId}addControl(le,w){if(w===void 0&&(w=le.getDefaultPosition?le.getDefaultPosition():\"top-right\"),!le||!le.onAdd)return this.fire(new a.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));let B=le.onAdd(this);this._controls.push(le);let Q=this._controlPositions[w];return w.indexOf(\"bottom\")!==-1?Q.insertBefore(B,Q.firstChild):Q.appendChild(B),this}removeControl(le){if(!le||!le.onRemove)return this.fire(new a.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));let w=this._controls.indexOf(le);return w>-1&&this._controls.splice(w,1),le.onRemove(this),this}hasControl(le){return this._controls.indexOf(le)>-1}calculateCameraOptionsFromTo(le,w,B,Q){return Q==null&&this.terrain&&(Q=this.terrain.getElevationForLngLatZoom(B,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(le,w,B,Q)}resize(le){var w;let B=this._containerDimensions(),Q=B[0],ee=B[1],se=this._getClampedPixelRatio(Q,ee);if(this._resizeCanvas(Q,ee,se),this.painter.resize(Q,ee,se),this.painter.overLimit()){let je=this.painter.context.gl;this._maxCanvasSize=[je.drawingBufferWidth,je.drawingBufferHeight];let it=this._getClampedPixelRatio(Q,ee);this._resizeCanvas(Q,ee,it),this.painter.resize(Q,ee,it)}this.transform.resize(Q,ee),(w=this._requestedCameraState)===null||w===void 0||w.resize(Q,ee);let qe=!this._moving;return qe&&(this.stop(),this.fire(new a.k(\"movestart\",le)).fire(new a.k(\"move\",le))),this.fire(new a.k(\"resize\",le)),qe&&this.fire(new a.k(\"moveend\",le)),this}_getClampedPixelRatio(le,w){let{0:B,1:Q}=this._maxCanvasSize,ee=this.getPixelRatio(),se=le*ee,qe=w*ee;return Math.min(se>B?B/se:1,qe>Q?Q/qe:1)*ee}getPixelRatio(){var le;return(le=this._overridePixelRatio)!==null&&le!==void 0?le:devicePixelRatio}setPixelRatio(le){this._overridePixelRatio=le,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(le){return this.transform.setMaxBounds(ce.convert(le)),this._update()}setMinZoom(le){if((le=le==null?-2:le)>=-2&&le<=this.transform.maxZoom)return this.transform.minZoom=le,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=le,this._update(),this.getZoom()>le&&this.setZoom(le),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(le){if((le=le==null?0:le)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(le>=0&&le<=this.transform.maxPitch)return this.transform.minPitch=le,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(le>=this.transform.minPitch)return this.transform.maxPitch=le,this._update(),this.getPitch()>le&&this.setPitch(le),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(le){return this.transform.renderWorldCopies=le,this._update()}project(le){return this.transform.locationPoint(a.N.convert(le),this.style&&this.terrain)}unproject(le){return this.transform.pointLocation(a.P.convert(le),this.terrain)}isMoving(){var le;return this._moving||((le=this.handlers)===null||le===void 0?void 0:le.isMoving())}isZooming(){var le;return this._zooming||((le=this.handlers)===null||le===void 0?void 0:le.isZooming())}isRotating(){var le;return this._rotating||((le=this.handlers)===null||le===void 0?void 0:le.isRotating())}_createDelegatedListener(le,w,B){if(le===\"mouseenter\"||le===\"mouseover\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:se=>{let qe=w.filter(it=>this.getLayer(it)),je=qe.length!==0?this.queryRenderedFeatures(se.point,{layers:qe}):[];je.length?Q||(Q=!0,B.call(this,new tu(le,this,se.originalEvent,{features:je}))):Q=!1},mouseout:()=>{Q=!1}}}}if(le===\"mouseleave\"||le===\"mouseout\"){let Q=!1;return{layers:w,listener:B,delegates:{mousemove:qe=>{let je=w.filter(it=>this.getLayer(it));(je.length!==0?this.queryRenderedFeatures(qe.point,{layers:je}):[]).length?Q=!0:Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))},mouseout:qe=>{Q&&(Q=!1,B.call(this,new tu(le,this,qe.originalEvent)))}}}}{let Q=ee=>{let se=w.filter(je=>this.getLayer(je)),qe=se.length!==0?this.queryRenderedFeatures(ee.point,{layers:se}):[];qe.length&&(ee.features=qe,B.call(this,ee),delete ee.features)};return{layers:w,listener:B,delegates:{[le]:Q}}}}_saveDelegatedListener(le,w){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[le]=this._delegatedListeners[le]||[],this._delegatedListeners[le].push(w)}_removeDelegatedListener(le,w,B){if(!this._delegatedListeners||!this._delegatedListeners[le])return;let Q=this._delegatedListeners[le];for(let ee=0;eew.includes(qe))){for(let qe in se.delegates)this.off(qe,se.delegates[qe]);return void Q.splice(ee,1)}}}on(le,w,B){if(B===void 0)return super.on(le,w);let Q=this._createDelegatedListener(le,typeof w==\"string\"?[w]:w,B);this._saveDelegatedListener(le,Q);for(let ee in Q.delegates)this.on(ee,Q.delegates[ee]);return this}once(le,w,B){if(B===void 0)return super.once(le,w);let Q=typeof w==\"string\"?[w]:w,ee=this._createDelegatedListener(le,Q,B);for(let se in ee.delegates){let qe=ee.delegates[se];ee.delegates[se]=(...je)=>{this._removeDelegatedListener(le,Q,B),qe(...je)}}this._saveDelegatedListener(le,ee);for(let se in ee.delegates)this.once(se,ee.delegates[se]);return this}off(le,w,B){return B===void 0?super.off(le,w):(this._removeDelegatedListener(le,typeof w==\"string\"?[w]:w,B),this)}queryRenderedFeatures(le,w){if(!this.style)return[];let B,Q=le instanceof a.P||Array.isArray(le),ee=Q?le:[[0,0],[this.transform.width,this.transform.height]];if(w=w||(Q?{}:le)||{},ee instanceof a.P||typeof ee[0]==\"number\")B=[a.P.convert(ee)];else{let se=a.P.convert(ee[0]),qe=a.P.convert(ee[1]);B=[se,new a.P(qe.x,se.y),qe,new a.P(se.x,qe.y),se]}return this.style.queryRenderedFeatures(B,w,this.transform)}querySourceFeatures(le,w){return this.style.querySourceFeatures(le,w)}setStyle(le,w){return(w=a.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},w)).diff!==!1&&w.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&le?(this._diffStyle(le,w),this):(this._localIdeographFontFamily=w.localIdeographFontFamily,this._updateStyle(le,w))}setTransformRequest(le){return this._requestManager.setTransformRequest(le),this}_getUIString(le){let w=this._locale[le];if(w==null)throw new Error(`Missing UI string '${le}'`);return w}_updateStyle(le,w){if(w.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",()=>this._updateStyle(le,w));let B=this.style&&w.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!le)),le?(this.style=new Ha(this,w||{}),this.style.setEventedParent(this,{style:this.style}),typeof le==\"string\"?this.style.loadURL(le,w,B):this.style.loadJSON(le,w,B),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Ha(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(le,w){if(typeof le==\"string\"){let B=this._requestManager.transformRequest(le,\"Style\");a.h(B,new AbortController).then(Q=>{this._updateDiff(Q.data,w)}).catch(Q=>{Q&&this.fire(new a.j(Q))})}else typeof le==\"object\"&&this._updateDiff(le,w)}_updateDiff(le,w){try{this.style.setState(le,w)&&this._update(!0)}catch(B){a.w(`Unable to perform style diff: ${B.message||B.error||B}. Rebuilding the style from scratch.`),this._updateStyle(le,w)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():a.w(\"There is no style added to the map.\")}addSource(le,w){return this._lazyInitEmptyStyle(),this.style.addSource(le,w),this._update(!0)}isSourceLoaded(le){let w=this.style&&this.style.sourceCaches[le];if(w!==void 0)return w.loaded();this.fire(new a.j(new Error(`There is no source with ID '${le}'`)))}setTerrain(le){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),le){let w=this.style.sourceCaches[le.source];if(!w)throw new Error(`cannot load terrain, because there exists no source with ID: ${le.source}`);this.terrain===null&&w.reload();for(let B in this.style._layers){let Q=this.style._layers[B];Q.type===\"hillshade\"&&Q.source===le.source&&a.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\")}this.terrain=new Xo(this.painter,w,le),this.painter.renderToTexture=new ys(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=B=>{B.dataType===\"style\"?this.terrain.sourceCache.freeRtt():B.dataType===\"source\"&&B.tile&&(B.sourceId!==le.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(B.tile.tileID))},this.style.on(\"data\",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new a.k(\"terrain\",{terrain:le})),this}getTerrain(){var le,w;return(w=(le=this.terrain)===null||le===void 0?void 0:le.options)!==null&&w!==void 0?w:null}areTilesLoaded(){let le=this.style&&this.style.sourceCaches;for(let w in le){let B=le[w]._tiles;for(let Q in B){let ee=B[Q];if(ee.state!==\"loaded\"&&ee.state!==\"errored\")return!1}}return!0}removeSource(le){return this.style.removeSource(le),this._update(!0)}getSource(le){return this.style.getSource(le)}addImage(le,w,B={}){let{pixelRatio:Q=1,sdf:ee=!1,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt}=B;if(this._lazyInitEmptyStyle(),!(w instanceof HTMLImageElement||a.b(w))){if(w.width===void 0||w.height===void 0)return this.fire(new a.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{let{width:Ot,height:Nt,data:hr}=w,Sr=w;return this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},new Uint8Array(hr)),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0,userImage:Sr}),Sr.onAdd&&Sr.onAdd(this,le),this}}{let{width:Ot,height:Nt,data:hr}=u.getImageData(w);this.style.addImage(le,{data:new a.R({width:Ot,height:Nt},hr),pixelRatio:Q,stretchX:se,stretchY:qe,content:je,textFitWidth:it,textFitHeight:yt,sdf:ee,version:0})}}updateImage(le,w){let B=this.style.getImage(le);if(!B)return this.fire(new a.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));let Q=w instanceof HTMLImageElement||a.b(w)?u.getImageData(w):w,{width:ee,height:se,data:qe}=Q;if(ee===void 0||se===void 0)return this.fire(new a.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(ee!==B.data.width||se!==B.data.height)return this.fire(new a.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));let je=!(w instanceof HTMLImageElement||a.b(w));return B.data.replace(qe,je),this.style.updateImage(le,B),this}getImage(le){return this.style.getImage(le)}hasImage(le){return le?!!this.style.getImage(le):(this.fire(new a.j(new Error(\"Missing required image id\"))),!1)}removeImage(le){this.style.removeImage(le)}loadImage(le){return g.getImage(this._requestManager.transformRequest(le,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(le,w){return this._lazyInitEmptyStyle(),this.style.addLayer(le,w),this._update(!0)}moveLayer(le,w){return this.style.moveLayer(le,w),this._update(!0)}removeLayer(le){return this.style.removeLayer(le),this._update(!0)}getLayer(le){return this.style.getLayer(le)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(le,w,B){return this.style.setLayerZoomRange(le,w,B),this._update(!0)}setFilter(le,w,B={}){return this.style.setFilter(le,w,B),this._update(!0)}getFilter(le){return this.style.getFilter(le)}setPaintProperty(le,w,B,Q={}){return this.style.setPaintProperty(le,w,B,Q),this._update(!0)}getPaintProperty(le,w){return this.style.getPaintProperty(le,w)}setLayoutProperty(le,w,B,Q={}){return this.style.setLayoutProperty(le,w,B,Q),this._update(!0)}getLayoutProperty(le,w){return this.style.getLayoutProperty(le,w)}setGlyphs(le,w={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(le,w),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(le,w,B={}){return this._lazyInitEmptyStyle(),this.style.addSprite(le,w,B,Q=>{Q||this._update(!0)}),this}removeSprite(le){return this._lazyInitEmptyStyle(),this.style.removeSprite(le),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(le,w={}){return this._lazyInitEmptyStyle(),this.style.setSprite(le,w,B=>{B||this._update(!0)}),this}setLight(le,w={}){return this._lazyInitEmptyStyle(),this.style.setLight(le,w),this._update(!0)}getLight(){return this.style.getLight()}setSky(le){return this._lazyInitEmptyStyle(),this.style.setSky(le),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(le,w){return this.style.setFeatureState(le,w),this._update()}removeFeatureState(le,w){return this.style.removeFeatureState(le,w),this._update()}getFeatureState(le){return this.style.getFeatureState(le)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let le=0,w=0;return this._container&&(le=this._container.clientWidth||400,w=this._container.clientHeight||300),[le,w]}_setupContainer(){let le=this._container;le.classList.add(\"maplibregl-map\");let w=this._canvasContainer=c.create(\"div\",\"maplibregl-canvas-container\",le);this._interactive&&w.classList.add(\"maplibregl-interactive\"),this._canvas=c.create(\"canvas\",\"maplibregl-canvas\",w),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");let B=this._containerDimensions(),Q=this._getClampedPixelRatio(B[0],B[1]);this._resizeCanvas(B[0],B[1],Q);let ee=this._controlContainer=c.create(\"div\",\"maplibregl-control-container\",le),se=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach(qe=>{se[qe]=c.create(\"div\",`maplibregl-ctrl-${qe} `,ee)}),this._container.addEventListener(\"scroll\",this._onMapScroll,!1)}_resizeCanvas(le,w,B){this._canvas.width=Math.floor(B*le),this._canvas.height=Math.floor(B*w),this._canvas.style.width=`${le}px`,this._canvas.style.height=`${w}px`}_setupPainter(){let le={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1},w=null;this._canvas.addEventListener(\"webglcontextcreationerror\",Q=>{w={requestedAttributes:le},Q&&(w.statusMessage=Q.statusMessage,w.type=Q.type)},{once:!0});let B=this._canvas.getContext(\"webgl2\",le)||this._canvas.getContext(\"webgl\",le);if(!B){let Q=\"Failed to initialize WebGL\";throw w?(w.message=Q,new Error(JSON.stringify(w))):new Error(Q)}this.painter=new Lc(B,this.transform),f.testSupport(B)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(le){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||le,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(le){return this._update(),this._renderTaskQueue.add(le)}_cancelRenderFrame(le){this._renderTaskQueue.remove(le)}_render(le){let w=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(le),this._removed)return;let B=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let ee=this.transform.zoom,se=u.now();this.style.zoomHistory.update(ee,se);let qe=new a.z(ee,{now:se,fadeDuration:w,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),je=qe.crossFadingFactor();je===1&&je===this._crossFadingFactor||(B=!0,this._crossFadingFactor=je),this.style.update(qe)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,w,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:w,showPadding:this.showPadding}),this.fire(new a.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,a.bf.mark(a.bg.load),this.fire(new a.k(\"load\"))),this.style&&(this.style.hasTransitions()||B)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let Q=this._sourcesDirty||this._styleDirty||this._placementDirty;return Q||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new a.k(\"idle\")),!this._loaded||this._fullyLoaded||Q||(this._fullyLoaded=!0,a.bf.mark(a.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var le;this._hash&&this._hash.remove();for(let B of this._controls)B.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window!=\"undefined\"&&removeEventListener(\"online\",this._onWindowOnline,!1),g.removeThrottleControl(this._imageQueueHandle),(le=this._resizeObserver)===null||le===void 0||le.disconnect();let w=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");w!=null&&w.loseContext&&w.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),c.remove(this._canvasContainer),c.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),a.bf.clearMetrics(),this._removed=!0,this.fire(new a.k(\"remove\"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,u.frameAsync(this._frameRequest).then(le=>{a.bf.frame(le),this._frameRequest=null,this._render(le)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(le){this._showTileBoundaries!==le&&(this._showTileBoundaries=le,this._update())}get showPadding(){return!!this._showPadding}set showPadding(le){this._showPadding!==le&&(this._showPadding=le,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(le){this._showCollisionBoxes!==le&&(this._showCollisionBoxes=le,le?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(le){this._showOverdrawInspector!==le&&(this._showOverdrawInspector=le,this._update())}get repaint(){return!!this._repaint}set repaint(le){this._repaint!==le&&(this._repaint=le,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(le){this._vertices=le,this._update()}get version(){return yl}getCameraTargetElevation(){return this.transform.elevation}},i.MapMouseEvent=tu,i.MapTouchEvent=vf,i.MapWheelEvent=md,i.Marker=ac,i.NavigationControl=class{constructor(le){this._updateZoomButtons=()=>{let w=this._map.getZoom(),B=w===this._map.getMaxZoom(),Q=w===this._map.getMinZoom();this._zoomInButton.disabled=B,this._zoomOutButton.disabled=Q,this._zoomInButton.setAttribute(\"aria-disabled\",B.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",Q.toString())},this._rotateCompassArrow=()=>{let w=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=w},this._setButtonTitle=(w,B)=>{let Q=this._map._getUIString(`NavigationControl.${B}`);w.title=Q,w.setAttribute(\"aria-label\",Q)},this.options=a.e({},ia,le),this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",w=>w.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",w=>this._map.zoomIn({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",w=>this._map.zoomOut({},{originalEvent:w})),c.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",w=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:w}):this._map.resetNorth({},{originalEvent:w})}),this._compassIcon=c.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"))}onAdd(le){return this._map=le,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ka(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){c.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(le,w){let B=c.create(\"button\",le,this._container);return B.type=\"button\",B.addEventListener(\"click\",w),B}},i.Popup=class extends a.E{constructor(le){super(),this.remove=()=>(this._content&&c.remove(this._content),this._container&&(c.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new a.k(\"close\"))),this),this._onMouseUp=w=>{this._update(w.point)},this._onMouseMove=w=>{this._update(w.point)},this._onDrag=w=>{this._update(w.point)},this._update=w=>{var B;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=c.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=c.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(let je of this.options.className.split(\" \"))this._container.classList.add(je);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Ko(this._lngLat,this._flatPos,this._map.transform):(B=this._lngLat)===null||B===void 0?void 0:B.wrap(),this._trackPointer&&!w)return;let Q=this._flatPos=this._pos=this._trackPointer&&w?w:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&w?w:this._map.transform.locationPoint(this._lngLat));let ee=this.options.anchor,se=yc(this.options.offset);if(!ee){let je=this._container.offsetWidth,it=this._container.offsetHeight,yt;yt=Q.y+se.bottom.ythis._map.transform.height-it?[\"bottom\"]:[],Q.xthis._map.transform.width-je/2&&yt.push(\"right\"),ee=yt.length===0?\"bottom\":yt.join(\"-\")}let qe=Q.add(se[ee]);this.options.subpixelPositioning||(qe=qe.round()),c.setTransform(this._container,`${iu[ee]} translate(${qe.x}px,${qe.y}px)`),Ru(this._container,ee,\"popup\")},this._onClose=()=>{this.remove()},this.options=a.e(Object.create(eo),le)}addTo(le){return this._map&&this.remove(),this._map=le,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new a.k(\"open\")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(le){return this._lngLat=a.N.convert(le),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(le){return this.setDOMContent(document.createTextNode(le))}setHTML(le){let w=document.createDocumentFragment(),B=document.createElement(\"body\"),Q;for(B.innerHTML=le;Q=B.firstChild,Q;)w.appendChild(Q);return this.setDOMContent(w)}getMaxWidth(){var le;return(le=this._container)===null||le===void 0?void 0:le.style.maxWidth}setMaxWidth(le){return this.options.maxWidth=le,this._update(),this}setDOMContent(le){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=c.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(le),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(le){return this._container&&this._container.classList.add(le),this}removeClassName(le){return this._container&&this._container.classList.remove(le),this}setOffset(le){return this.options.offset=le,this._update(),this}toggleClassName(le){if(this._container)return this._container.classList.toggle(le)}setSubpixelPositioning(le){this.options.subpixelPositioning=le}_createCloseButton(){this.options.closeButton&&(this._closeButton=c.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;let le=this._container.querySelector(Jc);le&&le.focus()}},i.RasterDEMTileSource=qt,i.RasterTileSource=ct,i.ScaleControl=class{constructor(le){this._onMove=()=>{Dc(this._map,this._container,this.options)},this.setUnit=w=>{this.options.unit=w,Dc(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Du),le)}getDefaultPosition(){return\"bottom-left\"}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",le.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){c.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0}},i.ScrollZoomHandler=Ur,i.Style=Ha,i.TerrainControl=class{constructor(le){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"))},this.options=le}onAdd(le){return this._map=le,this._container=c.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=c.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),c.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){c.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0}},i.TwoFingersTouchPitchHandler=gf,i.TwoFingersTouchRotateHandler=Yc,i.TwoFingersTouchZoomHandler=ru,i.TwoFingersTouchZoomRotateHandler=Ti,i.VectorTileSource=nt,i.VideoSource=kt,i.addSourceType=(le,w)=>a._(void 0,void 0,void 0,function*(){if(xr(le))throw new Error(`A source type called \"${le}\" already exists.`);((B,Q)=>{Yt[B]=Q})(le,w)}),i.clearPrewarmedResources=function(){let le=ge;le&&(le.isPreloaded()&&le.numActive()===1?(le.release(_e),ge=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"))},i.getMaxParallelImageRequests=function(){return a.a.MAX_PARALLEL_IMAGE_REQUESTS},i.getRTLTextPluginStatus=function(){return bt().getRTLTextPluginStatus()},i.getVersion=function(){return _c},i.getWorkerCount=function(){return Me.workerCount},i.getWorkerUrl=function(){return a.a.WORKER_URL},i.importScriptInWorkers=function(le){return Ae().broadcast(\"IS\",le)},i.prewarm=function(){Te().acquire(_e)},i.setMaxParallelImageRequests=function(le){a.a.MAX_PARALLEL_IMAGE_REQUESTS=le},i.setRTLTextPlugin=function(le,w){return bt().setRTLTextPlugin(le,w)},i.setWorkerCount=function(le){Me.workerCount=le},i.setWorkerUrl=function(le){a.a.WORKER_URL=le}});var n=e;return n})});var VHe=ye((R1r,UHe)=>{\"use strict\";var iw=Mr(),sjt=Ll().sanitizeHTML,ljt=uJ(),OHe=bx();function BHe(e,t){this.subplot=e,this.uid=e.uid+\"-\"+t,this.index=t,this.idSource=\"source-\"+this.uid,this.idLayer=OHe.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var ag=BHe.prototype;ag.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=i7(t)};ag.needsNewImage=function(e){var t=this.subplot.map;return t.getSource(this.idSource)&&this.sourceType===\"image\"&&e.sourcetype===\"image\"&&(this.source!==e.source||JSON.stringify(this.coordinates)!==JSON.stringify(e.coordinates))};ag.needsNewSource=function(e){return this.sourceType!==e.sourcetype||JSON.stringify(this.source)!==JSON.stringify(e.source)||this.layerType!==e.type};ag.needsNewLayer=function(e){return this.layerType!==e.type||this.below!==this.subplot.belowLookup[\"layout-\"+this.index]};ag.lookupBelow=function(){return this.subplot.belowLookup[\"layout-\"+this.index]};ag.updateImage=function(e){var t=this.subplot.map;t.getSource(this.idSource).updateImage({url:e.source,coordinates:e.coordinates});var r=this.findFollowingMapLayerId(this.lookupBelow());r!==null&&this.subplot.map.moveLayer(this.idLayer,r)};ag.updateSource=function(e){var t=this.subplot.map;if(t.getSource(this.idSource)&&t.removeSource(this.idSource),this.sourceType=e.sourcetype,this.source=e.source,!!i7(e)){var r=ujt(e);t.addSource(this.idSource,r)}};ag.findFollowingMapLayerId=function(e){if(e===\"traces\")for(var t=this.subplot.getMapLayers(),r=0;r0){for(var r=0;r0}function NHe(e){var t={},r={};switch(e.type){case\"circle\":iw.extendFlat(r,{\"circle-radius\":e.circle.radius,\"circle-color\":e.color,\"circle-opacity\":e.opacity});break;case\"line\":iw.extendFlat(r,{\"line-width\":e.line.width,\"line-color\":e.color,\"line-opacity\":e.opacity,\"line-dasharray\":e.line.dash});break;case\"fill\":iw.extendFlat(r,{\"fill-color\":e.color,\"fill-outline-color\":e.fill.outlinecolor,\"fill-opacity\":e.opacity});break;case\"symbol\":var n=e.symbol,i=ljt(n.textposition,n.iconsize);iw.extendFlat(t,{\"icon-image\":n.icon+\"-15\",\"icon-size\":n.iconsize/10,\"text-field\":n.text,\"text-size\":n.textfont.size,\"text-anchor\":i.anchor,\"text-offset\":i.offset,\"symbol-placement\":n.placement}),iw.extendFlat(r,{\"icon-color\":e.color,\"text-color\":n.textfont.color,\"text-opacity\":e.opacity});break;case\"raster\":iw.extendFlat(r,{\"raster-fade-duration\":0,\"raster-opacity\":e.opacity});break}return{layout:t,paint:r}}function ujt(e){var t=e.sourcetype,r=e.source,n={type:t},i;return t===\"geojson\"?i=\"data\":t===\"vector\"?i=typeof r==\"string\"?\"url\":\"tiles\":t===\"raster\"?(i=\"tiles\",n.tileSize=256):t===\"image\"&&(i=\"url\",n.coordinates=e.coordinates),n[i]=r,e.sourceattribution&&(n.attribution=sjt(e.sourceattribution)),n}UHe.exports=function(t,r,n){var i=new BHe(t,r);return i.update(n),i}});var KHe=ye((D1r,YHe)=>{\"use strict\";var pJ=qHe(),gJ=Mr(),jHe=ix(),HHe=ba(),cjt=Qa(),fjt=gv(),n7=Nc(),WHe=Sg(),hjt=WHe.drawMode,djt=WHe.selectMode,vjt=wf().prepSelect,pjt=wf().clearOutline,gjt=wf().clearSelectionsCache,mjt=wf().selectOnClick,nw=bx(),yjt=VHe();function ZHe(e,t){this.id=t,this.gd=e;var r=e._fullLayout,n=e._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+\"-\"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={},this.dragging=!1,this.wheeling=!1}var Sh=ZHe.prototype;Sh.plot=function(e,t,r){var n=this,i;n.map?i=new Promise(function(a,o){n.updateMap(e,t,a,o)}):i=new Promise(function(a,o){n.createMap(e,t,a,o)}),r.push(i)};Sh.createMap=function(e,t,r,n){var i=this,a=t[i.id],o=i.styleObj=XHe(a.style),s=a.bounds,l=s?[[s.west,s.south],[s.east,s.north]]:null,u=i.map=new pJ.Map({container:i.div,style:o.style,center:mJ(a.center),zoom:a.zoom,bearing:a.bearing,pitch:a.pitch,maxBounds:l,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new pJ.AttributionControl({compact:!0})),c={};u.on(\"styleimagemissing\",function(h){var d=h.id;if(!c[d]&&d.includes(\"-15\")){c[d]=!0;var v=new Image(15,15);v.onload=function(){u.addImage(d,v)},v.crossOrigin=\"Anonymous\",v.src=\"https://unpkg.com/maki@2.1.0/icons/\"+d+\".svg\"}}),u.setTransformRequest(function(h){return h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://tiles.basemaps.cartocdn.com/fonts/Open Sans Extrabold\",\"https://fonts.openmaptiles.org/Open Sans Extra Bold\"),h=h.replace(\"https://fonts.openmaptiles.org/Open Sans Regular,Arial Unicode MS Regular\",\"https://fonts.openmaptiles.org/Klokantech Noto Sans Regular\"),{url:h}}),u._canvas.style.left=\"0px\",u._canvas.style.top=\"0px\",i.rejectOnError(n),i.isStatic||i.initFx(e,t);var f=[];f.push(new Promise(function(h){u.once(\"load\",h)})),f=f.concat(jHe.fetchTraceGeoData(e)),Promise.all(f).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.updateMap=function(e,t,r,n){var i=this,a=i.map,o=t[this.id];i.rejectOnError(n);var s=[],l=XHe(o.style);JSON.stringify(i.styleObj)!==JSON.stringify(l)&&(i.styleObj=l,a.setStyle(l.style),i.traceHash={},s.push(new Promise(function(u){a.once(\"styledata\",u)}))),s=s.concat(jHe.fetchTraceGeoData(e)),Promise.all(s).then(function(){i.fillBelowLookup(e,t),i.updateData(e),i.updateLayout(t),i.resolveOnRender(r)}).catch(n)};Sh.fillBelowLookup=function(e,t){var r=t[this.id],n=r.layers,i,a,o=this.belowLookup={},s=!1;for(i=0;i1)for(i=0;i-1&&mjt(l.originalEvent,n,[r.xaxis],[r.yaxis],r.id,s),u.indexOf(\"event\")>-1&&n7.click(n,l.originalEvent)}}};Sh.updateFx=function(e){var t=this,r=t.map,n=t.gd;if(t.isStatic)return;function i(l){var u=t.map.unproject(l);return[u.lng,u.lat]}var a=e.dragmode,o;o=function(l,u){if(u.isRect){var c=l.range={};c[t.id]=[i([u.xmin,u.ymin]),i([u.xmax,u.ymax])]}else{var f=l.lassoPoints={};f[t.id]=u.map(i)}};var s=t.dragOptions;t.dragOptions=gJ.extendDeep(s||{},{dragmode:e.dragmode,element:t.div,gd:n,plotinfo:{id:t.id,domain:e[t.id].domain,xaxis:t.xaxis,yaxis:t.yaxis,fillRangeItems:o},xaxes:[t.xaxis],yaxes:[t.yaxis],subplot:t.id}),r.off(\"click\",t.onClickInPanHandler),djt(a)||hjt(a)?(r.dragPan.disable(),r.on(\"zoomstart\",t.clearOutline),t.dragOptions.prepFn=function(l,u,c){vjt(l,u,c,t.dragOptions,a)},fjt.init(t.dragOptions)):(r.dragPan.enable(),r.off(\"zoomstart\",t.clearOutline),t.div.onmousedown=null,t.div.ontouchstart=null,t.div.removeEventListener(\"touchstart\",t.div._ontouchstart),t.onClickInPanHandler=t.onClickInPanFn(t.dragOptions),r.on(\"click\",t.onClickInPanHandler))};Sh.updateFramework=function(e){var t=e[this.id].domain,r=e._size,n=this.div.style;n.width=r.w*(t.x[1]-t.x[0])+\"px\",n.height=r.h*(t.y[1]-t.y[0])+\"px\",n.left=r.l+t.x[0]*r.w+\"px\",n.top=r.t+(1-t.y[1])*r.h+\"px\",this.xaxis._offset=r.l+t.x[0]*r.w,this.xaxis._length=r.w*(t.x[1]-t.x[0]),this.yaxis._offset=r.t+(1-t.y[1])*r.h,this.yaxis._length=r.h*(t.y[1]-t.y[0])};Sh.updateLayers=function(e){var t=e[this.id],r=t.layers,n=this.layerList,i;if(r.length!==n.length){for(i=0;i{\"use strict\";var yJ=Mr(),xjt=k_(),bjt=Zd(),JHe=Fk();$He.exports=function(t,r,n){xjt(t,r,n,{type:\"map\",attributes:JHe,handleDefaults:wjt,partition:\"y\"})};function wjt(e,t,r){r(\"style\"),r(\"center.lon\"),r(\"center.lat\"),r(\"zoom\"),r(\"bearing\"),r(\"pitch\");var n=r(\"bounds.west\"),i=r(\"bounds.east\"),a=r(\"bounds.south\"),o=r(\"bounds.north\");(n===void 0||i===void 0||a===void 0||o===void 0)&&delete t.bounds,bjt(e,t,{name:\"layers\",handleItemDefaults:Tjt}),t._input=e}function Tjt(e,t){function r(l,u){return yJ.coerce(e,t,JHe.layers,l,u)}var n=r(\"visible\");if(n){var i=r(\"sourcetype\"),a=i===\"raster\"||i===\"image\";r(\"source\"),r(\"sourceattribution\"),i===\"vector\"&&r(\"sourcelayer\"),i===\"image\"&&r(\"coordinates\");var o;a&&(o=\"raster\");var s=r(\"type\",o);a&&s!==\"raster\"&&(s=t.type=\"raster\",yJ.log(\"Source types *raster* and *image* must drawn *raster* layer type.\")),r(\"below\"),r(\"color\"),r(\"opacity\"),r(\"minzoom\"),r(\"maxzoom\"),s===\"circle\"&&r(\"circle.radius\"),s===\"line\"&&(r(\"line.width\"),r(\"line.dash\")),s===\"fill\"&&r(\"fill.outlinecolor\"),s===\"symbol\"&&(r(\"symbol.icon\"),r(\"symbol.iconsize\"),r(\"symbol.text\"),yJ.coerceFont(r,\"symbol.textfont\",void 0,{noFontVariant:!0,noFontShadow:!0,noFontLineposition:!0,noFontTextcase:!0}),r(\"symbol.textposition\"),r(\"symbol.placement\"))}}});var o7=ye(l0=>{\"use strict\";var a7=Mr(),eGe=a7.strTranslate,Ajt=a7.strScale,Sjt=kd().getSubplotCalcData,Mjt=Zp(),Ejt=xa(),tGe=ao(),kjt=Ll(),Cjt=KHe(),wx=\"map\";l0.name=wx;l0.attr=\"subplot\";l0.idRoot=wx;l0.idRegex=l0.attrRegex=a7.counterRegex(wx);l0.attributes={subplot:{valType:\"subplotid\",dflt:\"map\",editType:\"calc\"}};l0.layoutAttributes=Fk();l0.supplyLayoutDefaults=QHe();l0.plot=function(t){for(var r=t._fullLayout,n=t.calcdata,i=r._subplots[wx],a=0;ax/2){var b=f.split(\"|\").join(\"
\");d.text(b).attr(\"data-unformatted\",b).call(kjt.convertToTspans,e),v=tGe.bBox(d.node())}d.attr(\"transform\",eGe(-3,-v.height+8)),h.insert(\"rect\",\".static-attribution\").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:\"rgba(255, 255, 255, 0.75)\"});var g=1;v.width+6>x&&(g=x/(v.width+6));var E=[n.l+n.w*o.x[1],n.t+n.h*(1-o.y[0])];h.attr(\"transform\",eGe(E[0],E[1])+Ajt(g))}};l0.updateFx=function(e){for(var t=e._fullLayout,r=t._subplots[wx],n=0;n{\"use strict\";rGe.exports={attributes:JF(),supplyDefaults:pHe(),colorbar:Kd(),formatLabels:lJ(),calc:lz(),plot:CHe(),hoverPoints:r7().hoverPoints,eventData:RHe(),selectPoints:zHe(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.update(t)}},moduleType:\"trace\",name:\"scattermap\",basePlotModule:o7(),categories:[\"map\",\"gl\",\"symbols\",\"showLegend\",\"scatter-like\"],meta:{}}});var aGe=ye((O1r,nGe)=>{\"use strict\";nGe.exports=iGe()});var _J=ye((B1r,oGe)=>{\"use strict\";var d1=J5(),Ljt=Kl(),Pjt=Wo().hovertemplateAttrs,Ijt=vl(),Tx=no().extendFlat;oGe.exports=Tx({locations:{valType:\"data_array\",editType:\"calc\"},z:{valType:\"data_array\",editType:\"calc\"},geojson:{valType:\"any\",editType:\"calc\"},featureidkey:Tx({},d1.featureidkey,{}),below:{valType:\"string\",editType:\"plot\"},text:d1.text,hovertext:d1.hovertext,marker:{line:{color:Tx({},d1.marker.line.color,{editType:\"plot\"}),width:Tx({},d1.marker.line.width,{editType:\"plot\"}),editType:\"calc\"},opacity:Tx({},d1.marker.opacity,{editType:\"plot\"}),editType:\"calc\"},selected:{marker:{opacity:Tx({},d1.selected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},unselected:{marker:{opacity:Tx({},d1.unselected.marker.opacity,{editType:\"plot\"}),editType:\"plot\"},editType:\"plot\"},hoverinfo:d1.hoverinfo,hovertemplate:Pjt({},{keys:[\"properties\"]}),showlegend:Tx({},Ijt.showlegend,{dflt:!1})},Ljt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var lGe=ye((N1r,sGe)=>{\"use strict\";var Nk=Mr(),Rjt=Uh(),Djt=_J();sGe.exports=function(t,r,n,i){function a(c,f){return Nk.coerce(t,r,Djt,c,f)}var o=a(\"locations\"),s=a(\"z\"),l=a(\"geojson\");if(!Nk.isArrayOrTypedArray(o)||!o.length||!Nk.isArrayOrTypedArray(s)||!s.length||!(typeof l==\"string\"&&l!==\"\"||Nk.isPlainObject(l))){r.visible=!1;return}a(\"featureidkey\"),r._length=Math.min(o.length,s.length),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\");var u=a(\"marker.line.width\");u&&a(\"marker.line.color\"),a(\"marker.opacity\"),Rjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"}),Nk.coerceSelectionMarkerOpacity(r,a)}});var xJ=ye((U1r,fGe)=>{\"use strict\";var zjt=uo(),v1=Mr(),Fjt=Mu(),qjt=ao(),Ojt=tx().makeBlank,uGe=ix();function Bjt(e){var t=e[0].trace,r=t.visible===!0&&t._length!==0,n={layout:{visibility:\"none\"},paint:{}},i={layout:{visibility:\"none\"},paint:{}},a=t._opts={fill:n,line:i,geojson:Ojt()};if(!r)return a;var o=uGe.extractTraceFeature(e);if(!o)return a;var s=Fjt.makeColorScaleFuncFromTrace(t),l=t.marker,u=l.line||{},c;v1.isArrayOrTypedArray(l.opacity)&&(c=function(E){var k=E.mo;return zjt(k)?+v1.constrain(k,0,1):0});var f;v1.isArrayOrTypedArray(u.color)&&(f=function(E){return E.mlc});var h;v1.isArrayOrTypedArray(u.width)&&(h=function(E){return E.mlw});for(var d=0;d{\"use strict\";var dGe=xJ().convert,Njt=xJ().convertOnSelect,hGe=bx().traceLayerPrefix;function vGe(e,t){this.type=\"choroplethmap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"fill\",hGe+t+\"-fill\"],[\"line\",hGe+t+\"-line\"]],this.below=null}var EA=vGe.prototype;EA.update=function(e){this._update(dGe(e)),e[0].trace._glTrace=this};EA.updateOnSelect=function(e){this._update(Njt(e))};EA._update=function(e){var t=this.subplot,r=this.layerList,n=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(e.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(e,n),this.below=n);for(var i=0;i=0;r--)e.removeLayer(t[r][1])};EA.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};pGe.exports=function(t,r){var n=r[0].trace,i=new vGe(t,n.uid),a=i.sourceId,o=dGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),r[0].trace._glTrace=i,i}});var yGe=ye((H1r,mGe)=>{\"use strict\";mGe.exports={attributes:_J(),supplyDefaults:lGe(),colorbar:S_(),calc:Lz(),plot:gGe(),hoverPoints:Iz(),eventData:Rz(),selectPoints:Dz(),styleOnSelect:function(e,t){if(t){var r=t[0].trace;r._glTrace.updateOnSelect(t)}},getBelow:function(e,t){for(var r=t.getMapLayers(),n=r.length-2;n>=0;n--){var i=r[n].id;if(typeof i==\"string\"&&i.indexOf(\"water\")===0){for(var a=n+1;a{\"use strict\";_Ge.exports=yGe()});var wJ=ye((j1r,wGe)=>{\"use strict\";var Ujt=Kl(),Vjt=Wo().hovertemplateAttrs,bGe=vl(),s7=JF(),bJ=no().extendFlat;wGe.exports=bJ({lon:s7.lon,lat:s7.lat,z:{valType:\"data_array\",editType:\"calc\"},radius:{valType:\"number\",editType:\"plot\",arrayOk:!0,min:1,dflt:30},below:{valType:\"string\",editType:\"plot\"},text:s7.text,hovertext:s7.hovertext,hoverinfo:bJ({},bGe.hoverinfo,{flags:[\"lon\",\"lat\",\"z\",\"text\",\"name\"]}),hovertemplate:Vjt(),showlegend:bJ({},bGe.showlegend,{dflt:!1})},Ujt(\"\",{cLetter:\"z\",editTypeOverride:\"calc\"}))});var AGe=ye((W1r,TGe)=>{\"use strict\";var Hjt=Mr(),Gjt=Uh(),jjt=wJ();TGe.exports=function(t,r,n,i){function a(u,c){return Hjt.coerce(t,r,jjt,u,c)}var o=a(\"lon\")||[],s=a(\"lat\")||[],l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"z\"),a(\"radius\"),a(\"below\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),Gjt(t,r,i,a,{prefix:\"\",cLetter:\"z\"})}});var EGe=ye((Z1r,MGe)=>{\"use strict\";var TJ=uo(),Wjt=Mr().isArrayOrTypedArray,AJ=es().BADNUM,Zjt=zv(),SGe=Mr()._;MGe.exports=function(t,r){for(var n=r._length,i=new Array(n),a=r.z,o=Wjt(a)&&a.length,s=0;s{\"use strict\";var Xjt=uo(),SJ=Mr(),kGe=va(),CGe=Mu(),LGe=es().BADNUM,Yjt=tx().makeBlank;PGe.exports=function(t){var r=t[0].trace,n=r.visible===!0&&r._length!==0,i={layout:{visibility:\"none\"},paint:{}},a=r._opts={heatmap:i,geojson:Yjt()};if(!n)return a;var o=[],s,l=r.z,u=r.radius,c=SJ.isArrayOrTypedArray(l)&&l.length,f=SJ.isArrayOrTypedArray(u);for(s=0;s0?+u[s]:0),o.push({type:\"Feature\",geometry:{type:\"Point\",coordinates:d},properties:v})}}var b=CGe.extractOpts(r),g=b.reversescale?CGe.flipScale(b.colorscale):b.colorscale,E=g[0][1],k=kGe.opacity(E)<1?E:kGe.addOpacity(E,0),A=[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,k];for(s=1;s{\"use strict\";var RGe=IGe(),Kjt=bx().traceLayerPrefix;function DGe(e,t){this.type=\"densitymap\",this.subplot=e,this.uid=t,this.sourceId=\"source-\"+t,this.layerList=[[\"heatmap\",Kjt+t+\"-heatmap\"]],this.below=null}var l7=DGe.prototype;l7.update=function(e){var t=this.subplot,r=this.layerList,n=RGe(e),i=t.belowLookup[\"trace-\"+this.uid];t.map.getSource(this.sourceId).setData(n.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(n,i),this.below=i);for(var a=0;a=0;r--)e.removeLayer(t[r][1])};l7.dispose=function(){var e=this.subplot.map;this._removeLayers(),e.removeSource(this.sourceId)};zGe.exports=function(t,r){var n=r[0].trace,i=new DGe(t,n.uid),a=i.sourceId,o=RGe(r),s=i.below=t.belowLookup[\"trace-\"+n.uid];return t.map.addSource(a,{type:\"geojson\",data:o.geojson}),i._addLayers(o,s),i}});var OGe=ye((K1r,qGe)=>{\"use strict\";var Jjt=Qa(),$jt=r7().hoverPoints,Qjt=r7().getExtraText;qGe.exports=function(t,r,n){var i=$jt(t,r,n);if(i){var a=i[0],o=a.cd,s=o[0].trace,l=o[a.index];if(delete a.color,\"z\"in l){var u=a.subplot.mockAxis;a.z=l.z,a.zLabel=Jjt.tickText(u,u.c2l(l.z),\"hover\").text}return a.extraText=Qjt(s,l,o[0].t.labels),[a]}}});var NGe=ye((J1r,BGe)=>{\"use strict\";BGe.exports=function(t,r){return t.lon=r.lon,t.lat=r.lat,t.z=r.z,t}});var VGe=ye(($1r,UGe)=>{\"use strict\";UGe.exports={attributes:wJ(),supplyDefaults:AGe(),colorbar:S_(),formatLabels:lJ(),calc:EGe(),plot:FGe(),hoverPoints:OGe(),eventData:NGe(),getBelow:function(e,t){for(var r=t.getMapLayers(),n=0;n{\"use strict\";HGe.exports=VGe()});var EJ=ye((t_r,XGe)=>{\"use strict\";var eWt=Su(),tWt=vl(),jGe=dh(),MJ=i3(),rWt=Ju().attributes,WGe=Wo().hovertemplateAttrs,iWt=Kl(),nWt=Vs().templatedArray,aWt=Oc().descriptionOnlyNumbers,ZGe=no().extendFlat,oWt=Bu().overrideAll,e_r=XGe.exports=oWt({hoverinfo:ZGe({},tWt.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:MJ.hoverlabel,domain:rWt({name:\"sankey\",trace:!0}),orientation:{valType:\"enumerated\",values:[\"v\",\"h\"],dflt:\"h\"},valueformat:{valType:\"string\",dflt:\".3s\",description:aWt(\"value\")},valuesuffix:{valType:\"string\",dflt:\"\"},arrangement:{valType:\"enumerated\",values:[\"snap\",\"perpendicular\",\"freeform\",\"fixed\"],dflt:\"snap\"},textfont:eWt({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:\"data_array\",dflt:[]},groups:{valType:\"info_array\",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:\"number\",editType:\"calc\"}},x:{valType:\"data_array\",dflt:[]},y:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:jGe.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:.5,arrayOk:!0}},pad:{valType:\"number\",arrayOk:!1,min:0,dflt:20},thickness:{valType:\"number\",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:MJ.hoverlabel,hovertemplate:WGe({},{keys:[\"value\",\"label\"]}),align:{valType:\"enumerated\",values:[\"justify\",\"left\",\"right\",\"center\"],dflt:\"justify\"}},link:{arrowlen:{valType:\"number\",min:0,dflt:0},label:{valType:\"data_array\",dflt:[]},color:{valType:\"color\",arrayOk:!0},hovercolor:{valType:\"color\",arrayOk:!0},customdata:{valType:\"data_array\",editType:\"calc\"},line:{color:{valType:\"color\",dflt:jGe.defaultLine,arrayOk:!0},width:{valType:\"number\",min:0,dflt:0,arrayOk:!0}},source:{valType:\"data_array\",dflt:[]},target:{valType:\"data_array\",dflt:[]},value:{valType:\"data_array\",dflt:[]},hoverinfo:{valType:\"enumerated\",values:[\"all\",\"none\",\"skip\"],dflt:\"all\"},hoverlabel:MJ.hoverlabel,hovertemplate:WGe({},{keys:[\"value\",\"label\"]}),colorscales:nWt(\"concentrationscales\",{editType:\"calc\",label:{valType:\"string\",editType:\"calc\",dflt:\"\"},cmax:{valType:\"number\",editType:\"calc\",dflt:1},cmin:{valType:\"number\",editType:\"calc\",dflt:0},colorscale:ZGe(iWt().colorscale,{dflt:[[0,\"white\"],[1,\"black\"]]})})}},\"calc\",\"nested\")});var QGe=ye((r_r,$Ge)=>{\"use strict\";var kA=Mr(),u7=EJ(),sWt=va(),YGe=id(),lWt=Ju().defaults,KGe=oM(),JGe=Vs(),uWt=Zd();$Ge.exports=function(t,r,n,i){function a(A,L){return kA.coerce(t,r,u7,A,L)}var o=kA.extendDeep(i.hoverlabel,t.hoverlabel),s=t.node,l=JGe.newContainer(r,\"node\");function u(A,L){return kA.coerce(s,l,u7.node,A,L)}u(\"label\"),u(\"groups\"),u(\"x\"),u(\"y\"),u(\"pad\"),u(\"thickness\"),u(\"line.color\"),u(\"line.width\"),u(\"hoverinfo\",t.hoverinfo),KGe(s,l,u,o),u(\"hovertemplate\"),u(\"align\");var c=i.colorway,f=function(A){return c[A%c.length]};u(\"color\",l.label.map(function(A,L){return sWt.addOpacity(f(L),.8)})),u(\"customdata\");var h=t.link||{},d=JGe.newContainer(r,\"link\");function v(A,L){return kA.coerce(h,d,u7.link,A,L)}v(\"label\"),v(\"arrowlen\"),v(\"source\"),v(\"target\"),v(\"value\"),v(\"line.color\"),v(\"line.width\"),v(\"hoverinfo\",t.hoverinfo),KGe(h,d,v,o),v(\"hovertemplate\");var x=YGe(i.paper_bgcolor).getLuminance()<.333,b=x?\"rgba(255, 255, 255, 0.6)\":\"rgba(0, 0, 0, 0.2)\",g=v(\"color\",b);function E(A){var L=YGe(A);if(!L.isValid())return A;var _=L.getAlpha();return _<=.8?L.setAlpha(_+.2):L=x?L.brighten():L.darken(),L.toRgbString()}v(\"hovercolor\",Array.isArray(g)?g.map(E):E(g)),v(\"customdata\"),uWt(h,d,{name:\"colorscales\",handleItemDefaults:cWt}),lWt(r,i,a),a(\"orientation\"),a(\"valueformat\"),a(\"valuesuffix\");var k;l.x.length&&l.y.length&&(k=\"freeform\"),a(\"arrangement\",k),kA.coerceFont(a,\"textfont\",i.font,{autoShadowDflt:!0}),r._length=null};function cWt(e,t){function r(n,i){return kA.coerce(e,t,u7.link.colorscales,n,i)}r(\"label\"),r(\"cmin\"),r(\"cmax\"),r(\"colorscale\")}});var kJ=ye((i_r,eje)=>{\"use strict\";eje.exports=fWt;function fWt(e){for(var t=e.length,r=new Array(t),n=new Array(t),i=new Array(t),a=new Array(t),o=new Array(t),s=new Array(t),l=0;l0;){b=E[E.length-1];var k=e[b];if(a[b]=0&&s[b].push(o[L])}a[b]=A}else{if(n[b]===r[b]){for(var _=[],C=[],M=0,A=g.length-1;A>=0;--A){var p=g[A];if(i[p]=!1,_.push(p),C.push(s[p]),M+=s[p].length,o[p]=c.length,p===b){g.length=A;break}}c.push(_);for(var P=new Array(M),A=0;A{\"use strict\";var hWt=kJ(),CA=Mr(),dWt=Km().wrap,Uk=CA.isArrayOrTypedArray,tje=CA.isIndex,rje=Mu();function vWt(e){var t=e.node,r=e.link,n=[],i=Uk(r.color),a=Uk(r.hovercolor),o=Uk(r.customdata),s={},l={},u=r.colorscales.length,c;for(c=0;cv&&(v=r.source[c]),r.target[c]>v&&(v=r.target[c]);var x=v+1;e.node._count=x;var b,g=e.node.groups,E={};for(c=0;c0&&tje(M,x)&&tje(p,x)&&!(E.hasOwnProperty(M)&&E.hasOwnProperty(p)&&E[M]===E[p])){E.hasOwnProperty(p)&&(p=E[p]),E.hasOwnProperty(M)&&(M=E[M]),M=+M,p=+p,s[M]=s[p]=!0;var P=\"\";r.label&&r.label[c]&&(P=r.label[c]);var T=null;P&&l.hasOwnProperty(P)&&(T=l[P]),n.push({pointNumber:c,label:P,color:i?r.color[c]:r.color,hovercolor:a?r.hovercolor[c]:r.hovercolor,customdata:o?r.customdata[c]:r.customdata,concentrationscale:T,source:M,target:p,value:+C}),_.source.push(M),_.target.push(p)}}var F=x+g.length,q=Uk(t.color),V=Uk(t.customdata),H=[];for(c=0;cx-1,childrenNodes:[],pointNumber:c,label:X,color:q?t.color[c]:t.color,customdata:V?t.customdata[c]:t.customdata})}var G=!1;return pWt(F,_.source,_.target)&&(G=!0),{circular:G,links:n,nodes:H,groups:g,groupLookup:E}}function pWt(e,t,r){for(var n=CA.init2dArray(e,0),i=0;i1})}ije.exports=function(t,r){var n=vWt(r);return dWt({circular:n.circular,_nodes:n.nodes,_links:n.links,_groups:n.groups,_groupLookup:n.groupLookup})}});var oje=ye((c7,aje)=>{(function(e,t){typeof c7==\"object\"&&typeof aje!=\"undefined\"?t(c7):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(c7,function(e){\"use strict\";function t(C){var M=+this._x.call(null,C),p=+this._y.call(null,C);return r(this.cover(M,p),M,p,C)}function r(C,M,p,P){if(isNaN(M)||isNaN(p))return C;var T,F=C._root,q={data:P},V=C._x0,H=C._y0,X=C._x1,G=C._y1,N,W,re,ae,_e,Me,ke,ge;if(!F)return C._root=q,C;for(;F.length;)if((_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=p>=(W=(H+G)/2))?H=W:G=W,T=F,!(F=F[ke=Me<<1|_e]))return T[ke]=q,C;if(re=+C._x.call(null,F.data),ae=+C._y.call(null,F.data),M===re&&p===ae)return q.next=F,T?T[ke]=q:C._root=q,C;do T=T?T[ke]=new Array(4):C._root=new Array(4),(_e=M>=(N=(V+X)/2))?V=N:X=N,(Me=p>=(W=(H+G)/2))?H=W:G=W;while((ke=Me<<1|_e)===(ge=(ae>=W)<<1|re>=N));return T[ge]=F,T[ke]=q,C}function n(C){var M,p,P=C.length,T,F,q=new Array(P),V=new Array(P),H=1/0,X=1/0,G=-1/0,N=-1/0;for(p=0;pG&&(G=T),FN&&(N=F));if(H>G||X>N)return this;for(this.cover(H,X).cover(G,N),p=0;pC||C>=T||P>M||M>=F;)switch(X=(MG||(V=ae.y0)>N||(H=ae.x1)=ke)<<1|C>=Me)&&(ae=W[W.length-1],W[W.length-1]=W[W.length-1-_e],W[W.length-1-_e]=ae)}else{var ge=C-+this._x.call(null,re.data),ie=M-+this._y.call(null,re.data),Te=ge*ge+ie*ie;if(Te=(W=(q+H)/2))?q=W:H=W,(_e=N>=(re=(V+X)/2))?V=re:X=re,M=p,!(p=p[Me=_e<<1|ae]))return this;if(!p.length)break;(M[Me+1&3]||M[Me+2&3]||M[Me+3&3])&&(P=M,ke=Me)}for(;p.data!==C;)if(T=p,!(p=p.next))return this;return(F=p.next)&&delete p.next,T?(F?T.next=F:delete T.next,this):M?(F?M[Me]=F:delete M[Me],(p=M[0]||M[1]||M[2]||M[3])&&p===(M[3]||M[2]||M[1]||M[0])&&!p.length&&(P?P[ke]=p:this._root=p),this):(this._root=F,this)}function c(C){for(var M=0,p=C.length;M{(function(e,t){typeof f7==\"object\"&&typeof sje!=\"undefined\"?t(f7):typeof define==\"function\"&&define.amd?define([\"exports\"],t):t(e.d3=e.d3||{})})(f7,function(e){\"use strict\";var t=\"$\";function r(){}r.prototype=n.prototype={constructor:r,has:function(x){return t+x in this},get:function(x){return this[t+x]},set:function(x,b){return this[t+x]=b,this},remove:function(x){var b=t+x;return b in this&&delete this[b]},clear:function(){for(var x in this)x[0]===t&&delete this[x]},keys:function(){var x=[];for(var b in this)b[0]===t&&x.push(b.slice(1));return x},values:function(){var x=[];for(var b in this)b[0]===t&&x.push(this[b]);return x},entries:function(){var x=[];for(var b in this)b[0]===t&&x.push({key:b.slice(1),value:this[b]});return x},size:function(){var x=0;for(var b in this)b[0]===t&&++x;return x},empty:function(){for(var x in this)if(x[0]===t)return!1;return!0},each:function(x){for(var b in this)b[0]===t&&x(this[b],b.slice(1),this)}};function n(x,b){var g=new r;if(x instanceof r)x.each(function(_,C){g.set(C,_)});else if(Array.isArray(x)){var E=-1,k=x.length,A;if(b==null)for(;++E=x.length)return g!=null&&_.sort(g),E!=null?E(_):_;for(var P=-1,T=_.length,F=x[C++],q,V,H=n(),X,G=M();++Px.length)return _;var M,p=b[C-1];return E!=null&&C>=x.length?M=_.entries():(M=[],_.each(function(P,T){M.push({key:T,values:L(P,C)})})),p!=null?M.sort(function(P,T){return p(P.key,T.key)}):M}return k={object:function(_){return A(_,0,a,o)},map:function(_){return A(_,0,s,l)},entries:function(_){return L(A(_,0,s,l),0)},key:function(_){return x.push(_),k},sortKeys:function(_){return b[x.length-1]=_,k},sortValues:function(_){return g=_,k},rollup:function(_){return E=_,k}}}function a(){return{}}function o(x,b,g){x[b]=g}function s(){return n()}function l(x,b,g){x.set(b,g)}function u(){}var c=n.prototype;u.prototype=f.prototype={constructor:u,has:c.has,add:function(x){return x+=\"\",this[t+x]=x,this},remove:c.remove,clear:c.clear,values:c.keys,size:c.size,empty:c.empty,each:c.each};function f(x,b){var g=new u;if(x instanceof u)x.each(function(A){g.add(A)});else if(x){var E=-1,k=x.length;if(b==null)for(;++E{(function(e,t){typeof d7==\"object\"&&typeof lje!=\"undefined\"?t(d7):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(d7,function(e){\"use strict\";var t={value:function(){}};function r(){for(var s=0,l=arguments.length,u={},c;s=0&&(c=u.slice(f+1),u=u.slice(0,f)),u&&!l.hasOwnProperty(u))throw new Error(\"unknown type: \"+u);return{type:u,name:c}})}n.prototype=r.prototype={constructor:n,on:function(s,l){var u=this._,c=i(s+\"\",u),f,h=-1,d=c.length;if(arguments.length<2){for(;++h0)for(var u=new Array(f),c=0,f,h;c{(function(e,t){typeof v7==\"object\"&&typeof cje!=\"undefined\"?t(v7):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(v7,function(e){\"use strict\";var t=0,r=0,n=0,i=1e3,a,o,s=0,l=0,u=0,c=typeof performance==\"object\"&&performance.now?performance:Date,f=typeof window==\"object\"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(C){setTimeout(C,17)};function h(){return l||(f(d),l=c.now()+u)}function d(){l=0}function v(){this._call=this._time=this._next=null}v.prototype=x.prototype={constructor:v,restart:function(C,M,p){if(typeof C!=\"function\")throw new TypeError(\"callback is not a function\");p=(p==null?h():+p)+(M==null?0:+M),!this._next&&o!==this&&(o?o._next=this:a=this,o=this),this._call=C,this._time=p,A()},stop:function(){this._call&&(this._call=null,this._time=1/0,A())}};function x(C,M,p){var P=new v;return P.restart(C,M,p),P}function b(){h(),++t;for(var C=a,M;C;)(M=l-C._time)>=0&&C._call.call(null,M),C=C._next;--t}function g(){l=(s=c.now())+u,t=r=0;try{b()}finally{t=0,k(),l=0}}function E(){var C=c.now(),M=C-s;M>i&&(u-=M,s=C)}function k(){for(var C,M=a,p,P=1/0;M;)M._call?(P>M._time&&(P=M._time),C=M,M=M._next):(p=M._next,M._next=null,M=C?C._next=p:a=p);o=C,A(P)}function A(C){if(!t){r&&(r=clearTimeout(r));var M=C-l;M>24?(C<1/0&&(r=setTimeout(g,C-c.now()-u)),n&&(n=clearInterval(n))):(n||(s=c.now(),n=setInterval(E,i)),t=1,f(g))}}function L(C,M,p){var P=new v;return M=M==null?0:+M,P.restart(function(T){P.stop(),C(T+M)},M,p),P}function _(C,M,p){var P=new v,T=M;return M==null?(P.restart(C,M,p),P):(M=+M,p=p==null?h():+p,P.restart(function F(q){q+=T,P.restart(F,T+=M,p),C(q)},M,p),P)}e.interval=_,e.now=h,e.timeout=L,e.timer=x,e.timerFlush=b,Object.defineProperty(e,\"__esModule\",{value:!0})})});var dje=ye((p7,hje)=>{(function(e,t){typeof p7==\"object\"&&typeof hje!=\"undefined\"?t(p7,oje(),h7(),uje(),fje()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-quadtree\",\"d3-collection\",\"d3-dispatch\",\"d3-timer\"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,e.d3)})(p7,function(e,t,r,n,i){\"use strict\";function a(C,M){var p;C==null&&(C=0),M==null&&(M=0);function P(){var T,F=p.length,q,V=0,H=0;for(T=0;TN.index){var Re=W-ze.x-ze.vx,ce=re-ze.y-ze.vy,Ge=Re*Re+ce*ce;GeW+me||Eere+me||AeH.r&&(H.r=H[X].r)}function V(){if(M){var H,X=M.length,G;for(p=new Array(X),H=0;H1?(_e==null?V.remove(ae):V.set(ae,re(_e)),M):V.get(ae)},find:function(ae,_e,Me){var ke=0,ge=C.length,ie,Te,Ee,Ae,ze;for(Me==null?Me=1/0:Me*=Me,ke=0;ke1?(X.on(ae,_e),M):X.on(ae)}}}function k(){var C,M,p,P=o(-30),T,F=1,q=1/0,V=.81;function H(W){var re,ae=C.length,_e=t.quadtree(C,v,x).visitAfter(G);for(p=W,re=0;re=q)return;(W.data!==M||W.next)&&(Me===0&&(Me=s(),ie+=Me*Me),ke===0&&(ke=s(),ie+=ke*ke),ie{(function(e,t){typeof g7==\"object\"&&typeof vje!=\"undefined\"?t(g7):typeof define==\"function\"&&define.amd?define([\"exports\"],t):(e=e||self,t(e.d3=e.d3||{}))})(g7,function(e){\"use strict\";var t=Math.PI,r=2*t,n=1e-6,i=r-n;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function o(){return new a}a.prototype=o.prototype={constructor:a,moveTo:function(s,l){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(s,l){this._+=\"L\"+(this._x1=+s)+\",\"+(this._y1=+l)},quadraticCurveTo:function(s,l,u,c){this._+=\"Q\"+ +s+\",\"+ +l+\",\"+(this._x1=+u)+\",\"+(this._y1=+c)},bezierCurveTo:function(s,l,u,c,f,h){this._+=\"C\"+ +s+\",\"+ +l+\",\"+ +u+\",\"+ +c+\",\"+(this._x1=+f)+\",\"+(this._y1=+h)},arcTo:function(s,l,u,c,f){s=+s,l=+l,u=+u,c=+c,f=+f;var h=this._x1,d=this._y1,v=u-s,x=c-l,b=h-s,g=d-l,E=b*b+g*g;if(f<0)throw new Error(\"negative radius: \"+f);if(this._x1===null)this._+=\"M\"+(this._x1=s)+\",\"+(this._y1=l);else if(E>n)if(!(Math.abs(g*v-x*b)>n)||!f)this._+=\"L\"+(this._x1=s)+\",\"+(this._y1=l);else{var k=u-h,A=c-d,L=v*v+x*x,_=k*k+A*A,C=Math.sqrt(L),M=Math.sqrt(E),p=f*Math.tan((t-Math.acos((L+E-_)/(2*C*M)))/2),P=p/M,T=p/C;Math.abs(P-1)>n&&(this._+=\"L\"+(s+P*b)+\",\"+(l+P*g)),this._+=\"A\"+f+\",\"+f+\",0,0,\"+ +(g*k>b*A)+\",\"+(this._x1=s+T*v)+\",\"+(this._y1=l+T*x)}},arc:function(s,l,u,c,f,h){s=+s,l=+l,u=+u,h=!!h;var d=u*Math.cos(c),v=u*Math.sin(c),x=s+d,b=l+v,g=1^h,E=h?c-f:f-c;if(u<0)throw new Error(\"negative radius: \"+u);this._x1===null?this._+=\"M\"+x+\",\"+b:(Math.abs(this._x1-x)>n||Math.abs(this._y1-b)>n)&&(this._+=\"L\"+x+\",\"+b),u&&(E<0&&(E=E%r+r),E>i?this._+=\"A\"+u+\",\"+u+\",0,1,\"+g+\",\"+(s-d)+\",\"+(l-v)+\"A\"+u+\",\"+u+\",0,1,\"+g+\",\"+(this._x1=x)+\",\"+(this._y1=b):E>n&&(this._+=\"A\"+u+\",\"+u+\",0,\"+ +(E>=t)+\",\"+g+\",\"+(this._x1=s+u*Math.cos(f))+\",\"+(this._y1=l+u*Math.sin(f))))},rect:function(s,l,u,c){this._+=\"M\"+(this._x0=this._x1=+s)+\",\"+(this._y0=this._y1=+l)+\"h\"+ +u+\"v\"+ +c+\"h\"+-u+\"Z\"},toString:function(){return this._}},e.path=o,Object.defineProperty(e,\"__esModule\",{value:!0})})});var CJ=ye((m7,gje)=>{(function(e,t){typeof m7==\"object\"&&typeof gje!=\"undefined\"?t(m7,pje()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-path\"],t):(e=e||self,t(e.d3=e.d3||{},e.d3))})(m7,function(e,t){\"use strict\";function r(_t){return function(){return _t}}var n=Math.abs,i=Math.atan2,a=Math.cos,o=Math.max,s=Math.min,l=Math.sin,u=Math.sqrt,c=1e-12,f=Math.PI,h=f/2,d=2*f;function v(_t){return _t>1?0:_t<-1?f:Math.acos(_t)}function x(_t){return _t>=1?h:_t<=-1?-h:Math.asin(_t)}function b(_t){return _t.innerRadius}function g(_t){return _t.outerRadius}function E(_t){return _t.startAngle}function k(_t){return _t.endAngle}function A(_t){return _t&&_t.padAngle}function L(_t,br,Hr,ti,zi,Yi,an,hi){var Ji=Hr-_t,ua=ti-br,Fn=an-zi,Sa=hi-Yi,go=Sa*Ji-Fn*ua;if(!(go*go$l*$l+Hu*Hu&&(Cs=Ys,ml=Hs),{cx:Cs,cy:ml,x01:-Fn,y01:-Sa,x11:Cs*(zi/wl-1),y11:ml*(zi/wl-1)}}function C(){var _t=b,br=g,Hr=r(0),ti=null,zi=E,Yi=k,an=A,hi=null;function Ji(){var ua,Fn,Sa=+_t.apply(this,arguments),go=+br.apply(this,arguments),Oo=zi.apply(this,arguments)-h,ho=Yi.apply(this,arguments)-h,Mo=n(ho-Oo),xo=ho>Oo;if(hi||(hi=ua=t.path()),goc))hi.moveTo(0,0);else if(Mo>d-c)hi.moveTo(go*a(Oo),go*l(Oo)),hi.arc(0,0,go,Oo,ho,!xo),Sa>c&&(hi.moveTo(Sa*a(ho),Sa*l(ho)),hi.arc(0,0,Sa,ho,Oo,xo));else{var zs=Oo,ks=ho,Zs=Oo,Xs=ho,wl=Mo,os=Mo,cl=an.apply(this,arguments)/2,Cs=cl>c&&(ti?+ti.apply(this,arguments):u(Sa*Sa+go*go)),ml=s(n(go-Sa)/2,+Hr.apply(this,arguments)),Ys=ml,Hs=ml,Eo,fs;if(Cs>c){var $l=x(Cs/Sa*l(cl)),Hu=x(Cs/go*l(cl));(wl-=$l*2)>c?($l*=xo?1:-1,Zs+=$l,Xs-=$l):(wl=0,Zs=Xs=(Oo+ho)/2),(os-=Hu*2)>c?(Hu*=xo?1:-1,zs+=Hu,ks-=Hu):(os=0,zs=ks=(Oo+ho)/2)}var fc=go*a(zs),ms=go*l(zs),on=Sa*a(Xs),fa=Sa*l(Xs);if(ml>c){var Qu=go*a(ks),Il=go*l(ks),vo=Sa*a(Zs),Wl=Sa*l(Zs),Ks;if(Moc?Hs>c?(Eo=_(vo,Wl,fc,ms,go,Hs,xo),fs=_(Qu,Il,on,fa,go,Hs,xo),hi.moveTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Hsc)||!(wl>c)?hi.lineTo(on,fa):Ys>c?(Eo=_(on,fa,Qu,Il,Sa,-Ys,xo),fs=_(fc,ms,vo,Wl,Sa,-Ys,xo),hi.lineTo(Eo.cx+Eo.x01,Eo.cy+Eo.y01),Ys=go;--Oo)hi.point(ks[Oo],Zs[Oo]);hi.lineEnd(),hi.areaEnd()}xo&&(ks[Sa]=+_t(Mo,Sa,Fn),Zs[Sa]=+Hr(Mo,Sa,Fn),hi.point(br?+br(Mo,Sa,Fn):ks[Sa],ti?+ti(Mo,Sa,Fn):Zs[Sa]))}if(zs)return hi=null,zs+\"\"||null}function ua(){return F().defined(zi).curve(an).context(Yi)}return Ji.x=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),br=null,Ji):_t},Ji.x0=function(Fn){return arguments.length?(_t=typeof Fn==\"function\"?Fn:r(+Fn),Ji):_t},Ji.x1=function(Fn){return arguments.length?(br=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):br},Ji.y=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),ti=null,Ji):Hr},Ji.y0=function(Fn){return arguments.length?(Hr=typeof Fn==\"function\"?Fn:r(+Fn),Ji):Hr},Ji.y1=function(Fn){return arguments.length?(ti=Fn==null?null:typeof Fn==\"function\"?Fn:r(+Fn),Ji):ti},Ji.lineX0=Ji.lineY0=function(){return ua().x(_t).y(Hr)},Ji.lineY1=function(){return ua().x(_t).y(ti)},Ji.lineX1=function(){return ua().x(br).y(Hr)},Ji.defined=function(Fn){return arguments.length?(zi=typeof Fn==\"function\"?Fn:r(!!Fn),Ji):zi},Ji.curve=function(Fn){return arguments.length?(an=Fn,Yi!=null&&(hi=an(Yi)),Ji):an},Ji.context=function(Fn){return arguments.length?(Fn==null?Yi=hi=null:hi=an(Yi=Fn),Ji):Yi},Ji}function V(_t,br){return br<_t?-1:br>_t?1:br>=_t?0:NaN}function H(_t){return _t}function X(){var _t=H,br=V,Hr=null,ti=r(0),zi=r(d),Yi=r(0);function an(hi){var Ji,ua=hi.length,Fn,Sa,go=0,Oo=new Array(ua),ho=new Array(ua),Mo=+ti.apply(this,arguments),xo=Math.min(d,Math.max(-d,zi.apply(this,arguments)-Mo)),zs,ks=Math.min(Math.abs(xo)/ua,Yi.apply(this,arguments)),Zs=ks*(xo<0?-1:1),Xs;for(Ji=0;Ji0&&(go+=Xs);for(br!=null?Oo.sort(function(wl,os){return br(ho[wl],ho[os])}):Hr!=null&&Oo.sort(function(wl,os){return Hr(hi[wl],hi[os])}),Ji=0,Sa=go?(xo-ua*Zs)/go:0;Ji0?Xs*Sa:0)+Zs,ho[Fn]={data:hi[Fn],index:Ji,value:Xs,startAngle:Mo,endAngle:zs,padAngle:ks};return ho}return an.value=function(hi){return arguments.length?(_t=typeof hi==\"function\"?hi:r(+hi),an):_t},an.sortValues=function(hi){return arguments.length?(br=hi,Hr=null,an):br},an.sort=function(hi){return arguments.length?(Hr=hi,br=null,an):Hr},an.startAngle=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.endAngle=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.padAngle=function(hi){return arguments.length?(Yi=typeof hi==\"function\"?hi:r(+hi),an):Yi},an}var G=W(p);function N(_t){this._curve=_t}N.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(_t,br){this._curve.point(br*Math.sin(_t),br*-Math.cos(_t))}};function W(_t){function br(Hr){return new N(_t(Hr))}return br._curve=_t,br}function re(_t){var br=_t.curve;return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t.curve=function(Hr){return arguments.length?br(W(Hr)):br()._curve},_t}function ae(){return re(F().curve(G))}function _e(){var _t=q().curve(G),br=_t.curve,Hr=_t.lineX0,ti=_t.lineX1,zi=_t.lineY0,Yi=_t.lineY1;return _t.angle=_t.x,delete _t.x,_t.startAngle=_t.x0,delete _t.x0,_t.endAngle=_t.x1,delete _t.x1,_t.radius=_t.y,delete _t.y,_t.innerRadius=_t.y0,delete _t.y0,_t.outerRadius=_t.y1,delete _t.y1,_t.lineStartAngle=function(){return re(Hr())},delete _t.lineX0,_t.lineEndAngle=function(){return re(ti())},delete _t.lineX1,_t.lineInnerRadius=function(){return re(zi())},delete _t.lineY0,_t.lineOuterRadius=function(){return re(Yi())},delete _t.lineY1,_t.curve=function(an){return arguments.length?br(W(an)):br()._curve},_t}function Me(_t,br){return[(br=+br)*Math.cos(_t-=Math.PI/2),br*Math.sin(_t)]}var ke=Array.prototype.slice;function ge(_t){return _t.source}function ie(_t){return _t.target}function Te(_t){var br=ge,Hr=ie,ti=P,zi=T,Yi=null;function an(){var hi,Ji=ke.call(arguments),ua=br.apply(this,Ji),Fn=Hr.apply(this,Ji);if(Yi||(Yi=hi=t.path()),_t(Yi,+ti.apply(this,(Ji[0]=ua,Ji)),+zi.apply(this,Ji),+ti.apply(this,(Ji[0]=Fn,Ji)),+zi.apply(this,Ji)),hi)return Yi=null,hi+\"\"||null}return an.source=function(hi){return arguments.length?(br=hi,an):br},an.target=function(hi){return arguments.length?(Hr=hi,an):Hr},an.x=function(hi){return arguments.length?(ti=typeof hi==\"function\"?hi:r(+hi),an):ti},an.y=function(hi){return arguments.length?(zi=typeof hi==\"function\"?hi:r(+hi),an):zi},an.context=function(hi){return arguments.length?(Yi=hi==null?null:hi,an):Yi},an}function Ee(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br=(br+ti)/2,Hr,br,zi,ti,zi)}function Ae(_t,br,Hr,ti,zi){_t.moveTo(br,Hr),_t.bezierCurveTo(br,Hr=(Hr+zi)/2,ti,Hr,ti,zi)}function ze(_t,br,Hr,ti,zi){var Yi=Me(br,Hr),an=Me(br,Hr=(Hr+zi)/2),hi=Me(ti,Hr),Ji=Me(ti,zi);_t.moveTo(Yi[0],Yi[1]),_t.bezierCurveTo(an[0],an[1],hi[0],hi[1],Ji[0],Ji[1])}function Ce(){return Te(Ee)}function me(){return Te(Ae)}function Re(){var _t=Te(ze);return _t.angle=_t.x,delete _t.x,_t.radius=_t.y,delete _t.y,_t}var ce={draw:function(_t,br){var Hr=Math.sqrt(br/f);_t.moveTo(Hr,0),_t.arc(0,0,Hr,0,d)}},Ge={draw:function(_t,br){var Hr=Math.sqrt(br/5)/2;_t.moveTo(-3*Hr,-Hr),_t.lineTo(-Hr,-Hr),_t.lineTo(-Hr,-3*Hr),_t.lineTo(Hr,-3*Hr),_t.lineTo(Hr,-Hr),_t.lineTo(3*Hr,-Hr),_t.lineTo(3*Hr,Hr),_t.lineTo(Hr,Hr),_t.lineTo(Hr,3*Hr),_t.lineTo(-Hr,3*Hr),_t.lineTo(-Hr,Hr),_t.lineTo(-3*Hr,Hr),_t.closePath()}},nt=Math.sqrt(1/3),ct=nt*2,qt={draw:function(_t,br){var Hr=Math.sqrt(br/ct),ti=Hr*nt;_t.moveTo(0,-Hr),_t.lineTo(ti,0),_t.lineTo(0,Hr),_t.lineTo(-ti,0),_t.closePath()}},rt=.8908130915292852,ot=Math.sin(f/10)/Math.sin(7*f/10),Rt=Math.sin(d/10)*ot,kt=-Math.cos(d/10)*ot,Ct={draw:function(_t,br){var Hr=Math.sqrt(br*rt),ti=Rt*Hr,zi=kt*Hr;_t.moveTo(0,-Hr),_t.lineTo(ti,zi);for(var Yi=1;Yi<5;++Yi){var an=d*Yi/5,hi=Math.cos(an),Ji=Math.sin(an);_t.lineTo(Ji*Hr,-hi*Hr),_t.lineTo(hi*ti-Ji*zi,Ji*ti+hi*zi)}_t.closePath()}},Yt={draw:function(_t,br){var Hr=Math.sqrt(br),ti=-Hr/2;_t.rect(ti,ti,Hr,Hr)}},xr=Math.sqrt(3),er={draw:function(_t,br){var Hr=-Math.sqrt(br/(xr*3));_t.moveTo(0,Hr*2),_t.lineTo(-xr*Hr,-Hr),_t.lineTo(xr*Hr,-Hr),_t.closePath()}},Ke=-.5,xt=Math.sqrt(3)/2,bt=1/Math.sqrt(12),Lt=(bt/2+1)*3,St={draw:function(_t,br){var Hr=Math.sqrt(br/Lt),ti=Hr/2,zi=Hr*bt,Yi=ti,an=Hr*bt+Hr,hi=-Yi,Ji=an;_t.moveTo(ti,zi),_t.lineTo(Yi,an),_t.lineTo(hi,Ji),_t.lineTo(Ke*ti-xt*zi,xt*ti+Ke*zi),_t.lineTo(Ke*Yi-xt*an,xt*Yi+Ke*an),_t.lineTo(Ke*hi-xt*Ji,xt*hi+Ke*Ji),_t.lineTo(Ke*ti+xt*zi,Ke*zi-xt*ti),_t.lineTo(Ke*Yi+xt*an,Ke*an-xt*Yi),_t.lineTo(Ke*hi+xt*Ji,Ke*Ji-xt*hi),_t.closePath()}},Et=[ce,Ge,qt,Yt,Ct,er,St];function dt(){var _t=r(ce),br=r(64),Hr=null;function ti(){var zi;if(Hr||(Hr=zi=t.path()),_t.apply(this,arguments).draw(Hr,+br.apply(this,arguments)),zi)return Hr=null,zi+\"\"||null}return ti.type=function(zi){return arguments.length?(_t=typeof zi==\"function\"?zi:r(zi),ti):_t},ti.size=function(zi){return arguments.length?(br=typeof zi==\"function\"?zi:r(+zi),ti):br},ti.context=function(zi){return arguments.length?(Hr=zi==null?null:zi,ti):Hr},ti}function Ht(){}function $t(_t,br,Hr){_t._context.bezierCurveTo((2*_t._x0+_t._x1)/3,(2*_t._y0+_t._y1)/3,(_t._x0+2*_t._x1)/3,(_t._y0+2*_t._y1)/3,(_t._x0+4*_t._x1+br)/6,(_t._y0+4*_t._y1+Hr)/6)}function fr(_t){this._context=_t}fr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:$t(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function _r(_t){return new fr(_t)}function Br(_t){this._context=_t}Br.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x2=_t,this._y2=br;break;case 1:this._point=2,this._x3=_t,this._y3=br;break;case 2:this._point=3,this._x4=_t,this._y4=br,this._context.moveTo((this._x0+4*this._x1+_t)/6,(this._y0+4*this._y1+br)/6);break;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function Or(_t){return new Br(_t)}function Nr(_t){this._context=_t}Nr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var Hr=(this._x0+4*this._x1+_t)/6,ti=(this._y0+4*this._y1+br)/6;this._line?this._context.lineTo(Hr,ti):this._context.moveTo(Hr,ti);break;case 3:this._point=4;default:$t(this,_t,br);break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br}};function ut(_t){return new Nr(_t)}function Ne(_t,br){this._basis=new fr(_t),this._beta=br}Ne.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length-1;if(Hr>0)for(var ti=_t[0],zi=br[0],Yi=_t[Hr]-ti,an=br[Hr]-zi,hi=-1,Ji;++hi<=Hr;)Ji=hi/Hr,this._basis.point(this._beta*_t[hi]+(1-this._beta)*(ti+Ji*Yi),this._beta*br[hi]+(1-this._beta)*(zi+Ji*an));this._x=this._y=null,this._basis.lineEnd()},point:function(_t,br){this._x.push(+_t),this._y.push(+br)}};var Ye=function _t(br){function Hr(ti){return br===1?new fr(ti):new Ne(ti,br)}return Hr.beta=function(ti){return _t(+ti)},Hr}(.85);function Ve(_t,br,Hr){_t._context.bezierCurveTo(_t._x1+_t._k*(_t._x2-_t._x0),_t._y1+_t._k*(_t._y2-_t._y0),_t._x2+_t._k*(_t._x1-br),_t._y2+_t._k*(_t._y1-Hr),_t._x2,_t._y2)}function Xe(_t,br){this._context=_t,this._k=(1-br)/6}Xe.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Ve(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2,this._x1=_t,this._y1=br;break;case 2:this._point=3;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ht=function _t(br){function Hr(ti){return new Xe(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Le(_t,br){this._context=_t,this._k=(1-br)/6}Le.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var xe=function _t(br){function Hr(ti){return new Le(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Se(_t,br){this._context=_t,this._k=(1-br)/6}Se.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Ve(this,_t,br);break}this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var lt=function _t(br){function Hr(ti){return new Se(ti,br)}return Hr.tension=function(ti){return _t(+ti)},Hr}(0);function Gt(_t,br,Hr){var ti=_t._x1,zi=_t._y1,Yi=_t._x2,an=_t._y2;if(_t._l01_a>c){var hi=2*_t._l01_2a+3*_t._l01_a*_t._l12_a+_t._l12_2a,Ji=3*_t._l01_a*(_t._l01_a+_t._l12_a);ti=(ti*hi-_t._x0*_t._l12_2a+_t._x2*_t._l01_2a)/Ji,zi=(zi*hi-_t._y0*_t._l12_2a+_t._y2*_t._l01_2a)/Ji}if(_t._l23_a>c){var ua=2*_t._l23_2a+3*_t._l23_a*_t._l12_a+_t._l12_2a,Fn=3*_t._l23_a*(_t._l23_a+_t._l12_a);Yi=(Yi*ua+_t._x1*_t._l23_2a-br*_t._l12_2a)/Fn,an=(an*ua+_t._y1*_t._l23_2a-Hr*_t._l12_2a)/Fn}_t._context.bezierCurveTo(ti,zi,Yi,an,_t._x2,_t._y2)}function Vt(_t,br){this._context=_t,this._alpha=br}Vt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ar=function _t(br){function Hr(ti){return br?new Vt(ti,br):new Xe(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function Qr(_t,br){this._context=_t,this._alpha=br}Qr.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=_t,this._y3=br;break;case 1:this._point=2,this._context.moveTo(this._x4=_t,this._y4=br);break;case 2:this._point=3,this._x5=_t,this._y5=br;break;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ai=function _t(br){function Hr(ti){return br?new Qr(ti,br):new Le(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function jr(_t,br){this._context=_t,this._alpha=br}jr.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){if(_t=+_t,br=+br,this._point){var Hr=this._x2-_t,ti=this._y2-br;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(Hr*Hr+ti*ti,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gt(this,_t,br);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=_t,this._y0=this._y1,this._y1=this._y2,this._y2=br}};var ri=function _t(br){function Hr(ti){return br?new jr(ti,br):new Se(ti,0)}return Hr.alpha=function(ti){return _t(+ti)},Hr}(.5);function bi(_t){this._context=_t}bi.prototype={areaStart:Ht,areaEnd:Ht,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(_t,br){_t=+_t,br=+br,this._point?this._context.lineTo(_t,br):(this._point=1,this._context.moveTo(_t,br))}};function nn(_t){return new bi(_t)}function Wi(_t){return _t<0?-1:1}function Ni(_t,br,Hr){var ti=_t._x1-_t._x0,zi=br-_t._x1,Yi=(_t._y1-_t._y0)/(ti||zi<0&&-0),an=(Hr-_t._y1)/(zi||ti<0&&-0),hi=(Yi*zi+an*ti)/(ti+zi);return(Wi(Yi)+Wi(an))*Math.min(Math.abs(Yi),Math.abs(an),.5*Math.abs(hi))||0}function _n(_t,br){var Hr=_t._x1-_t._x0;return Hr?(3*(_t._y1-_t._y0)/Hr-br)/2:br}function $i(_t,br,Hr){var ti=_t._x0,zi=_t._y0,Yi=_t._x1,an=_t._y1,hi=(Yi-ti)/3;_t._context.bezierCurveTo(ti+hi,zi+hi*br,Yi-hi,an-hi*Hr,Yi,an)}function zn(_t){this._context=_t}zn.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:$i(this,this._t0,_n(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(_t,br){var Hr=NaN;if(_t=+_t,br=+br,!(_t===this._x1&&br===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;break;case 2:this._point=3,$i(this,_n(this,Hr=Ni(this,_t,br)),Hr);break;default:$i(this,this._t0,Hr=Ni(this,_t,br));break}this._x0=this._x1,this._x1=_t,this._y0=this._y1,this._y1=br,this._t0=Hr}}};function Wn(_t){this._context=new It(_t)}(Wn.prototype=Object.create(zn.prototype)).point=function(_t,br){zn.prototype.point.call(this,br,_t)};function It(_t){this._context=_t}It.prototype={moveTo:function(_t,br){this._context.moveTo(br,_t)},closePath:function(){this._context.closePath()},lineTo:function(_t,br){this._context.lineTo(br,_t)},bezierCurveTo:function(_t,br,Hr,ti,zi,Yi){this._context.bezierCurveTo(br,_t,ti,Hr,Yi,zi)}};function ft(_t){return new zn(_t)}function jt(_t){return new Wn(_t)}function Zt(_t){this._context=_t}Zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var _t=this._x,br=this._y,Hr=_t.length;if(Hr)if(this._line?this._context.lineTo(_t[0],br[0]):this._context.moveTo(_t[0],br[0]),Hr===2)this._context.lineTo(_t[1],br[1]);else for(var ti=yr(_t),zi=yr(br),Yi=0,an=1;an=0;--br)zi[br]=(an[br]-zi[br+1])/Yi[br];for(Yi[Hr-1]=(_t[Hr]+zi[Hr-1])/2,br=0;br=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(_t,br){switch(_t=+_t,br=+br,this._point){case 0:this._point=1,this._line?this._context.lineTo(_t,br):this._context.moveTo(_t,br);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,br),this._context.lineTo(_t,br);else{var Hr=this._x*(1-this._t)+_t*this._t;this._context.lineTo(Hr,this._y),this._context.lineTo(Hr,br)}break}}this._x=_t,this._y=br}};function Vr(_t){return new Zr(_t,.5)}function gi(_t){return new Zr(_t,0)}function Si(_t){return new Zr(_t,1)}function Mi(_t,br){if((an=_t.length)>1)for(var Hr=1,ti,zi,Yi=_t[br[0]],an,hi=Yi.length;Hr=0;)Hr[br]=br;return Hr}function Gi(_t,br){return _t[br]}function Ki(){var _t=r([]),br=Pi,Hr=Mi,ti=Gi;function zi(Yi){var an=_t.apply(this,arguments),hi,Ji=Yi.length,ua=an.length,Fn=new Array(ua),Sa;for(hi=0;hi0){for(var Hr,ti,zi=0,Yi=_t[0].length,an;zi0)for(var Hr,ti=0,zi,Yi,an,hi,Ji,ua=_t[br[0]].length;ti0?(zi[0]=an,zi[1]=an+=Yi):Yi<0?(zi[1]=hi,zi[0]=hi+=Yi):(zi[0]=0,zi[1]=Yi)}function la(_t,br){if((zi=_t.length)>0){for(var Hr=0,ti=_t[br[0]],zi,Yi=ti.length;Hr0)||!((Yi=(zi=_t[br[0]]).length)>0))){for(var Hr=0,ti=1,zi,Yi,an;tiYi&&(Yi=zi,Hr=br);return Hr}function oa(_t){var br=_t.map(Sn);return Pi(_t).sort(function(Hr,ti){return br[Hr]-br[ti]})}function Sn(_t){for(var br=0,Hr=-1,ti=_t.length,zi;++Hr{(function(e,t){typeof y7==\"object\"&&typeof mje!=\"undefined\"?t(y7,JE(),h7(),CJ()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-array\",\"d3-collection\",\"d3-shape\"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3)})(y7,function(e,t,r,n){\"use strict\";function i(p){return p.target.depth}function a(p){return p.depth}function o(p,P){return P-1-p.height}function s(p,P){return p.sourceLinks.length?p.depth:P-1}function l(p){return p.targetLinks.length?p.depth:p.sourceLinks.length?t.min(p.sourceLinks,i)-1:0}function u(p){return function(){return p}}function c(p,P){return h(p.source,P.source)||p.index-P.index}function f(p,P){return h(p.target,P.target)||p.index-P.index}function h(p,P){return p.y0-P.y0}function d(p){return p.value}function v(p){return(p.y0+p.y1)/2}function x(p){return v(p.source)*p.value}function b(p){return v(p.target)*p.value}function g(p){return p.index}function E(p){return p.nodes}function k(p){return p.links}function A(p,P){var T=p.get(P);if(!T)throw new Error(\"missing: \"+P);return T}var L=function(){var p=0,P=0,T=1,F=1,q=24,V=8,H=g,X=s,G=E,N=k,W=32,re=2/3;function ae(){var Te={nodes:G.apply(null,arguments),links:N.apply(null,arguments)};return _e(Te),Me(Te),ke(Te),ge(Te,W),ie(Te),Te}ae.update=function(Te){return ie(Te),Te},ae.nodeId=function(Te){return arguments.length?(H=typeof Te==\"function\"?Te:u(Te),ae):H},ae.nodeAlign=function(Te){return arguments.length?(X=typeof Te==\"function\"?Te:u(Te),ae):X},ae.nodeWidth=function(Te){return arguments.length?(q=+Te,ae):q},ae.nodePadding=function(Te){return arguments.length?(V=+Te,ae):V},ae.nodes=function(Te){return arguments.length?(G=typeof Te==\"function\"?Te:u(Te),ae):G},ae.links=function(Te){return arguments.length?(N=typeof Te==\"function\"?Te:u(Te),ae):N},ae.size=function(Te){return arguments.length?(p=P=0,T=+Te[0],F=+Te[1],ae):[T-p,F-P]},ae.extent=function(Te){return arguments.length?(p=+Te[0][0],T=+Te[1][0],P=+Te[0][1],F=+Te[1][1],ae):[[p,P],[T,F]]},ae.iterations=function(Te){return arguments.length?(W=+Te,ae):W};function _e(Te){Te.nodes.forEach(function(Ae,ze){Ae.index=ze,Ae.sourceLinks=[],Ae.targetLinks=[]});var Ee=r.map(Te.nodes,H);Te.links.forEach(function(Ae,ze){Ae.index=ze;var Ce=Ae.source,me=Ae.target;typeof Ce!=\"object\"&&(Ce=Ae.source=A(Ee,Ce)),typeof me!=\"object\"&&(me=Ae.target=A(Ee,me)),Ce.sourceLinks.push(Ae),me.targetLinks.push(Ae)})}function Me(Te){Te.nodes.forEach(function(Ee){Ee.value=Math.max(t.sum(Ee.sourceLinks,d),t.sum(Ee.targetLinks,d))})}function ke(Te){var Ee,Ae,ze;for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.depth=ze,me.sourceLinks.forEach(function(Re){Ae.indexOf(Re.target)<0&&Ae.push(Re.target)})});for(Ee=Te.nodes,Ae=[],ze=0;Ee.length;++ze,Ee=Ae,Ae=[])Ee.forEach(function(me){me.height=ze,me.targetLinks.forEach(function(Re){Ae.indexOf(Re.source)<0&&Ae.push(Re.source)})});var Ce=(T-p-q)/(ze-1);Te.nodes.forEach(function(me){me.x1=(me.x0=p+Math.max(0,Math.min(ze-1,Math.floor(X.call(null,me,ze))))*Ce)+q})}function ge(Te){var Ee=r.nest().key(function(Ge){return Ge.x0}).sortKeys(t.ascending).entries(Te.nodes).map(function(Ge){return Ge.values});Ce(),ce();for(var Ae=1,ze=W;ze>0;--ze)Re(Ae*=.99),ce(),me(Ae),ce();function Ce(){var Ge=t.max(Ee,function(qt){return qt.length}),nt=re*(F-P)/(Ge-1);V>nt&&(V=nt);var ct=t.min(Ee,function(qt){return(F-P-(qt.length-1)*V)/t.sum(qt,d)});Ee.forEach(function(qt){qt.forEach(function(rt,ot){rt.y1=(rt.y0=ot)+rt.value*ct})}),Te.links.forEach(function(qt){qt.width=qt.value*ct})}function me(Ge){Ee.forEach(function(nt){nt.forEach(function(ct){if(ct.targetLinks.length){var qt=(t.sum(ct.targetLinks,x)/t.sum(ct.targetLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function Re(Ge){Ee.slice().reverse().forEach(function(nt){nt.forEach(function(ct){if(ct.sourceLinks.length){var qt=(t.sum(ct.sourceLinks,b)/t.sum(ct.sourceLinks,d)-v(ct))*Ge;ct.y0+=qt,ct.y1+=qt}})})}function ce(){Ee.forEach(function(Ge){var nt,ct,qt=P,rt=Ge.length,ot;for(Ge.sort(h),ot=0;ot0&&(nt.y0+=ct,nt.y1+=ct),qt=nt.y1+V;if(ct=qt-V-F,ct>0)for(qt=nt.y0-=ct,nt.y1-=ct,ot=rt-2;ot>=0;--ot)nt=Ge[ot],ct=nt.y1+V-qt,ct>0&&(nt.y0-=ct,nt.y1-=ct),qt=nt.y0})}}function ie(Te){Te.nodes.forEach(function(Ee){Ee.sourceLinks.sort(f),Ee.targetLinks.sort(c)}),Te.nodes.forEach(function(Ee){var Ae=Ee.y0,ze=Ae;Ee.sourceLinks.forEach(function(Ce){Ce.y0=Ae+Ce.width/2,Ae+=Ce.width}),Ee.targetLinks.forEach(function(Ce){Ce.y1=ze+Ce.width/2,ze+=Ce.width})})}return ae};function _(p){return[p.source.x1,p.y0]}function C(p){return[p.target.x0,p.y1]}var M=function(){return n.linkHorizontal().source(_).target(C)};e.sankey=L,e.sankeyCenter=l,e.sankeyLeft=a,e.sankeyRight=o,e.sankeyJustify=s,e.sankeyLinkHorizontal=M,Object.defineProperty(e,\"__esModule\",{value:!0})})});var xje=ye((a_r,_je)=>{var gWt=kJ();_je.exports=function(t,r){var n=[],i=[],a=[],o={},s=[],l;function u(k){a[k]=!1,o.hasOwnProperty(k)&&Object.keys(o[k]).forEach(function(A){delete o[k][A],a[A]&&u(A)})}function c(k){var A=!1;i.push(k),a[k]=!0;var L,_;for(L=0;L=k})}function d(k){h(k);for(var A=t,L=gWt(A),_=L.components.filter(function(q){return q.length>1}),C=1/0,M,p=0;p<_.length;p++)for(var P=0;P<_[p].length;P++)_[p][P]{(function(e,t){typeof _7==\"object\"&&typeof bje!=\"undefined\"?t(_7,JE(),h7(),CJ(),xje()):typeof define==\"function\"&&define.amd?define([\"exports\",\"d3-array\",\"d3-collection\",\"d3-shape\",\"elementary-circuits-directed-graph\"],t):t(e.d3=e.d3||{},e.d3,e.d3,e.d3,null)})(_7,function(e,t,r,n,i){\"use strict\";i=i&&i.hasOwnProperty(\"default\")?i.default:i;function a(rt){return rt.target.depth}function o(rt){return rt.depth}function s(rt,ot){return ot-1-rt.height}function l(rt,ot){return rt.sourceLinks.length?rt.depth:ot-1}function u(rt){return rt.targetLinks.length?rt.depth:rt.sourceLinks.length?t.min(rt.sourceLinks,a)-1:0}function c(rt){return function(){return rt}}var f=typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?function(rt){return typeof rt}:function(rt){return rt&&typeof Symbol==\"function\"&&rt.constructor===Symbol&&rt!==Symbol.prototype?\"symbol\":typeof rt};function h(rt,ot){return v(rt.source,ot.source)||rt.index-ot.index}function d(rt,ot){return v(rt.target,ot.target)||rt.index-ot.index}function v(rt,ot){return rt.partOfCycle===ot.partOfCycle?rt.y0-ot.y0:rt.circularLinkType===\"top\"||ot.circularLinkType===\"bottom\"?-1:1}function x(rt){return rt.value}function b(rt){return(rt.y0+rt.y1)/2}function g(rt){return b(rt.source)}function E(rt){return b(rt.target)}function k(rt){return rt.index}function A(rt){return rt.nodes}function L(rt){return rt.links}function _(rt,ot){var Rt=rt.get(ot);if(!Rt)throw new Error(\"missing: \"+ot);return Rt}function C(rt,ot){return ot(rt)}var M=25,p=10,P=.3;function T(){var rt=0,ot=0,Rt=1,kt=1,Ct=24,Yt,xr=k,er=l,Ke=A,xt=L,bt=32,Lt=2,St,Et=null;function dt(){var ut={nodes:Ke.apply(null,arguments),links:xt.apply(null,arguments)};Ht(ut),F(ut,xr,Et),$t(ut),Br(ut),q(ut,xr),Or(ut,bt,xr),Nr(ut);for(var Ne=4,Ye=0;Ye0?Ne+M+p:Ne,Ye=Ye>0?Ye+M+p:Ye,Ve=Ve>0?Ve+M+p:Ve,Xe=Xe>0?Xe+M+p:Xe,{top:Ne,bottom:Ye,left:Xe,right:Ve}}function _r(ut,Ne){var Ye=t.max(ut.nodes,function(lt){return lt.column}),Ve=Rt-rt,Xe=kt-ot,ht=Ve+Ne.right+Ne.left,Le=Xe+Ne.top+Ne.bottom,xe=Ve/ht,Se=Xe/Le;return rt=rt*xe+Ne.left,Rt=Ne.right==0?Rt:Rt*xe,ot=ot*Se+Ne.top,kt=kt*Se,ut.nodes.forEach(function(lt){lt.x0=rt+lt.column*((Rt-rt-Ct)/Ye),lt.x1=lt.x0+Ct}),Se}function Br(ut){var Ne,Ye,Ve;for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.depth=Ve,Xe.sourceLinks.forEach(function(ht){Ye.indexOf(ht.target)<0&&!ht.circular&&Ye.push(ht.target)})});for(Ne=ut.nodes,Ye=[],Ve=0;Ne.length;++Ve,Ne=Ye,Ye=[])Ne.forEach(function(Xe){Xe.height=Ve,Xe.targetLinks.forEach(function(ht){Ye.indexOf(ht.source)<0&&!ht.circular&&Ye.push(ht.source)})});ut.nodes.forEach(function(Xe){Xe.column=Math.floor(er.call(null,Xe,Ve))})}function Or(ut,Ne,Ye){var Ve=r.nest().key(function(lt){return lt.column}).sortKeys(t.ascending).entries(ut.nodes).map(function(lt){return lt.values});Le(Ye),Se();for(var Xe=1,ht=Ne;ht>0;--ht)xe(Xe*=.99,Ye),Se();function Le(lt){if(St){var Gt=1/0;Ve.forEach(function(ai){var jr=kt*St/(ai.length+1);Gt=jr0))if(ai==0&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else if(ai==Vt-1&&Qr==1)ri=jr.y1-jr.y0,jr.y0=kt/2-ri/2,jr.y1=kt/2+ri/2;else{var bi=0,nn=t.mean(jr.sourceLinks,E),Wi=t.mean(jr.targetLinks,g);nn&&Wi?bi=(nn+Wi)/2:bi=nn||Wi;var Ni=(bi-b(jr))*lt;jr.y0+=Ni,jr.y1+=Ni}})})}function Se(){Ve.forEach(function(lt){var Gt,Vt,ar=ot,Qr=lt.length,ai;for(lt.sort(v),ai=0;ai0&&(Gt.y0+=Vt,Gt.y1+=Vt),ar=Gt.y1+Yt;if(Vt=ar-Yt-kt,Vt>0)for(ar=Gt.y0-=Vt,Gt.y1-=Vt,ai=Qr-2;ai>=0;--ai)Gt=lt[ai],Vt=Gt.y1+Yt-ar,Vt>0&&(Gt.y0-=Vt,Gt.y1-=Vt),ar=Gt.y0})}}function Nr(ut){ut.nodes.forEach(function(Ne){Ne.sourceLinks.sort(d),Ne.targetLinks.sort(h)}),ut.nodes.forEach(function(Ne){var Ye=Ne.y0,Ve=Ye,Xe=Ne.y1,ht=Xe;Ne.sourceLinks.forEach(function(Le){Le.circular?(Le.y0=Xe-Le.width/2,Xe=Xe-Le.width):(Le.y0=Ye+Le.width/2,Ye+=Le.width)}),Ne.targetLinks.forEach(function(Le){Le.circular?(Le.y1=ht-Le.width/2,ht=ht-Le.width):(Le.y1=Ve+Le.width/2,Ve+=Le.width)})})}return dt}function F(rt,ot,Rt){var kt=0;if(Rt===null){for(var Ct=[],Yt=0;Ytot.source.column)}function X(rt,ot){var Rt=0;rt.sourceLinks.forEach(function(Ct){Rt=Ct.circular&&!ct(Ct,ot)?Rt+1:Rt});var kt=0;return rt.targetLinks.forEach(function(Ct){kt=Ct.circular&&!ct(Ct,ot)?kt+1:kt}),Rt+kt}function G(rt){var ot=rt.source.sourceLinks,Rt=0;ot.forEach(function(Yt){Rt=Yt.circular?Rt+1:Rt});var kt=rt.target.targetLinks,Ct=0;return kt.forEach(function(Yt){Ct=Yt.circular?Ct+1:Ct}),!(Rt>1||Ct>1)}function N(rt,ot,Rt){return rt.sort(ae),rt.forEach(function(kt,Ct){var Yt=0;if(ct(kt,Rt)&&G(kt))kt.circularPathData.verticalBuffer=Yt+kt.width/2;else{var xr=0;for(xr;xrYt?er:Yt}kt.circularPathData.verticalBuffer=Yt+kt.width/2}}),rt}function W(rt,ot,Rt,kt){var Ct=5,Yt=t.min(rt.links,function(Ke){return Ke.source.y0});rt.links.forEach(function(Ke){Ke.circular&&(Ke.circularPathData={})});var xr=rt.links.filter(function(Ke){return Ke.circularLinkType==\"top\"});N(xr,ot,kt);var er=rt.links.filter(function(Ke){return Ke.circularLinkType==\"bottom\"});N(er,ot,kt),rt.links.forEach(function(Ke){if(Ke.circular){if(Ke.circularPathData.arcRadius=Ke.width+p,Ke.circularPathData.leftNodeBuffer=Ct,Ke.circularPathData.rightNodeBuffer=Ct,Ke.circularPathData.sourceWidth=Ke.source.x1-Ke.source.x0,Ke.circularPathData.sourceX=Ke.source.x0+Ke.circularPathData.sourceWidth,Ke.circularPathData.targetX=Ke.target.x0,Ke.circularPathData.sourceY=Ke.y0,Ke.circularPathData.targetY=Ke.y1,ct(Ke,kt)&&G(Ke))Ke.circularPathData.leftSmallArcRadius=p+Ke.width/2,Ke.circularPathData.leftLargeArcRadius=p+Ke.width/2,Ke.circularPathData.rightSmallArcRadius=p+Ke.width/2,Ke.circularPathData.rightLargeArcRadius=p+Ke.width/2,Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Ke.source.y1+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Ke.source.y0-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius);else{var xt=Ke.source.column,bt=Ke.circularLinkType,Lt=rt.links.filter(function(dt){return dt.source.column==xt&&dt.circularLinkType==bt});Ke.circularLinkType==\"bottom\"?Lt.sort(Me):Lt.sort(_e);var St=0;Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.leftSmallArcRadius=p+Ke.width/2+St,Ke.circularPathData.leftLargeArcRadius=p+Ke.width/2+Ht*ot+St),St=St+dt.width}),xt=Ke.target.column,Lt=rt.links.filter(function(dt){return dt.target.column==xt&&dt.circularLinkType==bt}),Ke.circularLinkType==\"bottom\"?Lt.sort(ge):Lt.sort(ke),St=0,Lt.forEach(function(dt,Ht){dt.circularLinkID==Ke.circularLinkID&&(Ke.circularPathData.rightSmallArcRadius=p+Ke.width/2+St,Ke.circularPathData.rightLargeArcRadius=p+Ke.width/2+Ht*ot+St),St=St+dt.width}),Ke.circularLinkType==\"bottom\"?(Ke.circularPathData.verticalFullExtent=Math.max(Rt,Ke.source.y1,Ke.target.y1)+M+Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent-Ke.circularPathData.rightLargeArcRadius):(Ke.circularPathData.verticalFullExtent=Yt-M-Ke.circularPathData.verticalBuffer,Ke.circularPathData.verticalLeftInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.leftLargeArcRadius,Ke.circularPathData.verticalRightInnerExtent=Ke.circularPathData.verticalFullExtent+Ke.circularPathData.rightLargeArcRadius)}Ke.circularPathData.leftInnerExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightInnerExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightNodeBuffer,Ke.circularPathData.leftFullExtent=Ke.circularPathData.sourceX+Ke.circularPathData.leftLargeArcRadius+Ke.circularPathData.leftNodeBuffer,Ke.circularPathData.rightFullExtent=Ke.circularPathData.targetX-Ke.circularPathData.rightLargeArcRadius-Ke.circularPathData.rightNodeBuffer}if(Ke.circular)Ke.path=re(Ke);else{var Et=n.linkHorizontal().source(function(dt){var Ht=dt.source.x0+(dt.source.x1-dt.source.x0),$t=dt.y0;return[Ht,$t]}).target(function(dt){var Ht=dt.target.x0,$t=dt.y1;return[Ht,$t]});Ke.path=Et(Ke)}})}function re(rt){var ot=\"\";return rt.circularLinkType==\"top\"?ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY-rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 0 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY-rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 0 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY:ot=\"M\"+rt.circularPathData.sourceX+\" \"+rt.circularPathData.sourceY+\" L\"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.sourceY+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.leftFullExtent+\" \"+(rt.circularPathData.sourceY+rt.circularPathData.leftSmallArcRadius)+\" L\"+rt.circularPathData.leftFullExtent+\" \"+rt.circularPathData.verticalLeftInnerExtent+\" A\"+rt.circularPathData.leftLargeArcRadius+\" \"+rt.circularPathData.leftLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.leftInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" L\"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.verticalFullExtent+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightLargeArcRadius+\" 0 0 1 \"+rt.circularPathData.rightFullExtent+\" \"+rt.circularPathData.verticalRightInnerExtent+\" L\"+rt.circularPathData.rightFullExtent+\" \"+(rt.circularPathData.targetY+rt.circularPathData.rightSmallArcRadius)+\" A\"+rt.circularPathData.rightLargeArcRadius+\" \"+rt.circularPathData.rightSmallArcRadius+\" 0 0 1 \"+rt.circularPathData.rightInnerExtent+\" \"+rt.circularPathData.targetY+\" L\"+rt.circularPathData.targetX+\" \"+rt.circularPathData.targetY,ot}function ae(rt,ot){return ie(rt)==ie(ot)?rt.circularLinkType==\"bottom\"?Me(rt,ot):_e(rt,ot):ie(ot)-ie(rt)}function _e(rt,ot){return rt.y0-ot.y0}function Me(rt,ot){return ot.y0-rt.y0}function ke(rt,ot){return rt.y1-ot.y1}function ge(rt,ot){return ot.y1-rt.y1}function ie(rt){return rt.target.column-rt.source.column}function Te(rt){return rt.target.x0-rt.source.x1}function Ee(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1+kt:rt.y1-kt;return Ct}function Ae(rt,ot){var Rt=V(rt),kt=Te(ot)/Math.tan(Rt),Ct=nt(rt)==\"up\"?rt.y1-kt:rt.y1+kt;return Ct}function ze(rt,ot,Rt,kt){rt.links.forEach(function(Ct){if(!Ct.circular&&Ct.target.column-Ct.source.column>1){var Yt=Ct.source.column+1,xr=Ct.target.column-1,er=1,Ke=xr-Yt+1;for(er=1;Yt<=xr;Yt++,er++)rt.nodes.forEach(function(xt){if(xt.column==Yt){var bt=er/(Ke+1),Lt=Math.pow(1-bt,3),St=3*bt*Math.pow(1-bt,2),Et=3*Math.pow(bt,2)*(1-bt),dt=Math.pow(bt,3),Ht=Lt*Ct.y0+St*Ct.y0+Et*Ct.y1+dt*Ct.y1,$t=Ht-Ct.width/2,fr=Ht+Ct.width/2,_r;$t>xt.y0&&$txt.y0&&frxt.y1&&me(Br,_r,ot,Rt)})):$txt.y1&&(_r=fr-xt.y0+10,xt=me(xt,_r,ot,Rt),rt.nodes.forEach(function(Br){C(Br,kt)==C(xt,kt)||Br.column!=xt.column||Br.y0xt.y1&&me(Br,_r,ot,Rt)}))}})}})}function Ce(rt,ot){return rt.y0>ot.y0&&rt.y0ot.y0&&rt.y1ot.y1}function me(rt,ot,Rt,kt){return rt.y0+ot>=Rt&&rt.y1+ot<=kt&&(rt.y0=rt.y0+ot,rt.y1=rt.y1+ot,rt.targetLinks.forEach(function(Ct){Ct.y1=Ct.y1+ot}),rt.sourceLinks.forEach(function(Ct){Ct.y0=Ct.y0+ot})),rt}function Re(rt,ot,Rt,kt){rt.nodes.forEach(function(Ct){kt&&Ct.y+(Ct.y1-Ct.y0)>ot&&(Ct.y=Ct.y-(Ct.y+(Ct.y1-Ct.y0)-ot));var Yt=rt.links.filter(function(Ke){return C(Ke.source,Rt)==C(Ct,Rt)}),xr=Yt.length;xr>1&&Yt.sort(function(Ke,xt){if(!Ke.circular&&!xt.circular){if(Ke.target.column==xt.target.column)return Ke.y1-xt.y1;if(Ge(Ke,xt)){if(Ke.target.column>xt.target.column){var bt=Ae(xt,Ke);return Ke.y1-bt}if(xt.target.column>Ke.target.column){var Lt=Ae(Ke,xt);return Lt-xt.y1}}else return Ke.y1-xt.y1}if(Ke.circular&&!xt.circular)return Ke.circularLinkType==\"top\"?-1:1;if(xt.circular&&!Ke.circular)return xt.circularLinkType==\"top\"?1:-1;if(Ke.circular&&xt.circular)return Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"top\"?Ke.target.column===xt.target.column?Ke.target.y1-xt.target.y1:xt.target.column-Ke.target.column:Ke.circularLinkType===xt.circularLinkType&&Ke.circularLinkType==\"bottom\"?Ke.target.column===xt.target.column?xt.target.y1-Ke.target.y1:Ke.target.column-xt.target.column:Ke.circularLinkType==\"top\"?-1:1});var er=Ct.y0;Yt.forEach(function(Ke){Ke.y0=er+Ke.width/2,er=er+Ke.width}),Yt.forEach(function(Ke,xt){if(Ke.circularLinkType==\"bottom\"){var bt=xt+1,Lt=0;for(bt;bt1&&Ct.sort(function(er,Ke){if(!er.circular&&!Ke.circular){if(er.source.column==Ke.source.column)return er.y0-Ke.y0;if(Ge(er,Ke)){if(Ke.source.column0?\"up\":\"down\"}function ct(rt,ot){return C(rt.source,ot)==C(rt.target,ot)}function qt(rt,ot,Rt){var kt=rt.nodes,Ct=rt.links,Yt=!1,xr=!1;if(Ct.forEach(function(St){St.circularLinkType==\"top\"?Yt=!0:St.circularLinkType==\"bottom\"&&(xr=!0)}),Yt==!1||xr==!1){var er=t.min(kt,function(St){return St.y0}),Ke=t.max(kt,function(St){return St.y1}),xt=Ke-er,bt=Rt-ot,Lt=bt/xt;kt.forEach(function(St){var Et=(St.y1-St.y0)*Lt;St.y0=(St.y0-er)*Lt,St.y1=St.y0+Et}),Ct.forEach(function(St){St.y0=(St.y0-er)*Lt,St.y1=(St.y1-er)*Lt,St.width=St.width*Lt})}}e.sankeyCircular=T,e.sankeyCenter=u,e.sankeyLeft=o,e.sankeyRight=s,e.sankeyJustify=l,Object.defineProperty(e,\"__esModule\",{value:!0})})});var LJ=ye((o_r,Tje)=>{\"use strict\";Tje.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:\"linear\",cn:{sankey:\"sankey\",sankeyLinks:\"sankey-links\",sankeyLink:\"sankey-link\",sankeyNodeSet:\"sankey-node-set\",sankeyNode:\"sankey-node\",nodeRect:\"node-rect\",nodeLabel:\"node-label\"}}});var Fje=ye((s_r,zje)=>{\"use strict\";var Aje=dje(),mWt=(R2(),ab(I2)).interpolateNumber,LA=xa(),Vk=yje(),yWt=wje(),pu=LJ(),PA=id(),aw=va(),_Wt=ao(),p1=Mr(),RJ=p1.strTranslate,xWt=p1.strRotate,DJ=Km(),Hk=DJ.keyFun,x7=DJ.repeat,Lje=DJ.unwrap,Sje=Ll(),bWt=ba(),Pje=Nh(),wWt=Pje.CAP_SHIFT,TWt=Pje.LINE_SPACING,AWt=3;function SWt(e,t,r){var n=Lje(t),i=n.trace,a=i.domain,o=i.orientation===\"h\",s=i.node.pad,l=i.node.thickness,u={justify:Vk.sankeyJustify,left:Vk.sankeyLeft,right:Vk.sankeyRight,center:Vk.sankeyCenter}[i.node.align],c=e.width*(a.x[1]-a.x[0]),f=e.height*(a.y[1]-a.y[0]),h=n._nodes,d=n._links,v=n.circular,x;v?x=yWt.sankeyCircular().circularLinkGap(0):x=Vk.sankey(),x.iterations(pu.sankeyIterations).size(o?[c,f]:[f,c]).nodeWidth(l).nodePadding(s).nodeId(function(V){return V.pointNumber}).nodeAlign(u).nodes(h).links(d);var b=x();x.nodePadding()=N||(G=N-X.y0,G>1e-6&&(X.y0+=G,X.y1+=G)),N=X.y1+s})}function P(V){var H=V.map(function(_e,Me){return{x0:_e.x0,index:Me}}).sort(function(_e,Me){return _e.x0-Me.x0}),X=[],G=-1,N,W=-1/0,re;for(g=0;gW+l&&(G+=1,N=ae.x0),W=ae.x0,X[G]||(X[G]=[]),X[G].push(ae),re=N-ae.x0,ae.x0+=re,ae.x1+=re}return X}if(i.node.x.length&&i.node.y.length){for(g=0;g0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"):(r=\"M \"+(i.targetX-t)+\" \"+(i.targetY-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.targetY-n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightSmallArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent-n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" L \"+(i.rightFullExtent-n-t)+\" \"+i.verticalRightInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-n-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent+n-t-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent-t-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.leftFullExtent+n+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent:r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent+n)+\" L \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+i.verticalLeftInnerExtent,r+=\" L \"+(i.leftFullExtent+n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" A \"+(i.leftLargeArcRadius+n)+\" \"+(i.leftSmallArcRadius+n)+\" 0 0 0 \"+i.leftInnerExtent+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY-n)+\" L \"+i.sourceX+\" \"+(i.sourceY+n)+\" L \"+i.leftInnerExtent+\" \"+(i.sourceY+n)+\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n)+\" \"+(i.sourceY+i.leftSmallArcRadius)+\" L \"+(i.leftFullExtent-n)+\" \"+i.verticalLeftInnerExtent,a&&o?r+=\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.leftFullExtent-n-(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightFullExtent+n-t+(i.rightLargeArcRadius-n))+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:a?r+=\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.leftFullExtent+n)+\" \"+(i.verticalFullExtent+n)+\" L \"+(i.rightFullExtent-t-n)+\" \"+(i.verticalFullExtent+n)+\" A \"+(i.rightLargeArcRadius+n)+\" \"+(i.rightLargeArcRadius+n)+\" 0 0 0 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent:r+=\" A \"+(i.leftLargeArcRadius-n)+\" \"+(i.leftLargeArcRadius-n)+\" 0 0 1 \"+i.leftInnerExtent+\" \"+(i.verticalFullExtent-n)+\" L \"+(i.rightInnerExtent-t)+\" \"+(i.verticalFullExtent-n)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightLargeArcRadius-n)+\" 0 0 1 \"+(i.rightFullExtent+n-t)+\" \"+i.verticalRightInnerExtent,r+=\" L \"+(i.rightFullExtent+n-t)+\" \"+(i.targetY+i.rightSmallArcRadius)+\" A \"+(i.rightLargeArcRadius-n)+\" \"+(i.rightSmallArcRadius-n)+\" 0 0 1 \"+(i.rightInnerExtent-t)+\" \"+(i.targetY+n)+\" L \"+(i.targetX-t)+\" \"+(i.targetY+n)+(t>0?\" L \"+i.targetX+\" \"+i.targetY:\"\")+\"Z\"),r}function zJ(){var e=.5;function t(r){var n=r.linkArrowLength;if(r.link.circular)return EWt(r.link,n);var i=Math.abs((r.link.target.x0-r.link.source.x1)/2);n>i&&(n=i);var a=r.link.source.x1,o=r.link.target.x0-n,s=mWt(a,o),l=s(e),u=s(1-e),c=r.link.y0-r.link.width/2,f=r.link.y0+r.link.width/2,h=r.link.y1-r.link.width/2,d=r.link.y1+r.link.width/2,v=\"M\"+a+\",\"+c,x=\"C\"+l+\",\"+c+\" \"+u+\",\"+h+\" \"+o+\",\"+h,b=\"C\"+u+\",\"+d+\" \"+l+\",\"+f+\" \"+a+\",\"+f,g=n>0?\"L\"+(o+n)+\",\"+(h+r.link.width/2):\"\";return g+=\"L\"+o+\",\"+d,v+x+g+b+\"Z\"}return t}function kWt(e,t){var r=PA(t.color),n=pu.nodePadAcross,i=e.nodePad/2;t.dx=t.x1-t.x0,t.dy=t.y1-t.y0;var a=t.dx,o=Math.max(.5,t.dy),s=\"node_\"+t.pointNumber;return t.group&&(s=p1.randstr()),t.trace=e.trace,t.curveNumber=e.trace.index,{index:t.pointNumber,key:s,partOfGroup:t.partOfGroup||!1,group:t.group,traceId:e.key,trace:e.trace,node:t,nodePad:e.nodePad,nodeLineColor:e.nodeLineColor,nodeLineWidth:e.nodeLineWidth,textFont:e.textFont,size:e.horizontal?e.height:e.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:e.horizontal?t.dy/2+1:t.dx/2+1,left:t.originalLayer===1,sizeAcross:e.width,forceLayouts:e.forceLayouts,horizontal:e.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:aw.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:e.valueFormat,valueSuffix:e.valueSuffix,sankey:e.sankey,graph:e.graph,arrangement:e.arrangement,uniqueNodeLabelPathId:[e.guid,e.key,s].join(\"_\"),interactionState:e.interactionState,figure:e}}function IJ(e){e.attr(\"transform\",function(t){return RJ(t.node.x0.toFixed(3),t.node.y0.toFixed(3))})}function CWt(e){e.call(IJ)}function Ije(e,t){e.call(CWt),t.attr(\"d\",zJ())}function Mje(e){e.attr(\"width\",function(t){return t.node.x1-t.node.x0}).attr(\"height\",function(t){return t.visibleHeight})}function PJ(e){return e.link.width>1||e.linkLineWidth>0}function Eje(e){var t=RJ(e.translateX,e.translateY);return t+(e.horizontal?\"matrix(1 0 0 1 0 0)\":\"matrix(0 1 1 0 0 0)\")}function kje(e,t,r){e.on(\".basic\",null).on(\"mouseover.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.hover(this,n,t),n.interactionState.hovered=[this,n])}).on(\"mousemove.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.follow(this,n),n.interactionState.hovered=[this,n])}).on(\"mouseout.basic\",function(n){!n.interactionState.dragInProgress&&!n.partOfGroup&&(r.unhover(this,n,t),n.interactionState.hovered=!1)}).on(\"click.basic\",function(n){n.interactionState.hovered&&(r.unhover(this,n,t),n.interactionState.hovered=!1),!n.interactionState.dragInProgress&&!n.partOfGroup&&r.select(this,n,t)})}function LWt(e,t,r,n){var i=LA.behavior.drag().origin(function(a){return{x:a.node.x0+a.visibleWidth/2,y:a.node.y0+a.visibleHeight/2}}).on(\"dragstart\",function(a){if(a.arrangement!==\"fixed\"&&(p1.ensureSingle(n._fullLayout._infolayer,\"g\",\"dragcover\",function(s){n._fullLayout._dragCover=s}),p1.raiseToTop(this),a.interactionState.dragInProgress=a.node,Cje(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),a.arrangement===\"snap\")){var o=a.traceId+\"|\"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):PWt(e,o,a,n),IWt(e,t,a,o,n)}}).on(\"drag\",function(a){if(a.arrangement!==\"fixed\"){var o=LA.event.x,s=LA.event.y;a.arrangement===\"snap\"?(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2,a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2):(a.arrangement===\"freeform\"&&(a.node.x0=o-a.visibleWidth/2,a.node.x1=o+a.visibleWidth/2),s=Math.max(0,Math.min(a.size-a.visibleHeight/2,s)),a.node.y0=s-a.visibleHeight/2,a.node.y1=s+a.visibleHeight/2),Cje(a.node),a.arrangement!==\"snap\"&&(a.sankey.update(a.graph),Ije(e.filter(Dje(a)),t))}}).on(\"dragend\",function(a){if(a.arrangement!==\"fixed\"){a.interactionState.dragInProgress=!1;for(var o=0;o0)window.requestAnimationFrame(a);else{var l=r.node.originalX;r.node.x0=l-r.visibleWidth/2,r.node.x1=l+r.visibleWidth/2,Rje(r,i)}})}function RWt(e,t,r,n){return function(){for(var a=0,o=0;o0&&n.forceLayouts[t].alpha(0)}}function Rje(e,t){for(var r=[],n=[],i=0;i{\"use strict\";var Zv=xa(),qJ=Mr(),b7=qJ.numberFormat,qWt=Fje(),IA=Nc(),OWt=va(),Ax=LJ().cn,Gk=qJ._;function qje(e){return e!==\"\"}function RA(e,t){return e.filter(function(r){return r.key===t.traceId})}function Oje(e,t){Zv.select(e).select(\"path\").style(\"fill-opacity\",t),Zv.select(e).select(\"rect\").style(\"fill-opacity\",t)}function Bje(e){Zv.select(e).select(\"text.name\").style(\"fill\",\"black\")}function Nje(e){return function(t){return e.node.sourceLinks.indexOf(t.link)!==-1||e.node.targetLinks.indexOf(t.link)!==-1}}function Uje(e){return function(t){return t.node.sourceLinks.indexOf(e.link)!==-1||t.node.targetLinks.indexOf(e.link)!==-1}}function Vje(e,t,r){t&&r&&RA(r,t).selectAll(\".\"+Ax.sankeyLink).filter(Nje(t)).call(Hje.bind(0,t,r,!1))}function FJ(e,t,r){t&&r&&RA(r,t).selectAll(\".\"+Ax.sankeyLink).filter(Nje(t)).call(Gje.bind(0,t,r,!1))}function Hje(e,t,r,n){n.style(\"fill\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverHue}).style(\"fill-opacity\",function(i){if(!i.link.concentrationscale)return i.tinyColorHoverAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&RA(t,e).selectAll(\".\"+Ax.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverHue}).style(\"fill-opacity\",function(o){if(!o.link.concentrationscale)return o.tinyColorHoverAlpha})}),r&&RA(t,e).selectAll(\".\"+Ax.sankeyNode).filter(Uje(e)).call(Vje)}function Gje(e,t,r,n){n.style(\"fill\",function(i){return i.tinyColorHue}).style(\"fill-opacity\",function(i){return i.tinyColorAlpha}),n.each(function(i){var a=i.link.label;a!==\"\"&&RA(t,e).selectAll(\".\"+Ax.sankeyLink).filter(function(o){return o.link.label===a}).style(\"fill\",function(o){return o.tinyColorHue}).style(\"fill-opacity\",function(o){return o.tinyColorAlpha})}),r&&RA(t,e).selectAll(Ax.sankeyNode).filter(Uje(e)).call(FJ)}function lf(e,t){var r=e.hoverlabel||{},n=qJ.nestedProperty(r,t).get();return Array.isArray(n)?!1:n}jje.exports=function(t,r){for(var n=t._fullLayout,i=n._paper,a=n._size,o=0;o\"),color:lf(C,\"bgcolor\")||OWt.addOpacity(F.color,1),borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:Zv.event.x\"),color:lf(C,\"bgcolor\")||_.tinyColorHue,borderColor:lf(C,\"bordercolor\"),fontFamily:lf(C,\"font.family\"),fontSize:lf(C,\"font.size\"),fontColor:lf(C,\"font.color\"),fontWeight:lf(C,\"font.weight\"),fontStyle:lf(C,\"font.style\"),fontVariant:lf(C,\"font.variant\"),fontTextcase:lf(C,\"font.textcase\"),fontLineposition:lf(C,\"font.lineposition\"),fontShadow:lf(C,\"font.shadow\"),nameLength:lf(C,\"namelength\"),textAlign:lf(C,\"align\"),idealAlign:\"left\",hovertemplate:C.hovertemplate,hovertemplateLabels:V,eventData:[_.node]},{container:n._hoverlayer.node(),outerContainer:n._paper.node(),gd:t});Oje(G,.85),Bje(G)}}},A=function(L,_,C){t._fullLayout.hovermode!==!1&&(Zv.select(L).call(FJ,_,C),_.node.trace.node.hoverinfo!==\"skip\"&&(_.node.fullData=_.node.trace,t.emit(\"plotly_unhover\",{event:Zv.event,points:[_.node]})),IA.loneUnhover(n._hoverlayer.node()))};qWt(t,i,r,{width:a.w,height:a.h,margin:{t:a.t,r:a.r,b:a.b,l:a.l}},{linkEvents:{hover:u,follow:x,unhover:b,select:l},nodeEvents:{hover:E,follow:k,unhover:A,select:g}})}});var Wje=ye(ow=>{\"use strict\";var BWt=Bu().overrideAll,NWt=kd().getModuleCalcData,UWt=OJ(),VWt=B1(),HWt=Tg(),GWt=gv(),jWt=wf().prepSelect,BJ=Mr(),WWt=ba(),w7=\"sankey\";ow.name=w7;ow.baseLayoutAttrOverrides=BWt({hoverlabel:VWt.hoverlabel},\"plot\",\"nested\");ow.plot=function(e){var t=NWt(e.calcdata,w7)[0];UWt(e,t),ow.updateFx(e)};ow.clean=function(e,t,r,n){var i=n._has&&n._has(w7),a=t._has&&t._has(w7);i&&!a&&(n._paperdiv.selectAll(\".sankey\").remove(),n._paperdiv.selectAll(\".bgsankey\").remove())};ow.updateFx=function(e){for(var t=0;t{\"use strict\";Zje.exports=function(t,r){for(var n=t.cd,i=[],a=n[0].trace,o=a._sankey.graph.nodes,s=0;s{\"use strict\";Yje.exports={attributes:EJ(),supplyDefaults:QGe(),calc:nje(),plot:OJ(),moduleType:\"trace\",name:\"sankey\",basePlotModule:Wje(),selectPoints:Xje(),categories:[\"noOpacity\"],meta:{}}});var $je=ye((h_r,Jje)=>{\"use strict\";Jje.exports=Kje()});var eWe=ye(DA=>{\"use strict\";var Qje=Xu();DA.name=\"indicator\";DA.plot=function(e,t,r,n){Qje.plotBasePlot(DA.name,e,t,r,n)};DA.clean=function(e,t,r,n){Qje.cleanBasePlot(DA.name,e,t,r,n)}});var UJ=ye((v_r,oWe)=>{\"use strict\";var Sx=no().extendFlat,rWe=no().extendDeep,XWt=Bu().overrideAll,iWe=Su(),nWe=dh(),YWt=Ju().attributes,Sf=Cd(),KWt=Vs().templatedArray,T7=HT(),tWe=Oc().descriptionOnlyNumbers,NJ=iWe({editType:\"plot\",colorEditType:\"plot\"}),jk={color:{valType:\"color\",editType:\"plot\"},line:{color:{valType:\"color\",dflt:nWe.defaultLine,editType:\"plot\"},width:{valType:\"number\",min:0,dflt:0,editType:\"plot\"},editType:\"calc\"},thickness:{valType:\"number\",min:0,max:1,dflt:1,editType:\"plot\"},editType:\"calc\"},aWe={valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],editType:\"plot\"},JWt=KWt(\"step\",rWe({},jk,{range:aWe}));oWe.exports={mode:{valType:\"flaglist\",editType:\"calc\",flags:[\"number\",\"delta\",\"gauge\"],dflt:\"number\"},value:{valType:\"number\",editType:\"calc\",anim:!0},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},domain:YWt({name:\"indicator\",trace:!0,editType:\"calc\"}),title:{text:{valType:\"string\",editType:\"plot\"},align:{valType:\"enumerated\",values:[\"left\",\"center\",\"right\"],editType:\"plot\"},font:Sx({},NJ,{}),editType:\"plot\"},number:{valueformat:{valType:\"string\",dflt:\"\",editType:\"plot\",description:tWe(\"value\")},font:Sx({},NJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"plot\"},delta:{reference:{valType:\"number\",editType:\"calc\"},position:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"left\",\"right\"],dflt:\"bottom\",editType:\"plot\"},relative:{valType:\"boolean\",editType:\"plot\",dflt:!1},valueformat:{valType:\"string\",editType:\"plot\",description:tWe(\"value\")},increasing:{symbol:{valType:\"string\",dflt:T7.INCREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:T7.INCREASING.COLOR,editType:\"plot\"},editType:\"plot\"},decreasing:{symbol:{valType:\"string\",dflt:T7.DECREASING.SYMBOL,editType:\"plot\"},color:{valType:\"color\",dflt:T7.DECREASING.COLOR,editType:\"plot\"},editType:\"plot\"},font:Sx({},NJ,{}),prefix:{valType:\"string\",dflt:\"\",editType:\"plot\"},suffix:{valType:\"string\",dflt:\"\",editType:\"plot\"},editType:\"calc\"},gauge:{shape:{valType:\"enumerated\",editType:\"plot\",dflt:\"angular\",values:[\"angular\",\"bullet\"]},bar:rWe({},jk,{color:{dflt:\"green\"}}),bgcolor:{valType:\"color\",editType:\"plot\"},bordercolor:{valType:\"color\",dflt:nWe.defaultLine,editType:\"plot\"},borderwidth:{valType:\"number\",min:0,dflt:1,editType:\"plot\"},axis:XWt({range:aWe,visible:Sx({},Sf.visible,{dflt:!0}),tickmode:Sf.minor.tickmode,nticks:Sf.nticks,tick0:Sf.tick0,dtick:Sf.dtick,tickvals:Sf.tickvals,ticktext:Sf.ticktext,ticks:Sx({},Sf.ticks,{dflt:\"outside\"}),ticklen:Sf.ticklen,tickwidth:Sf.tickwidth,tickcolor:Sf.tickcolor,ticklabelstep:Sf.ticklabelstep,showticklabels:Sf.showticklabels,labelalias:Sf.labelalias,tickfont:iWe({}),tickangle:Sf.tickangle,tickformat:Sf.tickformat,tickformatstops:Sf.tickformatstops,tickprefix:Sf.tickprefix,showtickprefix:Sf.showtickprefix,ticksuffix:Sf.ticksuffix,showticksuffix:Sf.showticksuffix,separatethousands:Sf.separatethousands,exponentformat:Sf.exponentformat,minexponent:Sf.minexponent,showexponent:Sf.showexponent,editType:\"plot\"},\"plot\"),steps:JWt,threshold:{line:{color:Sx({},jk.line.color,{}),width:Sx({},jk.line.width,{dflt:1}),editType:\"plot\"},thickness:Sx({},jk.thickness,{dflt:.85}),value:{valType:\"number\",editType:\"calc\",dflt:!1},editType:\"plot\"},editType:\"plot\"}}});var VJ=ye((p_r,sWe)=>{\"use strict\";sWe.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}});var cWe=ye((g_r,uWe)=>{\"use strict\";var ey=Mr(),S7=UJ(),$Wt=Ju().defaults,lWe=Vs(),QWt=Zd(),A7=VJ(),eZt=xb(),tZt=T3(),rZt=e_(),iZt=t_();function nZt(e,t,r,n){function i(_,C){return ey.coerce(e,t,S7,_,C)}$Wt(t,n,i),i(\"mode\"),t._hasNumber=t.mode.indexOf(\"number\")!==-1,t._hasDelta=t.mode.indexOf(\"delta\")!==-1,t._hasGauge=t.mode.indexOf(\"gauge\")!==-1;var a=i(\"value\");t._range=[0,typeof a==\"number\"?1.5*a:1];var o=new Array(2),s;if(t._hasNumber){i(\"number.valueformat\");var l=ey.extendFlat({},n.font);l.size=void 0,ey.coerceFont(i,\"number.font\",l),t.number.font.size===void 0&&(t.number.font.size=A7.defaultNumberFontSize,o[0]=!0),i(\"number.prefix\"),i(\"number.suffix\"),s=t.number.font.size}var u;if(t._hasDelta){var c=ey.extendFlat({},n.font);c.size=void 0,ey.coerceFont(i,\"delta.font\",c),t.delta.font.size===void 0&&(t.delta.font.size=(t._hasNumber?.5:1)*(s||A7.defaultNumberFontSize),o[1]=!0),i(\"delta.reference\",t.value),i(\"delta.relative\"),i(\"delta.valueformat\",t.delta.relative?\"2%\":\"\"),i(\"delta.increasing.symbol\"),i(\"delta.increasing.color\"),i(\"delta.decreasing.symbol\"),i(\"delta.decreasing.color\"),i(\"delta.position\"),i(\"delta.prefix\"),i(\"delta.suffix\"),u=t.delta.font.size}t._scaleNumbers=(!t._hasNumber||o[0])&&(!t._hasDelta||o[1])||!1;var f=ey.extendFlat({},n.font);f.size=.25*(s||u||A7.defaultNumberFontSize),ey.coerceFont(i,\"title.font\",f),i(\"title.text\");var h,d,v,x;function b(_,C){return ey.coerce(h,d,S7.gauge,_,C)}function g(_,C){return ey.coerce(v,x,S7.gauge.axis,_,C)}if(t._hasGauge){h=e.gauge,h||(h={}),d=lWe.newContainer(t,\"gauge\"),b(\"shape\");var E=t._isBullet=t.gauge.shape===\"bullet\";E||i(\"title.align\",\"center\");var k=t._isAngular=t.gauge.shape===\"angular\";k||i(\"align\",\"center\"),b(\"bgcolor\",n.paper_bgcolor),b(\"borderwidth\"),b(\"bordercolor\"),b(\"bar.color\"),b(\"bar.line.color\"),b(\"bar.line.width\");var A=A7.valueThickness*(t.gauge.shape===\"bullet\"?.5:1);b(\"bar.thickness\",A),QWt(h,d,{name:\"steps\",handleItemDefaults:aZt}),b(\"threshold.value\"),b(\"threshold.thickness\"),b(\"threshold.line.width\"),b(\"threshold.line.color\"),v={},h&&(v=h.axis||{}),x=lWe.newContainer(d,\"axis\"),g(\"visible\"),t._range=g(\"range\",t._range);var L={font:n.font,noAutotickangles:!0,outerTicks:!0,noTicklabelshift:!0,noTicklabelstandoff:!0};eZt(v,x,g,\"linear\"),iZt(v,x,g,\"linear\",L),rZt(v,x,g,\"linear\",L),tZt(v,x,g,L)}else i(\"title.align\",\"center\"),i(\"align\",\"center\"),t._isAngular=t._isBullet=!1;t._length=null}function aZt(e,t){function r(n,i){return ey.coerce(e,t,S7.gauge.steps,n,i)}r(\"color\"),r(\"line.color\"),r(\"line.width\"),r(\"range\"),r(\"thickness\")}uWe.exports={supplyDefaults:nZt}});var hWe=ye((m_r,fWe)=>{\"use strict\";function oZt(e,t){var r=[],n=t.value;typeof t._lastValue!=\"number\"&&(t._lastValue=t.value);var i=t._lastValue,a=i;return t._hasDelta&&typeof t.delta.reference==\"number\"&&(a=t.delta.reference),r[0]={y:n,lastY:i,delta:n-a,relativeDelta:(n-a)/a},r}fWe.exports={calc:oZt}});var yWe=ye((y_r,mWe)=>{\"use strict\";var fw=xa(),sZt=(R2(),ab(I2)).interpolate,dWe=(R2(),ab(I2)).interpolateNumber,Mx=Mr(),lZt=Mx.strScale,Zk=Mx.strTranslate,uZt=Mx.rad2deg,cZt=Nh().MID_SHIFT,cw=ao(),sw=VJ(),E7=Ll(),av=Qa(),fZt=JM(),hZt=rI(),dZt=Cd(),zA=va(),HJ={left:\"start\",center:\"middle\",right:\"end\"},lw={left:0,center:.5,right:1},vWe=/[yzafpnµmkMGTPEZY]/;function Xk(e){return e&&e.duration>0}mWe.exports=function(t,r,n,i){var a=t._fullLayout,o;Xk(n)&&i&&(o=i()),Mx.makeTraceGroups(a._indicatorlayer,r,\"trace\").each(function(s){var l=s[0],u=l.trace,c=fw.select(this),f=u._hasGauge,h=u._isAngular,d=u._isBullet,v=u.domain,x={w:a._size.w*(v.x[1]-v.x[0]),h:a._size.h*(v.y[1]-v.y[0]),l:a._size.l+a._size.w*v.x[0],r:a._size.r+a._size.w*(1-v.x[1]),t:a._size.t+a._size.h*(1-v.y[1]),b:a._size.b+a._size.h*v.y[0]},b=x.l+x.w/2,g=x.t+x.h/2,E=Math.min(x.w/2,x.h),k=sw.innerRadius*E,A,L,_,C=u.align||\"center\";if(L=g,!f)A=x.l+lw[C]*x.w,_=function(G){return pWe(G,x.w,x.h)};else if(h&&(A=b,L=g+E/2,_=function(G){return yZt(G,.9*k)}),d){var M=sw.bulletPadding,p=1-sw.bulletNumberDomainSize+M;A=x.l+(p+(1-p)*lw[C])*x.w,_=function(G){return pWe(G,(sw.bulletNumberDomainSize-M)*x.w,x.h)}}gZt(t,c,s,{numbersX:A,numbersY:L,numbersScaler:_,transitionOpts:n,onComplete:o});var P,T;f&&(P={range:u.gauge.axis.range,color:u.gauge.bgcolor,line:{color:u.gauge.bordercolor,width:0},thickness:1},T={range:u.gauge.axis.range,color:\"rgba(0, 0, 0, 0)\",line:{color:u.gauge.bordercolor,width:u.gauge.borderwidth},thickness:1});var F=c.selectAll(\"g.angular\").data(h?s:[]);F.exit().remove();var q=c.selectAll(\"g.angularaxis\").data(h?s:[]);q.exit().remove(),h&&pZt(t,c,s,{radius:E,innerRadius:k,gauge:F,layer:q,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var V=c.selectAll(\"g.bullet\").data(d?s:[]);V.exit().remove();var H=c.selectAll(\"g.bulletaxis\").data(d?s:[]);H.exit().remove(),d&&vZt(t,c,s,{gauge:V,layer:H,size:x,gaugeBg:P,gaugeOutline:T,transitionOpts:n,onComplete:o});var X=c.selectAll(\"text.title\").data(s);X.exit().remove(),X.enter().append(\"text\").classed(\"title\",!0),X.attr(\"text-anchor\",function(){return d?HJ.right:HJ[u.title.align]}).text(u.title.text).call(cw.font,u.title.font).call(E7.convertToTspans,t),X.attr(\"transform\",function(){var G=x.l+x.w*lw[u.title.align],N,W=sw.titlePadding,re=cw.bBox(X.node());if(f){if(h)if(u.gauge.axis.visible){var ae=cw.bBox(q.node());N=ae.top-W-re.bottom}else N=x.t+x.h/2-E/2-re.bottom-W;d&&(N=L-(re.top+re.bottom)/2,G=x.l-sw.bulletPadding*x.w)}else N=u._numbersTop-W-re.bottom;return Zk(G,N)})})};function vZt(e,t,r,n){var i=r[0].trace,a=n.gauge,o=n.layer,s=n.gaugeBg,l=n.gaugeOutline,u=n.size,c=i.domain,f=n.transitionOpts,h=n.onComplete,d,v,x,b,g;a.enter().append(\"g\").classed(\"bullet\",!0),a.attr(\"transform\",Zk(u.l,u.t)),o.enter().append(\"g\").classed(\"bulletaxis\",!0).classed(\"crisp\",!0),o.selectAll(\"g.xbulletaxistick,path,text\").remove();var E=u.h,k=i.gauge.bar.thickness*E,A=c.x[0],L=c.x[0]+(c.x[1]-c.x[0])*(i._hasNumber||i._hasDelta?1-sw.bulletNumberDomainSize:1);d=Wk(e,i.gauge.axis),d._id=\"xbulletaxis\",d.domain=[A,L],d.setScale(),v=av.calcTicks(d),x=av.makeTransTickFn(d),b=av.getTickSigns(d)[2],g=u.t+u.h,d.visible&&(av.drawTicks(e,d,{vals:d.ticks===\"inside\"?av.clipEnds(d,v):v,layer:o,path:av.makeTickPath(d,g,b),transFn:x}),av.drawLabels(e,d,{vals:v,layer:o,transFn:x,labelFns:av.makeLabelFns(d,g)}));function _(q){q.attr(\"width\",function(V){return Math.max(0,d.c2p(V.range[1])-d.c2p(V.range[0]))}).attr(\"x\",function(V){return d.c2p(V.range[0])}).attr(\"y\",function(V){return .5*(1-V.thickness)*E}).attr(\"height\",function(V){return V.thickness*E})}var C=[s].concat(i.gauge.steps),M=a.selectAll(\"g.bg-bullet\").data(C);M.enter().append(\"g\").classed(\"bg-bullet\",!0).append(\"rect\"),M.select(\"rect\").call(_).call(uw),M.exit().remove();var p=a.selectAll(\"g.value-bullet\").data([i.gauge.bar]);p.enter().append(\"g\").classed(\"value-bullet\",!0).append(\"rect\"),p.select(\"rect\").attr(\"height\",k).attr(\"y\",(E-k)/2).call(uw),Xk(f)?p.select(\"rect\").transition().duration(f.duration).ease(f.easing).each(\"end\",function(){h&&h()}).each(\"interrupt\",function(){h&&h()}).attr(\"width\",Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y)))):p.select(\"rect\").attr(\"width\",typeof r[0].y==\"number\"?Math.max(0,d.c2p(Math.min(i.gauge.axis.range[1],r[0].y))):0),p.exit().remove();var P=r.filter(function(){return i.gauge.threshold.value||i.gauge.threshold.value===0}),T=a.selectAll(\"g.threshold-bullet\").data(P);T.enter().append(\"g\").classed(\"threshold-bullet\",!0).append(\"line\"),T.select(\"line\").attr(\"x1\",d.c2p(i.gauge.threshold.value)).attr(\"x2\",d.c2p(i.gauge.threshold.value)).attr(\"y1\",(1-i.gauge.threshold.thickness)/2*E).attr(\"y2\",(1-(1-i.gauge.threshold.thickness)/2)*E).call(zA.stroke,i.gauge.threshold.line.color).style(\"stroke-width\",i.gauge.threshold.line.width),T.exit().remove();var F=a.selectAll(\"g.gauge-outline\").data([l]);F.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"rect\"),F.select(\"rect\").call(_).call(uw),F.exit().remove()}function pZt(e,t,r,n){var i=r[0].trace,a=n.size,o=n.radius,s=n.innerRadius,l=n.gaugeBg,u=n.gaugeOutline,c=[a.l+a.w/2,a.t+a.h/2+o/2],f=n.gauge,h=n.layer,d=n.transitionOpts,v=n.onComplete,x=Math.PI/2;function b(_e){var Me=i.gauge.axis.range[0],ke=i.gauge.axis.range[1],ge=(_e-Me)/(ke-Me)*Math.PI-x;return ge<-x?-x:ge>x?x:ge}function g(_e){return fw.svg.arc().innerRadius((s+o)/2-_e/2*(o-s)).outerRadius((s+o)/2+_e/2*(o-s)).startAngle(-x)}function E(_e){_e.attr(\"d\",function(Me){return g(Me.thickness).startAngle(b(Me.range[0])).endAngle(b(Me.range[1]))()})}var k,A,L,_;f.enter().append(\"g\").classed(\"angular\",!0),f.attr(\"transform\",Zk(c[0],c[1])),h.enter().append(\"g\").classed(\"angularaxis\",!0).classed(\"crisp\",!0),h.selectAll(\"g.xangularaxistick,path,text\").remove(),k=Wk(e,i.gauge.axis),k.type=\"linear\",k.range=i.gauge.axis.range,k._id=\"xangularaxis\",k.ticklabeloverflow=\"allow\",k.setScale();var C=function(_e){return(k.range[0]-_e.x)/(k.range[1]-k.range[0])*Math.PI+Math.PI},M={},p=av.makeLabelFns(k,0),P=p.labelStandoff;M.xFn=function(_e){var Me=C(_e);return Math.cos(Me)*P},M.yFn=function(_e){var Me=C(_e),ke=Math.sin(Me)>0?.2:1;return-Math.sin(Me)*(P+_e.fontSize*ke)+Math.abs(Math.cos(Me))*(_e.fontSize*cZt)},M.anchorFn=function(_e){var Me=C(_e),ke=Math.cos(Me);return Math.abs(ke)<.1?\"middle\":ke>0?\"start\":\"end\"},M.heightFn=function(_e,Me,ke){var ge=C(_e);return-.5*(1+Math.sin(ge))*ke};var T=function(_e){return Zk(c[0]+o*Math.cos(_e),c[1]-o*Math.sin(_e))};L=function(_e){return T(C(_e))};var F=function(_e){var Me=C(_e);return T(Me)+\"rotate(\"+-uZt(Me)+\")\"};if(A=av.calcTicks(k),_=av.getTickSigns(k)[2],k.visible){_=k.ticks===\"inside\"?-1:1;var q=(k.linewidth||1)/2;av.drawTicks(e,k,{vals:A,layer:h,path:\"M\"+_*q+\",0h\"+_*k.ticklen,transFn:F}),av.drawLabels(e,k,{vals:A,layer:h,transFn:L,labelFns:M})}var V=[l].concat(i.gauge.steps),H=f.selectAll(\"g.bg-arc\").data(V);H.enter().append(\"g\").classed(\"bg-arc\",!0).append(\"path\"),H.select(\"path\").call(E).call(uw),H.exit().remove();var X=g(i.gauge.bar.thickness),G=f.selectAll(\"g.value-arc\").data([i.gauge.bar]);G.enter().append(\"g\").classed(\"value-arc\",!0).append(\"path\");var N=G.select(\"path\");Xk(d)?(N.transition().duration(d.duration).ease(d.easing).each(\"end\",function(){v&&v()}).each(\"interrupt\",function(){v&&v()}).attrTween(\"d\",mZt(X,b(r[0].lastY),b(r[0].y))),i._lastValue=r[0].y):N.attr(\"d\",typeof r[0].y==\"number\"?X.endAngle(b(r[0].y)):\"M0,0Z\"),N.call(uw),G.exit().remove(),V=[];var W=i.gauge.threshold.value;(W||W===0)&&V.push({range:[W,W],color:i.gauge.threshold.color,line:{color:i.gauge.threshold.line.color,width:i.gauge.threshold.line.width},thickness:i.gauge.threshold.thickness});var re=f.selectAll(\"g.threshold-arc\").data(V);re.enter().append(\"g\").classed(\"threshold-arc\",!0).append(\"path\"),re.select(\"path\").call(E).call(uw),re.exit().remove();var ae=f.selectAll(\"g.gauge-outline\").data([u]);ae.enter().append(\"g\").classed(\"gauge-outline\",!0).append(\"path\"),ae.select(\"path\").call(E).call(uw),ae.exit().remove()}function gZt(e,t,r,n){var i=r[0].trace,a=n.numbersX,o=n.numbersY,s=i.align||\"center\",l=HJ[s],u=n.transitionOpts,c=n.onComplete,f=Mx.ensureSingle(t,\"g\",\"numbers\"),h,d,v,x=[];i._hasNumber&&x.push(\"number\"),i._hasDelta&&(x.push(\"delta\"),i.delta.position===\"left\"&&x.reverse());var b=f.selectAll(\"text\").data(x);b.enter().append(\"text\"),b.attr(\"text-anchor\",function(){return l}).attr(\"class\",function(T){return T}).attr(\"x\",null).attr(\"y\",null).attr(\"dx\",null).attr(\"dy\",null),b.exit().remove();function g(T,F,q,V){if(T.match(\"s\")&&q>=0!=V>=0&&!F(q).slice(-1).match(vWe)&&!F(V).slice(-1).match(vWe)){var H=T.slice().replace(\"s\",\"f\").replace(/\\d+/,function(G){return parseInt(G)-1}),X=Wk(e,{tickformat:H});return function(G){return Math.abs(G)<1?av.tickText(X,G).text:F(G)}}else return F}function E(){var T=Wk(e,{tickformat:i.number.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(G){return av.tickText(T,G).text},q=i.number.suffix,V=i.number.prefix,H=f.select(\"text.number\");function X(){var G=typeof r[0].y==\"number\"?V+F(r[0].y)+q:\"-\";H.text(G).call(cw.font,i.number.font).call(E7.convertToTspans,e)}return Xk(u)?H.transition().duration(u.duration).ease(u.easing).each(\"end\",function(){X(),c&&c()}).each(\"interrupt\",function(){X(),c&&c()}).attrTween(\"text\",function(){var G=fw.select(this),N=dWe(r[0].lastY,r[0].y);i._lastValue=r[0].y;var W=g(i.number.valueformat,F,r[0].lastY,r[0].y);return function(re){G.text(V+W(N(re))+q)}}):X(),h=gWe(V+F(r[0].y)+q,i.number.font,l,e),H}function k(){var T=Wk(e,{tickformat:i.delta.valueformat},i._range);T.setScale(),av.prepTicks(T);var F=function(re){return av.tickText(T,re).text},q=i.delta.suffix,V=i.delta.prefix,H=function(re){var ae=i.delta.relative?re.relativeDelta:re.delta;return ae},X=function(re,ae){return re===0||typeof re!=\"number\"||isNaN(re)?\"-\":(re>0?i.delta.increasing.symbol:i.delta.decreasing.symbol)+V+ae(re)+q},G=function(re){return re.delta>=0?i.delta.increasing.color:i.delta.decreasing.color};i._deltaLastValue===void 0&&(i._deltaLastValue=H(r[0]));var N=f.select(\"text.delta\");N.call(cw.font,i.delta.font).call(zA.fill,G({delta:i._deltaLastValue}));function W(){N.text(X(H(r[0]),F)).call(zA.fill,G(r[0])).call(E7.convertToTspans,e)}return Xk(u)?N.transition().duration(u.duration).ease(u.easing).tween(\"text\",function(){var re=fw.select(this),ae=H(r[0]),_e=i._deltaLastValue,Me=g(i.delta.valueformat,F,_e,ae),ke=dWe(_e,ae);return i._deltaLastValue=ae,function(ge){re.text(X(ke(ge),Me)),re.call(zA.fill,G({delta:ke(ge)}))}}).each(\"end\",function(){W(),c&&c()}).each(\"interrupt\",function(){W(),c&&c()}):W(),d=gWe(X(H(r[0]),F),i.delta.font,l,e),N}var A=i.mode+i.align,L;if(i._hasDelta&&(L=k(),A+=i.delta.position+i.delta.font.size+i.delta.font.family+i.delta.valueformat,A+=i.delta.increasing.symbol+i.delta.decreasing.symbol,v=d),i._hasNumber&&(E(),A+=i.number.font.size+i.number.font.family+i.number.valueformat+i.number.suffix+i.number.prefix,v=h),i._hasDelta&&i._hasNumber){var _=[(h.left+h.right)/2,(h.top+h.bottom)/2],C=[(d.left+d.right)/2,(d.top+d.bottom)/2],M,p,P=.75*i.delta.font.size;i.delta.position===\"left\"&&(M=M7(i,\"deltaPos\",0,-1*(h.width*lw[i.align]+d.width*(1-lw[i.align])+P),A,Math.min),p=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:d.left+M,right:h.right,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position===\"right\"&&(M=M7(i,\"deltaPos\",0,h.width*(1-lw[i.align])+d.width*lw[i.align]+P,A,Math.max),p=_[1]-C[1],v={width:h.width+d.width+P,height:Math.max(h.height,d.height),left:h.left,right:d.right+M,top:Math.min(h.top,d.top+p),bottom:Math.max(h.bottom,d.bottom+p)}),i.delta.position===\"bottom\"&&(M=null,p=d.height,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height,bottom:h.bottom+d.height}),i.delta.position===\"top\"&&(M=null,p=h.top,v={width:Math.max(h.width,d.width),height:h.height+d.height,left:Math.min(h.left,d.left),right:Math.max(h.right,d.right),top:h.bottom-h.height-d.height,bottom:h.bottom}),L.attr({dx:M,dy:p})}(i._hasNumber||i._hasDelta)&&f.attr(\"transform\",function(){var T=n.numbersScaler(v);A+=T[2];var F=M7(i,\"numbersScale\",1,T[0],A,Math.min),q;i._scaleNumbers||(F=1),i._isAngular?q=o-F*v.bottom:q=o-F*(v.top+v.bottom)/2,i._numbersTop=F*v.top+q;var V=v[s];s===\"center\"&&(V=(v.left+v.right)/2);var H=a-F*V;return H=M7(i,\"numbersTranslate\",0,H,A,Math.max),Zk(H,q)+lZt(F)})}function uw(e){e.each(function(t){zA.stroke(fw.select(this),t.line.color)}).each(function(t){zA.fill(fw.select(this),t.color)}).style(\"stroke-width\",function(t){return t.line.width})}function mZt(e,t,r){return function(){var n=sZt(t,r);return function(i){return e.endAngle(n(i))()}}}function Wk(e,t,r){var n=e._fullLayout,i=Mx.extendFlat({type:\"linear\",ticks:\"outside\",range:r,showline:!0},t),a={type:\"linear\",_id:\"x\"+t._id},o={letter:\"x\",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function s(l,u){return Mx.coerce(i,a,dZt,l,u)}return fZt(i,a,s,o,n),hZt(i,a,s,o),a}function pWe(e,t,r){var n=Math.min(t/e.width,r/e.height);return[n,e,t+\"x\"+r]}function yZt(e,t){var r=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),n=t/r;return[n,e,t]}function gWe(e,t,r,n){var i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"text\"),a=fw.select(i);return a.text(e).attr(\"x\",0).attr(\"y\",0).attr(\"text-anchor\",r).attr(\"data-unformatted\",e).call(E7.convertToTspans,n).call(cw.font,t),cw.bBox(a.node())}function M7(e,t,r,n,i,a){var o=\"_cache\"+t;e[o]&&e[o].key===i||(e[o]={key:i,value:r});var s=Mx.aggNums(a,null,[e[o].value,n],2);return e[o].value=s,s}});var xWe=ye((__r,_We)=>{\"use strict\";_We.exports={moduleType:\"trace\",name:\"indicator\",basePlotModule:eWe(),categories:[\"svg\",\"noOpacity\",\"noHover\"],animatable:!0,attributes:UJ(),supplyDefaults:cWe().supplyDefaults,calc:hWe().calc,plot:yWe(),meta:{}}});var wWe=ye((x_r,bWe)=>{\"use strict\";bWe.exports=xWe()});var GJ=ye((w_r,MWe)=>{\"use strict\";var TWe=Nb(),k7=no().extendFlat,_Zt=Bu().overrideAll,AWe=Su(),xZt=Ju().attributes,SWe=Oc().descriptionOnlyNumbers,b_r=MWe.exports=_Zt({domain:xZt({name:\"table\",trace:!0}),columnwidth:{valType:\"number\",arrayOk:!0,dflt:null},columnorder:{valType:\"data_array\"},header:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:SWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:28},align:k7({},TWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:k7({},AWe({arrayOk:!0}))},cells:{values:{valType:\"data_array\",dflt:[]},format:{valType:\"data_array\",dflt:[],description:SWe(\"cell value\")},prefix:{valType:\"string\",arrayOk:!0,dflt:null},suffix:{valType:\"string\",arrayOk:!0,dflt:null},height:{valType:\"number\",dflt:20},align:k7({},TWe.align,{arrayOk:!0}),line:{width:{valType:\"number\",arrayOk:!0,dflt:1},color:{valType:\"color\",arrayOk:!0,dflt:\"grey\"}},fill:{color:{valType:\"color\",arrayOk:!0,dflt:\"white\"}},font:k7({},AWe({arrayOk:!0}))}},\"calc\",\"from-root\")});var kWe=ye((T_r,EWe)=>{\"use strict\";var jJ=Mr(),bZt=GJ(),wZt=Ju().defaults;function TZt(e,t){for(var r=e.columnorder||[],n=e.header.values.length,i=r.slice(0,n),a=i.slice().sort(function(l,u){return l-u}),o=i.map(function(l){return a.indexOf(l)}),s=o.length;s{\"use strict\";var AZt=Km().wrap;CWe.exports=function(){return AZt({})}});var WJ=ye((S_r,PWe)=>{\"use strict\";PWe.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\\$.*\\$$/,goldenRatio:1.618,lineBreaker:\"
\",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:\"cubic-out\",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:\"cubic-out\",uplift:5,wrapSpacer:\" \",wrapSplitCharacter:\" \",cn:{table:\"table\",tableControlView:\"table-control-view\",scrollBackground:\"scroll-background\",yColumn:\"y-column\",columnBlock:\"column-block\",scrollAreaClip:\"scroll-area-clip\",scrollAreaClipRect:\"scroll-area-clip-rect\",columnBoundary:\"column-boundary\",columnBoundaryClippath:\"column-boundary-clippath\",columnBoundaryRect:\"column-boundary-rect\",columnCells:\"column-cells\",columnCell:\"column-cell\",cellRect:\"cell-rect\",cellText:\"cell-text\",cellTextHolder:\"cell-text-holder\",scrollbarKit:\"scrollbar-kit\",scrollbar:\"scrollbar\",scrollbarSlider:\"scrollbar-slider\",scrollbarGlyph:\"scrollbar-glyph\",scrollbarCaptureZone:\"scrollbar-capture-zone\"}}});var NWe=ye((M_r,BWe)=>{\"use strict\";var IWe=WJ(),XJ=no().extendFlat,SZt=uo(),MZt=vv().isTypedArray,C7=vv().isArrayOrTypedArray;BWe.exports=function(t,r){var n=ZJ(r.cells.values),i=function(p){return p.slice(r.header.values.length,p.length)},a=ZJ(r.header.values);a.length&&!a[0].length&&(a[0]=[\"\"],a=ZJ(a));var o=a.concat(i(n).map(function(){return OWe((a[0]||[\"\"]).length)})),s=r.domain,l=Math.floor(t._fullLayout._size.w*(s.x[1]-s.x[0])),u=Math.floor(t._fullLayout._size.h*(s.y[1]-s.y[0])),c=r.header.values.length?o[0].map(function(){return r.header.height}):[IWe.emptyHeaderHeight],f=n.length?n[0].map(function(){return r.cells.height}):[],h=c.reduce(RWe,0),d=u-h,v=d+IWe.uplift,x=FWe(f,v),b=FWe(c,h),g=zWe(b,[]),E=zWe(x,g),k={},A=r._fullInput.columnorder;C7(A)&&(A=Array.from(A)),A=A.concat(i(n.map(function(p,P){return P})));var L=o.map(function(p,P){var T=C7(r.columnwidth)?r.columnwidth[Math.min(P,r.columnwidth.length-1)]:r.columnwidth;return SZt(T)?Number(T):1}),_=L.reduce(RWe,0);L=L.map(function(p){return p/_*l});var C=Math.max(YJ(r.header.line.width),YJ(r.cells.line.width)),M={key:r.uid+t._context.staticPlot,translateX:s.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-s.y[1]),size:t._fullLayout._size,width:l,maxLineWidth:C,height:u,columnOrder:A,groupHeight:u,rowBlocks:E,headerRowBlocks:g,scrollY:0,cells:XJ({},r.cells,{values:n}),headerCells:XJ({},r.header,{values:o}),gdColumns:o.map(function(p){return p[0]}),gdColumnsOriginalOrder:o.map(function(p){return p[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:o.map(function(p,P){var T=k[p];k[p]=(T||0)+1;var F=p+\"__\"+k[p];return{key:F,label:p,specIndex:P,xIndex:A[P],xScale:DWe,x:void 0,calcdata:void 0,columnWidth:L[P]}})};return M.columns.forEach(function(p){p.calcdata=M,p.x=DWe(p)}),M};function YJ(e){if(C7(e)){for(var t=0,r=0;r=t||u===e.length-1)&&(r[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o=qWe(),i+=a,s=u+1,a=0);return r}function qWe(){return{firstRowIndex:null,lastRowIndex:null,rows:[]}}});var UWe=ye(KJ=>{\"use strict\";var L7=no().extendFlat;KJ.splitToPanels=function(e){var t=[0,0],r=L7({},e,{key:\"header\",type:\"header\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!0,values:e.calcdata.headerCells.values[e.specIndex],rowBlocks:e.calcdata.headerRowBlocks,calcdata:L7({},e.calcdata,{cells:e.calcdata.headerCells})}),n=L7({},e,{key:\"cells1\",type:\"cells\",page:0,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks}),i=L7({},e,{key:\"cells2\",type:\"cells\",page:1,prevPages:t,currentRepaint:[null,null],dragHandle:!1,values:e.calcdata.cells.values[e.specIndex],rowBlocks:e.calcdata.rowBlocks});return[n,i,r]};KJ.splitToCells=function(e){var t=EZt(e);return(e.values||[]).slice(t[0],t[1]).map(function(r,n){var i=typeof r==\"string\"&&r.match(/[<$&> ]/)?\"_keybuster_\"+Math.random():\"\";return{keyWithinBlock:n+i,key:t[0]+n,column:e,calcdata:e.calcdata,page:e.page,rowBlocks:e.rowBlocks,value:r}})};function EZt(e){var t=e.rowBlocks[e.page],r=t?t.rows[0].rowIndex:0,n=t?r+t.rows.length:0;return[r,n]}});var o$=ye((k_r,$We)=>{\"use strict\";var Ia=WJ(),Mc=xa(),JJ=Mr(),kZt=JJ.numberFormat,gu=Km(),$J=ao(),CZt=Ll(),LZt=Mr().raiseToTop,og=Mr().strTranslate,PZt=Mr().cancelTransition,IZt=NWe(),XWe=UWe(),VWe=va();$We.exports=function(t,r){var n=!t._context.staticPlot,i=t._fullLayout._paper.selectAll(\".\"+Ia.cn.table).data(r.map(function(E){var k=gu.unwrap(E),A=k.trace;return IZt(t,A)}),gu.keyFun);i.exit().remove(),i.enter().append(\"g\").classed(Ia.cn.table,!0).attr(\"overflow\",\"visible\").style(\"box-sizing\",\"content-box\").style(\"position\",\"absolute\").style(\"left\",0).style(\"overflow\",\"visible\").style(\"shape-rendering\",\"crispEdges\").style(\"pointer-events\",\"all\"),i.attr(\"width\",function(E){return E.width+E.size.l+E.size.r}).attr(\"height\",function(E){return E.height+E.size.t+E.size.b}).attr(\"transform\",function(E){return og(E.translateX,E.translateY)});var a=i.selectAll(\".\"+Ia.cn.tableControlView).data(gu.repeat,gu.keyFun),o=a.enter().append(\"g\").classed(Ia.cn.tableControlView,!0).style(\"box-sizing\",\"content-box\");if(n){var s=\"onwheel\"in document?\"wheel\":\"mousewheel\";o.on(\"mousemove\",function(E){a.filter(function(k){return E===k}).call(Yk,t)}).on(s,function(E){if(!E.scrollbarState.wheeling){E.scrollbarState.wheeling=!0;var k=E.scrollY+Mc.event.deltaY,A=I7(t,a,null,k)(E);A||(Mc.event.stopPropagation(),Mc.event.preventDefault()),E.scrollbarState.wheeling=!1}}).call(Yk,t,!0)}a.attr(\"transform\",function(E){return og(E.size.l,E.size.t)});var l=a.selectAll(\".\"+Ia.cn.scrollBackground).data(gu.repeat,gu.keyFun);l.enter().append(\"rect\").classed(Ia.cn.scrollBackground,!0).attr(\"fill\",\"none\"),l.attr(\"width\",function(E){return E.width}).attr(\"height\",function(E){return E.height}),a.each(function(E){$J.setClipUrl(Mc.select(this),HWe(t,E),t)});var u=a.selectAll(\".\"+Ia.cn.yColumn).data(function(E){return E.columns},gu.keyFun);u.enter().append(\"g\").classed(Ia.cn.yColumn,!0),u.exit().remove(),u.attr(\"transform\",function(E){return og(E.x,0)}),n&&u.call(Mc.behavior.drag().origin(function(E){var k=Mc.select(this);return WWe(k,E,-Ia.uplift),LZt(this),E.calcdata.columnDragInProgress=!0,Yk(a.filter(function(A){return E.calcdata.key===A.key}),t),E}).on(\"drag\",function(E){var k=Mc.select(this),A=function(C){return(E===C?Mc.event.x:C.x)+C.columnWidth/2};E.x=Math.max(-Ia.overdrag,Math.min(E.calcdata.width+Ia.overdrag-E.columnWidth,Mc.event.x));var L=YWe(u).filter(function(C){return C.calcdata.key===E.calcdata.key}),_=L.sort(function(C,M){return A(C)-A(M)});_.forEach(function(C,M){C.xIndex=M,C.x=E===C?C.x:C.xScale(C)}),u.filter(function(C){return E!==C}).transition().ease(Ia.transitionEase).duration(Ia.transitionDuration).attr(\"transform\",function(C){return og(C.x,0)}),k.call(PZt).attr(\"transform\",og(E.x,-Ia.uplift))}).on(\"dragend\",function(E){var k=Mc.select(this),A=E.calcdata;E.x=E.xScale(E),E.calcdata.columnDragInProgress=!1,WWe(k,E,0),VZt(t,A,A.columns.map(function(L){return L.xIndex}))})),u.each(function(E){$J.setClipUrl(Mc.select(this),GWe(t,E),t)});var c=u.selectAll(\".\"+Ia.cn.columnBlock).data(XWe.splitToPanels,gu.keyFun);c.enter().append(\"g\").classed(Ia.cn.columnBlock,!0).attr(\"id\",function(E){return E.key}),c.style(\"cursor\",function(E){return E.dragHandle?\"ew-resize\":E.calcdata.scrollbarState.barWiggleRoom?\"ns-resize\":\"default\"});var f=c.filter(HZt),h=c.filter(i$);n&&h.call(Mc.behavior.drag().origin(function(E){return Mc.event.stopPropagation(),E}).on(\"drag\",I7(t,a,-1)).on(\"dragend\",function(){})),QJ(t,a,f,c),QJ(t,a,h,c);var d=a.selectAll(\".\"+Ia.cn.scrollAreaClip).data(gu.repeat,gu.keyFun);d.enter().append(\"clipPath\").classed(Ia.cn.scrollAreaClip,!0).attr(\"id\",function(E){return HWe(t,E)});var v=d.selectAll(\".\"+Ia.cn.scrollAreaClipRect).data(gu.repeat,gu.keyFun);v.enter().append(\"rect\").classed(Ia.cn.scrollAreaClipRect,!0).attr(\"x\",-Ia.overdrag).attr(\"y\",-Ia.uplift).attr(\"fill\",\"none\"),v.attr(\"width\",function(E){return E.width+2*Ia.overdrag}).attr(\"height\",function(E){return E.height+Ia.uplift});var x=u.selectAll(\".\"+Ia.cn.columnBoundary).data(gu.repeat,gu.keyFun);x.enter().append(\"g\").classed(Ia.cn.columnBoundary,!0);var b=u.selectAll(\".\"+Ia.cn.columnBoundaryClippath).data(gu.repeat,gu.keyFun);b.enter().append(\"clipPath\").classed(Ia.cn.columnBoundaryClippath,!0),b.attr(\"id\",function(E){return GWe(t,E)});var g=b.selectAll(\".\"+Ia.cn.columnBoundaryRect).data(gu.repeat,gu.keyFun);g.enter().append(\"rect\").classed(Ia.cn.columnBoundaryRect,!0).attr(\"fill\",\"none\"),g.attr(\"width\",function(E){return E.columnWidth+2*P7(E)}).attr(\"height\",function(E){return E.calcdata.height+2*P7(E)+Ia.uplift}).attr(\"x\",function(E){return-P7(E)}).attr(\"y\",function(E){return-P7(E)}),n$(null,h,a)};function P7(e){return Math.ceil(e.calcdata.maxLineWidth/2)}function HWe(e,t){return\"clip\"+e._fullLayout._uid+\"_scrollAreaBottomClip_\"+t.key}function GWe(e,t){return\"clip\"+e._fullLayout._uid+\"_columnBoundaryClippath_\"+t.calcdata.key+\"_\"+t.specIndex}function YWe(e){return[].concat.apply([],e.map(function(t){return t})).map(function(t){return t.__data__})}function Yk(e,t,r){function n(u){var c=u.rowBlocks;return t$(c,c.length-1)+(c.length?R7(c[c.length-1],1/0):1)}var i=e.selectAll(\".\"+Ia.cn.scrollbarKit).data(gu.repeat,gu.keyFun);i.enter().append(\"g\").classed(Ia.cn.scrollbarKit,!0).style(\"shape-rendering\",\"geometricPrecision\"),i.each(function(u){var c=u.scrollbarState;c.totalHeight=n(u),c.scrollableAreaHeight=u.groupHeight-e$(u),c.currentlyVisibleHeight=Math.min(c.totalHeight,c.scrollableAreaHeight),c.ratio=c.currentlyVisibleHeight/c.totalHeight,c.barLength=Math.max(c.ratio*c.currentlyVisibleHeight,Ia.goldenRatio*Ia.scrollbarWidth),c.barWiggleRoom=c.currentlyVisibleHeight-c.barLength,c.wiggleRoom=Math.max(0,c.totalHeight-c.scrollableAreaHeight),c.topY=c.barWiggleRoom===0?0:u.scrollY/c.wiggleRoom*c.barWiggleRoom,c.bottomY=c.topY+c.barLength,c.dragMultiplier=c.wiggleRoom/c.barWiggleRoom}).attr(\"transform\",function(u){var c=u.width+Ia.scrollbarWidth/2+Ia.scrollbarOffset;return og(c,e$(u))});var a=i.selectAll(\".\"+Ia.cn.scrollbar).data(gu.repeat,gu.keyFun);a.enter().append(\"g\").classed(Ia.cn.scrollbar,!0);var o=a.selectAll(\".\"+Ia.cn.scrollbarSlider).data(gu.repeat,gu.keyFun);o.enter().append(\"g\").classed(Ia.cn.scrollbarSlider,!0),o.attr(\"transform\",function(u){return og(0,u.scrollbarState.topY||0)});var s=o.selectAll(\".\"+Ia.cn.scrollbarGlyph).data(gu.repeat,gu.keyFun);s.enter().append(\"line\").classed(Ia.cn.scrollbarGlyph,!0).attr(\"stroke\",\"black\").attr(\"stroke-width\",Ia.scrollbarWidth).attr(\"stroke-linecap\",\"round\").attr(\"y1\",Ia.scrollbarWidth/2),s.attr(\"y2\",function(u){return u.scrollbarState.barLength-Ia.scrollbarWidth/2}).attr(\"stroke-opacity\",function(u){return u.columnDragInProgress||!u.scrollbarState.barWiggleRoom||r?0:.4}),s.transition().delay(0).duration(0),s.transition().delay(Ia.scrollbarHideDelay).duration(Ia.scrollbarHideDuration).attr(\"stroke-opacity\",0);var l=a.selectAll(\".\"+Ia.cn.scrollbarCaptureZone).data(gu.repeat,gu.keyFun);l.enter().append(\"line\").classed(Ia.cn.scrollbarCaptureZone,!0).attr(\"stroke\",\"white\").attr(\"stroke-opacity\",.01).attr(\"stroke-width\",Ia.scrollbarCaptureWidth).attr(\"stroke-linecap\",\"butt\").attr(\"y1\",0).on(\"mousedown\",function(u){var c=Mc.event.y,f=this.getBoundingClientRect(),h=u.scrollbarState,d=c-f.top,v=Mc.scale.linear().domain([0,h.scrollableAreaHeight]).range([0,h.totalHeight]).clamp(!0);h.topY<=d&&d<=h.bottomY||I7(t,e,null,v(d-h.barLength/2))(u)}).call(Mc.behavior.drag().origin(function(u){return Mc.event.stopPropagation(),u.scrollbarState.scrollbarScrollInProgress=!0,u}).on(\"drag\",I7(t,e)).on(\"dragend\",function(){})),l.attr(\"y2\",function(u){return u.scrollbarState.scrollableAreaHeight}),t._context.staticPlot&&(s.remove(),l.remove())}function QJ(e,t,r,n){var i=RZt(r),a=DZt(i);OZt(a);var o=zZt(a);NZt(o);var s=qZt(a),l=FZt(s);BZt(l),KWe(l,t,n,e),a$(a)}function RZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCells).data(gu.repeat,gu.keyFun);return t.enter().append(\"g\").classed(Ia.cn.columnCells,!0),t.exit().remove(),t}function DZt(e){var t=e.selectAll(\".\"+Ia.cn.columnCell).data(XWe.splitToCells,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.columnCell,!0),t.exit().remove(),t}function zZt(e){var t=e.selectAll(\".\"+Ia.cn.cellRect).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"rect\").classed(Ia.cn.cellRect,!0),t}function FZt(e){var t=e.selectAll(\".\"+Ia.cn.cellText).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"text\").classed(Ia.cn.cellText,!0).style(\"cursor\",function(){return\"auto\"}).on(\"mousedown\",function(){Mc.event.stopPropagation()}),t}function qZt(e){var t=e.selectAll(\".\"+Ia.cn.cellTextHolder).data(gu.repeat,function(r){return r.keyWithinBlock});return t.enter().append(\"g\").classed(Ia.cn.cellTextHolder,!0).style(\"shape-rendering\",\"geometricPrecision\"),t}function OZt(e){e.each(function(t,r){var n=t.calcdata.cells.font,i=t.column.specIndex,a={size:Xv(n.size,i,r),color:Xv(n.color,i,r),family:Xv(n.family,i,r),weight:Xv(n.weight,i,r),style:Xv(n.style,i,r),variant:Xv(n.variant,i,r),textcase:Xv(n.textcase,i,r),lineposition:Xv(n.lineposition,i,r),shadow:Xv(n.shadow,i,r)};t.rowNumber=t.key,t.align=Xv(t.calcdata.cells.align,i,r),t.cellBorderWidth=Xv(t.calcdata.cells.line.width,i,r),t.font=a})}function BZt(e){e.each(function(t){$J.font(Mc.select(this),t.font)})}function NZt(e){e.attr(\"width\",function(t){return t.column.columnWidth}).attr(\"stroke-width\",function(t){return t.cellBorderWidth}).each(function(t){var r=Mc.select(this);VWe.stroke(r,Xv(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),VWe.fill(r,Xv(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}function KWe(e,t,r,n){e.text(function(i){var a=i.column.specIndex,o=i.rowNumber,s=i.value,l=typeof s==\"string\",u=l&&s.match(/
/i),c=!l||u;i.mayHaveMarkup=l&&s.match(/[<&>]/);var f=UZt(s);i.latex=f;var h=f?\"\":Xv(i.calcdata.cells.prefix,a,o)||\"\",d=f?\"\":Xv(i.calcdata.cells.suffix,a,o)||\"\",v=f?null:Xv(i.calcdata.cells.format,a,o)||null,x=h+(v?kZt(v)(i.value):i.value)+d,b;i.wrappingNeeded=!i.wrapped&&!c&&!f&&(b=jWe(x)),i.cellHeightMayIncrease=u||f||i.mayHaveMarkup||(b===void 0?jWe(x):b),i.needsConvertToTspans=i.mayHaveMarkup||i.wrappingNeeded||i.latex;var g;if(i.wrappingNeeded){var E=Ia.wrapSplitCharacter===\" \"?x.replace(/i&&n.push(a),i+=l}return n}function n$(e,t,r){var n=YWe(t)[0];if(n!==void 0){var i=n.rowBlocks,a=n.calcdata,o=t$(i,i.length),s=n.calcdata.groupHeight-e$(n),l=a.scrollY=Math.max(0,Math.min(o-s,a.scrollY)),u=GZt(i,l,s);u.length===1&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),t.each(function(c,f){c.page=u[f],c.scrollY=l}),t.attr(\"transform\",function(c){var f=t$(c.rowBlocks,c.page)-c.scrollY;return og(0,f)}),e&&(ZWe(e,r,t,u,n.prevPages,n,0),ZWe(e,r,t,u,n.prevPages,n,1),Yk(r,e))}}function I7(e,t,r,n){return function(a){var o=a.calcdata?a.calcdata:a,s=t.filter(function(f){return o.key===f.key}),l=r||o.scrollbarState.dragMultiplier,u=o.scrollY;o.scrollY=n===void 0?o.scrollY+l*Mc.event.dy:n;var c=s.selectAll(\".\"+Ia.cn.yColumn).selectAll(\".\"+Ia.cn.columnBlock).filter(i$);return n$(e,c,s),o.scrollY===u}}function ZWe(e,t,r,n,i,a,o){var s=n[o]!==i[o];s&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout(function(){var l=r.filter(function(u,c){return c===o&&n[c]!==i[c]});QJ(e,t,l,r),i[o]=n[o]}))}function jZt(e,t,r,n){return function(){var a=Mc.select(t.parentNode);a.each(function(o){var s=o.fragments;a.selectAll(\"tspan.line\").each(function(x,b){s[b].width=this.getComputedTextLength()});var l=s[s.length-1].width,u=s.slice(0,-1),c=[],f,h,d=0,v=o.column.columnWidth-2*Ia.cellPad;for(o.value=\"\";u.length;)f=u.shift(),h=f.width+l,d+h>v&&(o.value+=c.join(Ia.wrapSpacer)+Ia.lineBreaker,c=[],d=0),c.push(f.text),d+=h;d&&(o.value+=c.join(Ia.wrapSpacer)),o.wrapped=!0}),a.selectAll(\"tspan.line\").remove(),KWe(a.select(\".\"+Ia.cn.cellText),r,e,n),Mc.select(t.parentNode.parentNode).call(a$)}}function WZt(e,t,r,n,i){return function(){if(!i.settledY){var o=Mc.select(t.parentNode),s=r$(i),l=i.key-s.firstRowIndex,u=s.rows[l].rowHeight,c=i.cellHeightMayIncrease?t.parentNode.getBoundingClientRect().height+2*Ia.cellPad:u,f=Math.max(c,u),h=f-s.rows[l].rowHeight;h&&(s.rows[l].rowHeight=f,e.selectAll(\".\"+Ia.cn.columnCell).call(a$),n$(null,e.filter(i$),0),Yk(r,n,!0)),o.attr(\"transform\",function(){var d=this,v=d.parentNode,x=v.getBoundingClientRect(),b=Mc.select(d.parentNode).select(\".\"+Ia.cn.cellRect).node().getBoundingClientRect(),g=d.transform.baseVal.consolidate(),E=b.top-x.top+(g?g.matrix.f:Ia.cellPad);return og(JWe(i,Mc.select(d.parentNode).select(\".\"+Ia.cn.cellTextHolder).node().getBoundingClientRect().width),E)}),i.settledY=!0}}}function JWe(e,t){switch(e.align){case\"left\":return Ia.cellPad;case\"right\":return e.column.columnWidth-(t||0)-Ia.cellPad;case\"center\":return(e.column.columnWidth-(t||0))/2;default:return Ia.cellPad}}function a$(e){e.attr(\"transform\",function(t){var r=t.rowBlocks[0].auxiliaryBlocks.reduce(function(o,s){return o+R7(s,1/0)},0),n=r$(t),i=R7(n,t.key),a=i+r;return og(0,a)}).selectAll(\".\"+Ia.cn.cellRect).attr(\"height\",function(t){return XZt(r$(t),t.key).rowHeight})}function t$(e,t){for(var r=0,n=t-1;n>=0;n--)r+=ZZt(e[n]);return r}function R7(e,t){for(var r=0,n=0;n{\"use strict\";var YZt=kd().getModuleCalcData,KZt=o$(),D7=\"table\";z7.name=D7;z7.plot=function(e){var t=YZt(e.calcdata,D7)[0];t.length&&KZt(e,t)};z7.clean=function(e,t,r,n){var i=n._has&&n._has(D7),a=t._has&&t._has(D7);i&&!a&&n._paperdiv.selectAll(\".table\").remove()}});var tZe=ye((L_r,eZe)=>{\"use strict\";eZe.exports={attributes:GJ(),supplyDefaults:kWe(),calc:LWe(),plot:o$(),moduleType:\"trace\",name:\"table\",basePlotModule:QWe(),categories:[\"noOpacity\"],meta:{}}});var iZe=ye((P_r,rZe)=>{\"use strict\";rZe.exports=tZe()});var lZe=ye((I_r,sZe)=>{\"use strict\";var nZe=Su(),aZe=dh(),s$=Cd(),JZt=Oc().descriptionWithDates,$Zt=Bu().overrideAll,oZe=Ed().dash,l$=no().extendFlat;sZe.exports={color:{valType:\"color\",editType:\"calc\"},smoothing:{valType:\"number\",dflt:1,min:0,max:1.3,editType:\"calc\"},title:{text:{valType:\"string\",dflt:\"\",editType:\"calc\"},font:nZe({editType:\"calc\"}),offset:{valType:\"number\",dflt:10,editType:\"calc\"},editType:\"calc\"},type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"date\",\"category\"],dflt:\"-\",editType:\"calc\"},autotypenumbers:s$.autotypenumbers,autorange:{valType:\"enumerated\",values:[!0,!1,\"reversed\"],dflt:!0,editType:\"calc\"},rangemode:{valType:\"enumerated\",values:[\"normal\",\"tozero\",\"nonnegative\"],dflt:\"normal\",editType:\"calc\"},range:{valType:\"info_array\",editType:\"calc\",items:[{valType:\"any\",editType:\"calc\"},{valType:\"any\",editType:\"calc\"}]},fixedrange:{valType:\"boolean\",dflt:!1,editType:\"calc\"},cheatertype:{valType:\"enumerated\",values:[\"index\",\"value\"],dflt:\"value\",editType:\"calc\"},tickmode:{valType:\"enumerated\",values:[\"linear\",\"array\"],dflt:\"array\",editType:\"calc\"},nticks:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},tickvals:{valType:\"data_array\",editType:\"calc\"},ticktext:{valType:\"data_array\",editType:\"calc\"},showticklabels:{valType:\"enumerated\",values:[\"start\",\"end\",\"both\",\"none\"],dflt:\"start\",editType:\"calc\"},labelalias:l$({},s$.labelalias,{editType:\"calc\"}),tickfont:nZe({editType:\"calc\"}),tickangle:{valType:\"angle\",dflt:\"auto\",editType:\"calc\"},tickprefix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showtickprefix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},ticksuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showticksuffix:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},showexponent:{valType:\"enumerated\",values:[\"all\",\"first\",\"last\",\"none\"],dflt:\"all\",editType:\"calc\"},exponentformat:{valType:\"enumerated\",values:[\"none\",\"e\",\"E\",\"power\",\"SI\",\"B\"],dflt:\"B\",editType:\"calc\"},minexponent:{valType:\"number\",dflt:3,min:0,editType:\"calc\"},separatethousands:{valType:\"boolean\",dflt:!1,editType:\"calc\"},tickformat:{valType:\"string\",dflt:\"\",editType:\"calc\",description:JZt(\"tick label\")},tickformatstops:$Zt(s$.tickformatstops,\"calc\",\"from-root\"),categoryorder:{valType:\"enumerated\",values:[\"trace\",\"category ascending\",\"category descending\",\"array\"],dflt:\"trace\",editType:\"calc\"},categoryarray:{valType:\"data_array\",editType:\"calc\"},labelpadding:{valType:\"integer\",dflt:10,editType:\"calc\"},labelprefix:{valType:\"string\",editType:\"calc\"},labelsuffix:{valType:\"string\",dflt:\"\",editType:\"calc\"},showline:{valType:\"boolean\",dflt:!1,editType:\"calc\"},linecolor:{valType:\"color\",dflt:aZe.defaultLine,editType:\"calc\"},linewidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},gridcolor:{valType:\"color\",editType:\"calc\"},gridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},griddash:l$({},oZe,{editType:\"calc\"}),showgrid:{valType:\"boolean\",dflt:!0,editType:\"calc\"},minorgridcount:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},minorgridwidth:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},minorgriddash:l$({},oZe,{editType:\"calc\"}),minorgridcolor:{valType:\"color\",dflt:aZe.lightLine,editType:\"calc\"},startline:{valType:\"boolean\",editType:\"calc\"},startlinecolor:{valType:\"color\",editType:\"calc\"},startlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endline:{valType:\"boolean\",editType:\"calc\"},endlinewidth:{valType:\"number\",dflt:1,editType:\"calc\"},endlinecolor:{valType:\"color\",editType:\"calc\"},tick0:{valType:\"number\",min:0,dflt:0,editType:\"calc\"},dtick:{valType:\"number\",min:0,dflt:1,editType:\"calc\"},arraytick0:{valType:\"integer\",min:0,dflt:0,editType:\"calc\"},arraydtick:{valType:\"integer\",min:1,dflt:1,editType:\"calc\"},editType:\"calc\"}});var q7=ye((R_r,fZe)=>{\"use strict\";var QZt=Su(),uZe=lZe(),cZe=dh(),F7=QZt({editType:\"calc\"}),eXt=Uc().zorder;F7.family.dflt='\"Open Sans\", verdana, arial, sans-serif';F7.size.dflt=12;F7.color.dflt=cZe.defaultLine;fZe.exports={carpet:{valType:\"string\",editType:\"calc\"},x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},y:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},a:{valType:\"data_array\",editType:\"calc\"},a0:{valType:\"number\",dflt:0,editType:\"calc\"},da:{valType:\"number\",dflt:1,editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},b0:{valType:\"number\",dflt:0,editType:\"calc\"},db:{valType:\"number\",dflt:1,editType:\"calc\"},cheaterslope:{valType:\"number\",dflt:1,editType:\"calc\"},aaxis:uZe,baxis:uZe,font:F7,color:{valType:\"color\",dflt:cZe.defaultLine,editType:\"plot\"},zorder:eXt}});var vZe=ye((D_r,dZe)=>{\"use strict\";var hZe=Mr().isArray1D;dZe.exports=function(t,r,n){var i=n(\"x\"),a=i&&i.length,o=n(\"y\"),s=o&&o.length;if(!a&&!s)return!1;if(r._cheater=!i,(!a||hZe(i))&&(!s||hZe(o))){var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),r.a&&r.a.length&&(l=Math.min(l,r.a.length)),r.b&&r.b.length&&(l=Math.min(l,r.b.length)),r._length=l}else r._length=null;return!0}});var mZe=ye((z_r,gZe)=>{\"use strict\";var tXt=q7(),pZe=va().addOpacity,rXt=ba(),Kk=Mr(),iXt=xb(),nXt=e_(),aXt=t_(),oXt=QP(),sXt=ym(),lXt=L3();gZe.exports=function(t,r,n){var i=n.letter,a=n.font||{},o=tXt[i+\"axis\"];function s(p,P){return Kk.coerce(t,r,o,p,P)}function l(p,P){return Kk.coerce2(t,r,o,p,P)}n.name&&(r._name=n.name,r._id=n.name),s(\"autotypenumbers\",n.autotypenumbersDflt);var u=s(\"type\");if(u===\"-\"&&(n.data&&uXt(r,n.data),r.type===\"-\"?r.type=\"linear\":u=t.type=r.type),s(\"smoothing\"),s(\"cheatertype\"),s(\"showticklabels\"),s(\"labelprefix\",i+\" = \"),s(\"labelsuffix\"),s(\"showtickprefix\"),s(\"showticksuffix\"),s(\"separatethousands\"),s(\"tickformat\"),s(\"exponentformat\"),s(\"minexponent\"),s(\"showexponent\"),s(\"categoryorder\"),s(\"tickmode\"),s(\"tickvals\"),s(\"ticktext\"),s(\"tick0\"),s(\"dtick\"),r.tickmode===\"array\"&&(s(\"arraytick0\"),s(\"arraydtick\")),s(\"labelpadding\"),r._hovertitle=i,u===\"date\"){var c=rXt.getComponentMethod(\"calendars\",\"handleDefaults\");c(t,r,\"calendar\",n.calendar)}sXt(r,n.fullLayout),r.c2p=Kk.identity;var f=s(\"color\",n.dfltColor),h=f===t.color?f:a.color,d=s(\"title.text\");d&&(Kk.coerceFont(s,\"title.font\",a,{overrideDflt:{size:Kk.bigFont(a.size),color:h}}),s(\"title.offset\")),s(\"tickangle\");var v=s(\"autorange\",!r.isValidRange(t.range));v&&s(\"rangemode\"),s(\"range\"),r.cleanRange(),s(\"fixedrange\"),iXt(t,r,s,u),aXt(t,r,s,u,n),nXt(t,r,s,u,n),oXt(t,r,s,{data:n.data,dataAttr:i});var x=l(\"gridcolor\",pZe(f,.3)),b=l(\"gridwidth\"),g=l(\"griddash\"),E=s(\"showgrid\");E||(delete r.gridcolor,delete r.gridwidth,delete r.griddash);var k=l(\"startlinecolor\",f),A=l(\"startlinewidth\",b),L=s(\"startline\",r.showgrid||!!k||!!A);L||(delete r.startlinecolor,delete r.startlinewidth);var _=l(\"endlinecolor\",f),C=l(\"endlinewidth\",b),M=s(\"endline\",r.showgrid||!!_||!!C);return M||(delete r.endlinecolor,delete r.endlinewidth),E?(s(\"minorgridcount\"),s(\"minorgridwidth\",b),s(\"minorgriddash\",g),s(\"minorgridcolor\",pZe(x,.06)),r.minorgridcount||(delete r.minorgridwidth,delete r.minorgriddash,delete r.minorgridcolor)):(delete r.gridcolor,delete r.gridwidth,delete r.griddash),r.showticklabels===\"none\"&&(delete r.tickfont,delete r.tickangle,delete r.showexponent,delete r.exponentformat,delete r.minexponent,delete r.tickformat,delete r.showticksuffix,delete r.showtickprefix),r.showticksuffix||delete r.ticksuffix,r.showtickprefix||delete r.tickprefix,s(\"tickmode\"),r};function uXt(e,t){if(e.type===\"-\"){var r=e._id,n=r.charAt(0),i=n+\"calendar\",a=e[i];e.type=lXt(t,a,{autotypenumbers:e.autotypenumbers})}}});var _Ze=ye((F_r,yZe)=>{\"use strict\";var cXt=mZe(),fXt=Vs();yZe.exports=function(t,r,n,i,a){var o=i(\"a\");o||(i(\"da\"),i(\"a0\"));var s=i(\"b\");s||(i(\"db\"),i(\"b0\")),hXt(t,r,n,a)};function hXt(e,t,r,n){var i=[\"aaxis\",\"baxis\"];i.forEach(function(a){var o=a.charAt(0),s=e[a]||{},l=fXt.newContainer(t,a),u={noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0,noTicklabelstep:!0,tickfont:\"x\",id:o+\"axis\",letter:o,font:t.font,name:a,data:e[o],calendar:t.calendar,dfltColor:n,bgColor:r.paper_bgcolor,autotypenumbersDflt:r.autotypenumbers,fullLayout:r};cXt(s,l,u),l._categories=l._categories||[],!e[a]&&s.type!==\"-\"&&(e[a]={type:s.type})})}});var wZe=ye((q_r,bZe)=>{\"use strict\";var xZe=Mr(),dXt=vZe(),vXt=_Ze(),pXt=q7(),gXt=dh();bZe.exports=function(t,r,n,i){function a(l,u){return xZe.coerce(t,r,pXt,l,u)}r._clipPathId=\"clip\"+r.uid+\"carpet\";var o=a(\"color\",gXt.defaultLine);if(xZe.coerceFont(a,\"font\",i.font),a(\"carpet\"),vXt(t,r,i,a,o),!r.a||!r.b){r.visible=!1;return}r.a.length<3&&(r.aaxis.smoothing=0),r.b.length<3&&(r.baxis.smoothing=0);var s=dXt(t,r,a);s||(r.visible=!1),r._cheater&&a(\"cheaterslope\"),a(\"zorder\")}});var u$=ye((O_r,TZe)=>{\"use strict\";var mXt=Mr().isArrayOrTypedArray;TZe.exports=function(t,r,n){var i;for(mXt(t)?t.length>r.length&&(t=t.slice(0,r.length)):t=[],i=0;i{\"use strict\";AZe.exports=function(t,r,n){if(t.length===0)return\"\";var i,a=[],o=n?3:1;for(i=0;i{\"use strict\";SZe.exports=function(t,r,n,i,a,o){var s=a[0]*t.dpdx(r),l=a[1]*t.dpdy(n),u=1,c=1;if(o){var f=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),d=(a[0]*o[0]+a[1]*o[1])/f/h;c=Math.max(0,d)}var v=Math.atan2(l,s)*180/Math.PI;return v<-90?(v+=180,u=-u):v>90&&(v-=180,u=-u),{angle:v,flip:u,p:t.c2p(i,r,n),offsetMultplier:c}}});var DZe=ye((U_r,RZe)=>{\"use strict\";var U7=xa(),O7=ao(),B7=u$(),CZe=c$(),Jk=MZe(),f$=Ll(),Up=Mr(),LZe=Up.strRotate,N7=Up.strTranslate,PZe=Nh();RZe.exports=function(t,r,n,i){var a=t._context.staticPlot,o=r.xaxis,s=r.yaxis,l=t._fullLayout,u=l._clips;Up.makeTraceGroups(i,n,\"trace\").each(function(c){var f=U7.select(this),h=c[0],d=h.trace,v=d.aaxis,x=d.baxis,b=Up.ensureSingle(f,\"g\",\"minorlayer\"),g=Up.ensureSingle(f,\"g\",\"majorlayer\"),E=Up.ensureSingle(f,\"g\",\"boundarylayer\"),k=Up.ensureSingle(f,\"g\",\"labellayer\");f.style(\"opacity\",d.opacity),FA(o,s,g,v,\"a\",v._gridlines,!0,a),FA(o,s,g,x,\"b\",x._gridlines,!0,a),FA(o,s,b,v,\"a\",v._minorgridlines,!0,a),FA(o,s,b,x,\"b\",x._minorgridlines,!0,a),FA(o,s,E,v,\"a-boundary\",v._boundarylines,a),FA(o,s,E,x,\"b-boundary\",x._boundarylines,a);var A=EZe(t,o,s,d,h,k,v._labels,\"a-label\"),L=EZe(t,o,s,d,h,k,x._labels,\"b-label\");_Xt(t,k,d,h,o,s,A,L),yXt(d,h,u,o,s)})};function yXt(e,t,r,n,i){var a,o,s,l,u=r.select(\"#\"+e._clipPathId);u.size()||(u=r.append(\"clipPath\").classed(\"carpetclip\",!0));var c=Up.ensureSingle(u,\"path\",\"carpetboundary\"),f=t.clipsegments,h=[];for(l=0;l0?\"start\":\"end\",\"data-notex\":1}).call(O7.font,f.font).text(f.text).call(f$.convertToTspans,e),g=O7.bBox(this);b.attr(\"transform\",N7(d.p[0],d.p[1])+LZe(d.angle)+N7(f.axis.labelpadding*x,g.height*.3)),u=Math.max(u,g.width+f.axis.labelpadding)}),l.exit().remove(),c.maxExtent=u,c}function _Xt(e,t,r,n,i,a,o,s){var l,u,c,f,h=Up.aggNums(Math.min,null,r.a),d=Up.aggNums(Math.max,null,r.a),v=Up.aggNums(Math.min,null,r.b),x=Up.aggNums(Math.max,null,r.b);l=.5*(h+d),u=v,c=r.ab2xy(l,u,!0),f=r.dxyda_rough(l,u),o.angle===void 0&&Up.extendFlat(o,Jk(r,i,a,c,r.dxydb_rough(l,u))),kZe(e,t,r,n,c,f,r.aaxis,i,a,o,\"a-title\"),l=h,u=.5*(v+x),c=r.ab2xy(l,u,!0),f=r.dxydb_rough(l,u),s.angle===void 0&&Up.extendFlat(s,Jk(r,i,a,c,r.dxyda_rough(l,u))),kZe(e,t,r,n,c,f,r.baxis,i,a,s,\"b-title\")}var IZe=PZe.LINE_SPACING,xXt=(1-PZe.MID_SHIFT)/IZe+1;function kZe(e,t,r,n,i,a,o,s,l,u,c){var f=[];o.title.text&&f.push(o.title.text);var h=t.selectAll(\"text.\"+c).data(f),d=u.maxExtent;h.enter().append(\"text\").classed(c,!0),h.each(function(){var v=Jk(r,s,l,i,a);[\"start\",\"both\"].indexOf(o.showticklabels)===-1&&(d=0);var x=o.title.font.size;d+=x+o.title.offset;var b=u.angle+(u.flip<0?180:0),g=(b-v.angle+450)%360,E=g>90&&g<270,k=U7.select(this);k.text(o.title.text).call(f$.convertToTspans,e),E&&(d=(-f$.lineCount(k)+xXt)*IZe*x-d),k.attr(\"transform\",N7(v.p[0],v.p[1])+LZe(v.angle)+N7(0,d)).attr(\"text-anchor\",\"middle\").call(O7.font,o.title.font)}),h.exit().remove()}});var FZe=ye((V_r,zZe)=>{\"use strict\";var V7=Mr().isArrayOrTypedArray;zZe.exports=function(e,t,r){var n,i,a,o,s,l,u=[],c=V7(e)?e.length:e,f=V7(t)?t.length:t,h=V7(e)?e:null,d=V7(t)?t:null;h&&(a=(h.length-1)/(h[h.length-1]-h[0])/(c-1)),d&&(o=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var v,x=1/0,b=-1/0;for(i=0;i{\"use strict\";var qZe=Mr().isArrayOrTypedArray;BZe.exports=function(e){return OZe(e,0)};function OZe(e,t){if(!qZe(e)||t>=10)return null;for(var r=1/0,n=-1/0,i=e.length,a=0;a{\"use strict\";var bXt=Qa(),Ex=no().extendFlat;UZe.exports=function(t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,g,E=t[\"_\"+r],k=t[r+\"axis\"],A=k._gridlines=[],L=k._minorgridlines=[],_=k._boundarylines=[],C=t[\"_\"+n],M=t[n+\"axis\"];k.tickmode===\"array\"&&(k.tickvals=E.slice());var p=t._xctrl,P=t._yctrl,T=p[0].length,F=p.length,q=t._a.length,V=t._b.length;bXt.prepTicks(k),k.tickmode===\"array\"&&delete k.tickvals;var H=k.smoothing?3:1;function X(N){var W,re,ae,_e,Me,ke,ge,ie,Te,Ee,Ae,ze,Ce=[],me=[],Re={};if(r===\"b\")for(re=t.b2j(N),ae=Math.floor(Math.max(0,Math.min(V-2,re))),_e=re-ae,Re.length=V,Re.crossLength=q,Re.xy=function(ce){return t.evalxy([],ce,re)},Re.dxy=function(ce,Ge){return t.dxydi([],ce,ae,Ge,_e)},W=0;W0&&(Te=t.dxydi([],W-1,ae,0,_e),Ce.push(Me[0]+Te[0]/3),me.push(Me[1]+Te[1]/3),Ee=t.dxydi([],W-1,ae,1,_e),Ce.push(ie[0]-Ee[0]/3),me.push(ie[1]-Ee[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;else for(W=t.a2i(N),ke=Math.floor(Math.max(0,Math.min(q-2,W))),ge=W-ke,Re.length=q,Re.crossLength=V,Re.xy=function(ce){return t.evalxy([],W,ce)},Re.dxy=function(ce,Ge){return t.dxydj([],ke,ce,ge,Ge)},re=0;re0&&(Ae=t.dxydj([],ke,re-1,ge,0),Ce.push(Me[0]+Ae[0]/3),me.push(Me[1]+Ae[1]/3),ze=t.dxydj([],ke,re-1,ge,1),Ce.push(ie[0]-ze[0]/3),me.push(ie[1]-ze[1]/3)),Ce.push(ie[0]),me.push(ie[1]),Me=ie;return Re.axisLetter=r,Re.axis=k,Re.crossAxis=M,Re.value=N,Re.constvar=n,Re.index=f,Re.x=Ce,Re.y=me,Re.smoothing=M.smoothing,Re}function G(N){var W,re,ae,_e,Me,ke=[],ge=[],ie={};if(ie.length=E.length,ie.crossLength=C.length,r===\"b\")for(ae=Math.max(0,Math.min(V-2,N)),Me=Math.min(1,Math.max(0,N-ae)),ie.xy=function(Te){return t.evalxy([],Te,N)},ie.dxy=function(Te,Ee){return t.dxydi([],Te,ae,Ee,Me)},W=0;WE.length-1)&&A.push(Ex(G(a),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u;fE.length-1)&&!(v<0||v>E.length-1))for(x=E[o],b=E[v],i=0;iE[E.length-1])&&L.push(Ex(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash})));k.startline&&_.push(Ex(G(0),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(Ex(G(E.length-1),{color:k.endlinecolor,width:k.endlinewidth}))}else{for(s=5e-15,l=[Math.floor((E[E.length-1]-k.tick0)/k.dtick*(1+s)),Math.ceil((E[0]-k.tick0)/k.dtick/(1+s))].sort(function(N,W){return N-W}),u=l[0],c=l[1],f=u;f<=c;f++)h=k.tick0+k.dtick*f,A.push(Ex(X(h),{color:k.gridcolor,width:k.gridwidth,dash:k.griddash}));for(f=u-1;fE[E.length-1])&&L.push(Ex(X(d),{color:k.minorgridcolor,width:k.minorgridwidth,dash:k.minorgriddash}));k.startline&&_.push(Ex(X(E[0]),{color:k.startlinecolor,width:k.startlinewidth})),k.endline&&_.push(Ex(X(E[E.length-1]),{color:k.endlinecolor,width:k.endlinewidth}))}}});var WZe=ye((j_r,jZe)=>{\"use strict\";var HZe=Qa(),GZe=no().extendFlat;jZe.exports=function(t,r){var n,i,a,o,s,l=r._labels=[],u=r._gridlines;for(n=0;n{\"use strict\";ZZe.exports=function(t,r,n,i){var a,o,s,l=[],u=!!n.smoothing,c=!!i.smoothing,f=t[0].length-1,h=t.length-1;for(a=0,o=[],s=[];a<=f;a++)o[a]=t[0][a],s[a]=r[0][a];for(l.push({x:o,y:s,bicubic:u}),a=0,o=[],s=[];a<=h;a++)o[a]=t[a][f],s[a]=r[a][f];for(l.push({x:o,y:s,bicubic:c}),a=f,o=[],s=[];a>=0;a--)o[f-a]=t[h][a],s[f-a]=r[h][a];for(l.push({x:o,y:s,bicubic:u}),a=h,o=[],s=[];a>=0;a--)o[h-a]=t[a][0],s[h-a]=r[a][0];return l.push({x:o,y:s,bicubic:c}),l}});var KZe=ye((Z_r,YZe)=>{\"use strict\";var wXt=Mr();YZe.exports=function(t,r,n){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(ae,_e){var Me=0,ke,ge=0;return ae>0&&(ke=t[_e][ae-1])!==void 0&&(ge++,Me+=ke),ae0&&(ke=t[_e-1][ae])!==void 0&&(ge++,Me+=ke),_e0&&a0&&iM);return wXt.log(\"Smoother converged to\",p,\"after\",T,\"iterations\"),t}});var $Ze=ye((X_r,JZe)=>{\"use strict\";JZe.exports={RELATIVE_CULL_TOLERANCE:1e-6}});var tXe=ye((Y_r,eXe)=>{\"use strict\";var QZe=.5;eXe.exports=function(t,r,n,i){var a=t[0]-r[0],o=t[1]-r[1],s=n[0]-r[0],l=n[1]-r[1],u=Math.pow(a*a+o*o,QZe/2),c=Math.pow(s*s+l*l,QZe/2),f=(c*c*a-u*u*s)*i,h=(c*c*o-u*u*l)*i,d=c*(u+c)*3,v=u*(u+c)*3;return[[r[0]+(d&&f/d),r[1]+(d&&h/d)],[r[0]-(v&&f/v),r[1]-(v&&h/v)]]}});var iXe=ye((K_r,rXe)=>{\"use strict\";var h$=tXe(),H7=Mr().ensureArray;function qA(e,t,r){var n=-.5*r[0]+1.5*t[0],i=-.5*r[1]+1.5*t[1];return[(2*n+e[0])/3,(2*i+e[1])/3]}rXe.exports=function(t,r,n,i,a,o){var s,l,u,c,f,h,d,v,x,b,g=n[0].length,E=n.length,k=a?3*g-2:g,A=o?3*E-2:E;for(t=H7(t,A),r=H7(r,A),u=0;u{\"use strict\";nXe.exports=function(e,t,r,n,i){var a=t-2,o=r-2;return n&&i?function(s,l,u){s||(s=[]);var c,f,h,d,v,x,b=Math.max(0,Math.min(Math.floor(l),a)),g=Math.max(0,Math.min(Math.floor(u),o)),E=Math.max(0,Math.min(1,l-b)),k=Math.max(0,Math.min(1,u-g));b*=3,g*=3;var A=E*E,L=A*E,_=1-E,C=_*_,M=C*_,p=k*k,P=p*k,T=1-k,F=T*T,q=F*T;for(x=0;x{\"use strict\";oXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=1-o,b=x*x,g=x*o*2,E=-3*b,k=3*(b-g),A=3*(g-v),L=3*v,_=s*s,C=_*s,M=1-s,p=M*M,P=p*M;for(d=0;d{\"use strict\";lXe.exports=function(e,t,r){return t&&r?function(n,i,a,o,s){n||(n=[]);var l,u,c,f,h,d;i*=3,a*=3;var v=o*o,x=v*o,b=1-o,g=b*b,E=g*b,k=s*s,A=1-s,L=A*A,_=A*s*2,C=-3*L,M=3*(L-_),p=3*(_-k),P=3*k;for(d=0;d{\"use strict\";var cXe=$Ze(),fXe=E6().findBin,TXt=iXe(),AXt=aXe(),SXt=sXe(),MXt=uXe();hXe.exports=function(t){var r=t._a,n=t._b,i=r.length,a=n.length,o=t.aaxis,s=t.baxis,l=r[0],u=r[i-1],c=n[0],f=n[a-1],h=r[r.length-1]-r[0],d=n[n.length-1]-n[0],v=h*cXe.RELATIVE_CULL_TOLERANCE,x=d*cXe.RELATIVE_CULL_TOLERANCE;l-=v,u+=v,c-=x,f+=x,t.isVisible=function(b,g){return b>l&&bc&&gu||gf},t.setScale=function(){var b=t._x,g=t._y,E=TXt(t._xctrl,t._yctrl,b,g,o.smoothing,s.smoothing);t._xctrl=E[0],t._yctrl=E[1],t.evalxy=AXt([t._xctrl,t._yctrl],i,a,o.smoothing,s.smoothing),t.dxydi=SXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing),t.dxydj=MXt([t._xctrl,t._yctrl],o.smoothing,s.smoothing)},t.i2a=function(b){var g=Math.max(0,Math.floor(b[0]),i-2),E=b[0]-g;return(1-E)*r[g]+E*r[g+1]},t.j2b=function(b){var g=Math.max(0,Math.floor(b[1]),i-2),E=b[1]-g;return(1-E)*n[g]+E*n[g+1]},t.ij2ab=function(b){return[t.i2a(b[0]),t.j2b(b[1])]},t.a2i=function(b){var g=Math.max(0,Math.min(fXe(b,r),i-2)),E=r[g],k=r[g+1];return Math.max(0,Math.min(i-1,g+(b-E)/(k-E)))},t.b2j=function(b){var g=Math.max(0,Math.min(fXe(b,n),a-2)),E=n[g],k=n[g+1];return Math.max(0,Math.min(a-1,g+(b-E)/(k-E)))},t.ab2ij=function(b){return[t.a2i(b[0]),t.b2j(b[1])]},t.i2c=function(b,g){return t.evalxy([],b,g)},t.ab2xy=function(b,g,E){if(!E&&(br[i-1]|gn[a-1]))return[!1,!1];var k=t.a2i(b),A=t.b2j(g),L=t.evalxy([],k,A);if(E){var _=0,C=0,M=[],p,P,T,F;br[i-1]?(p=i-2,P=1,_=(b-r[i-1])/(r[i-1]-r[i-2])):(p=Math.max(0,Math.min(i-2,Math.floor(k))),P=k-p),gn[a-1]?(T=a-2,F=1,C=(g-n[a-1])/(n[a-1]-n[a-2])):(T=Math.max(0,Math.min(a-2,Math.floor(A))),F=A-T),_&&(t.dxydi(M,p,T,P,F),L[0]+=M[0]*_,L[1]+=M[1]*_),C&&(t.dxydj(M,p,T,P,F),L[0]+=M[0]*C,L[1]+=M[1]*C)}return L},t.c2p=function(b,g,E){return[g.c2p(b[0]),E.c2p(b[1])]},t.p2x=function(b,g,E){return[g.p2c(b[0]),E.p2c(b[1])]},t.dadi=function(b){var g=Math.max(0,Math.min(r.length-2,b));return r[g+1]-r[g]},t.dbdj=function(b){var g=Math.max(0,Math.min(n.length-2,b));return n[g+1]-n[g]},t.dxyda=function(b,g,E,k){var A=t.dxydi(null,b,g,E,k),L=t.dadi(b,E);return[A[0]/L,A[1]/L]},t.dxydb=function(b,g,E,k){var A=t.dxydj(null,b,g,E,k),L=t.dbdj(g,k);return[A[0]/L,A[1]/L]},t.dxyda_rough=function(b,g,E){var k=h*(E||.1),A=t.ab2xy(b+k,g,!0),L=t.ab2xy(b-k,g,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dxydb_rough=function(b,g,E){var k=d*(E||.1),A=t.ab2xy(b,g+k,!0),L=t.ab2xy(b,g-k,!0);return[(A[0]-L[0])*.5/k,(A[1]-L[1])*.5/k]},t.dpdx=function(b){return b._m},t.dpdy=function(b){return b._m}}});var bXe=ye((txr,xXe)=>{\"use strict\";var G7=Qa(),vXe=Mr().isArray1D,EXt=FZe(),pXe=NZe(),gXe=VZe(),mXe=WZe(),kXt=XZe(),yXe=$I(),_Xe=KZe(),CXt=KI(),LXt=dXe();xXe.exports=function(t,r){var n=G7.getFromId(t,r.xaxis),i=G7.getFromId(t,r.yaxis),a=r.aaxis,o=r.baxis,s=r.x,l=r.y,u=[];s&&vXe(s)&&u.push(\"x\"),l&&vXe(l)&&u.push(\"y\"),u.length&&CXt(r,a,o,\"a\",\"b\",u);var c=r._a=r._a||r.a,f=r._b=r._b||r.b;s=r._x||r.x,l=r._y||r.y;var h={};if(r._cheater){var d=a.cheatertype===\"index\"?c.length:c,v=o.cheatertype===\"index\"?f.length:f;s=EXt(d,v,r.cheaterslope)}r._x=s=yXe(s),r._y=l=yXe(l),_Xe(s,c,f),_Xe(l,c,f),LXt(r),r.setScale();var x=pXe(s),b=pXe(l),g=.5*(x[1]-x[0]),E=.5*(x[1]+x[0]),k=.5*(b[1]-b[0]),A=.5*(b[1]+b[0]),L=1.3;return x=[E-g*L,E+g*L],b=[A-k*L,A+k*L],r._extremes[n._id]=G7.findExtremes(n,x,{padded:!0}),r._extremes[i._id]=G7.findExtremes(i,b,{padded:!0}),gXe(r,\"a\",\"b\"),gXe(r,\"b\",\"a\"),mXe(r,a),mXe(r,o),h.clipsegments=kXt(r._xctrl,r._yctrl,a,o),h.x=s,h.y=l,h.a=c,h.b=f,[h]}});var TXe=ye((rxr,wXe)=>{\"use strict\";wXe.exports={attributes:q7(),supplyDefaults:wZe(),plot:DZe(),calc:bXe(),animatable:!0,isContainer:!0,moduleType:\"trace\",name:\"carpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"carpetAxis\",\"notLegendIsolatable\",\"noMultiCategory\",\"noHover\",\"noSortingByValue\"],meta:{}}});var SXe=ye((ixr,AXe)=>{\"use strict\";AXe.exports=TXe()});var d$=ye((nxr,EXe)=>{\"use strict\";var PXt=Eg(),u0=Uc(),IXt=vl(),RXt=Wo().hovertemplateAttrs,DXt=Wo().texttemplateAttrs,MXe=Kl(),kx=no().extendFlat,sg=u0.marker,OA=u0.line,zXt=sg.line;EXe.exports={carpet:{valType:\"string\",editType:\"calc\"},a:{valType:\"data_array\",editType:\"calc\"},b:{valType:\"data_array\",editType:\"calc\"},mode:kx({},u0.mode,{dflt:\"markers\"}),text:kx({},u0.text,{}),texttemplate:DXt({editType:\"plot\"},{keys:[\"a\",\"b\",\"text\"]}),hovertext:kx({},u0.hovertext,{}),line:{color:OA.color,width:OA.width,dash:OA.dash,backoff:OA.backoff,shape:kx({},OA.shape,{values:[\"linear\",\"spline\"]}),smoothing:OA.smoothing,editType:\"calc\"},connectgaps:u0.connectgaps,fill:kx({},u0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:PXt(),marker:kx({symbol:sg.symbol,opacity:sg.opacity,maxdisplayed:sg.maxdisplayed,angle:sg.angle,angleref:sg.angleref,standoff:sg.standoff,size:sg.size,sizeref:sg.sizeref,sizemin:sg.sizemin,sizemode:sg.sizemode,line:kx({width:zXt.width,editType:\"calc\"},MXe(\"marker.line\")),gradient:sg.gradient,editType:\"calc\"},MXe(\"marker\")),textfont:u0.textfont,textposition:u0.textposition,selected:u0.selected,unselected:u0.unselected,hoverinfo:kx({},IXt.hoverinfo,{flags:[\"a\",\"b\",\"text\",\"name\"]}),hoveron:u0.hoveron,hovertemplate:RXt(),zorder:u0.zorder}});var PXe=ye((axr,LXe)=>{\"use strict\";var kXe=Mr(),FXt=Sm(),BA=lu(),qXt=$p(),OXt=R0(),CXe=J3(),BXt=D0(),NXt=Ig(),UXt=d$();LXe.exports=function(t,r,n,i){function a(h,d){return kXe.coerce(t,r,UXt,h,d)}a(\"carpet\"),r.xaxis=\"x\",r.yaxis=\"y\";var o=a(\"a\"),s=a(\"b\"),l=Math.min(o.length,s.length);if(!l){r.visible=!1;return}r._length=l,a(\"text\"),a(\"texttemplate\"),a(\"hovertext\");var u=l{\"use strict\";IXe.exports=function(t,r){var n={},i=r._carpet,a=i.ab2ij([t.a,t.b]),o=Math.floor(a[0]),s=a[0]-o,l=Math.floor(a[1]),u=a[1]-l,c=i.evalxy([],o,l,s,u);return n.yLabel=c[1].toFixed(3),n}});var j7=ye((sxr,DXe)=>{\"use strict\";DXe.exports=function(e,t){for(var r=e._fullData.length,n,i=0;i{\"use strict\";var zXe=uo(),VXt=z0(),HXt=km(),GXt=F0(),jXt=q0().calcMarkerSize,WXt=j7();FXe.exports=function(t,r){var n=r._carpetTrace=WXt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){var i;r.xaxis=n.xaxis,r.yaxis=n.yaxis;var a=r._length,o=new Array(a),s,l,u=!1;for(i=0;i{\"use strict\";var ZXt=iT(),OXe=Qa(),XXt=ao();BXe.exports=function(t,r,n,i){var a,o,s,l=n[0][0].carpet,u=OXe.getFromId(t,l.xaxis||\"x\"),c=OXe.getFromId(t,l.yaxis||\"y\"),f={xaxis:u,yaxis:c,plot:r.plot};for(a=0;a{\"use strict\";var YXt=sT(),KXt=Mr().fillText;UXe.exports=function(t,r,n,i){var a=YXt(t,r,n,i);if(!a||a[0].index===!1)return;var o=a[0];if(o.index===void 0){var s=1-o.y0/t.ya._length,l=t.xa._length,u=l*s/2,c=l-u;return o.x0=Math.max(Math.min(o.x0,c),u),o.x1=Math.max(Math.min(o.x1,c),u),a}var f=o.cd[o.index];o.a=f.a,o.b=f.b,o.xLabelVal=void 0,o.yLabelVal=void 0;var h=o.trace,d=h._carpet,v=h._module.formatLabels(f,h);o.yLabel=v.yLabel,delete o.text;var x=[];function b(k,A){var L;k.labelprefix&&k.labelprefix.length>0?L=k.labelprefix.replace(/ = $/,\"\"):L=k._hovertitle,x.push(L+\": \"+A.toFixed(3)+k.labelsuffix)}if(!h.hovertemplate){var g=f.hi||h.hoverinfo,E=g.split(\"+\");E.indexOf(\"all\")!==-1&&(E=[\"a\",\"b\",\"text\"]),E.indexOf(\"a\")!==-1&&b(d.aaxis,f.a),E.indexOf(\"b\")!==-1&&b(d.baxis,f.b),x.push(\"y: \"+o.yLabel),E.indexOf(\"text\")!==-1&&KXt(f,h,x),o.extraText=x.join(\"
\")}return a}});var GXe=ye((fxr,HXe)=>{\"use strict\";HXe.exports=function(t,r,n,i,a){var o=i[a];return t.a=o.a,t.b=o.b,t.y=o.y,t}});var WXe=ye((hxr,jXe)=>{\"use strict\";jXe.exports={attributes:d$(),supplyDefaults:PXe(),colorbar:Kd(),formatLabels:RXe(),calc:qXe(),plot:NXe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:VXe(),selectPoints:lT(),eventData:GXe(),moduleType:\"trace\",name:\"scattercarpet\",basePlotModule:Jf(),categories:[\"svg\",\"carpet\",\"symbols\",\"showLegend\",\"carpetDependent\",\"zoomScale\"],meta:{}}});var XXe=ye((dxr,ZXe)=>{\"use strict\";ZXe.exports=WXe()});var v$=ye((vxr,YXe)=>{\"use strict\";var lg=ET(),g1=T4(),JXt=Kl(),$Xt=no().extendFlat,ty=g1.contours;YXe.exports=$Xt({carpet:{valType:\"string\",editType:\"calc\"},z:lg.z,a:lg.x,a0:lg.x0,da:lg.dx,b:lg.y,b0:lg.y0,db:lg.dy,text:lg.text,hovertext:lg.hovertext,transpose:lg.transpose,atype:lg.xtype,btype:lg.ytype,fillcolor:g1.fillcolor,autocontour:g1.autocontour,ncontours:g1.ncontours,contours:{type:ty.type,start:ty.start,end:ty.end,size:ty.size,coloring:{valType:\"enumerated\",values:[\"fill\",\"lines\",\"none\"],dflt:\"fill\",editType:\"calc\"},showlines:ty.showlines,showlabels:ty.showlabels,labelfont:ty.labelfont,labelformat:ty.labelformat,operation:ty.operation,value:ty.value,editType:\"calc\",impliedEdits:{autocontour:!1}},line:{color:g1.line.color,width:g1.line.width,dash:g1.line.dash,smoothing:g1.line.smoothing,editType:\"plot\"},zorder:g1.zorder},JXt(\"\",{cLetter:\"z\",autoColorDflt:!1}))});var p$=ye((pxr,$Xe)=>{\"use strict\";var KXe=Mr(),QXt=ZI(),JXe=v$(),eYt=yH(),tYt=m8(),rYt=y8();$Xe.exports=function(t,r,n,i){function a(u,c){return KXe.coerce(t,r,JXe,u,c)}function o(u){return KXe.coerce2(t,r,JXe,u)}if(a(\"carpet\"),t.a&&t.b){var s=QXt(t,r,a,i,\"a\",\"b\");if(!s){r.visible=!1;return}a(\"text\");var l=a(\"contours.type\")===\"constraint\";l?eYt(t,r,a,i,n,{hasHover:!1}):(tYt(t,r,a,o),rYt(t,r,a,i,{hasHover:!1}))}else r._defaultColor=n,r._length=null;a(\"zorder\")}});var rYe=ye((gxr,tYe)=>{\"use strict\";var iYt=zv(),QXe=Mr(),nYt=KI(),aYt=$I(),oYt=QI(),sYt=e8(),eYe=VV(),lYt=p$(),uYt=j7(),cYt=oH();tYe.exports=function(t,r){var n=r._carpetTrace=uYt(t,r);if(!(!n||!n.visible||n.visible===\"legendonly\")){if(!r.a||!r.b){var i=t.data[n.index],a=t.data[r.index];a.a||(a.a=i.a),a.b||(a.b=i.b),lYt(a,r,r._defaultColor,t._fullLayout)}var o=fYt(t,r);return cYt(r,r._z),o}};function fYt(e,t){var r=t._carpetTrace,n=r.aaxis,i=r.baxis,a,o,s,l,u,c,f;n._minDtick=0,i._minDtick=0,QXe.isArray1D(t.z)&&nYt(t,n,i,\"a\",\"b\",[\"z\"]),a=t._a=t._a||t.a,l=t._b=t._b||t.b,a=a?n.makeCalcdata(t,\"_a\"):[],l=l?i.makeCalcdata(t,\"_b\"):[],o=t.a0||0,s=t.da||1,u=t.b0||0,c=t.db||1,f=t._z=aYt(t._z||t.z,t.transpose),t._emptypoints=sYt(f),oYt(f,t._emptypoints);var h=QXe.maxRowLength(f),d=t.xtype===\"scaled\"?\"\":a,v=eYe(t,d,o,s,h,n),x=t.ytype===\"scaled\"?\"\":l,b=eYe(t,x,u,c,f.length,i),g={a:v,b,z:f};return t.contours.type===\"levels\"&&t.contours.coloring!==\"none\"&&iYt(e,t,{vals:f,containerStr:\"\",cLetter:\"z\"}),[g]}});var nYe=ye((mxr,iYe)=>{\"use strict\";var hYt=Mr().isArrayOrTypedArray;iYe.exports=function(e,t,r,n){var i,a,o,s,l,u,c,f,h,d,v,x,b,g=hYt(r)?\"a\":\"b\",E=g===\"a\"?e.aaxis:e.baxis,k=E.smoothing,A=g===\"a\"?e.a2i:e.b2j,L=g===\"a\"?r:n,_=g===\"a\"?n:r,C=g===\"a\"?t.a.length:t.b.length,M=g===\"a\"?t.b.length:t.a.length,p=Math.floor(g===\"a\"?e.b2j(_):e.a2i(_)),P=g===\"a\"?function(_e){return e.evalxy([],_e,p)}:function(_e){return e.evalxy([],p,_e)};k&&(o=Math.max(0,Math.min(M-2,p)),s=p-o,a=g===\"a\"?function(_e,Me){return e.dxydi([],_e,o,Me,s)}:function(_e,Me){return e.dxydj([],o,_e,s,Me)});var T=A(L[0]),F=A(L[1]),q=T0?Math.floor:Math.ceil,X=q>0?Math.ceil:Math.floor,G=q>0?Math.min:Math.max,N=q>0?Math.max:Math.min,W=H(T+V),re=X(F-V);c=P(T);var ae=[[c]];for(i=W;i*q{\"use strict\";var Z7=xa(),X7=u$(),uYe=c$(),$k=ao(),m1=Mr(),dYt=lH(),vYt=uH(),hw=b8(),W7=S4(),pYt=dH(),gYt=hH(),mYt=vH(),yYt=j7(),aYe=nYe();cYe.exports=function(t,r,n,i){var a=r.xaxis,o=r.yaxis;m1.makeTraceGroups(i,n,\"contour\").each(function(s){var l=Z7.select(this),u=s[0],c=u.trace,f=c._carpetTrace=yYt(t,c),h=t.calcdata[f.index][0];if(!f.visible||f.visible===\"legendonly\")return;var d=u.a,v=u.b,x=c.contours,b=gYt(x,r,u),g=x.type===\"constraint\",E=x._operation,k=g?E===\"=\"?\"lines\":\"fill\":x.coloring;function A(H){var X=f.ab2xy(H[0],H[1],!0);return[a.c2p(X[0]),o.c2p(X[1])]}var L=[[d[0],v[v.length-1]],[d[d.length-1],v[v.length-1]],[d[d.length-1],v[0]],[d[0],v[0]]];dYt(b);var _=(d[d.length-1]-d[0])*1e-8,C=(v[v.length-1]-v[0])*1e-8;vYt(b,_,C);var M=b;x.type===\"constraint\"&&(M=pYt(b,E)),_Yt(b,A);var p,P,T,F,q=[];for(F=h.clipsegments.length-1;F>=0;F--)p=h.clipsegments[F],P=X7([],p.x,a.c2p),T=X7([],p.y,o.c2p),P.reverse(),T.reverse(),q.push(uYe(P,T,p.bicubic));var V=\"M\"+q.join(\"L\")+\"Z\";wYt(l,h.clipsegments,a,o,g,k),TYt(c,l,a,o,M,L,A,f,h,k,V),xYt(l,b,t,u,x,r,f),$k.setClipUrl(l,f._clipPathId,t)})};function _Yt(e,t){var r,n,i,a,o,s,l,u,c;for(r=0;rb&&(n.max=b),n.len=n.max-n.min}function oYe(e,t,r){var n=e.getPointAtLength(t),i=e.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function sYe(e){var t=Math.sqrt(e[0]*e[0]+e[1]*e[1]);return[e[0]/t,e[1]/t]}function lYe(e,t){var r=Math.abs(e[0]*t[0]+e[1]*t[1]),n=Math.sqrt(1-r*r);return n/r}function wYt(e,t,r,n,i,a){var o,s,l,u,c=m1.ensureSingle(e,\"g\",\"contourbg\"),f=c.selectAll(\"path\").data(a===\"fill\"&&!i?[0]:[]);f.enter().append(\"path\"),f.exit().remove();var h=[];for(u=0;u=0&&(d=P,x=b):Math.abs(h[1]-d[1])=0&&(d=P,x=b):m1.log(\"endpt to newendpt is not vert. or horz.\",h,d,P)}if(x>=0)break;u+=M(h,d),h=d}if(x===t.edgepaths.length){m1.log(\"unclosed perimeter path\");break}l=x,f=c.indexOf(l)===-1,f&&(l=c[0],u+=M(h,d)+\"Z\",h=null)}for(l=0;l{\"use strict\";hYe.exports={attributes:v$(),supplyDefaults:p$(),colorbar:A8(),calc:rYe(),plot:fYe(),style:T8(),moduleType:\"trace\",name:\"contourcarpet\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"carpet\",\"contour\",\"symbols\",\"showLegend\",\"hasLines\",\"carpetDependent\",\"noHover\",\"noSortingByValue\"],meta:{}}});var pYe=ye((xxr,vYe)=>{\"use strict\";vYe.exports=dYe()});var K7=ye((bxr,xYe)=>{\"use strict\";var Y7=Mr().extendFlat,Qk=Uc(),gYe=Oc().axisHoverFormat,yYe=Ed().dash,SYt=i3(),_Ye=HT(),MYt=_Ye.INCREASING.COLOR,EYt=_Ye.DECREASING.COLOR,g$=Qk.line;function mYe(e){return{line:{color:Y7({},g$.color,{dflt:e}),width:g$.width,dash:yYe,editType:\"style\"},editType:\"style\"}}xYe.exports={xperiod:Qk.xperiod,xperiod0:Qk.xperiod0,xperiodalignment:Qk.xperiodalignment,xhoverformat:gYe(\"x\"),yhoverformat:gYe(\"y\"),x:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},open:{valType:\"data_array\",editType:\"calc\"},high:{valType:\"data_array\",editType:\"calc\"},low:{valType:\"data_array\",editType:\"calc\"},close:{valType:\"data_array\",editType:\"calc\"},line:{width:Y7({},g$.width,{}),dash:Y7({},yYe,{}),editType:\"style\"},increasing:mYe(MYt),decreasing:mYe(EYt),text:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},hovertext:{valType:\"string\",dflt:\"\",arrayOk:!0,editType:\"calc\"},tickwidth:{valType:\"number\",min:0,max:.5,dflt:.3,editType:\"calc\"},hoverlabel:Y7({},SYt.hoverlabel,{split:{valType:\"boolean\",dflt:!1,editType:\"style\"}}),zorder:Qk.zorder}});var m$=ye((wxr,bYe)=>{\"use strict\";var kYt=ba(),CYt=Mr();bYe.exports=function(t,r,n,i){var a=n(\"x\"),o=n(\"open\"),s=n(\"high\"),l=n(\"low\"),u=n(\"close\");n(\"hoverlabel.split\");var c=kYt.getComponentMethod(\"calendars\",\"handleTraceDefaults\");if(c(t,r,[\"x\"],i),!!(o&&s&&l&&u)){var f=Math.min(o.length,s.length,l.length,u.length);return a&&(f=Math.min(f,CYt.minRowLength(a))),r._length=f,f}}});var AYe=ye((Txr,TYe)=>{\"use strict\";var LYt=Mr(),PYt=m$(),IYt=Pg(),RYt=K7();TYe.exports=function(t,r,n,i){function a(s,l){return LYt.coerce(t,r,RYt,s,l)}var o=PYt(t,r,a,i);if(!o){r.visible=!1;return}IYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),a(\"line.dash\"),wYe(t,r,a,\"increasing\"),wYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"tickwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function wYe(e,t,r,n){r(n+\".line.color\"),r(n+\".line.width\",t.line.width),r(n+\".line.dash\",t.line.dash)}});var y$=ye((Axr,MYe)=>{\"use strict\";var NA=Mr(),J7=NA._,$7=Qa(),DYt=Rg(),eC=es().BADNUM;function zYt(e,t){var r=$7.getFromId(e,t.xaxis),n=$7.getFromId(e,t.yaxis),i=qYt(e,r,t),a=t._minDiff;t._minDiff=null;var o=t._origX;t._origX=null;var s=t._xcalc;t._xcalc=null;var l=SYe(e,t,o,s,n,FYt);return t._extremes[r._id]=$7.findExtremes(r,s,{vpad:a/2}),l.length?(NA.extendFlat(l[0].t,{wHover:a/2,tickLen:i}),l):[{t:{empty:!0}}]}function FYt(e,t,r,n){return{o:e,h:t,l:r,c:n}}function SYe(e,t,r,n,i,a){for(var o=i.makeCalcdata(t,\"open\"),s=i.makeCalcdata(t,\"high\"),l=i.makeCalcdata(t,\"low\"),u=i.makeCalcdata(t,\"close\"),c=NA.isArrayOrTypedArray(t.text),f=NA.isArrayOrTypedArray(t.hovertext),h=!0,d=null,v=!!t.xperiodalignment,x=[],b=0;bd):h=L>E,d=L;var _=a(E,k,A,L);_.pos=g,_.yc=(E+L)/2,_.i=b,_.dir=h?\"increasing\":\"decreasing\",_.x=_.pos,_.y=[A,k],v&&(_.orig_p=r[b]),c&&(_.tx=t.text[b]),f&&(_.htx=t.hovertext[b]),x.push(_)}else x.push({pos:g,empty:!0})}return t._extremes[i._id]=$7.findExtremes(i,NA.concat(l,s),{padded:!0}),x.length&&(x[0].t={labels:{open:J7(e,\"open:\")+\" \",high:J7(e,\"high:\")+\" \",low:J7(e,\"low:\")+\" \",close:J7(e,\"close:\")+\" \"}}),x}function qYt(e,t,r){var n=r._minDiff;if(!n){var i=e._fullData,a=[];n=1/0;var o;for(o=0;o{\"use strict\";var OYt=xa(),EYe=Mr();kYe.exports=function(t,r,n,i){var a=r.yaxis,o=r.xaxis,s=!!o.rangebreaks;EYe.makeTraceGroups(i,n,\"trace ohlc\").each(function(l){var u=OYt.select(this),c=l[0],f=c.t,h=c.trace;if(h.visible!==!0||f.empty){u.remove();return}var d=f.tickLen,v=u.selectAll(\"path\").data(EYe.identity);v.enter().append(\"path\"),v.exit().remove(),v.attr(\"d\",function(x){if(x.empty)return\"M0,0Z\";var b=o.c2p(x.pos-d,!0),g=o.c2p(x.pos+d,!0),E=s?(b+g)/2:o.c2p(x.pos,!0),k=a.c2p(x.o,!0),A=a.c2p(x.h,!0),L=a.c2p(x.l,!0),_=a.c2p(x.c,!0);return\"M\"+b+\",\"+k+\"H\"+E+\"M\"+E+\",\"+A+\"V\"+L+\"M\"+g+\",\"+_+\"H\"+E})})}});var PYe=ye((Mxr,LYe)=>{\"use strict\";var _$=xa(),BYt=ao(),NYt=va();LYe.exports=function(t,r,n){var i=n||_$.select(t).selectAll(\"g.ohlclayer\").selectAll(\"g.trace\");i.style(\"opacity\",function(a){return a[0].trace.opacity}),i.each(function(a){var o=a[0].trace;_$.select(this).selectAll(\"path\").each(function(s){if(!s.empty){var l=o[s.dir].line;_$.select(this).style(\"fill\",\"none\").call(NYt.stroke,l.color).call(BYt.dashLine,l.dash,l.width).style(\"opacity\",o.selectedpoints&&!s.selected?.3:1)}})})}});var b$=ye((Exr,FYe)=>{\"use strict\";var x$=Qa(),UYt=Mr(),Q7=Nc(),VYt=va(),HYt=Mr().fillText,IYe=HT(),GYt={increasing:IYe.INCREASING.SYMBOL,decreasing:IYe.DECREASING.SYMBOL};function jYt(e,t,r,n){var i=e.cd,a=i[0].trace;return a.hoverlabel.split?DYe(e,t,r,n):zYe(e,t,r,n)}function RYe(e,t,r,n){var i=e.cd,a=e.xa,o=i[0].trace,s=i[0].t,l=o.type,u=l===\"ohlc\"?\"l\":\"min\",c=l===\"ohlc\"?\"h\":\"max\",f,h,d=s.bPos||0,v=function(P){return P.pos+d-t},x=s.bdPos||s.tickLen,b=s.wHover,g=Math.min(1,x/Math.abs(a.r2c(a.range[1])-a.r2c(a.range[0])));f=e.maxHoverDistance-g,h=e.maxSpikeDistance-g;function E(P){var T=v(P);return Q7.inbox(T-b,T+b,f)}function k(P){var T=P[u],F=P[c];return T===F||Q7.inbox(T-r,F-r,f)}function A(P){return(E(P)+k(P))/2}var L=Q7.getDistanceFunction(n,E,k,A);if(Q7.getClosest(i,L,e),e.index===!1)return null;var _=i[e.index];if(_.empty)return null;var C=_.dir,M=o[C],p=M.line.color;return VYt.opacity(p)&&M.line.width?e.color=p:e.color=M.fillcolor,e.x0=a.c2p(_.pos+d-x,!0),e.x1=a.c2p(_.pos+d+x,!0),e.xLabelVal=_.orig_p!==void 0?_.orig_p:_.pos,e.spikeDistance=A(_)*h/f,e.xSpike=a.c2p(_.pos,!0),e}function DYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=[],u=RYe(e,t,r,n);if(!u)return[];var c=u.index,f=i[c],h=f.hi||o.hoverinfo,d=h.split(\"+\"),v=h===\"all\",x=v||d.indexOf(\"y\")!==-1;if(!x)return[];for(var b=[\"high\",\"open\",\"close\",\"low\"],g={},E=0;E\"+s.labels[k]+x$.hoverLabelText(a,A,o.yhoverformat)):(_=UYt.extendFlat({},u),_.y0=_.y1=L,_.yLabelVal=A,_.yLabel=s.labels[k]+x$.hoverLabelText(a,A,o.yhoverformat),_.name=\"\",l.push(_),g[A]=_)}return l}function zYe(e,t,r,n){var i=e.cd,a=e.ya,o=i[0].trace,s=i[0].t,l=RYe(e,t,r,n);if(!l)return[];var u=l.index,c=i[u],f=l.index=c.i,h=c.dir;function d(A){return s.labels[A]+x$.hoverLabelText(a,o[A][f],o.yhoverformat)}var v=c.hi||o.hoverinfo,x=v.split(\"+\"),b=v===\"all\",g=b||x.indexOf(\"y\")!==-1,E=b||x.indexOf(\"text\")!==-1,k=g?[d(\"open\"),d(\"high\"),d(\"low\"),d(\"close\")+\" \"+GYt[h]]:[];return E&&HYt(c,o,k),l.extraText=k.join(\"
\"),l.y0=l.y1=a.c2p(c.yc,!0),[l]}FYe.exports={hoverPoints:jYt,hoverSplit:DYe,hoverOnPoints:zYe}});var w$=ye((kxr,qYe)=>{\"use strict\";qYe.exports=function(t,r){var n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s,l=n[0].t.bPos||0;if(r===!1)for(s=0;s{\"use strict\";OYe.exports={moduleType:\"trace\",name:\"ohlc\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\"],meta:{},attributes:K7(),supplyDefaults:AYe(),calc:y$().calc,plot:CYe(),style:PYe(),hoverPoints:b$().hoverPoints,selectPoints:w$()}});var UYe=ye((Lxr,NYe)=>{\"use strict\";NYe.exports=BYe()});var A$=ye((Pxr,GYe)=>{\"use strict\";var T$=Mr().extendFlat,VYe=Oc().axisHoverFormat,c0=K7(),UA=v4();function HYe(e){return{line:{color:T$({},UA.line.color,{dflt:e}),width:UA.line.width,editType:\"style\"},fillcolor:UA.fillcolor,editType:\"style\"}}GYe.exports={xperiod:c0.xperiod,xperiod0:c0.xperiod0,xperiodalignment:c0.xperiodalignment,xhoverformat:VYe(\"x\"),yhoverformat:VYe(\"y\"),x:c0.x,open:c0.open,high:c0.high,low:c0.low,close:c0.close,line:{width:T$({},UA.line.width,{}),editType:\"style\"},increasing:HYe(c0.increasing.line.color.dflt),decreasing:HYe(c0.decreasing.line.color.dflt),text:c0.text,hovertext:c0.hovertext,whiskerwidth:T$({},UA.whiskerwidth,{dflt:0}),hoverlabel:c0.hoverlabel,zorder:UA.zorder}});var ZYe=ye((Ixr,WYe)=>{\"use strict\";var WYt=Mr(),ZYt=va(),XYt=m$(),YYt=Pg(),KYt=A$();WYe.exports=function(t,r,n,i){function a(s,l){return WYt.coerce(t,r,KYt,s,l)}var o=XYt(t,r,a,i);if(!o){r.visible=!1;return}YYt(t,r,i,a,{x:!0}),a(\"xhoverformat\"),a(\"yhoverformat\"),a(\"line.width\"),jYe(t,r,a,\"increasing\"),jYe(t,r,a,\"decreasing\"),a(\"text\"),a(\"hovertext\"),a(\"whiskerwidth\"),i._requestRangeslider[r.xaxis]=!0,a(\"zorder\")};function jYe(e,t,r,n){var i=r(n+\".line.color\");r(n+\".line.width\",t.line.width),r(n+\".fillcolor\",ZYt.addOpacity(i,.5))}});var JYe=ye((Rxr,KYe)=>{\"use strict\";var XYe=Mr(),YYe=Qa(),JYt=Rg(),$Yt=y$().calcCommon;KYe.exports=function(e,t){var r=e._fullLayout,n=YYe.getFromId(e,t.xaxis),i=YYe.getFromId(e,t.yaxis),a=n.makeCalcdata(t,\"x\"),o=JYt(t,n,\"x\",a).vals,s=$Yt(e,t,a,o,i,QYt);return s.length?(XYe.extendFlat(s[0].t,{num:r._numBoxes,dPos:XYe.distinctVals(o).minDiff/2,posLetter:\"x\",valLetter:\"y\"}),r._numBoxes++,s):[{t:{empty:!0}}]};function QYt(e,t,r,n){return{min:r,q1:Math.min(e,n),med:n,q3:Math.max(e,n),max:t}}});var QYe=ye((Dxr,$Ye)=>{\"use strict\";$Ye.exports={moduleType:\"trace\",name:\"candlestick\",basePlotModule:Jf(),categories:[\"cartesian\",\"svg\",\"showLegend\",\"candlestick\",\"boxLayout\"],meta:{},attributes:A$(),layoutAttributes:p4(),supplyLayoutDefaults:UI().supplyLayoutDefaults,crossTraceCalc:HI().crossTraceCalc,supplyDefaults:ZYe(),calc:JYe(),plot:GI().plot,layerName:\"boxlayer\",style:jI().style,hoverPoints:b$().hoverPoints,selectPoints:w$()}});var tKe=ye((zxr,eKe)=>{\"use strict\";eKe.exports=QYe()});var M$=ye((Fxr,rKe)=>{\"use strict\";var t9=Mr(),eKt=ym(),e9=t9.deg2rad,S$=t9.rad2deg;rKe.exports=function(t,r,n){switch(eKt(t,n),t._id){case\"x\":case\"radialaxis\":tKt(t,r);break;case\"angularaxis\":nKt(t,r);break}};function tKt(e,t){var r=t._subplot;e.setGeometry=function(){var n=e._rl[0],i=e._rl[1],a=r.innerRadius,o=(r.radius-a)/(i-n),s=a/o,l=n>i?function(u){return u<=0}:function(u){return u>=0};e.c2g=function(u){var c=e.c2l(u)-n;return(l(c)?c:0)+s},e.g2c=function(u){return e.l2c(u+n-s)},e.g2p=function(u){return u*o},e.c2p=function(u){return e.g2p(e.c2g(u))}}}function rKt(e,t){return t===\"degrees\"?e9(e):e}function iKt(e,t){return t===\"degrees\"?S$(e):e}function nKt(e,t){var r=e.type;if(r===\"linear\"){var n=e.d2c,i=e.c2d;e.d2c=function(a,o){return rKt(n(a),o)},e.c2d=function(a,o){return i(iKt(a,o))}}e.makeCalcdata=function(a,o){var s=a[o],l=a._length,u,c,f=function(b){return e.d2c(b,a.thetaunit)};if(s)for(u=new Array(l),c=0;c{\"use strict\";iKe.exports={attr:\"subplot\",name:\"polar\",axisNames:[\"angularaxis\",\"radialaxis\"],axisName2dataArray:{angularaxis:\"theta\",radialaxis:\"r\"},layerNames:[\"draglayer\",\"plotbg\",\"backplot\",\"angular-grid\",\"radial-grid\",\"frontplot\",\"angular-line\",\"radial-line\",\"angular-axis\",\"radial-axis\"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}});var n9=ye((Oxr,lKe)=>{\"use strict\";var dw=Mr(),nKe=wM().tester,E$=dw.findIndexOfMin,oKe=dw.isAngleInsideSector,aKt=dw.angleDelta,aKe=dw.angleDist;function oKt(e,t,r,n,i){if(!oKe(t,n))return!1;var a,o;r[0]0?o:1/0},n=E$(t,r),i=dw.mod(n+1,t.length);return[t[n],t[i]]}function i9(e){return Math.abs(e)>1e-10?e:0}function k$(e,t,r){t=t||0,r=r||0;for(var n=e.length,i=new Array(n),a=0;a{\"use strict\";function uKe(e){return e<0?-1:e>0?1:0}function HA(e){var t=e[0],r=e[1];if(!isFinite(t)||!isFinite(r))return[1,0];var n=(t+1)*(t+1)+r*r;return[(t*t+r*r-1)/n,2*r/n]}function GA(e,t){var r=t[0],n=t[1];return[r*e.radius+e.cx,-n*e.radius+e.cy]}function cKe(e,t){return t*e.radius}function vKt(e,t,r,n){var i=GA(e,HA([r,t])),a=i[0],o=i[1],s=GA(e,HA([n,t])),l=s[0],u=s[1];if(t===0)return[\"M\"+a+\",\"+o,\"L\"+l+\",\"+u].join(\" \");var c=cKe(e,1/Math.abs(t));return[\"M\"+a+\",\"+o,\"A\"+c+\",\"+c+\" 0 0,\"+(t<0?1:0)+\" \"+l+\",\"+u].join(\" \")}function pKt(e,t,r,n){var i=cKe(e,1/(t+1)),a=GA(e,HA([t,r])),o=a[0],s=a[1],l=GA(e,HA([t,n])),u=l[0],c=l[1];if(uKe(r)!==uKe(n)){var f=GA(e,HA([t,0])),h=f[0],d=f[1];return[\"M\"+o+\",\"+s,\"A\"+i+\",\"+i+\" 0 0,\"+(0{\"use strict\";var vw=xa(),gKt=id(),gw=ba(),cc=Mr(),ry=cc.strRotate,dd=cc.strTranslate,L$=va(),tC=ao(),mKt=Xu(),dp=Qa(),yKt=ym(),_Kt=M$(),xKt=wg().doAutoRange,y1=DN(),s9=gv(),hKe=Nc(),bKt=Mb(),wKt=wf().prepSelect,TKt=wf().selectOnClick,P$=wf().clearOutline,dKe=Tg(),vKe=lM(),pKe=gM().redrawReglTraces,AKt=Nh().MID_SHIFT,Cx=r9(),_1=n9(),l9=C$(),a9=l9.smith,SKt=l9.reactanceArc,MKt=l9.resistanceArc,o9=l9.smithTransform,EKt=cc._,gKe=cc.mod,Lx=cc.deg2rad,pw=cc.rad2deg;function mKe(e,t,r){this.isSmith=r||!1,this.id=t,this.gd=e,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var n=e._fullLayout,i=\"clip\"+n._uid+t;this.clipIds.forTraces=i+\"-for-traces\",this.clipPaths.forTraces=n._clips.append(\"clipPath\").attr(\"id\",this.clipIds.forTraces),this.clipPaths.forTraces.append(\"path\"),this.framework=n[\"_\"+(r?\"smith\":\"polar\")+\"layer\"].append(\"g\").attr(\"class\",t),this.getHole=function(a){return this.isSmith?0:a.hole},this.getSector=function(a){return this.isSmith?[0,360]:a.sector},this.getRadial=function(a){return this.isSmith?a.realaxis:a.radialaxis},this.getAngular=function(a){return this.isSmith?a.imaginaryaxis:a.angularaxis},r||(this.radialTickLayout=null,this.angularTickLayout=null)}var Fd=mKe.prototype;xKe.exports=function(t,r,n){return new mKe(t,r,n)};Fd.plot=function(e,t){for(var r=this,n=t[r.id],i=!1,a=0;ab?(g=u,E=u*b,L=(c-E)/i.h/2,k=[s[0],s[1]],A=[l[0]+L,l[1]-L]):(g=c/b,E=c,L=(u-g)/i.w/2,k=[s[0]+L,s[1]-L],A=[l[0],l[1]]),r.xLength2=g,r.yLength2=E,r.xDomain2=k,r.yDomain2=A;var _=r.xOffset2=i.l+i.w*k[0],C=r.yOffset2=i.t+i.h*(1-A[1]),M=r.radius=g/d,p=r.innerRadius=r.getHole(t)*M,P=r.cx=_-M*h[0],T=r.cy=C+M*h[3],F=r.cxx=P-_,q=r.cyy=T-C,V=a.side,H;V===\"counterclockwise\"?(H=V,V=\"top\"):V===\"clockwise\"&&(H=V,V=\"bottom\"),r.radialAxis=r.mockAxis(e,t,a,{_id:\"x\",side:V,_trueSide:H,domain:[p/i.w,M/i.w]}),r.angularAxis=r.mockAxis(e,t,o,{side:\"right\",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(e,t),r.updateAngularAxis(e,t),r.updateRadialAxis(e,t),r.updateRadialAxisTitle(e,t),r.xaxis=r.mockCartesianAxis(e,t,{_id:\"x\",domain:k}),r.yaxis=r.mockCartesianAxis(e,t,{_id:\"y\",domain:A});var X=r.pathSubplot();r.clipPaths.forTraces.select(\"path\").attr(\"d\",X).attr(\"transform\",dd(F,q)),n.frontplot.attr(\"transform\",dd(_,C)).call(tC.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr(\"d\",X).attr(\"transform\",dd(P,T)).call(L$.fill,t.bgcolor)};Fd.mockAxis=function(e,t,r,n){var i=cc.extendFlat({},r,n);return _Kt(i,t,e),i};Fd.mockCartesianAxis=function(e,t,r){var n=this,i=n.isSmith,a=r._id,o=cc.extendFlat({type:\"linear\"},r);yKt(o,e);var s={x:[0,2],y:[1,3]};return o.setRange=function(){var l=n.sectorBBox,u=s[a],c=n.radialAxis._rl,f=(c[1]-c[0])/(1-n.getHole(t));o.range=[l[u[0]]*f,l[u[1]]*f]},o.isPtWithinRange=a===\"x\"&&!i?function(l){return n.isPtInside(l)}:function(){return!0},o.setRange(),o.setScale(),o};Fd.doAutoRange=function(e,t){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(t);xKt(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,\"gregorian\"),i.r2l(o[1],null,\"gregorian\")],i.minallowed!==void 0){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(i.maxallowed!==void 0){var l=i.r2l(i.maxallowed);i._rl[0]90&&c<=270&&(f.tickangle=180);var v=d?function(M){var p=o9(r,a9([M.x,0]));return dd(p[0]-s,p[1]-l)}:function(M){return dd(f.l2p(M.x)+o,0)},x=d?function(M){return MKt(r,M.x,-1/0,1/0)}:function(M){return r.pathArc(f.r2p(M.x)+o)},b=yKe(u);if(r.radialTickLayout!==b&&(i[\"radial-axis\"].selectAll(\".xtick\").remove(),r.radialTickLayout=b),h){f.setScale();var g=0,E=d?(f.tickvals||[]).filter(function(M){return M>=0}).map(function(M){return dp.tickText(f,M,!0,!1)}):dp.calcTicks(f),k=d?E:dp.clipEnds(f,E),A=dp.getTickSigns(f)[2];d&&((f.ticks===\"top\"&&f.side===\"bottom\"||f.ticks===\"bottom\"&&f.side===\"top\")&&(A=-A),f.ticks===\"top\"&&f.side===\"top\"&&(g=-f.ticklen),f.ticks===\"bottom\"&&f.side===\"bottom\"&&(g=f.ticklen)),dp.drawTicks(n,f,{vals:E,layer:i[\"radial-axis\"],path:dp.makeTickPath(f,0,A),transFn:v,crisp:!1}),dp.drawGrid(n,f,{vals:k,layer:i[\"radial-grid\"],path:x,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,f,{vals:E,layer:i[\"radial-axis\"],transFn:v,labelFns:dp.makeLabelFns(f,g)})}var L=r.radialAxisAngle=r.vangles?pw(_Ke(Lx(u.angle),r.vangles)):u.angle,_=dd(s,l),C=_+ry(-L);rC(i[\"radial-axis\"],h&&(u.showticklabels||u.ticks),{transform:C}),rC(i[\"radial-grid\"],h&&u.showgrid,{transform:d?\"\":_}),rC(i[\"radial-line\"].select(\"line\"),h&&u.showline,{x1:d?-a:o,y1:0,x2:a,y2:0,transform:C}).attr(\"stroke-width\",u.linewidth).call(L$.stroke,u.linecolor)};Fd.updateRadialAxisTitle=function(e,t,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(t),u=n.id+\"title\",c=0;if(l.title){var f=tC.bBox(n.layers[\"radial-axis\"].node()).height,h=l.title.font.size,d=l.side;c=d===\"top\"?h:d===\"counterclockwise\"?-(f+h*.4):f+h*.8}var v=r!==void 0?r:n.radialAxisAngle,x=Lx(v),b=Math.cos(x),g=Math.sin(x),E=o+a/2*b+c*g,k=s-a/2*g+c*b;n.layers[\"radial-axis-title\"]=bKt.draw(i,u,{propContainer:l,propName:n.id+\".radialaxis.title\",placeholder:EKt(i,\"Click to enter radial axis title\"),attributes:{x:E,y:k,\"text-anchor\":\"middle\"},transform:{rotate:-v}})}};Fd.updateAngularAxis=function(e,t){var r=this,n=r.gd,i=r.layers,a=r.radius,o=r.innerRadius,s=r.cx,l=r.cy,u=r.getAngular(t),c=r.angularAxis,f=r.isSmith;f||(r.fillViewInitialKey(\"angularaxis.rotation\",u.rotation),c.setGeometry(),c.setScale());var h=f?function(p){var P=o9(r,a9([0,p.x]));return Math.atan2(P[0]-s,P[1]-l)-Math.PI/2}:function(p){return c.t2g(p.x)};c.type===\"linear\"&&c.thetaunit===\"radians\"&&(c.tick0=pw(c.tick0),c.dtick=pw(c.dtick));var d=function(p){return dd(s+a*Math.cos(p),l-a*Math.sin(p))},v=f?function(p){var P=o9(r,a9([0,p.x]));return dd(P[0],P[1])}:function(p){return d(h(p))},x=f?function(p){var P=o9(r,a9([0,p.x])),T=Math.atan2(P[0]-s,P[1]-l)-Math.PI/2;return dd(P[0],P[1])+ry(-pw(T))}:function(p){var P=h(p);return d(P)+ry(-pw(P))},b=f?function(p){return SKt(r,p.x,0,1/0)}:function(p){var P=h(p),T=Math.cos(P),F=Math.sin(P);return\"M\"+[s+o*T,l-o*F]+\"L\"+[s+a*T,l-a*F]},g=dp.makeLabelFns(c,0),E=g.labelStandoff,k={};k.xFn=function(p){var P=h(p);return Math.cos(P)*E},k.yFn=function(p){var P=h(p),T=Math.sin(P)>0?.2:1;return-Math.sin(P)*(E+p.fontSize*T)+Math.abs(Math.cos(P))*(p.fontSize*AKt)},k.anchorFn=function(p){var P=h(p),T=Math.cos(P);return Math.abs(T)<.1?\"middle\":T>0?\"start\":\"end\"},k.heightFn=function(p,P,T){var F=h(p);return-.5*(1+Math.sin(F))*T};var A=yKe(u);r.angularTickLayout!==A&&(i[\"angular-axis\"].selectAll(\".\"+c._id+\"tick\").remove(),r.angularTickLayout=A);var L=f?[1/0].concat(c.tickvals||[]).map(function(p){return dp.tickText(c,p,!0,!1)}):dp.calcTicks(c);f&&(L[0].text=\"\\u221E\",L[0].fontSize*=1.75);var _;if(t.gridshape===\"linear\"?(_=L.map(h),cc.angleDelta(_[0],_[1])<0&&(_=_.slice().reverse())):_=null,r.vangles=_,c.type===\"category\"&&(L=L.filter(function(p){return cc.isAngleInsideSector(h(p),r.sectorInRad)})),c.visible){var C=c.ticks===\"inside\"?-1:1,M=(c.linewidth||1)/2;dp.drawTicks(n,c,{vals:L,layer:i[\"angular-axis\"],path:\"M\"+C*M+\",0h\"+C*c.ticklen,transFn:x,crisp:!1}),dp.drawGrid(n,c,{vals:L,layer:i[\"angular-grid\"],path:b,transFn:cc.noop,crisp:!1}),dp.drawLabels(n,c,{vals:L,layer:i[\"angular-axis\"],repositionOnUpdate:!0,transFn:v,labelFns:k})}rC(i[\"angular-line\"].select(\"path\"),u.showline,{d:r.pathSubplot(),transform:dd(s,l)}).attr(\"stroke-width\",u.linewidth).call(L$.stroke,u.linecolor)};Fd.updateFx=function(e,t){if(!this.gd._context.staticPlot){var r=!this.isSmith;r&&(this.updateAngularDrag(e),this.updateRadialDrag(e,t,0),this.updateRadialDrag(e,t,1)),this.updateHoverAndMainDrag(e)}};Fd.updateHoverAndMainDrag=function(e){var t=this,r=t.isSmith,n=t.gd,i=t.layers,a=e._zoomlayer,o=Cx.MINZOOM,s=Cx.OFFEDGE,l=t.radius,u=t.innerRadius,c=t.cx,f=t.cy,h=t.cxx,d=t.cyy,v=t.sectorInRad,x=t.vangles,b=t.radialAxis,g=_1.clampTiny,E=_1.findXYatLength,k=_1.findEnclosingVertexAngles,A=Cx.cornerHalfWidth,L=Cx.cornerLen/2,_,C,M=y1.makeDragger(i,\"path\",\"maindrag\",e.dragmode===!1?\"none\":\"crosshair\");vw.select(M).attr(\"d\",t.pathSubplot()).attr(\"transform\",dd(c,f)),M.onmousemove=function(ce){hKe.hover(n,ce,t.id),n._fullLayout._lasthover=M,n._fullLayout._hoversubplot=t.id},M.onmouseout=function(ce){n._dragging||s9.unhover(n,ce)};var p={element:M,gd:n,subplot:t.id,plotinfo:{id:t.id,xaxis:t.xaxis,yaxis:t.yaxis},xaxes:[t.xaxis],yaxes:[t.yaxis]},P,T,F,q,V,H,X,G,N;function W(ce,Ge){return Math.sqrt(ce*ce+Ge*Ge)}function re(ce,Ge){return W(ce-h,Ge-d)}function ae(ce,Ge){return Math.atan2(d-Ge,ce-h)}function _e(ce,Ge){return[ce*Math.cos(Ge),ce*Math.sin(-Ge)]}function Me(ce,Ge){if(ce===0)return t.pathSector(2*A);var nt=L/ce,ct=Ge-nt,qt=Ge+nt,rt=Math.max(0,Math.min(ce,l)),ot=rt-A,Rt=rt+A;return\"M\"+_e(ot,ct)+\"A\"+[ot,ot]+\" 0,0,0 \"+_e(ot,qt)+\"L\"+_e(Rt,qt)+\"A\"+[Rt,Rt]+\" 0,0,1 \"+_e(Rt,ct)+\"Z\"}function ke(ce,Ge,nt){if(ce===0)return t.pathSector(2*A);var ct=_e(ce,Ge),qt=_e(ce,nt),rt=g((ct[0]+qt[0])/2),ot=g((ct[1]+qt[1])/2),Rt,kt;if(rt&&ot){var Ct=ot/rt,Yt=-1/Ct,xr=E(A,Ct,rt,ot);Rt=E(L,Yt,xr[0][0],xr[0][1]),kt=E(L,Yt,xr[1][0],xr[1][1])}else{var er,Ke;ot?(er=L,Ke=A):(er=A,Ke=L),Rt=[[rt-er,ot-Ke],[rt+er,ot-Ke]],kt=[[rt-er,ot+Ke],[rt+er,ot+Ke]]}return\"M\"+Rt.join(\"L\")+\"L\"+kt.reverse().join(\"L\")+\"Z\"}function ge(){F=null,q=null,V=t.pathSubplot(),H=!1;var ce=n._fullLayout[t.id];X=gKt(ce.bgcolor).getLuminance(),G=y1.makeZoombox(a,X,c,f,V),G.attr(\"fill-rule\",\"evenodd\"),N=y1.makeCorners(a,c,f),P$(n)}function ie(ce,Ge){return Ge=Math.max(Math.min(Ge,l),u),ceo?(ce-1&&ce===1&&TKt(Ge,n,[t.xaxis],[t.yaxis],t.id,p),nt.indexOf(\"event\")>-1&&hKe.click(n,Ge,t.id)}p.prepFn=function(ce,Ge,nt){var ct=n._fullLayout.dragmode,qt=M.getBoundingClientRect();n._fullLayout._calcInverseTransform(n);var rt=n._fullLayout._invTransform;_=n._fullLayout._invScaleX,C=n._fullLayout._invScaleY;var ot=cc.apply3DTransform(rt)(Ge-qt.left,nt-qt.top);if(P=ot[0],T=ot[1],x){var Rt=_1.findPolygonOffset(l,v[0],v[1],x);P+=h+Rt[0],T+=d+Rt[1]}switch(ct){case\"zoom\":p.clickFn=Re,r||(x?p.moveFn=ze:p.moveFn=Ee,p.doneFn=Ce,ge(ce,Ge,nt));break;case\"select\":case\"lasso\":wKt(ce,Ge,nt,p,ct);break}},s9.init(p)};Fd.updateRadialDrag=function(e,t,r){var n=this,i=n.gd,a=n.layers,o=n.radius,s=n.innerRadius,l=n.cx,u=n.cy,c=n.radialAxis,f=Cx.radialDragBoxSize,h=f/2;if(!c.visible)return;var d=Lx(n.radialAxisAngle),v=c._rl,x=v[0],b=v[1],g=v[r],E=.75*(v[1]-v[0])/(1-n.getHole(t))/o,k,A,L;r?(k=l+(o+h)*Math.cos(d),A=u-(o+h)*Math.sin(d),L=\"radialdrag\"):(k=l+(s-h)*Math.cos(d),A=u-(s-h)*Math.sin(d),L=\"radialdrag-inner\");var _=y1.makeRectDragger(a,L,\"crosshair\",-h,-h,f,f),C={element:_,gd:i};e.dragmode===!1&&(C.dragmode=!1),rC(vw.select(_),c.visible&&s0!=(r?P>x:P=90||i>90&&a>=450?d=1:s<=0&&u<=0?d=0:d=Math.max(s,u),i<=180&&a>=180||i>180&&a>=540?c=-1:o>=0&&l>=0?c=0:c=Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?f=-1:s>=0&&u>=0?f=0:f=Math.min(s,u),a>=360?h=1:o<=0&&l<=0?h=0:h=Math.max(o,l),[c,f,h,d]}function _Ke(e,t){var r=function(i){return cc.angleDist(e,i)},n=cc.findIndexOfMin(t,r);return t[n]}function rC(e,t,r){return t?(e.attr(\"display\",null),e.attr(r)):e&&e.attr(\"display\",\"none\"),e}});var R$=ye((Uxr,MKe)=>{\"use strict\";var CKt=dh(),Yo=Cd(),LKt=Ju().attributes,f0=Mr().extendFlat,bKe=Bu().overrideAll,wKe=bKe({color:Yo.color,showline:f0({},Yo.showline,{dflt:!0}),linecolor:Yo.linecolor,linewidth:Yo.linewidth,showgrid:f0({},Yo.showgrid,{dflt:!0}),gridcolor:Yo.gridcolor,gridwidth:Yo.gridwidth,griddash:Yo.griddash},\"plot\",\"from-root\"),TKe=bKe({tickmode:Yo.minor.tickmode,nticks:Yo.nticks,tick0:Yo.tick0,dtick:Yo.dtick,tickvals:Yo.tickvals,ticktext:Yo.ticktext,ticks:Yo.ticks,ticklen:Yo.ticklen,tickwidth:Yo.tickwidth,tickcolor:Yo.tickcolor,ticklabelstep:Yo.ticklabelstep,showticklabels:Yo.showticklabels,labelalias:Yo.labelalias,showtickprefix:Yo.showtickprefix,tickprefix:Yo.tickprefix,showticksuffix:Yo.showticksuffix,ticksuffix:Yo.ticksuffix,showexponent:Yo.showexponent,exponentformat:Yo.exponentformat,minexponent:Yo.minexponent,separatethousands:Yo.separatethousands,tickfont:Yo.tickfont,tickangle:Yo.tickangle,tickformat:Yo.tickformat,tickformatstops:Yo.tickformatstops,layer:Yo.layer},\"plot\",\"from-root\"),AKe={visible:f0({},Yo.visible,{dflt:!0}),type:f0({},Yo.type,{values:[\"-\",\"linear\",\"log\",\"date\",\"category\"]}),autotypenumbers:Yo.autotypenumbers,autorangeoptions:{minallowed:Yo.autorangeoptions.minallowed,maxallowed:Yo.autorangeoptions.maxallowed,clipmin:Yo.autorangeoptions.clipmin,clipmax:Yo.autorangeoptions.clipmax,include:Yo.autorangeoptions.include,editType:\"plot\"},autorange:f0({},Yo.autorange,{editType:\"plot\"}),rangemode:{valType:\"enumerated\",values:[\"tozero\",\"nonnegative\",\"normal\"],dflt:\"tozero\",editType:\"calc\"},minallowed:f0({},Yo.minallowed,{editType:\"plot\"}),maxallowed:f0({},Yo.maxallowed,{editType:\"plot\"}),range:f0({},Yo.range,{items:[{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}},{valType:\"any\",editType:\"plot\",impliedEdits:{\"^autorange\":!1}}],editType:\"plot\"}),categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,angle:{valType:\"angle\",editType:\"plot\"},autotickangles:Yo.autotickangles,side:{valType:\"enumerated\",values:[\"clockwise\",\"counterclockwise\"],dflt:\"clockwise\",editType:\"plot\"},title:{text:f0({},Yo.title.text,{editType:\"plot\",dflt:\"\"}),font:f0({},Yo.title.font,{editType:\"plot\"}),editType:\"plot\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(AKe,wKe,TKe);var SKe={visible:f0({},Yo.visible,{dflt:!0}),type:{valType:\"enumerated\",values:[\"-\",\"linear\",\"category\"],dflt:\"-\",editType:\"calc\",_noTemplating:!0},autotypenumbers:Yo.autotypenumbers,categoryorder:Yo.categoryorder,categoryarray:Yo.categoryarray,thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\"],dflt:\"degrees\",editType:\"calc\"},period:{valType:\"number\",editType:\"calc\",min:0},direction:{valType:\"enumerated\",values:[\"counterclockwise\",\"clockwise\"],dflt:\"counterclockwise\",editType:\"calc\"},rotation:{valType:\"angle\",editType:\"calc\"},hoverformat:Yo.hoverformat,uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"};f0(SKe,wKe,TKe);MKe.exports={domain:LKt({name:\"polar\",editType:\"plot\"}),sector:{valType:\"info_array\",items:[{valType:\"number\",editType:\"plot\"},{valType:\"number\",editType:\"plot\"}],dflt:[0,360],editType:\"plot\"},hole:{valType:\"number\",min:0,max:1,dflt:0,editType:\"plot\"},bgcolor:{valType:\"color\",editType:\"plot\",dflt:CKt.background},radialaxis:AKe,angularaxis:SKe,gridshape:{valType:\"enumerated\",values:[\"circular\",\"linear\"],dflt:\"circular\",editType:\"plot\"},uirevision:{valType:\"any\",editType:\"none\"},editType:\"calc\"}});var LKe=ye((Vxr,CKe)=>{\"use strict\";var u9=Mr(),PKt=va(),IKt=Vs(),RKt=k_(),DKt=kd().getSubplotData,zKt=xb(),FKt=T3(),qKt=e_(),OKt=t_(),BKt=QP(),NKt=YM(),UKt=fB(),VKt=L3(),kKe=R$(),HKt=M$(),c9=r9(),EKe=c9.axisNames;function GKt(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=PKt.combine(i,n.paper_bgcolor);var a=r(\"sector\");r(\"hole\");var o=DKt(n.fullData,c9.name,n.id),s=n.layoutOut,l;function u(G,N){return r(l+\".\"+G,N)}for(var c=0;c{\"use strict\";var WKt=kd().getSubplotCalcData,ZKt=Mr().counterRegex,XKt=I$(),IKe=r9(),RKe=IKe.attr,mw=IKe.name,PKe=ZKt(mw),DKe={};DKe[RKe]={valType:\"subplotid\",dflt:mw,editType:\"calc\"};function YKt(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[mw],i=0;i{\"use strict\";var JKt=Wo().hovertemplateAttrs,$Kt=Wo().texttemplateAttrs,h9=no().extendFlat,QKt=Eg(),h0=Uc(),eJt=vl(),jA=h0.line;FKe.exports={mode:h0.mode,r:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},theta:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},r0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dr:{valType:\"number\",dflt:1,editType:\"calc\"},theta0:{valType:\"any\",dflt:0,editType:\"calc+clearAxisTypes\"},dtheta:{valType:\"number\",editType:\"calc\"},thetaunit:{valType:\"enumerated\",values:[\"radians\",\"degrees\",\"gradians\"],dflt:\"degrees\",editType:\"calc+clearAxisTypes\"},text:h0.text,texttemplate:$Kt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:h0.hovertext,line:{color:jA.color,width:jA.width,dash:jA.dash,backoff:jA.backoff,shape:h9({},jA.shape,{values:[\"linear\",\"spline\"]}),smoothing:jA.smoothing,editType:\"calc\"},connectgaps:h0.connectgaps,marker:h0.marker,cliponaxis:h9({},h0.cliponaxis,{dflt:!1}),textposition:h0.textposition,textfont:h0.textfont,fill:h9({},h0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:QKt(),hoverinfo:h9({},eJt.hoverinfo,{flags:[\"r\",\"theta\",\"text\",\"name\"]}),hoveron:h0.hoveron,hovertemplate:JKt(),selected:h0.selected,unselected:h0.unselected}});var v9=ye((jxr,BKe)=>{\"use strict\";var d9=Mr(),WA=lu(),tJt=$p(),rJt=R0(),qKe=J3(),iJt=D0(),nJt=Ig(),aJt=Sm().PTS_LINESONLY,oJt=iC();function sJt(e,t,r,n){function i(s,l){return d9.coerce(e,t,oJt,s,l)}var a=OKe(e,t,n,i);if(!a){t.visible=!1;return}i(\"thetaunit\"),i(\"mode\",a{\"use strict\";var lJt=Mr(),NKe=Qa();UKe.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot,o,s;a?(o=a.radialAxis,s=a.angularAxis):(a=n[r.subplot],o=a.radialaxis,s=a.angularaxis);var l=o.c2l(t.r);i.rLabel=NKe.tickText(o,l,!0).text;var u=s.thetaunit===\"degrees\"?lJt.rad2deg(t.theta):t.theta;return i.thetaLabel=NKe.tickText(s,u,!0).text,i}});var GKe=ye((Zxr,HKe)=>{\"use strict\";var VKe=uo(),uJt=es().BADNUM,cJt=Qa(),fJt=z0(),hJt=km(),dJt=F0(),vJt=q0().calcMarkerSize;HKe.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=a.makeCalcdata(r,\"r\"),l=o.makeCalcdata(r,\"theta\"),u=r._length,c=new Array(u),f=0;f{\"use strict\";var pJt=iT(),jKe=es().BADNUM;WKe.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=r.radialAxis,u=r.angularAxis,c=0;c{\"use strict\";var gJt=sT();function mJt(e,t,r,n){var i=gJt(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,XKe(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function XKe(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"r\",a._hovertitle=\"\\u03B8\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"r\",\"theta\",\"text\"]),f.indexOf(\"r\")!==-1&&c(i,n.rLabel),f.indexOf(\"theta\")!==-1&&c(a,n.thetaLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"
\")}}YKe.exports={hoverPoints:mJt,makeHoverPointText:XKe}});var JKe=ye((Kxr,KKe)=>{\"use strict\";KKe.exports={moduleType:\"trace\",name:\"scatterpolar\",basePlotModule:f9(),categories:[\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:iC(),supplyDefaults:v9().supplyDefaults,colorbar:Kd(),formatLabels:p9(),calc:GKe(),plot:ZKe(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:g9().hoverPoints,selectPoints:lT(),meta:{}}});var QKe=ye((Jxr,$Ke)=>{\"use strict\";$Ke.exports=JKe()});var D$=ye(($xr,eJe)=>{\"use strict\";var Vp=iC(),x1=ek(),yJt=Wo().texttemplateAttrs;eJe.exports={mode:Vp.mode,r:Vp.r,theta:Vp.theta,r0:Vp.r0,dr:Vp.dr,theta0:Vp.theta0,dtheta:Vp.dtheta,thetaunit:Vp.thetaunit,text:Vp.text,texttemplate:yJt({editType:\"plot\"},{keys:[\"r\",\"theta\",\"text\"]}),hovertext:Vp.hovertext,hovertemplate:Vp.hovertemplate,line:{color:x1.line.color,width:x1.line.width,dash:x1.line.dash,editType:\"calc\"},connectgaps:x1.connectgaps,marker:x1.marker,fill:x1.fill,fillcolor:x1.fillcolor,textposition:x1.textposition,textfont:x1.textfont,hoverinfo:Vp.hoverinfo,selected:Vp.selected,unselected:Vp.unselected}});var iJe=ye((Qxr,rJe)=>{\"use strict\";var tJe=Mr(),z$=lu(),_Jt=v9().handleRThetaDefaults,xJt=$p(),bJt=R0(),wJt=D0(),TJt=Ig(),AJt=Sm().PTS_LINESONLY,SJt=D$();rJe.exports=function(t,r,n,i){function a(s,l){return tJe.coerce(t,r,SJt,s,l)}var o=_Jt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"mode\",o{\"use strict\";var MJt=p9();nJe.exports=function(t,r,n){var i=t.i;return\"r\"in t||(t.r=r._r[i]),\"theta\"in t||(t.theta=r._theta[i]),MJt(t,r,n)}});var sJe=ye((tbr,oJe)=>{\"use strict\";var EJt=z0(),kJt=q0().calcMarkerSize,CJt=Y2(),LJt=Qa(),PJt=ox().TOO_MANY_POINTS;oJe.exports=function(t,r){var n=t._fullLayout,i=r.subplot,a=n[i].radialaxis,o=n[i].angularaxis,s=r._r=a.makeCalcdata(r,\"r\"),l=r._theta=o.makeCalcdata(r,\"theta\"),u=r._length,c={};u{\"use strict\";var IJt=zz(),RJt=g9().makeHoverPointText;function DJt(e,t,r,n){var i=e.cd,a=i[0].t,o=a.r,s=a.theta,l=IJt.hoverPoints(e,t,r,n);if(!(!l||l[0].index===!1)){var u=l[0];if(u.index===void 0)return l;var c=e.subplot,f=u.cd[u.index],h=u.trace;if(f.r=o[u.index],f.theta=s[u.index],!!c.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,RJt(f,h,c,u),l}}lJe.exports={hoverPoints:DJt}});var fJe=ye((ibr,cJe)=>{\"use strict\";cJe.exports={moduleType:\"trace\",name:\"scatterpolargl\",basePlotModule:f9(),categories:[\"gl\",\"regl\",\"polar\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:D$(),supplyDefaults:iJe(),colorbar:Kd(),formatLabels:aJe(),calc:sJe(),hoverPoints:uJe().hoverPoints,selectPoints:KX(),meta:{}}});var hJe=ye((nbr,F$)=>{\"use strict\";var zJt=Oz(),FJt=uo(),qJt=QY(),OJt=ZX(),m9=Y2(),y9=Mr(),BJt=ox().TOO_MANY_POINTS,NJt={};F$.exports=function(t,r,n){if(n.length){var i=r.radialAxis,a=r.angularAxis,o=OJt(t,r);return n.forEach(function(s){if(!(!s||!s[0]||!s[0].trace)){var l=s[0],u=l.trace,c=l.t,f=u._length,h=c.r,d=c.theta,v=c.opts,x,b=h.slice(),g=d.slice();for(x=0;x=BJt&&(v.marker.cluster=c.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=E),v.line&&E.length>1&&y9.extendFlat(v.line,m9.linePositions(t,u,E)),v.text&&(y9.extendFlat(v.text,{positions:E},m9.textPosition(t,u,v.text,v.marker)),y9.extendFlat(v.textSel,{positions:E},m9.textPosition(t,u,v.text,v.markerSel)),y9.extendFlat(v.textUnsel,{positions:E},m9.textPosition(t,u,v.text,v.markerUnsel))),v.fill&&!o.fill2d&&(o.fill2d=!0),v.marker&&!o.scatter2d&&(o.scatter2d=!0),v.line&&!o.line2d&&(o.line2d=!0),v.text&&!o.glText&&(o.glText=!0),o.lineOptions.push(v.line),o.fillOptions.push(v.fill),o.markerOptions.push(v.marker),o.markerSelectedOptions.push(v.markerSel),o.markerUnselectedOptions.push(v.markerUnsel),o.textOptions.push(v.text),o.textSelectedOptions.push(v.textSel),o.textUnselectedOptions.push(v.textUnsel),o.selectBatch.push([]),o.unselectBatch.push([]),c.x=k,c.y=A,c.rawx=k,c.rawy=A,c.r=h,c.theta=d,c.positions=E,c._scene=o,c.index=o.count,o.count++}}),qJt(t,r,n)}};F$.exports.reglPrecompiled=NJt});var pJe=ye((abr,vJe)=>{\"use strict\";var dJe=fJe();dJe.plot=hJe();vJe.exports=dJe});var mJe=ye((obr,gJe)=>{\"use strict\";gJe.exports=pJe()});var q$=ye((sbr,yJe)=>{\"use strict\";var UJt=Wo().hovertemplateAttrs,ZA=no().extendFlat,Px=iC(),Ix=Lm();yJe.exports={r:Px.r,theta:Px.theta,r0:Px.r0,dr:Px.dr,theta0:Px.theta0,dtheta:Px.dtheta,thetaunit:Px.thetaunit,base:ZA({},Ix.base,{}),offset:ZA({},Ix.offset,{}),width:ZA({},Ix.width,{}),text:ZA({},Ix.text,{}),hovertext:ZA({},Ix.hovertext,{}),marker:VJt(),hoverinfo:Px.hoverinfo,hovertemplate:UJt(),selected:Ix.selected,unselected:Ix.unselected};function VJt(){var e=ZA({},Ix.marker);return delete e.cornerradius,e}});var O$=ye((lbr,_Je)=>{\"use strict\";_Je.exports={barmode:{valType:\"enumerated\",values:[\"stack\",\"overlay\"],dflt:\"stack\",editType:\"calc\"},bargap:{valType:\"number\",dflt:.1,min:0,max:1,editType:\"calc\"}}});var wJe=ye((ubr,bJe)=>{\"use strict\";var xJe=Mr(),HJt=v9().handleRThetaDefaults,GJt=zI(),jJt=q$();bJe.exports=function(t,r,n,i){function a(s,l){return xJe.coerce(t,r,jJt,s,l)}var o=HJt(t,r,i,a);if(!o){r.visible=!1;return}a(\"thetaunit\"),a(\"base\"),a(\"offset\"),a(\"width\"),a(\"text\"),a(\"hovertext\"),a(\"hovertemplate\"),GJt(t,r,a,n,i),xJe.coerceSelectionMarkerOpacity(r,a)}});var AJe=ye((cbr,TJe)=>{\"use strict\";var WJt=Mr(),ZJt=O$();TJe.exports=function(e,t,r){var n={},i;function a(l,u){return WJt.coerce(e[i]||{},t[i],ZJt,l,u)}for(var o=0;o{\"use strict\";var SJe=Dv().hasColorscale,MJe=zv(),XJt=Mr().isArrayOrTypedArray,YJt=c4(),KJt=Gb().setGroupPositions,JJt=F0(),$Jt=ba().traceIs,QJt=Mr().extendFlat;function e$t(e,t){for(var r=e._fullLayout,n=t.subplot,i=r[n].radialaxis,a=r[n].angularaxis,o=i.makeCalcdata(t,\"r\"),s=a.makeCalcdata(t,\"theta\"),l=t._length,u=new Array(l),c=o,f=s,h=0;h{\"use strict\";var kJe=xa(),_9=uo(),XA=Mr(),r$t=ao(),N$=n9();CJe.exports=function(t,r,n){var i=t._context.staticPlot,a=r.xaxis,o=r.yaxis,s=r.radialAxis,l=r.angularAxis,u=i$t(r),c=r.layers.frontplot.select(\"g.barlayer\");XA.makeTraceGroups(c,n,\"trace bars\").each(function(){var f=kJe.select(this),h=XA.ensureSingle(f,\"g\",\"points\"),d=h.selectAll(\"g.point\").data(XA.identity);d.enter().append(\"g\").style(\"vector-effect\",i?\"none\":\"non-scaling-stroke\").style(\"stroke-miterlimit\",2).classed(\"point\",!0),d.exit().remove(),d.each(function(v){var x=kJe.select(this),b=v.rp0=s.c2p(v.s0),g=v.rp1=s.c2p(v.s1),E=v.thetag0=l.c2g(v.p0),k=v.thetag1=l.c2g(v.p1),A;if(!_9(b)||!_9(g)||!_9(E)||!_9(k)||b===g||E===k)A=\"M0,0Z\";else{var L=s.c2g(v.s1),_=(E+k)/2;v.ct=[a.c2p(L*Math.cos(_)),o.c2p(L*Math.sin(_))],A=u(b,g,E,k)}XA.ensureSingle(x,\"path\").attr(\"d\",A)}),r$t.setClipUrl(f,r._hasClipOnAxisFalse?r.clipIds.forTraces:null,t)})};function i$t(e){var t=e.cxx,r=e.cyy;return e.vangles?function(n,i,a,o){var s,l;XA.angleDelta(a,o)>0?(s=a,l=o):(s=o,l=a);var u=N$.findEnclosingVertexAngles(s,e.vangles)[0],c=N$.findEnclosingVertexAngles(l,e.vangles)[1],f=[u,(s+l)/2,c];return N$.pathPolygonAnnulus(n,i,s,l,f,t,r)}:function(n,i,a,o){return XA.pathAnnulus(n,i,a,o,t,r)}}});var IJe=ye((dbr,PJe)=>{\"use strict\";var n$t=Nc(),U$=Mr(),a$t=TT().getTraceColor,o$t=U$.fillText,s$t=g9().makeHoverPointText,l$t=n9().isPtInsidePolygon;PJe.exports=function(t,r,n){var i=t.cd,a=i[0].trace,o=t.subplot,s=o.radialAxis,l=o.angularAxis,u=o.vangles,c=u?l$t:U$.isPtInsideSector,f=t.maxHoverDistance,h=l._period||2*Math.PI,d=Math.abs(s.g2p(Math.sqrt(r*r+n*n))),v=Math.atan2(n,r);s.range[0]>s.range[1]&&(v+=Math.PI);var x=function(k){return c(d,v,[k.rp0,k.rp1],[k.thetag0,k.thetag1],u)?f+Math.min(1,Math.abs(k.thetag1-k.thetag0)/h)-1+(k.rp1-d)/(k.rp1-k.rp0)-1:1/0};if(n$t.getClosest(i,x,t),t.index!==!1){var b=t.index,g=i[b];t.x0=t.x1=g.ct[0],t.y0=t.y1=g.ct[1];var E=U$.extendFlat({},g,{r:g.s,theta:g.p});return o$t(g,a,t),s$t(E,a,o,t),t.hovertemplate=a.hovertemplate,t.color=a$t(a,g),t.xLabelVal=t.yLabelVal=void 0,g.s<0&&(t.idealAlign=\"left\"),[t]}}});var DJe=ye((vbr,RJe)=>{\"use strict\";RJe.exports={moduleType:\"trace\",name:\"barpolar\",basePlotModule:f9(),categories:[\"polar\",\"bar\",\"showLegend\"],attributes:q$(),layoutAttributes:O$(),supplyDefaults:wJe(),supplyLayoutDefaults:AJe(),calc:B$().calc,crossTraceCalc:B$().crossTraceCalc,plot:LJe(),colorbar:Kd(),formatLabels:p9(),style:N0().style,styleOnSelect:N0().styleOnSelect,hoverPoints:IJe(),selectPoints:AT(),meta:{}}});var FJe=ye((pbr,zJe)=>{\"use strict\";zJe.exports=DJe()});var V$=ye((gbr,qJe)=>{\"use strict\";qJe.exports={attr:\"subplot\",name:\"smith\",axisNames:[\"realaxis\",\"imaginaryaxis\"],axisName2dataArray:{imaginaryaxis:\"imag\",realaxis:\"real\"}}});var H$=ye((mbr,UJe)=>{\"use strict\";var u$t=dh(),Mf=Cd(),c$t=Ju().attributes,Rx=Mr().extendFlat,OJe=Bu().overrideAll,BJe=OJe({color:Mf.color,showline:Rx({},Mf.showline,{dflt:!0}),linecolor:Mf.linecolor,linewidth:Mf.linewidth,showgrid:Rx({},Mf.showgrid,{dflt:!0}),gridcolor:Mf.gridcolor,gridwidth:Mf.gridwidth,griddash:Mf.griddash},\"plot\",\"from-root\"),NJe=OJe({ticklen:Mf.ticklen,tickwidth:Rx({},Mf.tickwidth,{dflt:2}),tickcolor:Mf.tickcolor,showticklabels:Mf.showticklabels,labelalias:Mf.labelalias,showtickprefix:Mf.showtickprefix,tickprefix:Mf.tickprefix,showticksuffix:Mf.showticksuffix,ticksuffix:Mf.ticksuffix,tickfont:Mf.tickfont,tickformat:Mf.tickformat,hoverformat:Mf.hoverformat,layer:Mf.layer},\"plot\",\"from-root\"),f$t=Rx({visible:Rx({},Mf.visible,{dflt:!0}),tickvals:{dflt:[.2,.5,1,2,5],valType:\"data_array\",editType:\"plot\"},tickangle:Rx({},Mf.tickangle,{dflt:90}),ticks:{valType:\"enumerated\",values:[\"top\",\"bottom\",\"\"],editType:\"ticks\"},side:{valType:\"enumerated\",values:[\"top\",\"bottom\"],dflt:\"top\",editType:\"plot\"},editType:\"calc\"},BJe,NJe),h$t=Rx({visible:Rx({},Mf.visible,{dflt:!0}),tickvals:{valType:\"data_array\",editType:\"plot\"},ticks:Mf.ticks,editType:\"calc\"},BJe,NJe);UJe.exports={domain:c$t({name:\"smith\",editType:\"plot\"}),bgcolor:{valType:\"color\",editType:\"plot\",dflt:u$t.background},realaxis:f$t,imaginaryaxis:h$t,editType:\"calc\"}});var GJe=ye((ybr,HJe)=>{\"use strict\";var YA=Mr(),d$t=va(),v$t=Vs(),p$t=k_(),g$t=kd().getSubplotData,m$t=t_(),y$t=e_(),_$t=YM(),x$t=ym(),KA=H$(),G$=V$(),VJe=G$.axisNames,b$t=T$t(function(e){return YA.isTypedArray(e)&&(e=Array.from(e)),e.slice().reverse().map(function(t){return-t}).concat([0]).concat(e)},String);function w$t(e,t,r,n){var i=r(\"bgcolor\");n.bgColor=d$t.combine(i,n.paper_bgcolor);var a=g$t(n.fullData,G$.name,n.id),o=n.layoutOut,s;function l(L,_){return r(s+\".\"+L,_)}for(var u=0;u{\"use strict\";var A$t=kd().getSubplotCalcData,S$t=Mr().counterRegex,M$t=I$(),WJe=V$(),ZJe=WJe.attr,yw=WJe.name,jJe=S$t(yw),XJe={};XJe[ZJe]={valType:\"subplotid\",dflt:yw,editType:\"calc\"};function E$t(e){for(var t=e._fullLayout,r=e.calcdata,n=t._subplots[yw],i=0;i{\"use strict\";var C$t=Wo().hovertemplateAttrs,L$t=Wo().texttemplateAttrs,x9=no().extendFlat,P$t=Eg(),d0=Uc(),I$t=vl(),JA=d0.line;JJe.exports={mode:d0.mode,real:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},imag:{valType:\"data_array\",editType:\"calc+clearAxisTypes\"},text:d0.text,texttemplate:L$t({editType:\"plot\"},{keys:[\"real\",\"imag\",\"text\"]}),hovertext:d0.hovertext,line:{color:JA.color,width:JA.width,dash:JA.dash,backoff:JA.backoff,shape:x9({},JA.shape,{values:[\"linear\",\"spline\"]}),smoothing:JA.smoothing,editType:\"calc\"},connectgaps:d0.connectgaps,marker:d0.marker,cliponaxis:x9({},d0.cliponaxis,{dflt:!1}),textposition:d0.textposition,textfont:d0.textfont,fill:x9({},d0.fill,{values:[\"none\",\"toself\",\"tonext\"],dflt:\"none\"}),fillcolor:P$t(),hoverinfo:x9({},I$t.hoverinfo,{flags:[\"real\",\"imag\",\"text\",\"name\"]}),hoveron:d0.hoveron,hovertemplate:C$t(),selected:d0.selected,unselected:d0.unselected}});var e$e=ye((bbr,QJe)=>{\"use strict\";var b9=Mr(),$A=lu(),R$t=$p(),D$t=R0(),$Je=J3(),z$t=D0(),F$t=Ig(),q$t=Sm().PTS_LINESONLY,O$t=j$();QJe.exports=function(t,r,n,i){function a(l,u){return b9.coerce(t,r,O$t,l,u)}var o=B$t(t,r,i,a);if(!o){r.visible=!1;return}a(\"mode\",o{\"use strict\";var t$e=Qa();r$e.exports=function(t,r,n){var i={},a=n[r.subplot]._subplot;return i.realLabel=t$e.tickText(a.radialAxis,t.real,!0).text,i.imagLabel=t$e.tickText(a.angularAxis,t.imag,!0).text,i}});var o$e=ye((Tbr,a$e)=>{\"use strict\";var n$e=uo(),N$t=es().BADNUM,U$t=z0(),V$t=km(),H$t=F0(),G$t=q0().calcMarkerSize;a$e.exports=function(t,r){for(var n=t._fullLayout,i=r.subplot,a=n[i].realaxis,o=n[i].imaginaryaxis,s=a.makeCalcdata(r,\"real\"),l=o.makeCalcdata(r,\"imag\"),u=r._length,c=new Array(u),f=0;f{\"use strict\";var j$t=iT(),s$e=es().BADNUM,W$t=C$(),Z$t=W$t.smith;l$e.exports=function(t,r,n){for(var i=r.layers.frontplot.select(\"g.scatterlayer\"),a=r.xaxis,o=r.yaxis,s={xaxis:a,yaxis:o,plot:r.framework,layerClipId:r._hasClipOnAxisFalse?r.clipIds.forTraces:null},l=0;l{\"use strict\";var X$t=sT();function Y$t(e,t,r,n){var i=X$t(e,t,r,n);if(!(!i||i[0].index===!1)){var a=i[0];if(a.index===void 0)return i;var o=e.subplot,s=a.cd[a.index],l=a.trace;if(o.isPtInside(s))return a.xLabelVal=void 0,a.yLabelVal=void 0,c$e(s,l,o,a),a.hovertemplate=l.hovertemplate,i}}function c$e(e,t,r,n){var i=r.radialAxis,a=r.angularAxis;i._hovertitle=\"real\",a._hovertitle=\"imag\";var o={};o[t.subplot]={_subplot:r};var s=t._module.formatLabels(e,t,o);n.realLabel=s.realLabel,n.imagLabel=s.imagLabel;var l=e.hi||t.hoverinfo,u=[];function c(h,d){u.push(h._hovertitle+\": \"+d)}if(!t.hovertemplate){var f=l.split(\"+\");f.indexOf(\"all\")!==-1&&(f=[\"real\",\"imag\",\"text\"]),f.indexOf(\"real\")!==-1&&c(i,n.realLabel),f.indexOf(\"imag\")!==-1&&c(a,n.imagLabel),f.indexOf(\"text\")!==-1&&n.text&&(u.push(n.text),delete n.text),n.extraText=u.join(\"
\")}}f$e.exports={hoverPoints:Y$t,makeHoverPointText:c$e}});var v$e=ye((Mbr,d$e)=>{\"use strict\";d$e.exports={moduleType:\"trace\",name:\"scattersmith\",basePlotModule:KJe(),categories:[\"smith\",\"symbols\",\"showLegend\",\"scatter-like\"],attributes:j$(),supplyDefaults:e$e(),colorbar:Kd(),formatLabels:i$e(),calc:o$e(),plot:u$e(),style:op().style,styleOnSelect:op().styleOnSelect,hoverPoints:h$e().hoverPoints,selectPoints:lT(),meta:{}}});var g$e=ye((Ebr,p$e)=>{\"use strict\";p$e.exports=v$e()});var Sv=ye((kbr,y$e)=>{var T9=bh();function m$e(){this.regionalOptions=[],this.regionalOptions[\"\"]={invalidCalendar:\"Calendar {0} not found\",invalidDate:\"Invalid {0} date\",invalidMonth:\"Invalid {0} month\",invalidYear:\"Invalid {0} year\",differentCalendars:\"Cannot mix {0} and {1} dates\"},this.local=this.regionalOptions[\"\"],this.calendars={},this._localCals={}}T9(m$e.prototype,{instance:function(e,t){e=(e||\"gregorian\").toLowerCase(),t=t||\"\";var r=this._localCals[e+\"-\"+t];if(!r&&this.calendars[e]&&(r=new this.calendars[e](t),this._localCals[e+\"-\"+t]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[\"\"].invalidCalendar).replace(/\\{0\\}/,e);return r},newDate:function(e,t,r,n,i){return n=(e!=null&&e.year?e.calendar():typeof n==\"string\"?this.instance(n,i):n)||this.instance(),n.newDate(e,t,r)},substituteDigits:function(e){return function(t){return(t+\"\").replace(/[0-9]/g,function(r){return e[r]})}},substituteChineseDigits:function(e,t){return function(r){for(var n=\"\",i=0;r>0;){var a=r%10;n=(a===0?\"\":e[a]+t[i])+n,i++,r=Math.floor(r/10)}return n.indexOf(e[1]+t[1])===0&&(n=n.substr(1)),n||e[0]}}});function W$(e,t,r,n){if(this._calendar=e,this._year=t,this._month=r,this._day=n,this._calendar._validateLevel===0&&!this._calendar.isValid(this._year,this._month,this._day))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name)}function w9(e,t){return e=\"\"+e,\"000000\".substring(0,t-e.length)+e}T9(W$.prototype,{newDate:function(e,t,r){return this._calendar.newDate(e==null?this:e,t,r)},year:function(e){return arguments.length===0?this._year:this.set(e,\"y\")},month:function(e){return arguments.length===0?this._month:this.set(e,\"m\")},day:function(e){return arguments.length===0?this._day:this.set(e,\"d\")},date:function(e,t,r){if(!this._calendar.isValid(e,t,r))throw(Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate).replace(/\\{0\\}/,this._calendar.local.name);return this._year=e,this._month=t,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(e,t){return this._calendar.add(this,e,t)},set:function(e,t){return this._calendar.set(this,e,t)},compareTo:function(e){if(this._calendar.name!==e._calendar.name)throw(Es.local.differentCalendars||Es.regionalOptions[\"\"].differentCalendars).replace(/\\{0\\}/,this._calendar.local.name).replace(/\\{1\\}/,e._calendar.local.name);var t=this._year!==e._year?this._year-e._year:this._month!==e._month?this.monthOfYear()-e.monthOfYear():this._day-e._day;return t===0?0:t<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(e){return this._calendar.fromJD(e)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(e){return this._calendar.fromJSDate(e)},toString:function(){return(this.year()<0?\"-\":\"\")+w9(Math.abs(this.year()),4)+\"-\"+w9(this.month(),2)+\"-\"+w9(this.day(),2)}});function Z$(){this.shortYearCutoff=\"+10\"}T9(Z$.prototype,{_validateLevel:0,newDate:function(e,t,r){return e==null?this.today():(e.year&&(this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),r=e.day(),t=e.month(),e=e.year()),new W$(this,e,t,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return t.year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return(t.year()<0?\"-\":\"\")+w9(Math.abs(t.year()),4)},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear),12},monthOfYear:function(e,t){var r=this._validate(e,t,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(e,t){var r=(t+this.firstMonth-2*this.minMonth)%this.monthsInYear(e)+this.minMonth;return this._validate(e,r,this.minDay,Es.local.invalidMonth||Es.regionalOptions[\"\"].invalidMonth),r},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Es.local.invalidYear||Es.regionalOptions[\"\"].invalidYear);return this.leapYear(t)?366:365},dayOfYear:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(e,t,r){return this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),{}},add:function(e,t,r){return this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),this._correctAdd(e,this._add(e,t,r),t,r)},_add:function(e,t,r){if(this._validateLevel++,r===\"d\"||r===\"w\"){var n=e.toJD()+t*(r===\"w\"?this.daysInWeek():1),i=e.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=e.year()+(r===\"y\"?t:0),o=e.monthOfYear()+(r===\"m\"?t:0),i=e.day(),s=function(c){for(;of-1+c.minMonth;)a++,o-=f,f=c.monthsInYear(a)};r===\"y\"?(e.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,e.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):r===\"m\"&&(s(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var l=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,l}catch(u){throw this._validateLevel--,u}},_correctAdd:function(e,t,r,n){if(!this.hasYearZero&&(n===\"y\"||n===\"m\")&&(t[0]===0||e.year()>0!=t[0]>0)){var i={y:[1,1,\"y\"],m:[1,this.monthsInYear(-1),\"m\"],w:[this.daysInWeek(),this.daysInYear(-1),\"d\"],d:[1,this.daysInYear(-1),\"d\"]}[n],a=r<0?-1:1;t=this._add(e,r*i[0]+a*i[1],i[2])}return e.date(t[0],t[1],t[2])},set:function(e,t,r){this._validate(e,this.minMonth,this.minDay,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate);var n=r===\"y\"?t:e.year(),i=r===\"m\"?t:e.month(),a=r===\"d\"?t:e.day();return(r===\"y\"||r===\"m\")&&(a=Math.min(a,this.daysInMonth(n,i))),e.date(n,i,a)},isValid:function(e,t,r){this._validateLevel++;var n=this.hasYearZero||e!==0;if(n){var i=this.newDate(e,t,this.minDay);n=t>=this.minMonth&&t-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(e,t,r){var n=this._validate(e,t,r,Es.local.invalidDate||Es.regionalOptions[\"\"].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(e){return this.newDate(e.getFullYear(),e.getMonth()+1,e.getDate())}});var Es=y$e.exports=new m$e;Es.cdate=W$;Es.baseCalendar=Z$;Es.calendars.gregorian=X$});var _$e=ye(()=>{var Y$=bh(),qd=Sv();Y$(qd.regionalOptions[\"\"],{invalidArguments:\"Invalid arguments\",invalidFormat:\"Cannot format a date from another calendar\",missingNumberAt:\"Missing number at position {0}\",unknownNameAt:\"Unknown name at position {0}\",unexpectedLiteralAt:\"Unexpected literal at position {0}\",unexpectedText:\"Additional text found at end\"});qd.local=qd.regionalOptions[\"\"];Y$(qd.cdate.prototype,{formatDate:function(e,t){return typeof e!=\"string\"&&(t=e,e=\"\"),this._calendar.formatDate(e||\"\",this,t)}});Y$(qd.baseCalendar.prototype,{UNIX_EPOCH:qd.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:24*60*60,TICKS_EPOCH:qd.instance().jdEpoch,TICKS_PER_DAY:24*60*60*1e7,ATOM:\"yyyy-mm-dd\",COOKIE:\"D, dd M yyyy\",FULL:\"DD, MM d, yyyy\",ISO_8601:\"yyyy-mm-dd\",JULIAN:\"J\",RFC_822:\"D, d M yy\",RFC_850:\"DD, dd-M-yy\",RFC_1036:\"D, d M yy\",RFC_1123:\"D, d M yyyy\",RFC_2822:\"D, d M yyyy\",RSS:\"D, d M yy\",TICKS:\"!\",TIMESTAMP:\"@\",W3C:\"yyyy-mm-dd\",formatDate:function(e,t,r){if(typeof e!=\"string\"&&(r=t,t=e,e=\"\"),!t)return\"\";if(t.calendar()!==this)throw qd.local.invalidFormat||qd.regionalOptions[\"\"].invalidFormat;e=e||this.local.dateFormat,r=r||{};for(var n=r.dayNamesShort||this.local.dayNamesShort,i=r.dayNames||this.local.dayNames,a=r.monthNumbers||this.local.monthNumbers,o=r.monthNamesShort||this.local.monthNamesShort,s=r.monthNames||this.local.monthNames,l=r.calculateWeek||this.local.calculateWeek,u=function(A,L){for(var _=1;k+_1},c=function(A,L,_,C){var M=\"\"+L;if(u(A,C))for(;M.length<_;)M=\"0\"+M;return M},f=function(A,L,_,C){return u(A)?C[L]:_[L]},h=this,d=function(A){return typeof a==\"function\"?a.call(h,A,u(\"m\")):b(c(\"m\",A.month(),2))},v=function(A,L){return L?typeof s==\"function\"?s.call(h,A):s[A.month()-h.minMonth]:typeof o==\"function\"?o.call(h,A):o[A.month()-h.minMonth]},x=this.local.digits,b=function(A){return r.localNumbers&&x?x(A):A},g=\"\",E=!1,k=0;k1},E=function(F,q){var V=g(F,q),H=[2,3,V?4:2,V?4:2,10,11,20][\"oyYJ@!\".indexOf(F)+1],X=new RegExp(\"^-?\\\\d{1,\"+H+\"}\"),G=t.substring(M).match(X);if(!G)throw(qd.local.missingNumberAt||qd.regionalOptions[\"\"].missingNumberAt).replace(/\\{0\\}/,M);return M+=G[0].length,parseInt(G[0],10)},k=this,A=function(){if(typeof s==\"function\"){g(\"m\");var F=s.call(k,t.substring(M));return M+=F.length,F}return E(\"m\")},L=function(F,q,V,H){for(var X=g(F,H)?V:q,G=0;G-1){h=1,d=v;for(var T=this.daysInMonth(f,h);d>T;T=this.daysInMonth(f,h))h++,d-=T}return c>-1?this.fromJD(c):this.newDate(f,h,d)},determineDate:function(e,t,r,n,i){r&&typeof r!=\"object\"&&(i=n,n=r,r=null),typeof n!=\"string\"&&(i=n,n=\"\");var a=this,o=function(s){try{return a.parseDate(n,s,i)}catch(f){}s=s.toLowerCase();for(var l=(s.match(/^c/)&&r?r.newDate():null)||a.today(),u=/([+-]?[0-9]+)\\s*(d|w|m|y)?/g,c=u.exec(s);c;)l.add(parseInt(c[1],10),c[2]||\"d\"),c=u.exec(s);return l};return t=t?t.newDate():null,e=e==null?t:typeof e==\"string\"?o(e):typeof e==\"number\"?isNaN(e)||e===1/0||e===-1/0?t:a.today().add(e,\"d\"):a.newDate(e),e}})});var x$e=ye(()=>{var Dx=Sv(),K$t=bh(),K$=Dx.instance();function A9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}A9.prototype=new Dx.baseCalendar;K$t(A9.prototype,{name:\"Chinese\",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{\"\":{name:\"Chinese\",epochs:[\"BEC\",\"EC\"],monthNumbers:function(e,t){if(typeof e==\"string\"){var r=e.match($$t);return r?r[0]:\"\"}var n=this._validateYear(e),i=e.month(),a=\"\"+this.toChineseMonth(n,i);return t&&a.length<2&&(a=\"0\"+a),this.isIntercalaryMonth(n,i)&&(a+=\"i\"),a},monthNames:function(e){if(typeof e==\"string\"){var t=e.match(Q$t);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\\u6708\",\"\\u4E8C\\u6708\",\"\\u4E09\\u6708\",\"\\u56DB\\u6708\",\"\\u4E94\\u6708\",\"\\u516D\\u6708\",\"\\u4E03\\u6708\",\"\\u516B\\u6708\",\"\\u4E5D\\u6708\",\"\\u5341\\u6708\",\"\\u5341\\u4E00\\u6708\",\"\\u5341\\u4E8C\\u6708\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},monthNamesShort:function(e){if(typeof e==\"string\"){var t=e.match(eQt);return t?t[0]:\"\"}var r=this._validateYear(e),n=e.month(),i=this.toChineseMonth(r,n),a=[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"][i-1];return this.isIntercalaryMonth(r,n)&&(a=\"\\u95F0\"+a),a},parseMonth:function(e,t){e=this._validateYear(e);var r=parseInt(t),n;if(isNaN(r))t[0]===\"\\u95F0\"&&(n=!0,t=t.substring(1)),t[t.length-1]===\"\\u6708\"&&(t=t.substring(0,t.length-1)),r=1+[\"\\u4E00\",\"\\u4E8C\",\"\\u4E09\",\"\\u56DB\",\"\\u4E94\",\"\\u516D\",\"\\u4E03\",\"\\u516B\",\"\\u4E5D\",\"\\u5341\",\"\\u5341\\u4E00\",\"\\u5341\\u4E8C\"].indexOf(t);else{var i=t[t.length-1];n=i===\"i\"||i===\"I\"}var a=this.toMonthIndex(e,r,n);return a},dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},_validateYear:function(e,t){if(e.year&&(e=e.year()),typeof e!=\"number\"||e<1888||e>2111)throw t.replace(/\\{0\\}/,this.local.name);return e},toMonthIndex:function(e,t,r){var n=this.intercalaryMonth(e),i=r&&t!==n;if(i||t<1||t>12)throw Dx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a;return n?!r&&t<=n?a=t-1:a=t:a=t-1,a},toChineseMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e),n=r?12:11;if(t<0||t>n)throw Dx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var i;return r?t>13;return r},isIntercalaryMonth:function(e,t){e.year&&(e=e.year(),t=e.month());var r=this.intercalaryMonth(e);return!!r&&r===t},leapYear:function(e){return this.intercalaryMonth(e)!==0},weekOfYear:function(e,t,r){var n=this._validateYear(e,Dx.local.invalidyear),i=Fx[n-Fx[0]],a=i>>9&4095,o=i>>5&15,s=i&31,l;l=K$.newDate(a,o,s),l.add(4-(l.dayOfWeek()||7),\"d\");var u=this.toJD(e,t,r)-l.toJD();return 1+Math.floor(u/7)},monthsInYear:function(e){return this.leapYear(e)?13:12},daysInMonth:function(e,t){e.year&&(t=e.month(),e=e.year()),e=this._validateYear(e);var r=zx[e-zx[0]],n=r>>13,i=n?12:11;if(t>i)throw Dx.local.invalidMonth.replace(/\\{0\\}/,this.local.name);var a=r&1<<12-t?30:29;return a},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,a,r,Dx.local.invalidDate);e=this._validateYear(n.year()),t=n.month(),r=n.day();var i=this.isIntercalaryMonth(e,t),a=this.toChineseMonth(e,t),o=rQt(e,a,r,i);return K$.toJD(o.year,o.month,o.day)},fromJD:function(e){var t=K$.fromJD(e),r=tQt(t.year(),t.month(),t.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(e){var t=e.match(J$t),r=this._validateYear(+t[1]),n=+t[2],i=!!t[3],a=this.toMonthIndex(r,n,i),o=+t[4];return this.newDate(r,a,o)},add:function(e,t,r){var n=e.year(),i=e.month(),a=this.isIntercalaryMonth(n,i),o=this.toChineseMonth(n,i),s=Object.getPrototypeOf(A9.prototype).add.call(this,e,t,r);if(r===\"y\"){var l=s.year(),u=s.month(),c=this.isIntercalaryMonth(l,o),f=a&&c?this.toMonthIndex(l,o,!0):this.toMonthIndex(l,o,!1);f!==u&&s.month(f)}return s}});var J$t=/^\\s*(-?\\d\\d\\d\\d|\\d\\d)[-/](\\d?\\d)([iI]?)[-/](\\d?\\d)/m,$$t=/^\\d?\\d[iI]?/m,Q$t=/^闰?十?[一二三四五六七八九]?月/m,eQt=/^闰?十?[一二三四五六七八九]?/m;Dx.calendars.chinese=A9;var zx=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],Fx=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function tQt(e,t,r,n){var i,a;if(typeof e==\"object\")i=e,a=t||{};else{var o=typeof e==\"number\"&&e>=1888&&e<=2111;if(!o)throw new Error(\"Solar year outside range 1888-2111\");var s=typeof t==\"number\"&&t>=1&&t<=12;if(!s)throw new Error(\"Solar month outside range 1 - 12\");var l=typeof r==\"number\"&&r>=1&&r<=31;if(!l)throw new Error(\"Solar day outside range 1 - 31\");i={year:e,month:t,day:r},a=n||{}}var u=Fx[i.year-Fx[0]],c=i.year<<9|i.month<<5|i.day;a.year=c>=u?i.year:i.year-1,u=Fx[a.year-Fx[0]];var f=u>>9&4095,h=u>>5&15,d=u&31,v,x=new Date(f,h-1,d),b=new Date(i.year,i.month-1,i.day);v=Math.round((b-x)/(24*3600*1e3));var g=zx[a.year-zx[0]],E;for(E=0;E<13;E++){var k=g&1<<12-E?30:29;if(v>13;return!A||E=1888&&e<=2111;if(!s)throw new Error(\"Lunar year outside range 1888-2111\");var l=typeof t==\"number\"&&t>=1&&t<=12;if(!l)throw new Error(\"Lunar month outside range 1 - 12\");var u=typeof r==\"number\"&&r>=1&&r<=30;if(!u)throw new Error(\"Lunar day outside range 1 - 30\");var c;typeof n==\"object\"?(c=!1,a=n):(c=!!n,a=i||{}),o={year:e,month:t,day:r,isIntercalary:c}}var f;f=o.day-1;var h=zx[o.year-zx[0]],d=h>>13,v;d&&(o.month>d||o.isIntercalary)?v=o.month:v=o.month-1;for(var x=0;x>9&4095,k=g>>5&15,A=g&31,L=new Date(E,k-1,A+f);return a.year=L.getFullYear(),a.month=1+L.getMonth(),a.day=L.getDate(),a}});var b$e=ye(()=>{var _w=Sv(),iQt=bh();function J$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}J$.prototype=new _w.baseCalendar;iQt(J$.prototype,{name:\"Coptic\",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Coptic\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Thout\",\"Paopi\",\"Hathor\",\"Koiak\",\"Tobi\",\"Meshir\",\"Paremhat\",\"Paremoude\",\"Pashons\",\"Paoni\",\"Epip\",\"Mesori\",\"Pi Kogi Enavot\"],monthNamesShort:[\"Tho\",\"Pao\",\"Hath\",\"Koi\",\"Tob\",\"Mesh\",\"Pat\",\"Pad\",\"Pash\",\"Pao\",\"Epi\",\"Meso\",\"PiK\"],dayNames:[\"Tkyriaka\",\"Pesnau\",\"Pshoment\",\"Peftoou\",\"Ptiou\",\"Psoou\",\"Psabbaton\"],dayNamesShort:[\"Tky\",\"Pes\",\"Psh\",\"Pef\",\"Pti\",\"Pso\",\"Psa\"],dayNamesMin:[\"Tk\",\"Pes\",\"Psh\",\"Pef\",\"Pt\",\"Pso\",\"Psa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,_w.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,_w.local.invalidYear||_w.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,_w.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,_w.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});_w.calendars.coptic=J$});var w$e=ye(()=>{var b1=Sv(),nQt=bh();function $$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}$$.prototype=new b1.baseCalendar;nQt($$.prototype,{name:\"Discworld\",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Discworld\",epochs:[\"BUC\",\"UC\"],monthNames:[\"Ick\",\"Offle\",\"February\",\"March\",\"April\",\"May\",\"June\",\"Grune\",\"August\",\"Spune\",\"Sektober\",\"Ember\",\"December\"],monthNamesShort:[\"Ick\",\"Off\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Gru\",\"Aug\",\"Spu\",\"Sek\",\"Emb\",\"Dec\"],dayNames:[\"Sunday\",\"Octeday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Oct\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Oc\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:2,isRTL:!1}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),!1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),13},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,b1.local.invalidYear),400},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,b1.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return(n.day()+1)%8},weekDay:function(e,t,r){var n=this.dayOfWeek(e,t,r);return n>=2&&n<=6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return{century:aQt[Math.floor((n.year()-1)/100)+1]||\"\"}},toJD:function(e,t,r){var n=this._validate(e,t,r,b1.local.invalidDate);return e=n.year()+(n.year()<0?1:0),t=n.month(),r=n.day(),r+(t>1?16:0)+(t>2?(t-2)*32:0)+(e-1)*400+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e+.5)-Math.floor(this.jdEpoch)-1;var t=Math.floor(e/400)+1;e-=(t-1)*400,e+=e>15?16:0;var r=Math.floor(e/32)+1,n=e-(r-1)*32+1;return this.newDate(t<=0?t-1:t,r,n)}});var aQt={20:\"Fruitbat\",21:\"Anchovy\"};b1.calendars.discworld=$$});var T$e=ye(()=>{var xw=Sv(),oQt=bh();function Q$(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}Q$.prototype=new xw.baseCalendar;oQt(Q$.prototype,{name:\"Ethiopian\",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Ethiopian\",epochs:[\"BEE\",\"EE\"],monthNames:[\"Meskerem\",\"Tikemet\",\"Hidar\",\"Tahesas\",\"Tir\",\"Yekatit\",\"Megabit\",\"Miazia\",\"Genbot\",\"Sene\",\"Hamle\",\"Nehase\",\"Pagume\"],monthNamesShort:[\"Mes\",\"Tik\",\"Hid\",\"Tah\",\"Tir\",\"Yek\",\"Meg\",\"Mia\",\"Gen\",\"Sen\",\"Ham\",\"Neh\",\"Pag\"],dayNames:[\"Ehud\",\"Segno\",\"Maksegno\",\"Irob\",\"Hamus\",\"Arb\",\"Kidame\"],dayNamesShort:[\"Ehu\",\"Seg\",\"Mak\",\"Iro\",\"Ham\",\"Arb\",\"Kid\"],dayNamesMin:[\"Eh\",\"Se\",\"Ma\",\"Ir\",\"Ha\",\"Ar\",\"Ki\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,xw.local.invalidYear),r=t.year()+(t.year()<0?1:0);return r%4===3||r%4===-1},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,xw.local.invalidYear||xw.regionalOptions[\"\"].invalidYear),13},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,xw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===13&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,xw.local.invalidDate);return e=n.year(),e<0&&e++,n.day()+(n.month()-1)*30+(e-1)*365+Math.floor(e/4)+this.jdEpoch-1},fromJD:function(e){var t=Math.floor(e)+.5-this.jdEpoch,r=Math.floor((t-Math.floor((t+366)/1461))/365)+1;r<=0&&r--,t=Math.floor(e)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(t/30)+1,i=t-(n-1)*30+1;return this.newDate(r,n,i)}});xw.calendars.ethiopian=Q$});var A$e=ye(()=>{var qx=Sv(),sQt=bh();function eQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}eQ.prototype=new qx.baseCalendar;sQt(eQ.prototype,{name:\"Hebrew\",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{\"\":{name:\"Hebrew\",epochs:[\"BAM\",\"AM\"],monthNames:[\"Nisan\",\"Iyar\",\"Sivan\",\"Tammuz\",\"Av\",\"Elul\",\"Tishrei\",\"Cheshvan\",\"Kislev\",\"Tevet\",\"Shevat\",\"Adar\",\"Adar II\"],monthNamesShort:[\"Nis\",\"Iya\",\"Siv\",\"Tam\",\"Av\",\"Elu\",\"Tis\",\"Che\",\"Kis\",\"Tev\",\"She\",\"Ada\",\"Ad2\"],dayNames:[\"Yom Rishon\",\"Yom Sheni\",\"Yom Shlishi\",\"Yom Revi'i\",\"Yom Chamishi\",\"Yom Shishi\",\"Yom Shabbat\"],dayNamesShort:[\"Ris\",\"She\",\"Shl\",\"Rev\",\"Cha\",\"Shi\",\"Sha\"],dayNamesMin:[\"Ri\",\"She\",\"Shl\",\"Re\",\"Ch\",\"Shi\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear);return this._leapYear(t.year())},_leapYear:function(e){return e=e<0?e+1:e,S9(e*7+1,19)<7},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear),this._leapYear(e.year?e.year():e)?13:12},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,qx.local.invalidYear);return e=t.year(),this.toJD(e===-1?1:e+1,7,1)-this.toJD(e,7,1)},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,qx.local.invalidMonth),t===12&&this.leapYear(e)||t===8&&S9(this.daysInYear(e),10)===5?30:t===9&&S9(this.daysInYear(e),10)===3?29:this.daysPerMonth[t-1]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},extraInfo:function(e,t,r){var n=this._validate(e,t,r,qx.local.invalidDate);return{yearType:(this.leapYear(n)?\"embolismic\":\"common\")+\" \"+[\"deficient\",\"regular\",\"complete\"][this.daysInYear(n)%10-3]}},toJD:function(e,t,r){var n=this._validate(e,t,r,qx.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e<=0?e+1:e,a=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(t<7){for(var o=7;o<=this.monthsInYear(e);o++)a+=this.daysInMonth(e,o);for(var o=1;o=this.toJD(t===-1?1:t+1,7,1);)t++;for(var r=ethis.toJD(t,r,this.daysInMonth(t,r));)r++;var n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});function S9(e,t){return e-t*Math.floor(e/t)}qx.calendars.hebrew=eQ});var S$e=ye(()=>{var nC=Sv(),lQt=bh();function tQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}tQ.prototype=new nC.baseCalendar;lQt(tQ.prototype,{name:\"Islamic\",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Islamic\",epochs:[\"BH\",\"AH\"],monthNames:[\"Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' al-thani\",\"Jumada al-awwal\",\"Jumada al-thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-ahad\",\"Yawm al-ithnayn\",\"Yawm ath-thulaathaa'\",\"Yawm al-arbi'aa'\",\"Yawm al-kham\\u012Bs\",\"Yawm al-jum'a\",\"Yawm as-sabt\"],dayNamesShort:[\"Aha\",\"Ith\",\"Thu\",\"Arb\",\"Kha\",\"Jum\",\"Sab\"],dayNamesMin:[\"Ah\",\"It\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,nC.local.invalidYear);return(t.year()*11+14)%30<11},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){return this.leapYear(e)?355:354},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,nC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,nC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e=e<=0?e+1:e,r+Math.ceil(29.5*(t-1))+(e-1)*354+Math.floor((3+11*e)/30)+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=Math.floor((30*(e-this.jdEpoch)+10646)/10631);t=t<=0?t-1:t;var r=Math.min(12,Math.ceil((e-29-this.toJD(t,1,1))/29.5)+1),n=e-this.toJD(t,r,1)+1;return this.newDate(t,r,n)}});nC.calendars.islamic=tQ});var M$e=ye(()=>{var aC=Sv(),uQt=bh();function rQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}rQ.prototype=new aC.baseCalendar;uQt(rQ.prototype,{name:\"Julian\",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Julian\",epochs:[\"BC\",\"AD\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"mm/dd/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,aC.local.invalidYear),r=t.year()<0?t.year()+1:t.year();return r%4===0},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(4-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,aC.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(e,t,r){var n=this._validate(e,t,r,aC.local.invalidDate);return e=n.year(),t=n.month(),r=n.day(),e<0&&e++,t<=2&&(e--,t+=12),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+r-1524.5},fromJD:function(e){var t=Math.floor(e+.5),r=t+1524,n=Math.floor((r-122.1)/365.25),i=Math.floor(365.25*n),a=Math.floor((r-i)/30.6001),o=a-Math.floor(a<14?1:13),s=n-Math.floor(o>2?4716:4715),l=r-i-Math.floor(30.6001*a);return s<=0&&s--,this.newDate(s,o,l)}});aC.calendars.julian=rQ});var k$e=ye(()=>{var ug=Sv(),cQt=bh();function nQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}nQ.prototype=new ug.baseCalendar;cQt(nQ.prototype,{name:\"Mayan\",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{\"\":{name:\"Mayan\",epochs:[\"\",\"\"],monthNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],monthNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\"],dayNames:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesShort:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],dayNamesMin:[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\"],digits:null,dateFormat:\"YYYY.m.d\",firstDay:0,isRTL:!1,haabMonths:[\"Pop\",\"Uo\",\"Zip\",\"Zotz\",\"Tzec\",\"Xul\",\"Yaxkin\",\"Mol\",\"Chen\",\"Yax\",\"Zac\",\"Ceh\",\"Mac\",\"Kankin\",\"Muan\",\"Pax\",\"Kayab\",\"Cumku\",\"Uayeb\"],tzolkinMonths:[\"Imix\",\"Ik\",\"Akbal\",\"Kan\",\"Chicchan\",\"Cimi\",\"Manik\",\"Lamat\",\"Muluc\",\"Oc\",\"Chuen\",\"Eb\",\"Ben\",\"Ix\",\"Men\",\"Cib\",\"Caban\",\"Etznab\",\"Cauac\",\"Ahau\"]}},leapYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),!1},formatYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear);e=t.year();var r=Math.floor(e/400);e=e%400,e+=e<0?400:0;var n=Math.floor(e/20);return r+\".\"+n+\".\"+e%20},forYear:function(e){if(e=e.split(\".\"),e.length<3)throw\"Invalid Mayan year\";for(var t=0,r=0;r19||r>0&&n<0)throw\"Invalid Mayan year\";t=t*20+n}return t},monthsInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),18},weekOfYear:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),0},daysInYear:function(e){return this._validate(e,this.minMonth,this.minDay,ug.local.invalidYear),360},daysInMonth:function(e,t){return this._validate(e,t,this.minDay,ug.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()},weekDay:function(e,t,r){return this._validate(e,t,r,ug.local.invalidDate),!0},extraInfo:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate),i=n.toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(e){e-=this.jdEpoch;var t=iQ(e+8+17*20,365);return[Math.floor(t/20)+1,iQ(t,20)]},_toTzolkin:function(e){return e-=this.jdEpoch,[E$e(e+20,20),E$e(e+4,13)]},toJD:function(e,t,r){var n=this._validate(e,t,r,ug.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(e){e=Math.floor(e)+.5-this.jdEpoch;var t=Math.floor(e/360);e=e%360,e+=e<0?360:0;var r=Math.floor(e/20),n=e%20;return this.newDate(t,r,n)}});function iQ(e,t){return e-t*Math.floor(e/t)}function E$e(e,t){return iQ(e-1,t)+1}ug.calendars.mayan=nQ});var L$e=ye(()=>{var bw=Sv(),fQt=bh();function aQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}aQ.prototype=new bw.baseCalendar;var C$e=bw.instance(\"gregorian\");fQt(aQ.prototype,{name:\"Nanakshahi\",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Nanakshahi\",epochs:[\"BN\",\"AN\"],monthNames:[\"Chet\",\"Vaisakh\",\"Jeth\",\"Harh\",\"Sawan\",\"Bhadon\",\"Assu\",\"Katak\",\"Maghar\",\"Poh\",\"Magh\",\"Phagun\"],monthNamesShort:[\"Che\",\"Vai\",\"Jet\",\"Har\",\"Saw\",\"Bha\",\"Ass\",\"Kat\",\"Mgr\",\"Poh\",\"Mgh\",\"Pha\"],dayNames:[\"Somvaar\",\"Mangalvar\",\"Budhvaar\",\"Veervaar\",\"Shukarvaar\",\"Sanicharvaar\",\"Etvaar\"],dayNamesShort:[\"Som\",\"Mangal\",\"Budh\",\"Veer\",\"Shukar\",\"Sanichar\",\"Et\"],dayNamesMin:[\"So\",\"Ma\",\"Bu\",\"Ve\",\"Sh\",\"Sa\",\"Et\"],digits:null,dateFormat:\"dd-mm-yyyy\",firstDay:0,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,bw.local.invalidYear||bw.regionalOptions[\"\"].invalidYear);return C$e.leapYear(t.year()+(t.year()<1?1:0)+1469)},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(1-(n.dayOfWeek()||7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,bw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,bw.local.invalidMonth),i=n.year();i<0&&i++;for(var a=n.day(),o=1;o=this.toJD(t+1,1,1);)t++;for(var r=e-Math.floor(this.toJD(t,1,1)+.5)+1,n=1;r>this.daysInMonth(t,n);)r-=this.daysInMonth(t,n),n++;return this.newDate(t,n,r)}});bw.calendars.nanakshahi=aQ});var P$e=ye(()=>{var ww=Sv(),hQt=bh();function oQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}oQ.prototype=new ww.baseCalendar;hQt(oQ.prototype,{name:\"Nepali\",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{\"\":{name:\"Nepali\",epochs:[\"BBS\",\"ABS\"],monthNames:[\"Baisakh\",\"Jestha\",\"Ashadh\",\"Shrawan\",\"Bhadra\",\"Ashwin\",\"Kartik\",\"Mangsir\",\"Paush\",\"Mangh\",\"Falgun\",\"Chaitra\"],monthNamesShort:[\"Bai\",\"Je\",\"As\",\"Shra\",\"Bha\",\"Ash\",\"Kar\",\"Mang\",\"Pau\",\"Ma\",\"Fal\",\"Chai\"],dayNames:[\"Aaitabaar\",\"Sombaar\",\"Manglbaar\",\"Budhabaar\",\"Bihibaar\",\"Shukrabaar\",\"Shanibaar\"],dayNamesShort:[\"Aaita\",\"Som\",\"Mangl\",\"Budha\",\"Bihi\",\"Shukra\",\"Shani\"],dayNamesMin:[\"Aai\",\"So\",\"Man\",\"Bu\",\"Bi\",\"Shu\",\"Sha\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:1,isRTL:!1}},leapYear:function(e){return this.daysInYear(e)!==this.daysPerYear},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,ww.local.invalidYear);if(e=t.year(),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\")return this.daysPerYear;for(var r=0,n=this.minMonth;n<=12;n++)r+=this.NEPALI_CALENDAR_DATA[e][n];return r},daysInMonth:function(e,t){return e.year&&(t=e.month(),e=e.year()),this._validate(e,t,this.minDay,ww.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[e]==\"undefined\"?this.daysPerMonth[t-1]:this.NEPALI_CALENDAR_DATA[e][t]},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==6},toJD:function(e,t,r){var n=this._validate(e,t,r,ww.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=ww.instance(),a=0,o=t,s=e;this._createMissingCalendarData(e);var l=e-(o>9||o===9&&r>=this.NEPALI_CALENDAR_DATA[s][0]?56:57);for(t!==9&&(a=r,o--);o!==9;)o<=0&&(o=12,s--),a+=this.NEPALI_CALENDAR_DATA[s][o],o--;return t===9?(a+=r-this.NEPALI_CALENDAR_DATA[s][0],a<0&&(a+=i.daysInYear(l))):a+=this.NEPALI_CALENDAR_DATA[s][9]-this.NEPALI_CALENDAR_DATA[s][0],i.newDate(l,1,1).add(a,\"d\").toJD()},fromJD:function(e){var t=ww.instance(),r=t.fromJD(e),n=r.year(),i=r.dayOfYear(),a=n+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)o++,o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(e){var t=this.daysPerMonth.slice(0);t.unshift(17);for(var r=e-1;r{var QA=Sv(),dQt=bh();function M9(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}M9.prototype=new QA.baseCalendar;dQt(M9.prototype,{name:\"Persian\",jdEpoch:19483205e-1,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Persian\",epochs:[\"BP\",\"AP\"],monthNames:[\"Farvardin\",\"Ordibehesht\",\"Khordad\",\"Tir\",\"Mordad\",\"Shahrivar\",\"Mehr\",\"Aban\",\"Azar\",\"Day\",\"Bahman\",\"Esfand\"],monthNamesShort:[\"Far\",\"Ord\",\"Kho\",\"Tir\",\"Mor\",\"Sha\",\"Meh\",\"Aba\",\"Aza\",\"Day\",\"Bah\",\"Esf\"],dayNames:[\"Yekshambe\",\"Doshambe\",\"Seshambe\",\"Ch\\xE6harshambe\",\"Panjshambe\",\"Jom'e\",\"Shambe\"],dayNamesShort:[\"Yek\",\"Do\",\"Se\",\"Ch\\xE6\",\"Panj\",\"Jom\",\"Sha\"],dayNamesMin:[\"Ye\",\"Do\",\"Se\",\"Ch\",\"Pa\",\"Jo\",\"Sh\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!1}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,QA.local.invalidYear);return((t.year()-(t.year()>0?474:473))%2820+474+38)*682%2816<682},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-((n.dayOfWeek()+1)%7),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,QA.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===12&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,QA.local.invalidDate);e=n.year(),t=n.month(),r=n.day();var i=e-(e>=0?474:473),a=474+sQ(i,2820);return r+(t<=7?(t-1)*31:(t-1)*30+6)+Math.floor((a*682-110)/2816)+(a-1)*365+Math.floor(i/2820)*1029983+this.jdEpoch-1},fromJD:function(e){e=Math.floor(e)+.5;var t=e-this.toJD(475,1,1),r=Math.floor(t/1029983),n=sQ(t,1029983),i=2820;if(n!==1029982){var a=Math.floor(n/366),o=sQ(n,366);i=Math.floor((2134*a+2816*o+2815)/1028522)+a+1}var s=i+2820*r+474;s=s<=0?s-1:s;var l=e-this.toJD(s,1,1)+1,u=l<=186?Math.ceil(l/31):Math.ceil((l-6)/30),c=e-this.toJD(s,u,1)+1;return this.newDate(s,u,c)}});function sQ(e,t){return e-t*Math.floor(e/t)}QA.calendars.persian=M9;QA.calendars.jalali=M9});var R$e=ye(()=>{var Tw=Sv(),vQt=bh(),E9=Tw.instance();function lQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}lQ.prototype=new Tw.baseCalendar;vQt(lQ.prototype,{name:\"Taiwan\",jdEpoch:24194025e-1,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Taiwan\",epochs:[\"BROC\",\"ROC\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:1,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Tw.local.invalidYear),r=this._t2gYear(t.year());return E9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Tw.local.invalidYear),i=this._t2gYear(n.year());return E9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Tw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Tw.local.invalidDate),i=this._t2gYear(n.year());return E9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=E9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)},_g2tYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)}});Tw.calendars.taiwan=lQ});var D$e=ye(()=>{var Aw=Sv(),pQt=bh(),k9=Aw.instance();function uQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}uQ.prototype=new Aw.baseCalendar;pQt(uQ.prototype,{name:\"Thai\",jdEpoch:15230985e-1,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Thai\",epochs:[\"BBE\",\"BE\"],monthNames:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],monthNamesShort:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],dayNames:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],dayNamesShort:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],dayNamesMin:[\"Su\",\"Mo\",\"Tu\",\"We\",\"Th\",\"Fr\",\"Sa\"],digits:null,dateFormat:\"dd/mm/yyyy\",firstDay:0,isRTL:!1}},leapYear:function(r){var t=this._validate(r,this.minMonth,this.minDay,Aw.local.invalidYear),r=this._t2gYear(t.year());return k9.leapYear(r)},weekOfYear:function(i,t,r){var n=this._validate(i,this.minMonth,this.minDay,Aw.local.invalidYear),i=this._t2gYear(n.year());return k9.weekOfYear(i,n.month(),n.day())},daysInMonth:function(e,t){var r=this._validate(e,t,this.minDay,Aw.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(r.month()===2&&this.leapYear(r.year())?1:0)},weekDay:function(e,t,r){return(this.dayOfWeek(e,t,r)||7)<6},toJD:function(i,t,r){var n=this._validate(i,t,r,Aw.local.invalidDate),i=this._t2gYear(n.year());return k9.toJD(i,n.month(),n.day())},fromJD:function(e){var t=k9.fromJD(e),r=this._g2tYear(t.year());return this.newDate(r,t.month(),t.day())},_t2gYear:function(e){return e-this.yearsOffset-(e>=1&&e<=this.yearsOffset?1:0)},_g2tYear:function(e){return e+this.yearsOffset+(e>=-this.yearsOffset&&e<=-1?1:0)}});Aw.calendars.thai=uQ});var z$e=ye(()=>{var Sw=Sv(),gQt=bh();function cQ(e){this.local=this.regionalOptions[e||\"\"]||this.regionalOptions[\"\"]}cQ.prototype=new Sw.baseCalendar;gQt(cQ.prototype,{name:\"UmmAlQura\",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{\"\":{name:\"Umm al-Qura\",epochs:[\"BH\",\"AH\"],monthNames:[\"Al-Muharram\",\"Safar\",\"Rabi' al-awwal\",\"Rabi' Al-Thani\",\"Jumada Al-Awwal\",\"Jumada Al-Thani\",\"Rajab\",\"Sha'aban\",\"Ramadan\",\"Shawwal\",\"Dhu al-Qi'dah\",\"Dhu al-Hijjah\"],monthNamesShort:[\"Muh\",\"Saf\",\"Rab1\",\"Rab2\",\"Jum1\",\"Jum2\",\"Raj\",\"Sha'\",\"Ram\",\"Shaw\",\"DhuQ\",\"DhuH\"],dayNames:[\"Yawm al-Ahad\",\"Yawm al-Ithnain\",\"Yawm al-Thal\\u0101th\\u0101\\u2019\",\"Yawm al-Arba\\u2018\\u0101\\u2019\",\"Yawm al-Kham\\u012Bs\",\"Yawm al-Jum\\u2018a\",\"Yawm al-Sabt\"],dayNamesMin:[\"Ah\",\"Ith\",\"Th\",\"Ar\",\"Kh\",\"Ju\",\"Sa\"],digits:null,dateFormat:\"yyyy/mm/dd\",firstDay:6,isRTL:!0}},leapYear:function(e){var t=this._validate(e,this.minMonth,this.minDay,Sw.local.invalidYear);return this.daysInYear(t.year())===355},weekOfYear:function(e,t,r){var n=this.newDate(e,t,r);return n.add(-n.dayOfWeek(),\"d\"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(e){for(var t=0,r=1;r<=12;r++)t+=this.daysInMonth(e,r);return t},daysInMonth:function(e,t){for(var r=this._validate(e,t,this.minDay,Sw.local.invalidMonth),n=r.toJD()-24e5+.5,i=0,a=0;an)return Ox[i]-Ox[i-1];i++}return 30},weekDay:function(e,t,r){return this.dayOfWeek(e,t,r)!==5},toJD:function(e,t,r){var n=this._validate(e,t,r,Sw.local.invalidDate),i=12*(n.year()-1)+n.month()-15292,a=n.day()+Ox[i-1]-1;return a+24e5-.5},fromJD:function(e){for(var t=e-24e5+.5,r=0,n=0;nt);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),o=a+1,s=i-12*a,l=t-Ox[r-1]+1;return this.newDate(o,s,l)},isValid:function(e,t,r){var n=Sw.baseCalendar.prototype.isValid.apply(this,arguments);return n&&(e=e.year!=null?e.year:e,n=e>=1276&&e<=1500),n},_validate:function(e,t,r,n){var i=Sw.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw n.replace(/\\{0\\}/,this.local.name);return i}});Sw.calendars.ummalqura=cQ;var Ox=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]});var q$e=ye((a2r,F$e)=>{\"use strict\";F$e.exports=Sv();_$e();x$e();b$e();w$e();T$e();A$e();S$e();M$e();k$e();L$e();P$e();I$e();R$e();D$e();z$e()});var G$e=ye((o2r,H$e)=>{\"use strict\";var B$e=q$e(),oC=Mr(),N$e=es(),mQt=N$e.EPOCHJD,yQt=N$e.ONEDAY,dQ={valType:\"enumerated\",values:oC.sortObjectKeys(B$e.calendars),editType:\"calc\",dflt:\"gregorian\"},U$e=function(e,t,r,n){var i={};return i[r]=dQ,oC.coerce(e,t,i,r,n)},_Qt=function(e,t,r,n){for(var i=0;i{\"use strict\";j$e.exports=G$e()});var SQt=ye((l2r,X$e)=>{var Z$e=Ume();Z$e.register([Hye(),L1e(),V_e(),lxe(),bxe(),mbe(),Lbe(),g2e(),j2e(),Mwe(),h3e(),N4e(),kEe(),yCe(),a6e(),z6e(),nLe(),IPe(),JPe(),pIe(),EIe(),UIe(),r8e(),y8e(),jRe(),fDe(),MOe(),MBe(),CNe(),eUe(),uVe(),AVe(),XVe(),aGe(),xGe(),GGe(),$je(),wWe(),iZe(),SXe(),XXe(),pYe(),UYe(),tKe(),QKe(),mJe(),FJe(),g$e(),W$e()]);X$e.exports=Z$e});return SQt();})();\n", + "/*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\n", + "/*!\n", + " * Determine if an object is a Buffer\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " */\n", + "/*!\n", + " * pad-left \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT license.\n", + " */\n", + "/*!\n", + " * repeat-string \n", + " *\n", + " * Copyright (c) 2014-2015, Jon Schlinkert.\n", + " * Licensed under the MIT License.\n", + " */\n", + "/*! Bundled license information:\n", + "\n", + "native-promise-only/lib/npo.src.js:\n", + " (*! Native Promise Only\n", + " v0.8.1 (c) Kyle Simpson\n", + " MIT License: http://getify.mit-license.org\n", + " *)\n", + "\n", + "polybooljs/index.js:\n", + " (*\n", + " * @copyright 2016 Sean Connelly (@voidqk), http://syntheti.cc\n", + " * @license MIT\n", + " * @preserve Project Home: https://github.com/voidqk/polybooljs\n", + " *)\n", + "\n", + "ieee754/index.js:\n", + " (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *)\n", + "\n", + "buffer/index.js:\n", + " (*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " *)\n", + "\n", + "safe-buffer/index.js:\n", + " (*! safe-buffer. MIT License. Feross Aboukhadijeh *)\n", + "\n", + "assert/build/internal/util/comparisons.js:\n", + " (*!\n", + " * The buffer module from node.js, for the browser.\n", + " *\n", + " * @author Feross Aboukhadijeh \n", + " * @license MIT\n", + " *)\n", + "\n", + "object-assign/index.js:\n", + " (*\n", + " object-assign\n", + " (c) Sindre Sorhus\n", + " @license MIT\n", + " *)\n", + "\n", + "maplibre-gl/dist/maplibre-gl.js:\n", + " (**\n", + " * MapLibre GL JS\n", + " * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n", + " *)\n", + "*/\n", + "\n", + "window.Plotly = Plotly;\n", + "return Plotly;\n", + "}));\n", + " " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "application/vnd.plotly.v1+json": { + "config": { + "plotlyServerURL": "https://plot.ly" + }, + "data": [ + { + "hovertemplate": "AttackVector=NETWORK
Year=%{x}
AttackVectorCount=%{y}", + "legendgroup": "NETWORK", + "line": { + "color": "#636efa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "NETWORK", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2025", + "2024", + "2023", + "2022", + "2021", + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011", + "2010", + "2009", + "2008", + "2007", + "2006", + "2005", + "2004", + "2003", + "2002", + "2001", + "2000", + "1999", + "1998", + "1997", + "1996", + "1995" + ], + "xaxis": "x", + "y": { + "bdata": "dQweZyhSvUUHNuYxfxpIBa8EDwIzADgAKgA8AB8AUAA2ADEAHwAWACwAHQAOACIAGgAGAAUABAADAAEAAQA=", + "dtype": "i2" + }, + "yaxis": "y" + }, + { + "hovertemplate": "AttackVector=Missing_Data
Year=%{x}
AttackVectorCount=%{y}", + "legendgroup": "Missing_Data", + "line": { + "color": "#EF553B", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "Missing_Data", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2025", + "2024", + "2023", + "2022", + "2021", + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011", + "2010", + "2009", + "2008", + "2007", + "2006", + "2005", + "2004", + "2003", + "2002", + "2001", + "2000", + "1999", + "1998", + "1997", + "1996", + "1995", + "1994", + "1993", + "1992", + "1991", + "1990", + "1989", + "1988" + ], + "xaxis": "x", + "y": { + "bdata": "XgKxD1MIsAVwB4QDgCYaQDlAchaAGfUehxSCFBgQxhE3Ft4VmhnlGVMThAn7BUQIagbzA5QD8AD3AEkAGAAaAA0ADgAPAAoAAwACAA==", + "dtype": "i2" + }, + "yaxis": "y" + }, + { + "hovertemplate": "AttackVector=LOCAL
Year=%{x}
AttackVectorCount=%{y}", + "legendgroup": "LOCAL", + "line": { + "color": "#00cc96", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "LOCAL", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2025", + "2024", + "2023", + "2022", + "2021", + "2020", + "2019", + "2018", + "2017", + "2016", + "2015", + "2014", + "2013", + "2012", + "2011", + "2010", + "2009", + "2008", + "2007", + "2006", + "2005", + "2004", + "2003", + "2002", + "2001", + "2000", + "1999", + "1998", + "1997", + "1996", + "1990" + ], + "xaxis": "x", + "y": { + "bdata": "DQLtIZYZaxibFIQRzgdPAbQB6wAQABkAGgAnABMAJQAlABEACQAIABMADgADABQACwADAAIAAwADAAEAAQA=", + "dtype": "i2" + }, + "yaxis": "y" + }, + { + "hovertemplate": "AttackVector=ADJACENT_NETWORK
Year=%{x}
AttackVectorCount=%{y}", + "legendgroup": "ADJACENT_NETWORK", + "line": { + "color": "#ab63fa", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "ADJACENT_NETWORK", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2025", + "2024", + "2023", + "2022", + "2021", + "2020", + "2019", + "2018", + "2017", + "2016", + "2013", + "2012", + "2011", + "2007" + ], + "xaxis": "x", + "y": { + "bdata": "XADrBNYDaALYAv0CqQAkABQABQABAAIAAQABAA==", + "dtype": "i2" + }, + "yaxis": "y" + }, + { + "hovertemplate": "AttackVector=PHYSICAL
Year=%{x}
AttackVectorCount=%{y}", + "legendgroup": "PHYSICAL", + "line": { + "color": "#FFA15A", + "dash": "solid" + }, + "marker": { + "symbol": "circle" + }, + "mode": "lines+markers", + "name": "PHYSICAL", + "orientation": "v", + "showlegend": true, + "type": "scatter", + "x": [ + "2025", + "2024", + "2023", + "2022", + "2021", + "2020", + "2019", + "2018", + "2017", + "2016", + "2014", + "2011", + "2007" + ], + "xaxis": "x", + "y": { + "bdata": "KgBZAf4A/wDUACsBhAAVABEABAACAAEAAQA=", + "dtype": "i2" + }, + "yaxis": "y" + } + ], + "layout": { + "legend": { + "title": { "text": "AttackVector" }, "tracegroupgap": 0 @@ -1614,57 +5395,6 @@ "type": "heatmap" } ], - "heatmapgl": [ - { - "colorbar": { - "outlinewidth": 0, - "ticks": "" - }, - "colorscale": [ - [ - 0.0, - "#0d0887" - ], - [ - 0.1111111111111111, - "#46039f" - ], - [ - 0.2222222222222222, - "#7201a8" - ], - [ - 0.3333333333333333, - "#9c179e" - ], - [ - 0.4444444444444444, - "#bd3786" - ], - [ - 0.5555555555555556, - "#d8576b" - ], - [ - 0.6666666666666666, - "#ed7953" - ], - [ - 0.7777777777777778, - "#fb9f3a" - ], - [ - 0.8888888888888888, - "#fdca26" - ], - [ - 1.0, - "#f0f921" - ] - ], - "type": "heatmapgl" - } - ], "histogram": [ { "marker": { @@ -1865,6 +5595,17 @@ "type": "scattergl" } ], + "scattermap": [ + { + "marker": { + "colorbar": { + "outlinewidth": 0, + "ticks": "" + } + }, + "type": "scattermap" + } + ], "scattermapbox": [ { "marker": { @@ -2274,9 +6015,3888 @@ } }, "text/html": [ - "
\n", + "
" + " }) }; " ] }, "metadata": {}, @@ -2328,7 +9948,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.11.11" }, "vscode": { "interpreter": { diff --git a/CVECWE.ipynb b/CVECWE.ipynb index 54d1c9e4b2..af122fd860 100644 --- a/CVECWE.ipynb +++ b/CVECWE.ipynb @@ -15,10 +15,10 @@ "id": "91b44dc2", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:30:47.333059Z", - "iopub.status.busy": "2024-09-13T08:30:47.332888Z", - "iopub.status.idle": "2024-09-13T08:30:48.028575Z", - "shell.execute_reply": "2024-09-13T08:30:48.027965Z" + "iopub.execute_input": "2025-02-02T04:34:08.962345Z", + "iopub.status.busy": "2025-02-02T04:34:08.962176Z", + "iopub.status.idle": "2025-02-02T04:34:09.598440Z", + "shell.execute_reply": "2025-02-02T04:34:09.597870Z" }, "tags": [ "remove-cell" @@ -102,10 +102,10 @@ "id": "98bafc2f-2e20-4032-a091-ec2dc0ecb7a5", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:30:48.031415Z", - "iopub.status.busy": "2024-09-13T08:30:48.030877Z", - "iopub.status.idle": "2024-09-13T08:31:08.345531Z", - "shell.execute_reply": "2024-09-13T08:31:08.344970Z" + "iopub.execute_input": "2025-02-02T04:34:09.600401Z", + "iopub.status.busy": "2025-02-02T04:34:09.600187Z", + "iopub.status.idle": "2025-02-02T04:34:33.829008Z", + "shell.execute_reply": "2025-02-02T04:34:33.828383Z" }, "tags": [ "remove-cell" @@ -240,10 +240,10 @@ "id": "6815f0a1", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:31:08.348153Z", - "iopub.status.busy": "2024-09-13T08:31:08.347790Z", - "iopub.status.idle": "2024-09-13T08:31:08.619644Z", - "shell.execute_reply": "2024-09-13T08:31:08.618994Z" + "iopub.execute_input": "2025-02-02T04:34:33.831417Z", + "iopub.status.busy": "2025-02-02T04:34:33.831054Z", + "iopub.status.idle": "2025-02-02T04:34:34.108982Z", + "shell.execute_reply": "2025-02-02T04:34:34.108365Z" }, "tags": [ "remove-input" @@ -252,7 +252,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7oAAANXCAYAAAAb3iMxAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADKUElEQVR4nOzdeViVdf7/8dcxCgyEI4YLdGQVyd1wC8vDKdyjqTHLalo0yxnJ0tBJnZwhp0Qz2wyx+jotNqZfp81pwRTPaVwQNeKXlVpaDKaijSggxqb37w8vzrdbwEBZmtPzcV2f65LP/fnc9/u+w5nr5edeLIZhGAIAAAAAwEO0aukCAAAAAABoTARdAAAAAIBHIegCAAAAADwKQRcAAAAA4FEIugAAAAAAj0LQBQAAAAB4FIIuAAAAAMCjEHQBAAAAAB6FoAsAAAAA8CgEXQAA4DHi4+MVHx/f0mXgPFksFqWkpLR0GQA8AEEXAFBvr776qiwWiywWizZt2lRju2EYstlsslgsuv7665ukhoMHDyolJUW5ubkNmrdv3z5NmjRJERER8vHxkb+/vwYPHqznnntOP/74Y5PU6knqc/26deum3r1715j7zjvvyGKxyG6319j2t7/9TRaLRR9//LEk8+9YbW3r1q1Ne6J1+Lnzz8nJkcVi0aOPPlrnPr755htZLBY9/PDDkqSUlJRznmtBQcE5awoLCzON9/X11YABA/T666836rkDwH8jr5YuAADw38fHx0crVqzQ1Vdfber/5JNP9P3338vb27vJjn3w4EE99thjCgsLU58+feo154MPPtDYsWPl7e2tu+66Sz169FBFRYU2bdqkGTNm6Msvv9RLL73UZDX/t6vv9bv66qu1bNkyFRUVKSAgwD1/8+bN8vLy0vbt21VZWamLL77YtO2iiy7SVVddZTrm3LlzFR4eXqOWqKioc9ZaHZgbU33PPyYmRm+++aYef/zxWvezYsUKSdLvfvc7U396err8/PxqjLdarT9bW58+fZScnCxJOnTokP7nf/5Hd999t8rLy3Xfffc18EwBwHMQdAEADTZq1CitXr1azz//vLy8/u//SlasWKHY2Fj95z//acHqzL777juNGzdOoaGh2rBhgzp16uTelpSUpL179+qDDz5owQp/2Rpy/a6++mq9/PLL2rJli0aOHOket3nzZt1yyy1asWKF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UJJMq8zVdUqqcVtwt27dTC9RGjhwoCTp2muvVefOnWv0f/vttzWOOXHiRPefrVarunbtKl9fX91yyy3u/q5du8pqtZrmf/jhhxowYIBpNdTPz0/333+/8vLy9NVXX5mOM378eNPzq9dcc02dNVVr6PWTzqzO/vjjj/r0008lnbmNuXo1dPDgwTpy5Ii++eYb97bw8HAFBwfX2E9aWprWrVtnatW/J+ejuc7/1ltv1cUXX2y61feTTz7RgQMH6lxBfuutt2qc6yuvvFKv43388ccKCgpSUFCQevbsqeXLl2v8+PFauHChe8zq1asVEBCgoUOHmlaNY2Nj5efnJ6fTKenMYwMlJSWaOXOmfHx8TMexWCySpB07dujIkSOaPHmyaczo0aMVExNT6/Puf/jDH0w/V/89O/t/D6ZOnVpjrtVqVXZ2tg4ePFiv6wEA1XgZFQDgvAQFBSkhIUErVqzQyZMnderUKd188821jv33v/+t4ODgGoHhiiuucG+XzoSE//mf/9HEiRM1c+ZMXXfddfrtb3+rm2++Wa1aNfzfZv39/SWdec6vPv7973+rVatWNd7s27FjR1mtVned1X4aZiW53zRss9lq7T/7eUgfHx8FBQXVGHv55Ze7g8VP+386/9///rc7QP/UT69pjx496qy1+tbW2p7RrNbQ6yeZn9MdOHCgtmzZ4n4LcY8ePeTv76/NmzfLZrPp008/1a233lrrfgYMGHBeL6OqS3Odf7t27TR8+HC98847Wrp0qfsN5V5eXqZ/vPipIUOGnPfLqAYOHKjHH39cp06d0hdffKHHH39cx44dM4X6b775RkVFRWrfvn2t+zhy5IgkuZ/r/envzdmq/w507dq1xraYmJganx3z8vLS5ZdfXmMfrVq1UmRkpKm/tn0++eSTuvvuu2Wz2RQbG6tRo0bprrvuUkRERJ01AoBE0AUAXIDbb79d9913nwoKCjRy5Mh6fQ7lXFq3bq1//etfcjqd+uCDD5SRkaFVq1bp2muv1ccff6yLLrqoQfvz9/dXcHCwvvjiiwbNOztk1qWueurqN8568daFzm+I89nn+Vy/3r17q02bNtq0aZNGjRqlwsJC94puq1atNHDgQG3atEmRkZGqqKho1BdRnUtznb905vNB77//vt5//33dcMMNeuuttzRs2LAa/6jRGC677DIlJCRIkoYPH66YmBhdf/31eu6559x3Jpw+fVrt27fX3//+91r30RR1VfP29j6vf6Sqdsstt+iaa67RO++8o48//lgLFy7UggUL9Pbbb5ve7A0AZ+PWZQDAebvpppvUqlUrbd26tc7bliUpNDRUBw8erLEytnv3bvf2aq1atdJ1112np59+Wl999ZWeeOIJbdiwwX17ZX1DaLXrr79e+/btU1ZW1s+ODQ0N1enTp9231lY7fPiwjh8/bqqzpYWGhmrPnj01+mu7pheiIddPOhMoBw0apM2bN2vTpk3y9/dXz5493durX0hV/VKq5gq656uh5y9JN9xwg9q0aaMVK1boo48+0rFjx5r8bcvVRo8eLbvdrnnz5qm0tFSSFBkZqaNHj2rw4MFKSEio0Xr37u0eJ+mcwb7696q23709e/bU6/eu+u/Z2W+Grm2fktSpUydNnjxZ7777rr777ju1a9dOTzzxxM8eB8CvG0EXAHDe/Pz8lJ6erpSUFCUmJtY5btSoUTp16pReeOEFU/8zzzwji8XiXpkpLCysMbdPnz6S5P68T/U3OOv7Vto//vGP8vX11cSJE3X48OEa2/ft26fnnnvOXackPfvss6YxTz/9tCTV+lbYljJq1Cht27bNFMBKS0v10ksvKSwsTN26dWuU4zTk+lW7+uqr9cMPP+iVV17RwIEDTSt6cXFx2rNnj9577z21a9fOfav1L9X5nH/r1q1100036cMPP1R6erp8fX31m9/8prlK1iOPPKKjR4/q5ZdflnRmVfTUqVP661//WmNsVVWV++/SsGHD1KZNG6WmpqqsrMw0rnrlu1+/fmrfvr2WLl1q+uTWRx99pF27dtXr70j13/fnn3/e1H/237tTp06pqKjI1Ne+fXsFBwfX+NwXAJyNW5cBABfk7rvv/tkxiYmJcjgc+tOf/qS8vDz17t1bH3/8sd577z1NnTrVvZI0d+5c/etf/9Lo0aMVGhqqI0eOaMmSJbr88svdK3+RkZGyWq1aunSp2rRpI19fXw0cOFDh4eG1HjsyMlIrVqzQrbfeqiuuuEJ33XWXevTooYqKCm3ZskWrV6/WPffcI+nMbbd33323XnrpJR0/flx2u13btm3Ta6+9phtvvFEOh6NxLlojmDlzpt58802NHDlSDz74oAIDA/Xaa6/pu+++01tvvXVBt4v+VEOuX7Xq/1ZZWVlKSUkxbRs0aJAsFou2bt2qxMTEOlfoP/roI/fq9E/FxcU16/OZ53P+0pnbl19//XWtXbtWd9xxh/sfaGrzj3/8Q35+fjX6hw4dqg4dOjS45pEjR6pHjx56+umnlZSUJLvdrkmTJik1NVW5ubkaNmyYLr74Yn3zzTdavXq1nnvuOd18883y9/fXM888o4kTJ6p///66/fbb1bZtW/2///f/dPLkSb322mu6+OKLtWDBAo0fP152u1233XabDh8+rOeee05hYWGaNm3az9bXp08f3XbbbVqyZImKiooUFxenzMzMGt81Likp0eWXX66bb75ZvXv3lp+fn9avX6/t27dr0aJFDb4uAH5lWvKVzwCA/y4//bzQuZz9eSHDOPPpm2nTphnBwcHGxRdfbHTp0sVYuHCh+7MlhmEYmZmZxm9+8xsjODjYuOSSS4zg4GDjtttuM77++mvTvt577z2jW7duhpeXV70/NfT1118b9913nxEWFmZccsklRps2bYzBgwcbixcvNsrKytzjKisrjccee8wIDw83Lr74YsNmsxmzZs0yjanrHA3DqPFpF8MwjO+++86QZCxcuNDdd/fddxu+vr415tvtdqN79+41+ms73r59+4ybb77ZsFqtho+PjzFgwADj/fffN42p/rzO6tWra62pPtfOMOp//QzDMEpLS93/bT7++OMa++rVq5chyViwYEGNbef6vFB96q3r80LNef6GYRhVVVVGp06dDEnGhx9+WOs+z/V5IZ31Oara1PU7aBiG8eqrr9Y4v5deesmIjY01WrdubbRp08bo2bOn8cc//tE4ePCgae6aNWuMuLg4o3Xr1oa/v78xYMAA48033zSNWbVqldG3b1/D29vbCAwMNO644w7j+++/N42p63fcMAzjxx9/NB588EGjXbt2hq+vr5GYmGjs37/f9Hmh8vJyY8aMGUbv3r2NNm3aGL6+vkbv3r2NJUuWnPO6AIBhGIbFMC7gzRYAAAAAAPzC8IwuAAAAAMCjEHQBAAAAAB6FoAsAAAAA8CgEXQAAAACARyHoAgAAAAA8CkEXAAAAAOBRvFq6APw6nD59WgcPHlSbNm1ksVhauhwAAAAALcQwDJWUlCg4OFitWjXN2itBF83i4MGDstlsLV0GAAAAgF+I/fv36/LLL2+SfRN00SzatGkj6cwvs7+/fwtXAwAAAKClFBcXy2azuTNC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cjgcpr7169ere/fupr527drVq67p06frmmuuqbHt0KFDpp8/+ugj3XvvvRozZoy776233tJ9992nefPm6dprr1VVVZW++OKLnz0uAAAAADQ3gm4jmzx5siwWi7Zt2yZfX193f/fu3TVhwgQdOXJEJ06c0I4dOzRo0CBJksvl0syZM5WcnKyysjL5+PiorKxM2dnZGj9+vGn/7dq1U8eOHRtU06lTp3THHXfoscce08aNG3X8+HHT9rP3995778nhcCgiIkKSVFVVpYceekgLFy7Uvffe6x7XrVu3BtUBAAAAAM2BW5cbUWFhoTIyMpSUlGQKudWsVquio6MVHBwsp9MpSSopKVFOTo7Gjh2rsLAwZWVlSZK2bNmi8vLyGiu652Pu3Llq3769KaTW5fDhw/rggw9MY3NycnTgwAG1atVKffv2VadOnTRy5MhzruiWl5eruLjY1AAAAACgORB0G9HevXtlGIZiYmLOOc7hcLhvU964caOio6MVFBSkIUOGuPtdLpfCw8MVGhpqmhsXFyc/Pz9TO5dNmzZp2bJlevnll+t1Dq+99pratGmj3/72t+6+b7/9VtKZZ4YfffRRvf/++2rbtq3i4+NVWFhY635SU1MVEBDgbjabrV7HBwAAAIALRdBtRIZh1GtcfHy8Nm/erMrKSrlcLsXHx0uS7Ha7KejWtpq7atUq5ebmmpok5efnm8LvvHnzVFJSojvvvFMvv/yyLrvssnrV9re//U133HGHfHx83H2nT5+WJP3pT3/SmDFjFBsbq1deeUUWi0WrV6+udT+zZs1SUVGRu+3fv79exwcAAACAC8Uzuo2oS5cuslgs2r179znHORwOlZaWavv27XI6nZoxY4akM0F3woQJKiwsVHZ2tiZNmlRjrs1mU1RUVI3+4OBgd+iVpMDAQO3bt095eXlKTEx091eHVi8vL+3Zs0eRkZHubRs3btSePXu0atUq0747deokyfxMrre3tyIiIpSfn1/rOXp7e8vb2/uc1wEAAAAAmgJBtxEFBgZq+PDhSktL04MPPljjOd3jx4/LarUqMjJSNptNa9asUW5urux2uyQpJCREISEhWrRokSoqKhr0fK6Xl1eNAHzppZdq586dpr5HH31UJSUleu6552rcTrxs2TLFxsaqd+/epv7Y2Fh5e3trz549uvrqqyVJlZWVysvLq3FrNQAA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RESEWrVqpXbt2ikmJkalpaWSql+6HB0drccff1xPP/20vL295evrq5kzZzrUuH//fg0aNEiurq7q1q2btmzZIovFog0bNtT5OL28vOTr66ugoCANGTJEH3/8sUaNGqXHHntMJ0+elCSdOHFCI0eOVEBAgNzc3BQREaGVK1ea2xgzZoy+/PJLvfnmm+YMcW5urs6ePauxY8cqODhYrVq1UteuXfXmm2/WuTYAAAAAaExOH3QlKSEhQe+995759fLly/Xggw/WOn7Xrl16/PHHNWvWLB04cEBJSUmKjIyUJOXl5WnkyJFKSEhQVlaWUlNTddddd8kwjFq39/7776t169ZKT0/Xq6++qlmzZmnz5s2SpLNnz2r48OFyc3NTenq6/vrXv+q5556rl+OeNGmSiouLzX2VlZWpV69e+uc//6m9e/dq3Lhxuv/++5WRkSHp/GXX/fv318MPP6y8vDzl5eXJZrPp3Llz6tixoz766CPt27dPL7zwgp599lmtWbOm1n2Xl5erqKjIoQEAAABAY2je1AU0hj/96U+aPn26/vOf/0iStm/frlWrVik1NbXG8YcPH1br1q31f/7P/1GbNm0UGBhozv7m5eWpqqpKd911lwIDAyVJERERF91/jx499OKLL0qSunTporfeekvJyckaPHiwNm/erIMHDyo1NVW+vr6SpFdeeUWDBw++7OMODw+XJOXm5kqSAgICNGXKFHP5xIkTtWnTJq1Zs0Z9+vSRp6enWrZsKTc3N7MWSXJxcdFLL71kfh0cHKy0tDStWbNG99xzT437njNnjsM6AAAAANBYroqg6+Pjo9tuu00rVqyQYRi67bbbdM0119Q6fvDgwQoMDFRISIji4uIUFxenO++8U25uburZs6duueUWRUREKDY2VkOGDNHdd9+ttm3b1rq9Hj16OHzt5+en48ePS5IOHDggm83mECz79OlzmUd83oVZZovFIun87PHs2bO1Zs0aHT16VBUVFSovL5ebm9uvbisxMVHLly/X4cOHdebMGVVUVOj666+vdfz06dP11FNPmV8XFRXJZrNd3gEBAAAAQB1cFZcuS+cvX16xYoXef/99JSQkXHRsmzZttHv3bq1cuVJ+fn564YUX1LNnT506dUouLi7avHmzPv/8c3Xr1k2LFi1S165ddejQoVq316JFC4evLRaLzp07Vy/HdTFZWVmSzs/AStL8+fP15ptv6plnnlFKSooyMzMVGxurioqKi25n1apVmjJlisaOHat//etfyszM1IMPPnjR9axWqzw8PBwaAAAAADSGqyboxsXFqaKiQpWVlYqNjf3V8c2bN1dMTIxeffVVffvtt8rNzdUXX3wh6XxQHThwoF566SXt2bNHLVu21Pr1639TXV27dtWRI0d07Ngxs2/nzp2/aVu/9MYbb8jDw0MxMTGSzl+yfccdd+hPf/qTevbsqZCQEP3www8O67Rs2VJnz5516Nu+fbsGDBig8ePH64YbblBoaKgOHjxYLzUCAAAAQH27Ki5dls7fZ3phhtPFxeWiYz/99FP9+OOPioyMVNu2bfXZZ5/p3Llz6tq1q9LT05WcnKwhQ4aoffv2Sk9P13//+19de+21v6muwYMHq3Pnzho9erReffVVFRcX6/nnn5f0/7/kuC5OnTql/Px8lZeX64cfftA777yjDRs26G9/+5v5uqMuXbro448/1tdff622bdvq9ddf17Fjx9StWzdzO0FBQUpPT1dubq7c3d3l7e2tLl266G9/+5s2bdqk4OBgffDBB9q5c6c5UwwAAAAAV5KrZkZXUp0vofXy8tK6dev0hz/8Qddee63efvttrVy5Ut27d5eHh4e2bt2qW2+9VWFhYXr++ee1YMECDR069DfV5OLiog0bNqikpES9e/fWQw89ZD512dXVtc7befDBB+Xn56fw8HD9+c9/lru7uzIyMnTfffeZY55//nndeOONio2NVXR0tHx9fR1ehSRJU6ZMkYuLi7p16yYfHx8dPnxYjzzyiO666y7de++96tu3r06cOKHx48f/puMFAAAAgIZmMS72Xhw0ie3bt2vQoEHKyclR586dm7qcelFUVCRPT08p4FmpWd0DPAAAQH0wDs9o6hIA/H8uZIPCwsIGe5bPVXPp8pVs/fr1cnd3V5cuXZSTk6MnnnhCAwcOdJqQCwAAAACN6aq6dPlKVVxcrAkTJig8PFxjxoxR79699cknn0iSZs+eLXd39xrbb71cGgAAAACcGZcuX+EKCgpUUFBQ47JWrVopICCgkSv6bbh0GQAANCUuXQauHFy6DHl7e8vb27upywAAAACA3w2CLhpV4b5nGux/bQAAAABA4h5dAAAAAICTIegCAAAAAJwKQRcAAAAA4FQIugAAAAAAp0LQBQAAAAA4FZ66jEbl2W0e79EFAAAAasD7nusPM7oAAAAAAKdC0AUAAAAAOBWCLgAAAADAqRB0AQAAAABOhaALAAAAAHAqBF0nFxQUpDfeeOOS1tm+fbsiIiLUokULDR8+vEHqAgAAAICG0qRBd8yYMbJYLJo7d65D/4YNG2SxWLR27Vq5uLjo6NGjNa7fpUsXPfXUU5Kk6OhoWSwWWSwWWa1WBQQEaNiwYVq3bl2d61m7dq2io6Pl6ekpd3d39ejRQ7NmzVJBQYH2798vi8WiHTt2OKzTr18/ubq6qqyszOwrKyuTq6urli1b5nCcv2xxcXF1ru232rlzp8aNG3dJ6zz11FO6/vrrdejQIa1YsaJhCgMAAACABtLkM7qurq6aN2+eTp48WW3Z7bffrnbt2un999+vtmzr1q3KycnR2LFjzb6HH35YeXl5OnjwoNauXatu3bopPj6+TkHvueee07333qvevXvr888/1969e7VgwQL9+9//1gcffKDw8HD5+voqNTXVXKe4uFi7d++Wj4+PQwBOS0tTeXm5/vCHP5h9cXFxysvLc2grV66s68f0m/n4+MjNze2S1jl48KD+8Ic/qGPHjvLy8mqYwgAAAACggTR50I2JiZGvr6/mzJlTbVmLFi10//331ziruHz5cvXt21fdu3c3+9zc3OTr66uOHTuqX79+mjdvnt555x0tXbpUW7ZsqbWGjIwMzZ49WwsWLND8+fM1YMAABQUFafDgwVq7dq1Gjx4tSbLb7Q5Bd9u2bQoLC9OwYcMc+lNTUxUYGKjg4GCzz2q1ytfX16G1bdu21ppyc3NlsVi0bt062e12ubm5qWfPnkpLS3MYt3btWnXv3l1Wq1VBQUFasGCBw/JfXrpssVj07rvv6s4775Sbm5u6dOmijRs3OuzzxIkTSkhIkMViMT/7L7/8Un369JHVapWfn5+mTZumqqqqWusHAAAAgKbS5EHXxcVFs2fP1qJFi/TTTz9VWz527FhlZ2dr69atZl9JSYk+/vhjh9nc2owePVpt27a96CXMH374odzd3TV+/Pgal1+Y1bTb7dq2bZsZ8FJSUhQdHa2oqCilpKSY41NSUmS323+1trp47rnnNGXKFGVmZiosLEwjR4409//NN9/onnvuUXx8vL777jvNnDlTM2bM+NXLjV966SXdc889+vbbb3Xrrbdq1KhRKigokM1mU15enjw8PPTGG28oLy9P9957r44ePapbb71VvXv31r///W8tWbJEy5Yt01/+8pda91FeXq6ioiKHBgAAAACNocmDriTdeeeduv766/Xiiy9WW9atWzf169dPy5cvN/vWrFkjwzAUHx//q9tu1qyZwsLClJubW+uY7OxshYSEqEWLFhfdlt1uV2lpqXbu3Cnp/MxtVFSUIiMjlZ6errKyMp05c0YZGRnVgu6nn34qd3d3hzZ79uxfrX/KlCm67bbbFBYWppdeekn/+c9/lJOTI0l6/fXXdcstt2jGjBkKCwvTmDFj9Nhjj2n+/PkX3eaYMWM0cuRIhYaGavbs2SopKVFGRoZcXFzk6+sri8UiT09P+fr6qlWrVlq8eLFsNpveeusthYeHa/jw4XrppZe0YMECnTt3rsZ9zJkzR56enmaz2Wy/eqwAAAAAUB+uiKArSfPmzdP777+vrKysassSEhL08ccfq7i4WNL5y5ZHjBihNm3a1GnbhmHIYrFIkoYOHWoGzQuXPRuGUafthIaGqmPHjkpNTVVRUZH27NmjqKgo+fn5qVOnTkpLSzPvz/1l0LXb7crMzHRojz76qCTp0UcfdQjAP9ejRw/z335+fpKk48ePS5KysrI0cOBAh/EDBw5Udna2zp49W+tx/HybrVu3loeHh7nNmmRlZal///7mZ3hhPyUlJTXOwkvS9OnTVVhYaLYjR47Uun0AAAAAqE/Nm7qACyIjIxUbG6vp06drzJgxDsvi4+M1adIkrVmzRpGRkdq+fXuN9/TW5OzZs8rOzlbv3r0lSe+++67OnDkjSeYMblhYmLZt26bKyspfndWNjo5WSkqKevTooS5duqh9+/aSZF6+bBiGQkNDq81gtm7dWqGhoTVuc9asWZoyZUqNy35ez4WgWdssal398hgtFstlb/OXrFarrFZrvW4TAAAAAOriigm6kjR37lxdf/316tq1q0N/mzZtNGLECC1fvlwHDx5UWFiYbr755jpt8/3339fJkyf1xz/+UZIUEBBQbcx9992nhQsXavHixXriiSeqLT916pTDfbqPP/64unXrpujoaHNMZGSkli5dKsMwLvn+3Pbt25uB+VJce+212r59u0Pf9u3bFRYWJhcXl0ve3sX2s3btWoeZ8e3bt6tNmzbq2LFjve0HAAAAAOrDFRV0IyIiNGrUKC1cuLDasrFjx+rmm29WVlaWnnnmmRrXP336tPLz81VVVaWffvpJ69ev1//8z//oz3/+80XDZ9++ffX0009r8uTJOnr0qO688075+/srJydHb7/9tgYNGmQG4Av36S5fvlxLly41txEVFaWHHnpIkmp8qFV5ebny8/Md+po3b65rrrnm1z+YWkyePFm9e/fWyy+/rHvvvVdpaWl66623tHjx4t+8zZqMHz9eb7zxhiZOnKjHHntMBw4c0IsvvqinnnpKzZpdMVe/AwAAAICkK+ge3QtmzZpV42W0gwYNUteuXVVUVKQHHnigxnWXLl0qPz8/de7cWXfddZf27dun1atX1yn4zZs3T//4xz+Unp6u2NhYde/eXU899ZR69Ohhvl5IkoKDgxUYGKji4mJFRUWZ/Z06dZK/v78qKiocZnovSEpKkp+fn0MbNGhQHT6R2t14441as2aNVq1apeuuu04vvPCCZs2aVe3S78sVEBCgzz77TBkZGerZs6ceffRRjR07Vs8//3y97gcAAAAA6oPFqOuTmIDLUFRUJE9PTyngWamZa1OXAwAAAFxxjMMzmrqERnEhGxQWFsrDw6NB9nHFzegCAAAAAHA5CLoAAAAAAKdC0AUAAAAAOBWCLgAAAADAqVxRrxeC8yvc90yD3XAOAAAAABIzugAAAAAAJ0PQBQAAAAA4FYIuAAAAAMCpEHQBAAAAAE6FoAsAAAAAcCo8dRmNyrPbPKmZa1OXAQAAADgd4/CMpi7hisGMLgAAAADAqRB0AQAAAABOhaALAAAAAHAqBF0AAAAAgFMh6AIAAAAAnApBFwAAAADgVAi6TSQ/P18TJ05USEiIrFarbDabhg0bpuTkZMXHxysuLs5hfFJSkiwWi2bOnOnQP3PmTHXq1EmSlJubK4vFUmPbsWNHrbVER0fXuM5tt91mjjl27JjGjBkjf39/ubm5KS4uTtnZ2fX3gQAAAABAPeE9uk0gNzdXAwcOlJeXl+bPn6+IiAhVVlZq06ZNmjBhgiZNmqQpU6aoqqpKzZufP0UpKSmy2WxKTU112FZKSorsdrtD35YtW9S9e3eHvnbt2tVaz7p161RRUWF+feLECfXs2VMjRoyQJBmGoeHDh6tFixb65JNP5OHhoddff10xMTHat2+fWrdufTkfBwAAAADUK4JuExg/frwsFosyMjIcQmL37t2VkJCg48ePq6SkRLt27VK/fv0kSampqZo2bZomT56ssrIyubq6qqysTOnp6XrwwQcdtt+uXTv5+vrWuR5vb2+Hr1etWiU3Nzcz6GZnZ2vHjh3au3evGaCXLFkiX19frVy5Ug899NBv+hwAAAAAoCFw6XIjKygoUFJSkiZMmFDjTKiXl5fCwsLk7++vlJQUSVJxcbF2796tESNGKCgoSGlpaZKkr7/+WuXl5dVmdC/XsmXLFB8fb9ZXXl4uSXJ1dTXHNGvWTFarVdu2batxG+Xl5SoqKnJoAAAAANAYCLqNLCcnR4ZhKDw8/KLj7Ha7eZnyV199pbCwMPn4+CgyMtLsT01NVXBwsAIDAx3WHTBggNzd3R1aXWVkZGjv3r0Os7Th4eHq1KmTpk+frpMnT6qiokLz5s3TTz/9pLy8vBq3M2fOHHl6eprNZrPVuQYAAAAAuBwE3UZmGEadxkVHR2v79u2qrKxUamqqoqOjJUlRUVEOQbem2dzVq1crMzPToUnS4cOHHcLv7Nmzq627bNkyRUREqE+fPmZfixYttG7dOv3www/y9vaWm5ubUlJSNHToUDVrVvO30PTp01VYWGi2I0eO1Om4AQAAAOBycY9uI+vSpYssFov2799/0XF2u12lpaXauXOnUlJSNHXqVEnng25CQoIKCgqUnp6uRx55pNq6NptNoaGh1fr9/f3N0CtVvze3tLRUq1at0qxZs6qt26tXL2VmZqqwsFAVFRXy8fFR3759ddNNN9VYv9VqldVqvegxAgAAAEBDYEa3kXl7eys2NlaJiYkqLS2ttvzUqVOSpM6dO8tms2njxo3KzMxUVFSUJCkgIEABAQFasGCBKioqLun+3ObNmys0NNRsvwy6H330kcrLy/WnP/2p1m14enrKx8dH2dnZ2rVrl+6444467x8AAAAAGgNBtwkkJibq7Nmz6tOnj9auXavs7GxlZWVp4cKF6t+/vznObrdr8eLFCg0NVYcOHcz+qKgoLVq0yHxo1S+dOHFC+fn5Dq2srOxX61q2bJmGDx9e46uIPvroI6WmpurHH3/UJ598osGDB2v48OEaMmTIb/wUAAAAAKBhEHSbQEhIiHbv3i273a7Jkyfruuuu0+DBg5WcnKwlS5aY4+x2u4qLi837cy+IiopScXFxrbO5MTEx8vPzc2gbNmy4aE0HDhzQtm3bNHbs2BqX5+Xl6f7771d4eLgef/xx3X///Vq5cuUlHTcAAAAANAaLUdenIwGXoaioSJ6enlLAs1Iz119fAQAAAMAlMQ7PaOoS6uRCNigsLJSHh0eD7IMZXQAAAACAUyHoAgAAAACcCkEXAAAAAOBUCLoAAAAAAKfSvKkLwNWlcN8zDXbDOQAAAABIzOgCAAAAAJwMQRcAAAAA4FQIugAAAAAAp0LQBQAAAAA4FYIuAAAAAMCp8NRlNCrPbvOkZq5NXQYAAABw1TAOz2jqEhodM7oAAAAAAKdC0AUAAAAAOBWCLgAAAADAqRB0AQAAAABOhaALAAAAAHAqBF0AAAAAgFMh6F5FVqxYIS8vr6YuAwAAAAAa1BUVdMeMGSOLxaK5c+c69G/YsEEWi0Vr166Vi4uLjh49WuP6Xbp00VNPPSVJio6OlsVikcVikdVqVUBAgIYNG6Z169bVuZ61a9cqOjpanp6ecnd3V48ePTRr1iwVFBRo//79slgs2rFjh8M6/fr1k6urq8rKysy+srIyubq6atmyZQ7H+csWFxf3qzUdOXJECQkJ8vf3V8uWLRUYGKgnnnhCJ06ccBgXFBSkN954o87HCgAAAADO4ooKupLk6uqqefPm6eTJk9WW3X777WrXrp3ef//9asu2bt2qnJwcjR071ux7+OGHlZeXp4MHD2rt2rXq1q2b4uPjNW7cuF+t47nnntO9996r3r176/PPP9fevXu1YMEC/fvf/9YHH3yg8PBw+fr6KjU11VynuLhYu3fvlo+Pj0MATktLU3l5uf7whz+YfXFxccrLy3NoK1euvGhNP/74o2666SZlZ2dr5cqVysnJ0dtvv63k5GT1799fBQUFv3pcDaGysrJJ9gsAAAAANbnigm5MTIx8fX01Z86castatGih+++/XytWrKi2bPny5erbt6+6d+9u9rm5ucnX11cdO3ZUv379NG/ePL3zzjtaunSptmzZUmsNGRkZmj17thYsWKD58+drwIABCgoK0uDBg7V27VqNHj1akmS32x2C7rZt2xQWFqZhw4Y59KempiowMFDBwcFmn9Vqla+vr0Nr27btRT+bCRMmqGXLlvrXv/6lqKgoderUSUOHDtWWLVt09OhRPffcc5LOz2b/5z//0aRJk8zZ4p/btGmTrr32Wrm7u5uB++feffddXXvttXJ1dVV4eLgWL15sLsvNzZXFYtHq1asVFRUlV1dXffjhh9VqLS8vV1FRkUMDAAAAgMZwxQVdFxcXzZ49W4sWLdJPP/1UbfnYsWOVnZ2trVu3mn0lJSX6+OOPHWZzazN69Gi1bdv2opcwf/jhh3J3d9f48eNrXH7hPle73a5t27apqqpKkpSSkqLo6GhFRUUpJSXFHJ+SkiK73f6rtV1MQUGBNm3apPHjx6tVq1YOy3x9fTVq1CitXr1ahmFo3bp16tixo2bNmmXOFl9w+vRpvfbaa/rggw+0detWHT58WFOmTHE49hdeeEGvvPKKsrKyNHv2bM2YMaPaLPq0adP0xBNPKCsrS7GxsdXqnTNnjjw9Pc1ms9ku6/gBAAAAoK6uuKArSXfeeaeuv/56vfjii9WWdevWTf369dPy5cvNvjVr1sgwDMXHx//qtps1a6awsDDl5ubWOiY7O1shISFq0aLFRbdlt9tVWlqqnTt3Sjo/cxsVFaXIyEilp6errKxMZ86cUUZGRrWg++mnn8rd3d2hzZ49+6I1GYaha6+9tsbl1157rU6ePKn//ve/8vb2louLi9q0aWPOFl9QWVmpt99+WzfddJNuvPFGPfbYY0pOTjaXv/jii1qwYIHuuusuBQcH66677tKkSZP0zjvvOOzvySefNMf4+flVq2f69OkqLCw025EjRy76WQIAAABAfWne1AXUZt68efrDH/7gMNt4QUJCgiZNmqRFixapTZs2Wr58uUaMGKE2bdrUaduGYZiX8w4dOlRfffWVJCkwMFDff/+9DMOo03ZCQ0PVsWNHpaamqnv37tqzZ4+ioqLUvn17derUSWlpaTIMQ+Xl5dWCrt1u15IlSxz6vL29JUmPPvqo/v73v5v9JSUlDrVfDjc3N3Xu3Nn82s/PT8ePH5cklZaW6uDBgxo7dqwefvhhc0xVVZU8PT0dtnPTTTdddD9Wq1VWq/WyagUAAACA3+KKDbqRkZGKjY3V9OnTNWbMGIdl8fHxmjRpktasWaPIyEht3769xnt6a3L27FllZ2erd+/eks7fj3rmzBlJMmdww8LCtG3bNlVWVv7qrG50dLRSUlLUo0cPdenSRe3bt5ck8/JlwzAUGhpa7dLd1q1bKzQ0tMZtzpo1q1rADw0NlcViUVZWlu68885q62RlZalt27by8fG5aL2/PB6LxWKG5wuBeunSperbt6/DOBcXl2r1AwAAAMCV6IoNupI0d+5cXX/99eratatDf5s2bTRixAgtX75cBw8eVFhYmG6++eY6bfP999/XyZMn9cc//lGSFBAQUG3Mfffdp4ULF2rx4sV64oknqi0/deqUw326jz/+uLp166bo6GhzTGRkpJYuXSrDMC75/tz27dubgfmCdu3aafDgwVq8eLEmTZrkcJ9ufn6+PvzwQz3wwAPmTHXLli119uzZS9pvhw4d5O/vrx9//FGjRo26pHUBAAAA4EpxRQfdiIgIjRo1SgsXLqy2bOzYsbr55puVlZWlZ555psb1T58+rfz8fFVVVemnn37S+vXr9T//8z/685//fNHw2bdvXz399NOaPHmyjh49qjvvvFP+/v7m63wGDRpkBuAL9+kuX75cS5cuNbcRFRWlhx56SJJqfKhVeXm58vPzHfqaN2+ua665pta63nrrLQ0YMECxsbH6y1/+ouDgYH3//feaOnWqAgIC9Morr5hjg4KCtHXrVsXHx8tqtV50uz/30ksv6fHHH5enp6fi4uJUXl6uXbt26eTJk+Y7igEAAADgSnZFPozq52bNmqVz585V6x80aJC6du2qoqIiPfDAAzWuu3TpUvn5+alz58666667tG/fPq1evdrhdTm1mTdvnv7xj38oPT1dsbGx6t69u5566in16NHDfL2QJAUHByswMFDFxcWKiooy+zt16iR/f39VVFQ4zPRekJSUJD8/P4c2aNCgi9bUpUsX7dq1SyEhIbrnnnvUuXNnjRs3Tna7XWlpaeY9vtL5zy03N1edO3f+1cuZf+6hhx7Su+++q/fee08RERGKiorSihUrHF6NBAAAAABXMotxuU83AuqgqKjo/AOtAp6Vmrk2dTkAAADAVcM4PKOpS3BwIRsUFhbKw8OjQfZxxc/oAgAAAABwKQi6AAAAAACnQtAFAAAAADgVgi4AAAAAwKlc0a8XgvMp3PdMg91wDgAAAAASM7oAAAAAACdD0AUAAAAAOBWCLgAAAADAqRB0AQAAAABOhaALAAAAAHAqBF0AAAAAgFMh6AIAAAAAnApBFwAAAADgVAi6AAAAAACnQtAFAAAAADgVgi4AAAAAwKkQdAEAAAAAToWgCwAAAABwKgRdAAAAAIBTIegCAAAAAJwKQRcAAAAA4FQIugAAAAAAp0LQBQAAAAA4FYIuAAAAAMCpEHQBAAAAAE6FoAsAAAAAcCoEXQAAAACAUyHoAgAAAACcCkEXAAAAAOBUCLoAAAAAAKdC0AUAAAAAOBWCLgAAAADAqRB0AQAAAABOhaALAAAAAHAqBF0AAAAAgFMh6AIAAAAAnApBFwAAAADgVAi6AAAAAACn0rypC8DVwTAMSVJRUVETVwIAAACgKV3IBBcyQkMg6KJRnDhxQpJks9mauBIAAAAAV4Li4mJ5eno2yLYJumgU3t7ekqTDhw832DczrlxFRUWy2Ww6cuSIPDw8mrocNDLO/9WN83914/xf3Tj/V7eLnX/DMFRcXCx/f/8G2z9BF42iWbPzt4N7enryi+4q5uHhwfm/inH+r26c/6sb5//qxvm/utV2/ht68ouHUQEAAAAAnApBFwAAAADgVAi6aBRWq1UvvviirFZrU5eCJsD5v7px/q9unP+rG+f/6sb5v7o19fm3GA35TGcAAAAAABoZM7oAAAAAAKdC0AUAAAAAOBWCLgAAAADAqRB0AQAAAABOhaCLRpGYmKigoCC5urqqb9++ysjIaOqScIlmzpwpi8Xi0MLDw83lZWVlmjBhgtq1ayd3d3f98Y9/1LFjxxy2cfjwYd12221yc3NT+/btNXXqVFVVVTmMSU1N1Y033iir1arQ0FCtWLGiMQ4Pv7B161YNGzZM/v7+slgs2rBhg8NywzD0wgsvyM/PT61atVJMTIyys7MdxhQUFGjUqFHy8PCQl5eXxo4dq5KSEocx3377rW6++Wa5urrKZrPp1VdfrVbLRx99pPDwcLm6uioiIkKfffZZvR8vHP3a+R8zZky13wdxcXEOYzj/v09z5sxR79691aZNG7Vv317Dhw/XgQMHHMY05u97/n5oXHU5/9HR0dV+/h999FGHMZz/36clS5aoR48e8vDwkIeHh/r376/PP//cXP67+9k3gAa2atUqo2XLlsby5cuN77//3nj44YcNLy8v49ixY01dGi7Biy++aHTv3t3Iy8sz23//+19z+aOPPmrYbDYjOTnZ2LVrl9GvXz9jwIAB5vKqqirjuuuuM2JiYow9e/YYn332mXHNNdcY06dPN8f8+OOPhpubm/HUU08Z+/btMxYtWmS4uLgYSUlJjXqsMIzPPvvMeO6554x169YZkoz169c7LJ87d67h6elpbNiwwfj3v/9t3H777UZwcLBx5swZc0xcXJzRs2dPY8eOHcZXX31lhIaGGiNHjjSXFxYWGh06dDBGjRpl7N2711i5cqXRqlUr45133jHHbN++3XBxcTFeffVVY9++fcbzzz9vtGjRwvjuu+8a/DO4mv3a+R89erQRFxfn8PugoKDAYQzn//cpNjbWeO+994y9e/camZmZxq233mp06tTJKCkpMcc01u97/n5ofHU5/1FRUcbDDz/s8PNfWFhoLuf8/35t3LjR+Oc//2n88MMPxoEDB4xnn33WaNGihbF3717DMH5/P/sEXTS4Pn36GBMmTDC/Pnv2rOHv72/MmTOnCavCpXrxxReNnj171rjs1KlTRosWLYyPPvrI7MvKyjIkGWlpaYZhnP/DuVmzZkZ+fr45ZsmSJYaHh4dRXl5uGIZhPP3000b37t0dtn3vvfcasbGx9Xw0uBS/DDrnzp0zfH19jfnz55t9p06dMqxWq7Fy5UrDMAxj3759hiRj586d5pjPP//csFgsxtGjRw3DMIzFixcbbdu2Nc+/YRjGM888Y3Tt2tX8+p577jFuu+02h3r69u1rPPLII/V6jKhdbUH3jjvuqHUdzr/zOH78uCHJ+PLLLw3DaNzf9/z90PR+ef4N43zQfeKJJ2pdh/PvXNq2bWu8++67v8uffS5dRoOqqKjQN998o5iYGLOvWbNmiomJUVpaWhNWht8iOztb/v7+CgkJ0ahRo3T48GFJ0jfffKPKykqH8xweHq5OnTqZ5zktLU0RERHq0KGDOSY2NlZFRUX6/vvvzTE/38aFMXyvXFkOHTqk/Px8h3Pl6empvn37OpxvLy8v3XTTTeaYmJgYNWvWTOnp6eaYyMhItWzZ0hwTGxurAwcO6OTJk+YYvieuTKmpqWrfvr26du2qP//5zzpx4oS5jPPvPAoLCyVJ3t7ekhrv9z1/P1wZfnn+L/jwww91zTXX6LrrrtP06dN1+vRpcxnn3zmcPXtWq1atUmlpqfr37/+7/NlvfmmHDFya//f//p/Onj3r8A0vSR06dND+/fubqCr8Fn379tWKFSvUtWtX5eXl6aWXXtLNN9+svXv3Kj8/Xy1btpSXl5fDOh06dFB+fr4kKT8/v8bvgwvLLjamqKhIZ86cUatWrRro6HApLpyvms7Vz89l+/btHZY3b95c3t7eDmOCg4OrbePCsrZt29b6PXFhG2gacXFxuuuuuxQcHKyDBw/q2Wef1dChQ5WWliYXFxfOv5M4d+6cnnzySQ0cOFDXXXedJDXa7/uTJ0/y90MTq+n8S9J9992nwMBA+fv769tvv9UzzzyjAwcOaN26dZI4/7933333nfr376+ysjK5u7tr/fr16tatmzIzM393P/sEXQB1MnToUPPfPXr0UN++fRUYGKg1a9YQQIGrTHx8vPnviIgI9ejRQ507d1ZqaqpuueWWJqwM9WnChAnau3evtm3b1tSloAnUdv7HjRtn/jsiIkJ+fn665ZZbdPDgQXXu3Lmxy0Q969q1qzIzM1VYWKiPP/5Yo0eP1pdfftnUZf0mXLqMBnXNNdfIxcWl2hPZjh07Jl9f3yaqCvXBy8tLYWFhysnJka+vryoqKnTq1CmHMT8/z76+vjV+H1xYdrExHh4ehOkryIXzdbGfa19fXx0/ftxheVVVlQoKCurle4LfH1eWkJAQXXPNNcrJyZHE+XcGjz32mD799FOlpKSoY8eOZn9j/b7n74emVdv5r0nfvn0lyeHnn/P/+9WyZUuFhoaqV69emjNnjnr27Kk333zzd/mzT9BFg2rZsqV69eql5ORks+/cuXNKTk5W//79m7AyXK6SkhIdPHhQfn5+6tWrl1q0aOFwng8cOKDDhw+b57l///767rvvHP743bx5szw8PNStWzdzzM+3cWEM3ytXluDgYPn6+jqcq6KiIqWnpzuc71OnTumbb74xx3zxxRc6d+6c+UdR//79tXXrVlVWVppjNm/erK5du6pt27bmGL4nrnw//fSTTpw4IT8/P0mc/98zwzD02GOPaf369friiy+qXV7eWL/v+fuhafza+a9JZmamJDn8/HP+nce5c+dUXl7++/zZv6RHVwG/wapVqwyr1WqsWLHC2LdvnzFu3DjDy8vL4YlsuPJNnjzZSE1NNQ4dOmRs377diImJMa655hrj+PHjhmGcf+R8p06djC+++MLYtWuX0b9/f6N///7m+hceOT9kyBAjMzPTSEpKMnx8fGp85PzUqVONrKwsIzExkdcLNZHi4mJjz549xp49ewxJxuuvv27s2bPH+M9//mMYxvnXC3l5eRmffPKJ8e233xp33HFHja8XuuGGG4z09HRj27ZtRpcuXRxeL3Pq1CmjQ4cOxv3332/s3bvXWLVqleHm5lbt9TLNmzc3XnvtNSMrK8t48cUXeb1MI7jY+S8uLjamTJlipKWlGYcOHTK2bNli3HjjjUaXLl2MsrIycxuc/9+nP//5z4anp6eRmprq8PqY06dPm2Ma6/c9fz80vl87/zk5OcasWbOMXbt2GYcOHTI++eQTIyQkxIiMjDS3wfn//Zo2bZrx5ZdfGocOHTK+/fZbY9q0aYbFYjH+9a9/GYbx+/vZJ+iiUSxatMjo1KmT0bJlS6NPnz7Gjh07mrokXKJ7773X8PPzM1q2bGkEBAQY9957r5GTk2MuP3PmjDF+/Hijbdu2hpubm3HnnXcaeXl5DtvIzc01hg4darRq1cq45pprjMmTJxuVlZUOY1JSUozrr7/eaNmypRESEmK89957jXF4+IWUlBRDUrU2evRowzDOv2JoxowZRocOHQyr1WrccsstxoEDBxy2ceLECWPkyJGGu7u74eHhYTz44INGcXGxw5h///vfxqBBgwyr1WoEBAQYc+fOrVbLmjVrjLCwMKNly5ZG9+7djX/+858Ndtw472Ln//Tp08aQIUMMHx8fo0WLFkZgYKDx8MMPV/sDhPP/+1TTeZfk8Lu4MX/f8/dD4/q183/48GEjMjLS8Pb2NqxWqxEaGmpMnTrV4T26hsH5/71KSEgwAgMDjZYtWxo+Pj7GLbfcYoZcw/j9/exbDMMwLm0OGAAAAACAKxf36AIAAAAAnApBFwAAAADgVAi6AAAAAACnQtAFAAAAADgVgi4AAAAAwKkQdAEAAAAAToWgCwAAAABwKgRdAAAAAIBTIegCAAAAAJwKQRcAAFyy/Px8TZw4USEhIbJarbLZbBo2bJg2bdqka665RnPnzq1xvZdfflkdOnRQZWWlVqxYIYvFUq25uro28tEAAJxN86YuAAAA/L7k5uZq4MCB8vLy0vz58xUREaHKykpt2rRJTzzxhP70pz/pvffe07Rp0xzWMwxDK1as0AMPPKAWLVpIkjw8PHTgwAGHcRaLpdGOBQDgnAi6AADgkowfP14Wi0UZGRlq3bq12d+9e3clJCToyJEjevPNN7Vt2zYNGjTIXP7ll1/qxx9/1NixY80+i8UiX1/fWvf18ccf66WXXlJOTo7c3Nx0ww036JNPPnHYLwAAv8SlywAAoM4KCgqUlJSkCRMm1Bg2vby8FBERod69e2v58uUOy9577z0NGDBA4eHhddpXXl6eRo4cqYSEBGVlZSk1NVV33XWXDMOol2MBADgvgi4AAKiznJwcGYbxq2F17Nix+uijj1RSUiJJKi4u1scff6yEhASHcYWFhXJ3d3doQ4cOlXQ+6FZVVemuu+5SUFCQIiIiNH78eLm7uzfMwQEAnAZBFwAA1FldZ1NHjhyps2fPas2aNZKk1atXq1mzZrr33nsdxrVp00aZmZkO7d1335Uk9ezZU7fccosiIiI0YsQILV26VCdPnqzfAwIAOCWCLgAAqLMuXbrIYrFo//79Fx3n4eGhu+++W++9956k85ct33PPPdVmY5s1a6bQ0FCHFhAQIElycXHR5s2b9fnnn6tbt25atGiRunbtqkOHDjXMwQEAnAZBFwAA1Jm3t7diY2OVmJio0tLSastPnTpl/nvs2LHatm2bPv30U3399dcOD6GqK4vFooEDB+qll17Snj171LJlS61fv/5yDgEAcBXgqcsAAOCSJCYmauDAgerTp49mzZqlHj16qKqqSps3b9aSJUuUlZUlSYqMjFRoaKgeeOABhYeHa8CAAdW2ZRiG8vPzq/W3b99eO3fuVHJysoYMGaL27dsrPT1d//3vf3Xttdc2+DECAH7fCLoAAOCShISEaPfu3XrllVc0efJk5eXlycfHR7169dKSJUvMcRaLRQkJCXr22Wc1ffr0GrdVVFQkPz+/av15eXny8PDQ1q1b9cYbb6ioqEiBgYFasGCB+bAqAABqYzF4Rj8AAAAAwIlwjy4AAAAAwKkQdAEAAAAAToWgCwAAAABwKgRdAAAAAIBTIegCAAAAAJwKQRcAAAAA4FQIugAAAAAAp0LQBQAAAAA4FYIuAAAAAMCpEHQBAAAAAE6FoAsAAAAAcCr/P3q7vjm7OPgRAAAAAElFTkSuQmCC", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6wAAANXCAYAAAAxbtKeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAyzJJREFUeJzs3XlclXXe//H3MQoMhCOECnhkEZHc0lyD4nAK92gZs7GaFs1yRrI0dFwmZ8gpl9Q2Q2wap9307q7MaQpTPKdxRY34ZaWmFoOjojOigBibXr8/fHDuLlkEJTnZ6/l4fB8P+V7f73V9riu873n7vRaLYRiGAAAAAADwMC2auwAAAAAAAGpDYAUAAAAAeCQCKwAAAADAIxFYAQAAAAAeicAKAAAAAPBIBFYAAAAAgEcisAIAAAAAPBKBFQAAAADgkQisAAAAAACPRGAFAACXjMTERCUmJjZ3GThPFotFaWlpzV0GAA9CYAUANNhrr70mi8Uii8WiDRs21NhuGIZsNpssFotuvvnmn6SGgwcPKi0tTbm5uY2at2/fPo0bN05RUVHy8fGRv7+/4uPj9cILL+iHH374SWq9lDTk+nXp0kXXXHNNjbkffPCBLBaL7HZ7jW1/+9vfZLFY9Omnn0oy/47V1rZs2fLTnmgdznX+OTk5slgseuKJJ+rcx549e2SxWPT4449LktLS0uo914KCgnprioiIMI339fVVv3799MYbbzTpuQNAc/Jq7gIAAD8/Pj4+WrZsma6//npT/2effaZ///vf8vb2/smOffDgQT355JOKiIhQz549GzTnH//4h0aOHClvb2/dd9996tatmyoqKrRhwwZNmTJFX3/9tf7yl7/8ZDX/3DX0+l1//fVaunSpioqKFBAQ4J6/ceNGeXl5adu2baqsrNTll19u2nbZZZfpuuuuMx1z1qxZioyMrFFLdHR0vbVWB9+m1NDzj42N1TvvvKOnnnqq1v0sW7ZMkvSb3/zG1J+RkSE/P78a461W6zlr69mzp1JTUyVJhw4d0l//+lfdf//9Ki8v10MPPdTIMwUAz0NgBQA02rBhw/Tuu+/qxRdflJfX//2/kmXLlql3797673//24zVmX3//fcaNWqUwsPDtW7dOoWEhLi3paSkaO/evfrHP/7RjBV6tsZcv+uvv16vvPKKNm3apKFDh7rHbdy4UXfeeaeWLVumzz//XAMGDHBv27Bhg3r06KFWrVqZjjt06FD16dOn0fVeccUVjZ5Tn8ac/z333KOZM2dqy5YtpnOs9s477yg2NlbXXnutqf+OO+7QVVdddV71hYWFmQLwAw88oKioKD333HMeGVhLS0vl6+vb3GUA+BnhlmAAQKPdddddOnr0qNasWePuq6io0P/+7//q7rvvrnVOaWmpUlNTZbPZ5O3trc6dO2vBggUyDMM0bs2aNbr++utltVrl5+enzp07a8aMGZIkl8ulvn37SpJGjx7tvhXytddeq7PWZ555RidOnNDSpUtNYaNadHS0HnvsMffPVVVV+vOf/6yOHTvK29tbERERmjFjhsrLy03zIiIidPPNN8vlcqlPnz5q2bKlunfvLpfLJUl6//331b17d/n4+Kh379764osvTPMfeOAB+fn5KT8/XzfffLP8/PwUFham9PR0SdKOHTt04403ytfXV+Hh4e7VuR/77rvvNHLkSAUGBurKK6/UgAEDaoRvl8sli8Wi//mf/9HTTz+t9u3by8fHRzfddJP27t1b53U7n+tXveK+ceNG9/aysjLl5OToV7/6laKiokzb/vOf/+jbb7+tsVJ/Ic5+hvVinv8999wjSbX+t/r888+1e/du95ifSnBwsGJjY7Vv3z5T/+nTp/X888+ra9eu8vHxUdu2bTVu3DgdO3asxj4++eQT2e12tWrVSv7+/urbt2+Nc3r33XfVu3dvtWzZUldddZV+85vf6MCBA6Yx1b/j+/bt07Bhw9SqVSv3+ZeXl2vSpEkKDg5Wq1atdMstt+jf//53jVpKSko0ceJERUREyNvbW23atNHAgQOVk5NzoZcKwM8EgRUA0GgRERG67rrr9M4777j7PvnkExUVFWnUqFE1xhuGoVtuuUXPPfechgwZomeffVadO3fWlClT3M/zSdLXX3+tm2++WeXl5Zo1a5YWLlyoW265xR1yrr76as2aNUuS9PDDD+vNN9/Um2++qYSEhDpr/fvf/66oqCjFxcU16NzGjh2rP/7xj7r22mv13HPPyW63a86cObWe1969e3X33XcrOTlZc+bM0bFjx5ScnKy3335bkyZN0m9+8xs9+eST2rdvn+68806dPn3aNP/UqVMaOnSobDabnnnmGUVEROiRRx7Ra6+9piFDhqhPnz6aN2+eWrVqpfvuu0/ff/+9e+7hw4cVFxen1atXa/z48Xr66adVVlamW265RR988EGNWufOnasPPvhAkydP1vTp07Vly5YGhafGXL+oqCiFhoaanm/etm2bKioqFBcXp7i4OFNg3bRpkyTVGliLior03//+19SOHj16zhrqcjHOPzIyUnFxcfqf//kfnTp1yrStOvDV9g86hYWFNc71+PHjDTuxs1RVVenf//63WrdubeofN26cpkyZ4n7udvTo0Xr77bc1ePBgVVZWuse99tprGj58uAoLCzV9+nTNnTtXPXv2VGZmpmnMnXfeqcsuu0xz5szRQw89pPfff1/XX399jbqrqqo0ePBgtWnTRgsWLNCIESMknfl79vzzz2vQoEGaO3euLr/8cg0fPrzG+fz2t79VRkaGRowYocWLF2vy5Mlq2bKldu7ceV7XB8DPkAEAQAO9+uqrhiRj27ZtxksvvWS0atXKOHnypGEYhjFy5EjD4XAYhmEY4eHhxvDhw93zVq5caUgynnrqKdP+7rjjDsNisRh79+41DMMwnnvuOUOS8Z///KfOGrZt22ZIMl599dVz1ltUVGRIMm699dYGnV9ubq4hyRg7dqypf/LkyYYkY926de6+8PBwQ5KxadMmd9/q1asNSUbLli2Nf/3rX+7+l19+2ZBkOJ1Od9/9999vSDJmz57t7jt27JjRsmVLw2KxGMuXL3f379q1y5Bk/OlPf3L3TZw40ZBkrF+/3t1XUlJiREZGGhEREcapU6cMwzAMp9NpSDKuvvpqo7y83D32hRdeMCQZO3bsqPN6NPb6GcaZ34OWLVsaFRUVhmEYxpw5c4zIyEjDMAxj8eLFRps2bdxjq6/rgQMH3H3Vv2O1NW9v73Me3263G3a73f3zxT7/9PR0Q5KxevVqd9+pU6eMsLAw47rrrjON/dOf/lTnuXbu3PmcxwoPDzcGDRpk/Oc//zH+85//GDt27DDuvfdeQ5KRkpLiHrd+/XpDkvH222+b5mdmZpr6jx8/brRq1cro37+/8cMPP5jGnj592jAMw6ioqDDatGljdOvWzTTmo48+MiQZf/zjH9191b/j06ZNM+2r+u/Z+PHjTf133313jd/zgIAA07kA+OVhhRUAcF7uvPNO/fDDD/roo49UUlKijz76qM7bgT/++GNddtllevTRR039qampMgxDn3zyiaT/e8nMhx9+WGM18nwUFxdLUo3nI+vy8ccfS5Jp1be6Tkk1brft0qWL6WVB/fv3lyTdeOON6tChQ43+7777rsYxx44d6/6z1WpV586d5evrqzvvvNPd37lzZ1mtVtP8jz/+WP369TOtTvr5+enhhx9WXl6evvnmG9NxRo8ebXq+84YbbqizpmqNvX7SmdXSH374QZ9//rmkM7cHV69OxsfH68iRI9qzZ497W2RkpEJDQ2vsJz09XWvWrDG16t+T83Gxzv/Xv/61Lr/8ctMttJ999pkOHDhQ54rue++9V+NcX3311QYd79NPP1VwcLCCg4PVvXt3vfnmmxo9erTmz5/vHvPuu+8qICBAAwcONK3i9u7dW35+fnI6nZLO3I5fUlKiadOmycfHx3Qci8UiSdq+fbuOHDmi8ePHm8YMHz5csbGxtT4P/rvf/c70c/Xfs7P/78HEiRNrzLVarcrOztbBgwcbdD0AXHp46RIA4LwEBwcrKSlJy5Yt08mTJ3Xq1CndcccdtY7917/+pdDQ0Br/w//qq692b5fO/I/9v/71rxo7dqymTZumm266Sb/61a90xx13qEWLxv8bq7+/v6Qzz8E1xL/+9S+1aNGixpto27VrJ6vV6q6z2o9DqST3m3FtNlut/Wc/L+jj46Pg4OAaY9u3b+8OCD/u//H8f/3rX+4g/GM/vqbdunWrs9bqW0Zre4axWmOvn2R+jrV///7atGmT+6253bp1k7+/vzZu3CibzabPP/9cv/71r2vdT79+/c7rpUt1uVjnHxQUpMGDB+uDDz7QkiVL3G/U9vLyMv0jxI8lJCSc90uX+vfvr6eeekqnTp3SV199paeeekrHjh0zhfM9e/aoqKhIbdq0qXUfR44ckST3c68//r05W/Xfgc6dO9fYFhsbW+NzV15eXmrfvn2NfbRo0UIdO3Y09de2z2eeeUb333+/bDabevfurWHDhum+++5TVFRUnTUCuLQQWAEA5+3uu+/WQw89pIKCAg0dOrRBn+GoT8uWLfXPf/5TTqdT//jHP5SZmakVK1boxhtv1KeffqrLLrusUfvz9/dXaGiovvrqq0bNOzss1qWueurqN856wdSFzm+M89nn+Vy/a665Rq1atdKGDRs0bNgwFRYWuldYW7Roof79+2vDhg3q2LGjKioqmvSFS/W5WOcvnflszUcffaSPPvpIt9xyi9577z0NGjSoxj9ONIWrrrpKSUlJkqTBgwcrNjZWN998s1544QX3nQKnT59WmzZt9Pbbb9e6j5+irmre3t7n9Y9N1e68807dcMMN+uCDD/Tpp59q/vz5mjdvnt5//33Tm6gBXLq4JRgAcN5uv/12tWjRQlu2bKnzdmBJCg8P18GDB2usVO3atcu9vVqLFi1000036dlnn9U333yjp59+WuvWrXPfttjQMFnt5ptv1r59+7R58+Zzjg0PD9fp06fdt6xWO3z4sI4fP26qs7mFh4dr9+7dNfpru6YXojHXTzoTDAcMGKCNGzdqw4YN8vf3V/fu3d3bq1+8VP3ypYsVWM9XY89fkm655Ra1atVKy5Yt0yeffKJjx4795G8HrjZ8+HDZ7XbNnj1bpaWlkqSOHTvq6NGjio+PV1JSUo12zTXXuMdJqjegV/9e1fa7t3v37gb93lX/PTv7Tca17VOSQkJCNH78eK1cuVLff/+9goKC9PTTT5/zOAAuDQRWAMB58/PzU0ZGhtLS0pScnFznuGHDhunUqVN66aWXTP3PPfecLBaLe6WksLCwxtyePXtKkvuzMtXfcGzoW1R///vfy9fXV2PHjtXhw4drbN+3b59eeOEFd52S9Pzzz5vGPPvss5JU61tMm8uwYcO0detWU5AqLS3VX/7yF0VERKhLly5NcpzGXL9q119/vf7zn//o1VdfVf/+/U0rbHFxcdq9e7c+/PBDBQUFuW9h9lTnc/4tW7bU7bffro8//lgZGRny9fXVrbfeerFK1tSpU3X06FG98sorks6sUp46dUp//vOfa4ytqqpy/10aNGiQWrVqpTlz5qisrMw0rnoluk+fPmrTpo2WLFli+tTTJ598op07dzbo70j13/cXX3zR1H/237tTp06pqKjI1NemTRuFhobW+MwUgEsXtwQDAC7I/ffff84xycnJcjgc+sMf/qC8vDxdc801+vTTT/Xhhx9q4sSJ7pWdWbNm6Z///KeGDx+u8PBwHTlyRIsXL1b79u3dK3EdO3aU1WrVkiVL1KpVK/n6+qp///6KjIys9dgdO3bUsmXL9Otf/1pXX3217rvvPnXr1k0VFRXatGmT3n33XT3wwAOSztzOev/99+svf/mLjh8/Lrvdrq1bt+r111/XbbfdJofD0TQXrQlMmzZN77zzjoYOHapHH31UgYGBev311/X999/rvffeu6DbMH+sMdevWvV/q82bNystLc20bcCAAbJYLNqyZYuSk5PrXDH/5JNP3KvFPxYXF3dRn188n/OXztwW/MYbb2j16tW655573P/QUpv//d//lZ+fX43+gQMHqm3bto2ueejQoerWrZueffZZpaSkyG63a9y4cZozZ45yc3M1aNAgXX755dqzZ4/effddvfDCC7rjjjvk7++v5557TmPHjlXfvn119913q3Xr1vp//+//6eTJk3r99dd1+eWXa968eRo9erTsdrvuuusuHT58WC+88IIiIiI0adKkc9bXs2dP3XXXXVq8eLGKiooUFxenrKysGt/FLSkpUfv27XXHHXfommuukZ+fn9auXatt27Zp4cKFjb4uAH6mmvMVxQCAn5cff9amPmd/1sYwznxyZdKkSUZoaKhx+eWXG506dTLmz5/v/lyGYRhGVlaWceuttxqhoaHGFVdcYYSGhhp33XWX8e2335r29eGHHxpdunQxvLy8GvyJm2+//dZ46KGHjIiICOOKK64wWrVqZcTHxxuLFi0yysrK3OMqKyuNJ5980oiMjDQuv/xyw2azGdOnTzeNqescDcOo8UkRwzCM77//3pBkzJ8/3913//33G76+vjXm2+12o2vXrjX6azvevn37jDvuuMOwWq2Gj4+P0a9fP+Ojjz4yjan+rMu7775ba00NuXaG0fDrZxiGUVpa6v5v8+mnn9bYV48ePQxJxrx582psq++zNg2pt67P2lzM8zcMw6iqqjJCQkIMScbHH39c6z7r+6yNzvoMUm3q+h00DMN47bXXapzfX/7yF6N3795Gy5YtjVatWhndu3c3fv/73xsHDx40zV21apURFxdntGzZ0vD39zf69etnvPPOO6YxK1asMHr16mV4e3sbgYGBxj333GP8+9//No2p63fcMAzjhx9+MB599FEjKCjI8PX1NZKTk439+/ebPmtTXl5uTJkyxbjmmmuMVq1aGb6+vsY111xjLF68uN7rAuDSYjGMC3iDAwAAAAAAPxGeYQUAAAAAeCQCKwAAAADAIxFYAQAAAAAeicAKAAAAAPBIBFYAAAAAgEcisAIAAAAAPJJXcxeAX4bTp0/r4MGDatWqVZ0fiQcAAABw6TMMQyUlJQoNDVWLFvWvoRJYcVEcPHhQNputucsAAAAA4CH279+v9u3b1zuGwIqLolWrVpLO/FL6+/s3czUAAAAAmktx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NDRUTqdTklRSUqKcnByNHDlSERER2rx5syRp06ZNKi8vr7HCejEUFRVJkgIDAyVJn3/+uSorK5WUlOQeExsbqw4dOrjrPVt5ebmKi4tNDQAAAAAag8DahPbu3SvDMBQbG1vvOIfD4b79d/369YqJiVFwcLASEhLc/S6XS5GRkQoPDzfNjYuLk5+fn6k1pdOnT2vixImKj49Xt27dJJ15JveKK66Q1Wo1jW3btq0KCgpq3c+cOXMUEBDgbjabrUnrBAAAAHDpI7A2IcMwGjQuMTFRGzduVGVlpVwulxITEyVJdrvdFFhrW11dsWKFcnNzTU2S8vPzTSF29uzZ53UOKSkp+uqrr7R8+fLzml9t+vTpKioqcrf9+/df0P4AAAAA/PLwDGsT6tSpkywWi3bt2lXvOIfDodLSUm3btk1Op1NTpkyRdCawjhkzRoWFhcrOzta4ceNqzLXZbIqOjq7RHxoa6g6v0v/dztsYjzzyiD766CP985//VPv27d397dq1U0VFhY4fP25aZT18+HCdz9N6e3vL29u70TUAAAAAQDVWWJtQYGCgBg8erPT0dNMbdqsdP35cktSxY0fZbDatWrVKubm5stvtkqSwsDCFhYVp4cKFqqioaNTzq15eXoqOjna3xgRWwzD0yCOP6IMPPtC6desUGRlp2t67d29dfvnlysrKcvft3r1b+fn5uu666xp8HAAAAABoDFZYm1h6erri4+PVr18/zZo1Sz169FBVVZXWrFmjjIwM7dy5U9KZVdbFixcrOjpabdu2dc+32+1atGiR++VMZzt69GiN50atVqt8fHxqraeiokLffPON+88HDhxQbm6u/Pz83Cu1KSkpWrZsmT788EO1atXKvf+AgAC1bNlSAQEBevDBB/X4448rMDBQ/v7+mjBhgq677jreEAwAAADgJ8MKaxOLiopSTk6OHA6HUlNT1a1bNw0cOFBZWVnKyMhwj3M4HCopKXE/v1rNbrerpKSkztXVpKQkhYSEmNrKlSvrrOfgwYPq1auXevXqpUOHDmnBggXq1auXxo4d6x6TkZGhoqIiJSYmmva7YsUK95jnnntON998s0aMGKGEhAS1a9dO77///vldJAAAAABoAIvR0DcFAReguLhYAQEBUtgMqUXtq8GXOiN/ZnOXAAAAADS76mxQVFQkf3//eseywgoAAAAA8EgEVgAA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ddPAgQOVlZWljIwM9ziHw6GSkhL386vV7Ha7SkpK6lxdTUpKUkhIiKmtXLmyznrKysr0xBNPqEuXLrr99tsVFhamDRs2yGq1NsHZAgAAAMD5sRgNfQsQcAGKi4sVEBAghc2QWjTsxU2om5E/s7lLAAAAAM5LdTYoKiqSv79/vWNZYQUAAAAAeCQCKwAAAADAIxFYAQAAAAAeicAKAAAAAPBIfNYGF1XRN1PP+WA1AAAAAEissAIAAAAAPBSBFQAAAADgkQisAAAAAACPRGAFAAAAAHgkAisAAAAAwCPxlmBcVAFd5kktfJq7jEuGkT+zuUsAAAAAfjKssAIAAAAAPBKBFQAAAADgkQisAAAAAACPRGAFAAAAAHgkAisAAAAAwCMRWAEAAAAAHonA+hMoKCjQhAkTFBUVJW9vb9lsNiUnJysrK0ujRo3SkCFDTOMzMzNlsViUlpZm6k9LS1OHDh0kSXl5ebJYLLW2LVu21FvP888/r86dO6tly5ay2WyaNGmSysrKTGMOHDig3/zmNwoKClLLli3VvXt3bd++XZJUWVmpqVOnqnv37vL19VVoaKjuu+8+HTx48AKvFAAAAADUje+wNrG8vDzFx8fLarVq/vz56t69uyorK7V69WqlpKRo0qRJmjx5sqqqquTldebyO51O2Ww2uVwu076cTqccDoepb+3aterataupLygoqM56li1bpmnTpulvf/ub4uLi9O233+qBBx6QxWLRs88+K0k6duyY4uPj5XA49Mknnyg4OFh79uxR69atJUknT55UTk6OZs6cqWuuuUbHjh3TY489pltuucUdagEAAACgqRFYm9j48eNlsVi0detW+fr6uvu7du2qMWPG6MiRIzpx4oS2b9+uAQMGSJJcLpemTZum1NRUlZWVycfHR2VlZcrOztbo0aNN+w8KClK7du0aXM+mTZsUHx+vu+++W5IUERGhu+66S9nZ2e4x8+bNk81m06uvvurui4yMdP85ICBAa9asMe33pZdeUr9+/ZSfn+9eBQYAAACApsQtwU2osLBQmZmZSklJMYXValarVTExMQoNDZXT6ZQklZSUKCcnRyNHjlRERIQ2b94s6UzQLC8vr7HC2lhxcXH6/PPPtXXrVknSd999p48//ljDhg1zj1m1apX69OmjkSNHqk2bNurVq5deeeWVevdbVFQki8Uiq9Va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JpfLZdqX0+mUw+Ew9a1du1aHDh0ytd69e9dZz8mTJxUVFaW5c+eqXbt2tY757LPPlJKSoi1btmjNmjWqrKzUoEGDVFpaahr30EMPmY77zDPPNPLqAAAAAEDDeTV3AZea8ePHy2KxaOvWrfL19XX3d+3aVWPGjNGRI0d04sQJbd++XQMGDJAkuVwuTZs2TampqSorK5OPj4/KysqUnZ2t0aNHm/YfFBRUZ/CsTd++fdW3b19J0rRp02odk5mZafr5tddeU5s2bfT5558rISHB3X/llVc26tgAAAAAcCFYYW1ChYWFyszMVEpKiimsVrNarYqJiVFoaKicTqckqaSkRDk5ORo5cqQiIiK0efNmSdKmTZtUXl5eY4X1YigqKpIkBQYGmvrffvttXXXVVerWrZumT5+ukydP1rmP8vJyFRcXmxoAAAAANAaBtQnt3btXhmEoNja23nEOh8N9++/69esVExOj4OBgJSQkuPtdLpciIyMVHh5umhsXFyc/Pz9Ta0qnT5/WxIkTFR8fr27durn77777br311ltyOp2aPn263nzzTf3mN7+pcz9z5sxRQECAu9lstiatEwAAAMClj1uCm5BhGA0al5iYqIkTJ6qyslIul0uJiYmSJLvdrpdfflnSmcBa2+rqihUrdPXVV9foz8/PV5cuXdw/z5gxQzNmzGj0OaSkpOirr77Shg0bTP0PP/yw+8/du3dXSEiIbrrpJu3bt08dO3assZ/p06fr8ccfd/9cXFxMaAUAAADQKATWJtSpUydZLBbt2rWr3nEOh0OlpaXatm2bnE6npkyZIulMYB0zZowKCwuVnZ2tcePG1Zhrs9kUHR1doz80NFS5ubnun8++nbchHnnkEX300Uf65z//qfbt29c7tn///pLOrCrXFli9vb3l7e3d6BoAAAAAoBq3BDehwMBADR48WOnp6TXesCtJx48flyR17NhRNptNq1atUm5urux2uyQpLCxMYWFhWrhwoSoqKhr1/KqXl5eio6PdrTGB1TAMPfLII/rggw+0bt06RUZGnnNOdTgOCQlp8HEAAAAAoDFYYW1i6enpio+PV79+/TRr1iz16NFDVVVVWrNmjTIyMrRz505JZ1ZZFy9erOjoaLVt29Y93263a9GiRe6XM53t6NGjKigoMPVZrVb5+PjUWk9FRYW++eYb958PHDig3Nxc+fn5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Xr20dOlSs2716tUyDEOxsbGX7dvJyUmhoaHKzMysss2hQ4cUFBSkRo0aVduXzWZTUVGRdu3aJenCSmpERIT69++v1NRUFRcX6+zZs9q5c2eFwPrFF1/Izc3NrsyaNavaMRmGoY4dO1a6vWPHjjp9+rT+85//yMvLSw0aNFCzZs3M1duLysrK9P777+u2227TrbfeqieffFKJiYnm9pdfflnz58/Xfffdp8DAQN1333169tln9cEHH9h93jPPPGO28fX1rTCe2bNny8PDwyxWq7XacwkAAAAAl3LIwCpJc+fO1UcffaT09PQK2+Li4rRmzRoVFBRIunA58NChQ9WsWbMa9W0YhnmZ7KBBg8zAePFyYsMwatRPcHCw2rRpo+TkZOXn52vv3r2KiIiQr6+v2rZtq5SUFPP+1UsDq81mU1paml154oknJElPPPGEXZC9dOzXwtXVVe3btzd/9vX11cmTJyVJRUVFOnz4sEaPHm33+a+99poOHz5s189tt91W7edMnTpVeXl5Zjl69Og1jRsAAADAjadhfQ+gKv3791d0dLSmTp2qUaNG2W2LjY3Vs88+q9WrV6t///7avn17pfe8VubcuXM6dOiQunfvLunC/Zpnz56VJHNFNTQ0VNu2bVNZWdllV1kjIyOVlJSkLl26KCQkRK1atZIk87JgwzAUHBxcYYWxadOmCg4OrrTPmTNn2l2mK10IxxaLRenp6br33nsr7JOenq7mzZvL29u72vFeejwWi8UMwYWFhZKkxYsXq2fPnnbtGjRoUGH81XF2dpazs3O1bQAAAACgOg4bWCVpzpw5uvnmm9WhQwe7+mbNmmno0KFaunSpDh8+rNDQUN1+++016vOjjz7S6dOndf/990uS/P39K7R58MEH9e6772rhwoV6+umnK2w/c+aM3X2sTz31lDp16qTIyEizTf/+/bV48WIZhnHF96+2atXKDL4XtWjRQgMGDNDChQv17LPP2t3HmpOTo08//VQPP/ywuXLcuHFjnTt37oo+t3Xr1vLz89Mvv/yiESNGXNG+AAAAAFDbHDqwhoeHa8SIEXr33XcrbBs9erRuv/12paen6/nnn690/19//VU5OTkqLy/XsWPHtH79ev3P//yP/vznP1cbInv27KnnnntOEydO1PHjx3XvvffKz8/PfI1Mv379zCB78T7WpUuXavHixWYf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", "text/plain": [ "
" ] @@ -279,10 +279,10 @@ "id": "04a26e54", "metadata": { "execution": { - "iopub.execute_input": "2024-09-13T08:31:08.622434Z", - "iopub.status.busy": "2024-09-13T08:31:08.621929Z", - "iopub.status.idle": "2024-09-13T08:31:08.630267Z", - "shell.execute_reply": "2024-09-13T08:31:08.629801Z" + "iopub.execute_input": "2025-02-02T04:34:34.111016Z", + "iopub.status.busy": "2025-02-02T04:34:34.110565Z", + "iopub.status.idle": "2025-02-02T04:34:34.118385Z", + "shell.execute_reply": "2025-02-02T04:34:34.117935Z" }, "tags": [ "remove-input" @@ -292,7 +292,7 @@ { "data": { "text/html": [ - "\n", + "
\n", "\n", " \n", " \n", @@ -301,7 +301,6 @@ " \n", " \n", "\n", - "\n", "\n", - "\n", "
\n", - "\n", - "
\n", - "Loading ITables v2.1.5 from the internet...\n", + "Loading ITables v2.2.4 from the internet...\n", "(need help?)
\n", - "\n", + "\n", "