raydar 0.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
raydar/__init__.py ADDED
@@ -0,0 +1,6 @@
1
+ __version__ = "0.2.0"
2
+
3
+ # import this first, might need to monkeypatch ray
4
+ # https://github.com/ray-project/ray/issues/42654
5
+ from .dashboard import *
6
+ from .task_tracker import *
@@ -0,0 +1 @@
1
+ from .server import PerspectiveProxyRayServer, PerspectiveRayServer
@@ -0,0 +1,45 @@
1
+ import os
2
+ import random
3
+ import ray
4
+ import starlette
5
+ import time
6
+
7
+ from .server import PerspectiveProxyRayServer, PerspectiveRayServer
8
+
9
+
10
+ @ray.remote
11
+ def test_job(backoff, tablename, proxy):
12
+ start = time.time()
13
+ time.sleep(backoff)
14
+ end = time.time()
15
+ runtime = end - start
16
+ data = dict(start=start, end=end, runtime=runtime, backoff=backoff, random=random.random())
17
+ return proxy.remote("update", tablename, data)
18
+
19
+
20
+ if __name__ == "__main__":
21
+ os.environ["RAY_SERVE_ENABLE_EXPERIMENTAL_STREAMING"] = "1"
22
+
23
+ ray.init(dashboard_host="0.0.0.0", dashboard_port=8989, runtime_env={"py_modules": [starlette]})
24
+ ray.serve.start(http_options={"port": 8988})
25
+
26
+ webserver = ray.serve.run(PerspectiveRayServer.bind(), name="webserver", route_prefix="/")
27
+ proxy_server = ray.serve.run(PerspectiveProxyRayServer.bind(webserver), name="proxy", route_prefix="/proxy")
28
+
29
+ # setup perspective table
30
+ proxy_server.remote(
31
+ "new",
32
+ "data",
33
+ {
34
+ "start": "datetime",
35
+ "end": "datetime",
36
+ "runtime": "float",
37
+ "backoff": "float",
38
+ "random": "float",
39
+ },
40
+ )
41
+
42
+ # launch jobs
43
+ while True:
44
+ test_job.remote(backoff=random.random(), tablename="data", proxy=proxy_server)
45
+ time.sleep(0.5)
@@ -0,0 +1,140 @@
1
+ from fastapi import FastAPI, HTTPException, Request, Response, WebSocket, WebSocketDisconnect
2
+ from fastapi.responses import FileResponse
3
+ from fastapi.staticfiles import StaticFiles
4
+ from os import environ
5
+ from os.path import abspath, dirname, join
6
+ from perspective import PerspectiveManager, PerspectiveStarletteHandler, Table
7
+ from pydantic import BaseModel, Field
8
+ from ray.serve import Application, deployment, ingress
9
+ from threading import Thread
10
+ from traceback import format_exc
11
+
12
+
13
+ class PerspectiveRayServerArgs(BaseModel):
14
+ name: str = Field(default="Perspective")
15
+ manager: str = Field(default_factory=PerspectiveManager)
16
+
17
+
18
+ def perspective_thread(manager: PerspectiveManager):
19
+ from asyncio import new_event_loop
20
+
21
+ psp_loop = new_event_loop()
22
+ manager.set_loop_callback(psp_loop.call_soon_threadsafe)
23
+ psp_loop.run_forever()
24
+
25
+
26
+ app = FastAPI()
27
+
28
+ static_files_dir = join(abspath(dirname(__file__)), "static")
29
+ app.mount("/static", StaticFiles(directory=static_files_dir, check_dir=False, html=True))
30
+
31
+
32
+ @deployment(name="Perspective_Web_Server", num_replicas=1)
33
+ @ingress(app)
34
+ class PerspectiveRayServer:
35
+ def __init__(self, args: PerspectiveRayServerArgs = None):
36
+ args = args or PerspectiveRayServerArgs()
37
+ self._manager = args.manager
38
+ self._schemas = {}
39
+ self._tables = {}
40
+ self._psp_thread = Thread(target=perspective_thread, args=(self._manager,), daemon=True)
41
+ self._psp_thread.start()
42
+
43
+ def new_table(self, tablename: str, schema) -> None:
44
+ if tablename in self._schemas:
45
+ return self._schemas[tablename]
46
+ self._schemas[tablename] = schema
47
+ self._tables[tablename] = Table(schema)
48
+ self._manager.host_table(tablename, self._tables[tablename])
49
+
50
+ def clear_table(self, tablename: str, schema) -> None:
51
+ if tablename in self._tables:
52
+ self._tables[tablename].clear()
53
+
54
+ def get_table(self, tablename: str) -> None:
55
+ return self._schemas.get(tablename, None)
56
+
57
+ @app.get("/")
58
+ async def site(self):
59
+ return FileResponse(join(static_files_dir, "index.html"))
60
+
61
+ @app.websocket("/ws")
62
+ async def ws(self, ws: WebSocket):
63
+ handler = PerspectiveStarletteHandler(manager=self._manager, websocket=ws)
64
+ try:
65
+ await handler.run()
66
+ except WebSocketDisconnect:
67
+ ...
68
+
69
+ @app.get("/tables")
70
+ async def tables(self):
71
+ return list(self._schemas.keys())
72
+
73
+ @app.post("/new/{tablename}")
74
+ async def new_table_rest(self, tablename: str, request: Request) -> Response:
75
+ if tablename in self._schemas:
76
+ raise HTTPException(501, "Table already exists, replace not yet supported")
77
+
78
+ try:
79
+ schema = await request.json()
80
+ except BaseException as exception:
81
+ raise HTTPException(503, "Exception during schema parsing") from exception
82
+
83
+ try:
84
+ self.new_table(tablename, schema)
85
+ return Response(content=schema)
86
+ except BaseException as exception:
87
+ raise HTTPException(
88
+ 503,
89
+ f"Exception during table creation: {schema} / {tablename} / {format_exc()}",
90
+ ) from exception
91
+
92
+ @app.get("/get/{tablename}")
93
+ async def get_table_rest(self, tablename: str):
94
+ if tablename not in self._schemas:
95
+ raise HTTPException(404, "Table does not exist: {tablename}")
96
+ return Response(content=self._schemas[tablename])
97
+
98
+ @app.post("/update/{tablename}")
99
+ async def update_table_rest(self, tablename: str, request: Request) -> Response:
100
+ if tablename not in self._schemas:
101
+ # just create table for now
102
+ self.new_table(tablename, [])
103
+ try:
104
+ data = await request.json()
105
+ except BaseException as exception:
106
+ raise HTTPException(503, "Exception during data parsing") from exception
107
+
108
+ try:
109
+ self.update(tablename, data)
110
+ except BaseException as exception:
111
+ raise HTTPException(503, f"Exception during data ingestion: {tablename} / {format_exc()}") from exception
112
+
113
+ def update(self, tablename: str, data):
114
+ if isinstance(data, dict):
115
+ data = [data]
116
+ self._tables[tablename].update(data)
117
+
118
+
119
+ @deployment(name="Perspective_Proxy_Server")
120
+ class PerspectiveProxyRayServer:
121
+ def __init__(self, psp_handle):
122
+ self._psp_handle = psp_handle
123
+
124
+ def __call__(self, op, tablename, data_or_schema):
125
+ if op == "new":
126
+ if tablename and data_or_schema:
127
+ self._psp_handle.new_table.remote(tablename, data_or_schema)
128
+ if op == "update":
129
+ if tablename and data_or_schema:
130
+ self._psp_handle.update.remote(tablename, data_or_schema)
131
+ if op == "clear":
132
+ if tablename:
133
+ self._psp_handle.clear_table.remote(tablename, data_or_schema)
134
+
135
+
136
+ def main(args: PerspectiveRayServerArgs = None) -> Application:
137
+ args = args or PerspectiveRayServerArgs()
138
+ if environ.get("RAY_SERVE_ENABLE_EXPERIMENTAL_STREAMING") is not None:
139
+ return PerspectiveProxyRayServer.bind(PerspectiveRayServer.bind(args))
140
+ raise Exception("Perspective server requires websockets, rerun with RAY_SERVE_ENABLE_EXPERIMENTAL_STREAMING=1")
@@ -0,0 +1 @@
1
+ @import"https://fonts.googleapis.com/css?display=block&family=Roboto+Mono:400";@import"https://fonts.googleapis.com/css?family=Material+Icons";@import"https://fonts.googleapis.com/css?family=Roboto+Mono";perspective-workspace,perspective-workspace[theme="Pro Light"],perspective-indicator[theme="Pro Light"]{--theme-name:"Pro Light"}perspective-workspace{font-family:Roboto Mono;--open-settings-button--content:"expand_more";--close-settings-button--content:"expand_less";--close-button--content:"\2715";--settings--font-family:"Material Icons";--master-divider--background-color:#243136;--menu-maximize--content:"fullscreen";--menu-minimize--content:"fullscreen_exit";--menu-duplicate--content:"call_split";--menu-master--content:"cast";--menu-detail--content:"notes";--menu-export--content:"file_download";--menu-copy--content:"file_copy";--menu-reset--content:"autorenew";--menu-link--content:"link";--menu-unlink--content:"link_off";--menu-newmenu--content:"add";--menu-close--content:"close";--menu-new--content:"description";--menu-newview--content:"file_copy";--workspace-tabbar--border:1px solid var(--inactive--color);--workspace-tabbar--border-width:0px 1px 1px 1px;--workspace-tabbar--border-radius:0px 0px 6px 6px;--workspace-tabbar--border-color:var(--inactive--color);--workspace-tabbar-tab--border-width:1px 1px 0px 1px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;background-color:#dadada;--column-drag-handle--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDUgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxMS4wMDAxIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjExLjAwMDEiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI3LjY2NjgzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjcuNjY2ODMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI0LjMzMzMzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjQuMzMzMzMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxLjAwMDA4IiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjEuMDAwMDgiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+Cjwvc3ZnPgo=);--bookmarks--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAyNCAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zLjY2MjE0IDYuOTY0NzZMMC41IDkuODYzMzhWMC41SDcuNVY5Ljg2MzM4TDQuMzM3ODYgNi45NjQ3Nkw0IDYuNjU1MDVMMy42NjIxNCA2Ljk2NDc2WiIgc3Ryb2tlPSIjMDQyMTIxIi8+CiAgICA8cGF0aCBkPSJNMTkgNEwyMSA2TDIzIDQiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=)}.p-Menu{color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD}perspective-workspace perspective-viewer[settings]{--modal-panel--margin:-4px 0 -4px 0;--status-bar--border-radius:6px 0 0 0;--main-column--margin:3px 0 3px 3px;--main-column--border:1px solid var(--inactive--color);--main-column--border-width:1px 0px 1px 1px;--main-column--border-radius:6px 0 0 6px;--settings-button--margin:10px 0 0 0}perspective-workspace perspective-viewer{--status-bar--height:38px}perspective-viewer.workspace-master-widget[theme="Pro Light"]{background-color:#f2f4f6;--plugin--background:#f2f4f6}perspective-viewer.workspace-master-widget[theme="Pro Light"] regular-table td,perspective-viewer.workspace-master-widget[theme="Pro Light"] regular-table th{border-color:#e0e4e9}.p-Menu{font-family:Roboto Mono;font-weight:300;color:#161616}@include perspective-viewer-vaporwave--fonts;perspective-viewer,perspective-viewer[theme="Pro Light"]{--theme-name:"Pro Light"}perspective-viewer[theme="Pro Light"]{--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%)}perspective-copy-menu[theme="Pro Light"],perspective-export-menu[theme="Pro Light"],perspective-dropdown[theme="Pro Light"],perspective-date-column-style[theme="Pro Light"],perspective-datetime-column-style[theme="Pro Light"],perspective-number-column-style[theme="Pro Light"],perspective-string-column-style[theme="Pro Light"]{border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;background-color:#fff}perspective-viewer,perspective-copy-menu,perspective-export-menu,perspective-dropdown,perspective-date-column-style,perspective-datetime-column-style,perspective-number-column-style,perspective-string-column-style{--column-type-integer--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gNy4xMzYgNy42NyBMIDUuNDE4IDcuNjcgTCA1LjkwMiA1LjU5NCBMIDcuNjIgNS41OTQgTCA3LjEzNiA3LjY3IFogTSA2LjUxMyAxMC4yNjQgTCA3LjMyIDEwLjI2NCBMIDcuNzgyIDguMzM4IEwgOS4xODggOC4zMzggTCA5LjMwNCA3LjY3IEwgNy45NDMgNy42NyBMIDguNDI3IDUuNTk0IEwgOS42NzMgNS41OTQgTCA5Ljc5OSA0LjkxNCBMIDguNTg5IDQuOTE0IEwgOS4wNSAzIEwgOC4yNDMgMyBMIDcuNzgyIDQuOTE0IEwgNi4wNjMgNC45MTQgTCA2LjUyNSAzIEwgNS43MTggMyBMIDUuMjU2IDQuOTE0IEwgMy44NjEgNC45MTQgTCAzLjczNCA1LjU5NCBMIDUuMDk1IDUuNTk0IEwgNC42MTEgNy42NyBMIDMuMzY1IDcuNjcgTCAzLjI1IDguMzM4IEwgNC40NDkgOC4zMzggTCAzLjk4OCAxMC4yNjQgTCA0Ljc5NSAxMC4yNjQgTCA1LjI1NiA4LjMzOCBMIDYuOTc0IDguMzM4IEwgNi41MTMgMTAuMjY0IFoiIGZpbGw9ImJsYWNrIj48L3BhdGg+Cjwvc3ZnPg==);--column-type-string--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gNi4yODMgNS4yNzUgTCA2LjMwOSA1LjI3NSBMIDYuNzkyIDYuODU1IEwgNS44MDYgNi44NTUgTCA2LjI4MyA1LjI3NSBaIE0gNy4yOTUgOC41MDEgTCA4LjE0NCA4LjUwMSBMIDYuODI1IDQuMzg3IEwgNS44MTkgNC4zODcgTCA0LjUgOC41MDEgTCA1LjMwMyA4LjUwMSBMIDUuNjEgNy40ODkgTCA2Ljk4OCA3LjQ4OSBMIDcuMjk1IDguNTAxIFoiIGZpbGw9IiMwNDIxMjEiPjwvcGF0aD4KICAgIDxtYXNrIGlkPSJwYXRoLTItaW5zaWRlLTFfNzIwXzc4NjciIGZpbGw9IndoaXRlIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMTAiIGhlaWdodD0iOSIgcng9IjAuODMzIiB4PSIxLjUiIHk9IjIiPjwvcmVjdD4KICAgIDwvbWFzaz4KICAgIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI5IiByeD0iMC44MzMiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIyIiBtYXNrPSJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MjBfNzg2NykiIHg9IjEuNSIgeT0iMiI+PC9yZWN0Pgo8L3N2Zz4=);--column-type-date--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNzIwXzc3OTUpIiB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAtMy41LCAtMy41KSI+CiAgICAgICAgPG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV83MjBfNzc5NSIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICA8cmVjdCB4PSI1IiB5PSI2IiB3aWR0aD0iOS45OTg5MiIgaGVpZ2h0PSI4LjMzMjQzIiByeD0iMC44MzMyNDQiPjwvcmVjdD4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHJlY3QgeD0iNSIgeT0iNiIgd2lkdGg9IjkuOTk4OTIiIGhlaWdodD0iOC4zMzI0MyIgcng9IjAuODMzMjQ0IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMiIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNzIwXzc3OTUpIj48L3JlY3Q+CiAgICAgICAgPHBhdGggZD0iTTcuMjk2NjMgNlY3LjE0ODMxIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0xMi45MTQ4IDZWNy4xNDgzMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICA8bGluZSB4MT0iNS44MzQyMyIgeTE9IjguODMyNzYiIHgyPSIxNC45OTk5IiB5Mj0iOC44MzI3NiIgc3Ryb2tlPSIjMDQyMTIxIj48L2xpbmU+CiAgICA8L2c+CiAgICA8ZGVmcz4KICAgICAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNzIwXzc3OTUiIHg9IjAiIHk9IjAuNSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIwLjgzMjUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiPjwvZmVGbG9vZD4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMSIgZHk9IjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjc3MDkgMCAwIDAgMCAwLjMyOTQ3IDAgMCAwIDAgMC4zMjI0MzcgMCAwIDAgMC4xIDAiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNzIwXzc3OTUiPjwvZmVCbGVuZD4KICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNzIwXzc3OTUiIHJlc3VsdD0ic2hhcGUiPjwvZmVCbGVuZD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KPC9zdmc+);--column-type-boolean--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNSA1LjhWOEMwLjUgOC44Mjg0MyAxLjE3MTU3IDkuNSAyIDkuNUg0LjhDNS42Mjg0MyA5LjUgNi4zIDguODI4NDMgNi4zIDhWNy4yQzYuMyA2LjkyMzg2IDYuNTIzODYgNi43IDYuOCA2LjdIOEM4LjgyODQzIDYuNyA5LjUgNi4wMjg0MyA5LjUgNS4yVjNDOS41IDIuMTcxNTcgOC44Mjg0MyAxLjUgOCAxLjVINS4yQzQuMzcxNTcgMS41IDMuNyAyLjE3MTU3IDMuNyAzVjMuOEMzLjcgNC4wNzYxNCAzLjQ3NjE0IDQuMyAzLjIgNC4zSDJDMS4xNzE1NyA0LjMgMC41IDQuOTcxNTcgMC41IDUuOFoiIHN0cm9rZT0iIzA0MjEyMSIvPgo8L3N2Zz4K);--column-drag-handle--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDUgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxMS4wMDAxIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjExLjAwMDEiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI3LjY2NjgzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjcuNjY2ODMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI0LjMzMzMzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjQuMzMzMzMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxLjAwMDA4IiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjEuMDAwMDgiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+Cjwvc3ZnPgo=);--column-radio-on--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMy41IiBmaWxsPSIjM0Y0MzQzIi8+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-radio-hover--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMi41IiBmaWxsPSIjM0Y0MzQzIi8+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-radio-off--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMyIgc3Ryb2tlPSIjM0Y0MzQzIiAvPgo8L3N2Zz4=);--column-checkbox-on--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgcng9IjIiIGZpbGw9IiMzRjQzNDMiLz4KPC9zdmc+Cg==);--column-checkbox-hover--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjQiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIyIiBmaWxsPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-checkbox-off--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjUiIHk9IjUiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIyIiBmaWxsPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-settings-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNSAzTDQuNSAxMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTkuNSAzTDkuNSAxMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTYgOC41QzYgOS4zMjg0MyA1LjMyODQzIDEwIDQuNSAxMEMzLjY3MTU3IDEwIDMgOS4zMjg0MyAzIDguNUMzIDcuNjcxNTcgMy42NzE1NyA3IDQuNSA3QzUuMzI4NDMgNyA2IDcuNjcxNTcgNiA4LjVaIiBmaWxsPSIjRkRGRkZEIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExIDUuNUMxMSA2LjMyODQzIDEwLjMyODQgNyA5LjUgN0M4LjY3MTU3IDcgOCA2LjMyODQzIDggNS41QzggNC42NzE1NyA4LjY3MTU3IDQgOS41IDRDMTAuMzI4NCA0IDExIDQuNjcxNTcgMTEgNS41WiIgZmlsbD0iI0ZERkZGRCIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--sort-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguODU0MTQgOS4wOTM5OUM4Ljg1NDE0IDkuMzk4NTMgOC42MDcyNyA5LjY0NTQgOC4zMDI3MyA5LjY0NTRDNy45OTgyIDkuNjQ1NCA3Ljc1MTMzIDkuMzk4NTMgNy43NTEzMyA5LjA5Mzk5TDguODU0MTQgOS4wOTM5OVpNNy45MTI4MyAyLjkxODZDOC4xMjgxNyAyLjcwMzI2IDguNDc3MyAyLjcwMzI2IDguNjkyNjQgMi45MTg2TDEyLjIwMTggNi40Mjc3M0MxMi40MTcxIDYuNjQzMDcgMTIuNDE3MSA2Ljk5MjIgMTIuMjAxOCA3LjIwNzUzQzExLjk4NjQgNy40MjI4NyAxMS42MzczIDcuNDIyODcgMTEuNDIyIDcuMjA3NTNMOC4zMDI3MyA0LjA4ODMxTDUuMTgzNTEgNy4yMDc1M0M0Ljk2ODE3IDcuNDIyODcgNC42MTkwNCA3LjQyMjg3IDQuNDAzNyA3LjIwNzUzQzQuMTg4MzcgNi45OTIyIDQuMTg4MzcgNi42NDMwNyA0LjQwMzcgNi40Mjc3M0w3LjkxMjgzIDIuOTE4NlpNNy43NTEzMyA5LjA5Mzk5TDcuNzUxMzMgMy4zMDg1TDguODU0MTQgMy4zMDg1TDguODU0MTQgOS4wOTM5OUw3Ljc1MTMzIDkuMDkzOTlaIiBmaWxsPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIzLjg5MTM2IiB5MT0iMTEuNTc5NSIgeDI9IjEyLjcxMzkiIHkyPSIxMS41Nzk1IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--sort-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTY4MzIgNi4zNDU0NkM3LjE2ODMyIDYuMDQwOTMgNy40MTUxOSA1Ljc5NDA1IDcuNzE5NzMgNS43OTQwNUM4LjAyNDI2IDUuNzk0MDUgOC4yNzExMyA2LjA0MDkzIDguMjcxMTMgNi4zNDU0Nkw3LjE2ODMyIDYuMzQ1NDZaTTguMTA5NjMgMTIuNTIwOUM3Ljg5NDI5IDEyLjczNjIgNy41NDUxNiAxMi43MzYyIDcuMzI5ODIgMTIuNTIwOUwzLjgyMDcgOS4wMTE3MkMzLjYwNTM2IDguNzk2MzkgMy42MDUzNiA4LjQ0NzI2IDMuODIwNyA4LjIzMTkyQzQuMDM2MDMgOC4wMTY1OCA0LjM4NTE2IDguMDE2NTggNC42MDA1IDguMjMxOTJMNy43MTk3MyAxMS4zNTExTDEwLjgzOSA4LjIzMTkyQzExLjA1NDMgOC4wMTY1OCAxMS40MDM0IDguMDE2NTggMTEuNjE4OCA4LjIzMTkyQzExLjgzNDEgOC40NDcyNiAxMS44MzQxIDguNzk2MzkgMTEuNjE4OCA5LjAxMTcyTDguMTA5NjMgMTIuNTIwOVpNOC4yNzExMyA2LjM0NTQ2TDguMjcxMTMgMTIuMTMwOUw3LjE2ODMyIDEyLjEzMDlMNy4xNjgzMiA2LjM0NTQ2TDguMjcxMTMgNi4zNDU0NloiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjEyLjEzMDkiIHkxPSIzLjg1OTc2IiB4Mj0iMy4zMDgzNiIgeTI9IjMuODU5NzYiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIxLjEwMjgxIi8+Cjwvc3ZnPgo=);--sort-col-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTU3OTYgOC4zNzM5MkM2Ljg1MzQzIDguMzczOTIgNi42MDY1NSA4LjEyNzA0IDYuNjA2NTUgNy44MjI1MUM2LjYwNjU1IDcuNTE3OTggNi44NTM0MyA3LjI3MTEgNy4xNTc5NiA3LjI3MTFMNy4xNTc5NiA4LjM3MzkyWk0xMy4zMzM0IDcuNDMyNjFDMTMuNTQ4NyA3LjY0Nzk0IDEzLjU0ODcgNy45OTcwNyAxMy4zMzM0IDguMjEyNDFMOS44MjQyMyAxMS43MjE1QzkuNjA4ODkgMTEuOTM2OSA5LjI1OTc2IDExLjkzNjkgOS4wNDQ0MiAxMS43MjE1QzguODI5MDggMTEuNTA2MiA4LjgyOTA4IDExLjE1NzEgOS4wNDQ0MiAxMC45NDE3TDEyLjE2MzYgNy44MjI1MUw5LjA0NDQyIDQuNzAzMjlDOC44MjkwOCA0LjQ4Nzk1IDguODI5MDggNC4xMzg4MiA5LjA0NDQyIDMuOTIzNDhDOS4yNTk3NiAzLjcwODE0IDkuNjA4ODkgMy43MDgxNCA5LjgyNDIyIDMuOTIzNDhMMTMuMzMzNCA3LjQzMjYxWk03LjE1Nzk2IDcuMjcxMUwxMi45NDM0IDcuMjcxMUwxMi45NDM0IDguMzczOTJMNy4xNTc5NiA4LjM3MzkyTDcuMTU3OTYgNy4yNzExWiIgZmlsbD0iIzA0MjEyMSIvPgo8bGluZSB4MT0iNC42NzIyNiIgeTE9IjMuNDExMTMiIHgyPSI0LjY3MjI2IiB5Mj0iMTIuMjMzNiIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2Utd2lkdGg9IjEuMTAyODEiLz4KPC9zdmc+Cg==);--sort-col-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5MjcgNy4yNzExQzEwLjMwMzggNy4yNzExIDEwLjU1MDcgNy41MTc5OCAxMC41NTA3IDcuODIyNTFDMTAuNTUwNyA4LjEyNzA0IDEwLjMwMzggOC4zNzM5MiA5Ljk5OTI3IDguMzczOTJMOS45OTkyNyA3LjI3MTFaTTMuODIzODcgOC4yMTI0MUMzLjYwODU0IDcuOTk3MDggMy42MDg1NCA3LjY0Nzk1IDMuODIzODcgNy40MzI2MUw3LjMzMyAzLjkyMzQ4QzcuNTQ4MzQgMy43MDgxNCA3Ljg5NzQ3IDMuNzA4MTQgOC4xMTI4MSAzLjkyMzQ4QzguMzI4MTQgNC4xMzg4MiA4LjMyODE0IDQuNDg3OTUgOC4xMTI4MSA0LjcwMzI5TDQuOTkzNTggNy44MjI1MUw4LjExMjgxIDEwLjk0MTdDOC4zMjgxNSAxMS4xNTcxIDguMzI4MTUgMTEuNTA2MiA4LjExMjgxIDExLjcyMTVDNy44OTc0NyAxMS45MzY5IDcuNTQ4MzQgMTEuOTM2OSA3LjMzMyAxMS43MjE1TDMuODIzODcgOC4yMTI0MVpNOS45OTkyNyA4LjM3MzkyTDQuMjEzNzggOC4zNzM5Mkw0LjIxMzc4IDcuMjcxMUw5Ljk5OTI3IDcuMjcxMUw5Ljk5OTI3IDguMzczOTJaIiBmaWxsPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxMi40ODQ3IiB5MT0iMTIuMjMzNiIgeDI9IjEyLjQ4NDciIHkyPSIzLjQxMTE0IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--sort-abs-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuNjc5OTYgMTIuMjMzNkg3LjE5ODYzVjguMzczNzlINS4xMzA4Nkw4LjQzOTMgMy40MTExM0wxMS43NDc3IDguMzczNzlIOS42Nzk5NlYxMi4yMzM2WiIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2Utd2lkdGg9IjEuMTAyODEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K);--sort-abs-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTA1OTMgMy40MTExNEw5LjU4NzI2IDMuNDExMTRMOS41ODcyNiA3LjI3MDk5TDExLjY1NSA3LjI3MDk5TDguMzQ2NTkgMTIuMjMzNkw1LjAzODE1IDcuMjcwOTlMNy4xMDU5MyA3LjI3MDk5TDcuMTA1OTMgMy40MTExNFoiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIxLjEwMjgxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+Cg==);--sort-abs-col-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzQ3ODEgOS4wNjMwMkwzLjc0NzgxIDYuNTgxNjlMNy42MDc2NiA2LjU4MTY5TDcuNjA3NjYgNC41MTM5MkwxMi41NzAzIDcuODIyMzVMNy42MDc2NiAxMS4xMzA4TDcuNjA3NjYgOS4wNjMwMkwzLjc0NzgxIDkuMDYzMDJaIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);--sort-abs-col-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjY2MzEgNi41ODE3NkwxMi42NjMxIDkuMDYzMDlMOC44MDMyMyA5LjA2MzA5TDguODAzMjMgMTEuMTMwOUwzLjg0MDU4IDcuODIyNDJMOC44MDMyMyA0LjUxMzk5TDguODAzMjMgNi41ODE3NkwxMi42NjMxIDYuNTgxNzZaIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);--sort-none-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGxpbmUgeDE9IjMuOTg0MTMiIHkxPSI4LjI3MTEiIHgyPSIxMi44MDY2IiB5Mj0iOC4yNzExIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--add-expression-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gMTUuOTE1IDguNTU1IEwgMTAuMjEzIDE0LjI1NyIgc3Ryb2tlLXdpZHRoPSIxLjAwNDkxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJzdHJva2U6ICMwNDIxMjEiPgogICAgPC9wYXRoPgogICAgPHBhdGgKICAgICAgICBkPSJNIDEuNjE2IDE0LjMzIEwgMy4yNTEgMTQuMzMgQyA0LjI4IDE0LjMzIDUuMTU4IDEzLjU4NiA1LjMyNyAxMi41NzEgTCA2LjU4NCA0Ljk5MiBDIDYuNzUyIDMuOTc2IDcuNjMgMy4yMzIgOC42NiAzLjIzMiBMIDExLjM0NyAzLjIzMiIKICAgICAgICBzdHJva2Utd2lkdGg9IjEuMDA0OTEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9InN0cm9rZTojMDQyMTIxIj48L3BhdGg+CiAgICA8cGF0aCBkPSJNIDEwLjIxMiA4LjU1NSBMIDE1LjkxNCAxNC4yNTciIHN0cm9rZS13aWR0aD0iMS4wMDQ5MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHlsZT0ic3Ryb2tlOiAjMDQyMTIxIj4KICAgIDwvcGF0aD4KPC9zdmc+);--column-type-integer--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gNy4xMzYgNy42NyBMIDUuNDE4IDcuNjcgTCA1LjkwMiA1LjU5NCBMIDcuNjIgNS41OTQgTCA3LjEzNiA3LjY3IFogTSA2LjUxMyAxMC4yNjQgTCA3LjMyIDEwLjI2NCBMIDcuNzgyIDguMzM4IEwgOS4xODggOC4zMzggTCA5LjMwNCA3LjY3IEwgNy45NDMgNy42NyBMIDguNDI3IDUuNTk0IEwgOS42NzMgNS41OTQgTCA5Ljc5OSA0LjkxNCBMIDguNTg5IDQuOTE0IEwgOS4wNSAzIEwgOC4yNDMgMyBMIDcuNzgyIDQuOTE0IEwgNi4wNjMgNC45MTQgTCA2LjUyNSAzIEwgNS43MTggMyBMIDUuMjU2IDQuOTE0IEwgMy44NjEgNC45MTQgTCAzLjczNCA1LjU5NCBMIDUuMDk1IDUuNTk0IEwgNC42MTEgNy42NyBMIDMuMzY1IDcuNjcgTCAzLjI1IDguMzM4IEwgNC40NDkgOC4zMzggTCAzLjk4OCAxMC4yNjQgTCA0Ljc5NSAxMC4yNjQgTCA1LjI1NiA4LjMzOCBMIDYuOTc0IDguMzM4IEwgNi41MTMgMTAuMjY0IFoiIGZpbGw9ImJsYWNrIj48L3BhdGg+Cjwvc3ZnPg==);--column-type-float--mask-image:var(--column-type-integer--mask-image);--column-type-string--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gNi4yODMgNS4yNzUgTCA2LjMwOSA1LjI3NSBMIDYuNzkyIDYuODU1IEwgNS44MDYgNi44NTUgTCA2LjI4MyA1LjI3NSBaIE0gNy4yOTUgOC41MDEgTCA4LjE0NCA4LjUwMSBMIDYuODI1IDQuMzg3IEwgNS44MTkgNC4zODcgTCA0LjUgOC41MDEgTCA1LjMwMyA4LjUwMSBMIDUuNjEgNy40ODkgTCA2Ljk4OCA3LjQ4OSBMIDcuMjk1IDguNTAxIFoiIGZpbGw9IiMwNDIxMjEiPjwvcGF0aD4KICAgIDxtYXNrIGlkPSJwYXRoLTItaW5zaWRlLTFfNzIwXzc4NjciIGZpbGw9IndoaXRlIj4KICAgICAgICA8cmVjdCB3aWR0aD0iMTAiIGhlaWdodD0iOSIgcng9IjAuODMzIiB4PSIxLjUiIHk9IjIiPjwvcmVjdD4KICAgIDwvbWFzaz4KICAgIDxyZWN0IHdpZHRoPSIxMCIgaGVpZ2h0PSI5IiByeD0iMC44MzMiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIyIiBtYXNrPSJ1cmwoI3BhdGgtMi1pbnNpZGUtMV83MjBfNzg2NykiIHg9IjEuNSIgeT0iMiI+PC9yZWN0Pgo8L3N2Zz4=);--column-type-date--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfNzIwXzc3OTUpIiB0cmFuc2Zvcm09Im1hdHJpeCgxLCAwLCAwLCAxLCAtMy41LCAtMy41KSI+CiAgICAgICAgPG1hc2sgaWQ9InBhdGgtMS1pbnNpZGUtMV83MjBfNzc5NSIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICA8cmVjdCB4PSI1IiB5PSI2IiB3aWR0aD0iOS45OTg5MiIgaGVpZ2h0PSI4LjMzMjQzIiByeD0iMC44MzMyNDQiPjwvcmVjdD4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHJlY3QgeD0iNSIgeT0iNiIgd2lkdGg9IjkuOTk4OTIiIGhlaWdodD0iOC4zMzI0MyIgcng9IjAuODMzMjQ0IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMiIgbWFzaz0idXJsKCNwYXRoLTEtaW5zaWRlLTFfNzIwXzc3OTUpIj48L3JlY3Q+CiAgICAgICAgPHBhdGggZD0iTTcuMjk2NjMgNlY3LjE0ODMxIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0xMi45MTQ4IDZWNy4xNDgzMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICA8bGluZSB4MT0iNS44MzQyMyIgeTE9IjguODMyNzYiIHgyPSIxNC45OTk5IiB5Mj0iOC44MzI3NiIgc3Ryb2tlPSIjMDQyMTIxIj48L2xpbmU+CiAgICA8L2c+CiAgICA8ZGVmcz4KICAgICAgICA8ZmlsdGVyIGlkPSJmaWx0ZXIwX2RfNzIwXzc3OTUiIHg9IjAiIHk9IjAuNSIgd2lkdGg9IjIyIiBoZWlnaHQ9IjIwLjgzMjUiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzPSJzUkdCIj4KICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiPjwvZmVGbG9vZD4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMTI3IDAiIHJlc3VsdD0iaGFyZEFscGhhIj48L2ZlQ29sb3JNYXRyaXg+CiAgICAgICAgICAgIDxmZU9mZnNldCBkeD0iMSIgZHk9IjEiPjwvZmVPZmZzZXQ+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMiPjwvZmVHYXVzc2lhbkJsdXI+CiAgICAgICAgICAgIDxmZUNvbXBvc2l0ZSBpbjI9ImhhcmRBbHBoYSIgb3BlcmF0b3I9Im91dCI+PC9mZUNvbXBvc2l0ZT4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMC4xNjc3MDkgMCAwIDAgMCAwLjMyOTQ3IDAgMCAwIDAgMC4zMjI0MzcgMCAwIDAgMC4xIDAiPjwvZmVDb2xvck1hdHJpeD4KICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNzIwXzc3OTUiPjwvZmVCbGVuZD4KICAgICAgICAgICAgPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfNzIwXzc3OTUiIHJlc3VsdD0ic2hhcGUiPjwvZmVCbGVuZD4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KPC9zdmc+);--column-type-boolean--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iMTAiIHZpZXdCb3g9IjAgMCAxMCAxMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAuNSA1LjhWOEMwLjUgOC44Mjg0MyAxLjE3MTU3IDkuNSAyIDkuNUg0LjhDNS42Mjg0MyA5LjUgNi4zIDguODI4NDMgNi4zIDhWNy4yQzYuMyA2LjkyMzg2IDYuNTIzODYgNi43IDYuOCA2LjdIOEM4LjgyODQzIDYuNyA5LjUgNi4wMjg0MyA5LjUgNS4yVjNDOS41IDIuMTcxNTcgOC44Mjg0MyAxLjUgOCAxLjVINS4yQzQuMzcxNTcgMS41IDMuNyAyLjE3MTU3IDMuNyAzVjMuOEMzLjcgNC4wNzYxNCAzLjQ3NjE0IDQuMyAzLjIgNC4zSDJDMS4xNzE1NyA0LjMgMC41IDQuOTcxNTcgMC41IDUuOFoiIHN0cm9rZT0iIzA0MjEyMSIvPgo8L3N2Zz4K);--column-type-datetime--mask-image:var(--column-type-date--mask-image);--column-drag-handle--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDUgMTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxMS4wMDAxIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjExLjAwMDEiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI3LjY2NjgzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjcuNjY2ODMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSI0LjMzMzMzIiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjQuMzMzMzMiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+CjxjaXJjbGUgY3g9IjMuNDk5OTYiIGN5PSIxLjAwMDA4IiByPSIwLjgzMzMzMyIgZmlsbD0iIzZFNkU2RSIvPgo8Y2lyY2xlIGN4PSIwLjgzMzMzMyIgY3k9IjEuMDAwMDgiIHI9IjAuODMzMzMzIiBmaWxsPSIjNkU2RTZFIi8+Cjwvc3ZnPgo=);--column-radio-on--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMy41IiBmaWxsPSIjM0Y0MzQzIi8+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-radio-hover--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMi41IiBmaWxsPSIjM0Y0MzQzIi8+CiAgICA8cmVjdCB4PSIwLjUiIHk9IjAuNSIgd2lkdGg9IjEwIiBoZWlnaHQ9IjEwIiByeD0iNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-radio-off--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxjaXJjbGUgY3g9IjUuNSIgY3k9IjUuNSIgcj0iMyIgc3Ryb2tlPSIjM0Y0MzQzIiAvPgo8L3N2Zz4=);--column-checkbox-on--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCIgcng9IjIiIGZpbGw9IiMzRjQzNDMiLz4KPC9zdmc+Cg==);--column-checkbox-hover--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjQiIHk9IjQiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIyIiBmaWxsPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-checkbox-off--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMC41IiB5PSIwLjUiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjEuNSIgc3Ryb2tlPSIjM0Y0MzQzIi8+CjxyZWN0IHg9IjUiIHk9IjUiIHdpZHRoPSI0IiBoZWlnaHQ9IjQiIHJ4PSIyIiBmaWxsPSIjM0Y0MzQzIi8+Cjwvc3ZnPgo=);--column-settings-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuNSAzTDQuNSAxMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTkuNSAzTDkuNSAxMSIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTYgOC41QzYgOS4zMjg0MyA1LjMyODQzIDEwIDQuNSAxMEMzLjY3MTU3IDEwIDMgOS4zMjg0MyAzIDguNUMzIDcuNjcxNTcgMy42NzE1NyA3IDQuNSA3QzUuMzI4NDMgNyA2IDcuNjcxNTcgNiA4LjVaIiBmaWxsPSIjRkRGRkZEIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExIDUuNUMxMSA2LjMyODQzIDEwLjMyODQgNyA5LjUgN0M4LjY3MTU3IDcgOCA2LjMyODQzIDggNS41QzggNC42NzE1NyA4LjY3MTU3IDQgOS41IDRDMTAuMzI4NCA0IDExIDQuNjcxNTcgMTEgNS41WiIgZmlsbD0iI0ZERkZGRCIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--sort-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTguODU0MTQgOS4wOTM5OUM4Ljg1NDE0IDkuMzk4NTMgOC42MDcyNyA5LjY0NTQgOC4zMDI3MyA5LjY0NTRDNy45OTgyIDkuNjQ1NCA3Ljc1MTMzIDkuMzk4NTMgNy43NTEzMyA5LjA5Mzk5TDguODU0MTQgOS4wOTM5OVpNNy45MTI4MyAyLjkxODZDOC4xMjgxNyAyLjcwMzI2IDguNDc3MyAyLjcwMzI2IDguNjkyNjQgMi45MTg2TDEyLjIwMTggNi40Mjc3M0MxMi40MTcxIDYuNjQzMDcgMTIuNDE3MSA2Ljk5MjIgMTIuMjAxOCA3LjIwNzUzQzExLjk4NjQgNy40MjI4NyAxMS42MzczIDcuNDIyODcgMTEuNDIyIDcuMjA3NTNMOC4zMDI3MyA0LjA4ODMxTDUuMTgzNTEgNy4yMDc1M0M0Ljk2ODE3IDcuNDIyODcgNC42MTkwNCA3LjQyMjg3IDQuNDAzNyA3LjIwNzUzQzQuMTg4MzcgNi45OTIyIDQuMTg4MzcgNi42NDMwNyA0LjQwMzcgNi40Mjc3M0w3LjkxMjgzIDIuOTE4NlpNNy43NTEzMyA5LjA5Mzk5TDcuNzUxMzMgMy4zMDg1TDguODU0MTQgMy4zMDg1TDguODU0MTQgOS4wOTM5OUw3Ljc1MTMzIDkuMDkzOTlaIiBmaWxsPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIzLjg5MTM2IiB5MT0iMTEuNTc5NSIgeDI9IjEyLjcxMzkiIHkyPSIxMS41Nzk1IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--sort-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTY4MzIgNi4zNDU0NkM3LjE2ODMyIDYuMDQwOTMgNy40MTUxOSA1Ljc5NDA1IDcuNzE5NzMgNS43OTQwNUM4LjAyNDI2IDUuNzk0MDUgOC4yNzExMyA2LjA0MDkzIDguMjcxMTMgNi4zNDU0Nkw3LjE2ODMyIDYuMzQ1NDZaTTguMTA5NjMgMTIuNTIwOUM3Ljg5NDI5IDEyLjczNjIgNy41NDUxNiAxMi43MzYyIDcuMzI5ODIgMTIuNTIwOUwzLjgyMDcgOS4wMTE3MkMzLjYwNTM2IDguNzk2MzkgMy42MDUzNiA4LjQ0NzI2IDMuODIwNyA4LjIzMTkyQzQuMDM2MDMgOC4wMTY1OCA0LjM4NTE2IDguMDE2NTggNC42MDA1IDguMjMxOTJMNy43MTk3MyAxMS4zNTExTDEwLjgzOSA4LjIzMTkyQzExLjA1NDMgOC4wMTY1OCAxMS40MDM0IDguMDE2NTggMTEuNjE4OCA4LjIzMTkyQzExLjgzNDEgOC40NDcyNiAxMS44MzQxIDguNzk2MzkgMTEuNjE4OCA5LjAxMTcyTDguMTA5NjMgMTIuNTIwOVpNOC4yNzExMyA2LjM0NTQ2TDguMjcxMTMgMTIuMTMwOUw3LjE2ODMyIDEyLjEzMDlMNy4xNjgzMiA2LjM0NTQ2TDguMjcxMTMgNi4zNDU0NloiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjEyLjEzMDkiIHkxPSIzLjg1OTc2IiB4Mj0iMy4zMDgzNiIgeTI9IjMuODU5NzYiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIxLjEwMjgxIi8+Cjwvc3ZnPgo=);--sort-col-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTU3OTYgOC4zNzM5MkM2Ljg1MzQzIDguMzczOTIgNi42MDY1NSA4LjEyNzA0IDYuNjA2NTUgNy44MjI1MUM2LjYwNjU1IDcuNTE3OTggNi44NTM0MyA3LjI3MTEgNy4xNTc5NiA3LjI3MTFMNy4xNTc5NiA4LjM3MzkyWk0xMy4zMzM0IDcuNDMyNjFDMTMuNTQ4NyA3LjY0Nzk0IDEzLjU0ODcgNy45OTcwNyAxMy4zMzM0IDguMjEyNDFMOS44MjQyMyAxMS43MjE1QzkuNjA4ODkgMTEuOTM2OSA5LjI1OTc2IDExLjkzNjkgOS4wNDQ0MiAxMS43MjE1QzguODI5MDggMTEuNTA2MiA4LjgyOTA4IDExLjE1NzEgOS4wNDQ0MiAxMC45NDE3TDEyLjE2MzYgNy44MjI1MUw5LjA0NDQyIDQuNzAzMjlDOC44MjkwOCA0LjQ4Nzk1IDguODI5MDggNC4xMzg4MiA5LjA0NDQyIDMuOTIzNDhDOS4yNTk3NiAzLjcwODE0IDkuNjA4ODkgMy43MDgxNCA5LjgyNDIyIDMuOTIzNDhMMTMuMzMzNCA3LjQzMjYxWk03LjE1Nzk2IDcuMjcxMUwxMi45NDM0IDcuMjcxMUwxMi45NDM0IDguMzczOTJMNy4xNTc5NiA4LjM3MzkyTDcuMTU3OTYgNy4yNzExWiIgZmlsbD0iIzA0MjEyMSIvPgo8bGluZSB4MT0iNC42NzIyNiIgeTE9IjMuNDExMTMiIHgyPSI0LjY3MjI2IiB5Mj0iMTIuMjMzNiIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2Utd2lkdGg9IjEuMTAyODEiLz4KPC9zdmc+Cg==);--sort-col-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuOTk5MjcgNy4yNzExQzEwLjMwMzggNy4yNzExIDEwLjU1MDcgNy41MTc5OCAxMC41NTA3IDcuODIyNTFDMTAuNTUwNyA4LjEyNzA0IDEwLjMwMzggOC4zNzM5MiA5Ljk5OTI3IDguMzczOTJMOS45OTkyNyA3LjI3MTFaTTMuODIzODcgOC4yMTI0MUMzLjYwODU0IDcuOTk3MDggMy42MDg1NCA3LjY0Nzk1IDMuODIzODcgNy40MzI2MUw3LjMzMyAzLjkyMzQ4QzcuNTQ4MzQgMy43MDgxNCA3Ljg5NzQ3IDMuNzA4MTQgOC4xMTI4MSAzLjkyMzQ4QzguMzI4MTQgNC4xMzg4MiA4LjMyODE0IDQuNDg3OTUgOC4xMTI4MSA0LjcwMzI5TDQuOTkzNTggNy44MjI1MUw4LjExMjgxIDEwLjk0MTdDOC4zMjgxNSAxMS4xNTcxIDguMzI4MTUgMTEuNTA2MiA4LjExMjgxIDExLjcyMTVDNy44OTc0NyAxMS45MzY5IDcuNTQ4MzQgMTEuOTM2OSA3LjMzMyAxMS43MjE1TDMuODIzODcgOC4yMTI0MVpNOS45OTkyNyA4LjM3MzkyTDQuMjEzNzggOC4zNzM5Mkw0LjIxMzc4IDcuMjcxMUw5Ljk5OTI3IDcuMjcxMUw5Ljk5OTI3IDguMzczOTJaIiBmaWxsPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxMi40ODQ3IiB5MT0iMTIuMjMzNiIgeDI9IjEyLjQ4NDciIHkyPSIzLjQxMTE0IiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--sort-abs-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTkuNjc5OTYgMTIuMjMzNkg3LjE5ODYzVjguMzczNzlINS4xMzA4Nkw4LjQzOTMgMy40MTExM0wxMS43NDc3IDguMzczNzlIOS42Nzk5NlYxMi4yMzM2WiIgc3Ryb2tlPSIjMDQyMTIxIiBzdHJva2Utd2lkdGg9IjEuMTAyODEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K);--sort-abs-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuMTA1OTMgMy40MTExNEw5LjU4NzI2IDMuNDExMTRMOS41ODcyNiA3LjI3MDk5TDExLjY1NSA3LjI3MDk5TDguMzQ2NTkgMTIuMjMzNkw1LjAzODE1IDcuMjcwOTlMNy4xMDU5MyA3LjI3MDk5TDcuMTA1OTMgMy40MTExNFoiIHN0cm9rZT0iIzA0MjEyMSIgc3Ryb2tlLXdpZHRoPSIxLjEwMjgxIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+Cg==);--sort-abs-col-asc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMuNzQ3ODEgOS4wNjMwMkwzLjc0NzgxIDYuNTgxNjlMNy42MDc2NiA2LjU4MTY5TDcuNjA3NjYgNC41MTM5MkwxMi41NzAzIDcuODIyMzVMNy42MDc2NiAxMS4xMzA4TDcuNjA3NjYgOS4wNjMwMkwzLjc0NzgxIDkuMDYzMDJaIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);--sort-abs-col-desc-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyLjY2MzEgNi41ODE3NkwxMi42NjMxIDkuMDYzMDlMOC44MDMyMyA5LjA2MzA5TDguODAzMjMgMTEuMTMwOUwzLjg0MDU4IDcuODIyNDJMOC44MDMyMyA0LjUxMzk5TDguODAzMjMgNi41ODE3NkwxMi42NjMxIDYuNTgxNzZaIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);--sort-none-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNyAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGxpbmUgeDE9IjMuOTg0MTMiIHkxPSI4LjI3MTEiIHgyPSIxMi44MDY2IiB5Mj0iOC4yNzExIiBzdHJva2U9IiMwNDIxMjEiIHN0cm9rZS13aWR0aD0iMS4xMDI4MSIvPgo8L3N2Zz4K);--add-expression-icon--mask-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAxOCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxwYXRoIGQ9Ik0gMTUuOTE1IDguNTU1IEwgMTAuMjEzIDE0LjI1NyIgc3Ryb2tlLXdpZHRoPSIxLjAwNDkxIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0eWxlPSJzdHJva2U6ICMwNDIxMjEiPgogICAgPC9wYXRoPgogICAgPHBhdGgKICAgICAgICBkPSJNIDEuNjE2IDE0LjMzIEwgMy4yNTEgMTQuMzMgQyA0LjI4IDE0LjMzIDUuMTU4IDEzLjU4NiA1LjMyNyAxMi41NzEgTCA2LjU4NCA0Ljk5MiBDIDYuNzUyIDMuOTc2IDcuNjMgMy4yMzIgOC42NiAzLjIzMiBMIDExLjM0NyAzLjIzMiIKICAgICAgICBzdHJva2Utd2lkdGg9IjEuMDA0OTEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3R5bGU9InN0cm9rZTojMDQyMTIxIj48L3BhdGg+CiAgICA8cGF0aCBkPSJNIDEwLjIxMiA4LjU1NSBMIDE1LjkxNCAxNC4yNTciIHN0cm9rZS13aWR0aD0iMS4wMDQ5MSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHlsZT0ic3Ryb2tlOiAjMDQyMTIxIj4KICAgIDwvcGF0aD4KPC9zdmc+);color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD}perspective-viewer,perspective-viewer[theme="Pro Dark"]{--theme-name:"Pro Dark"}perspective-viewer[theme="Pro Dark"]{--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);background-color:#242526;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--inactive--border-color:var(--inactive--color);--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48)}perspective-viewer[theme="Pro Dark"] regular-table{--rt-pos-cell--color:#7dc3f0;--rt-neg-cell--color:#ff9485}perspective-viewer[theme="Pro Dark"] regular-table table{color:#fff}perspective-viewer[theme="Pro Dark"] regular-table table tr:hover{color:#fff}perspective-viewer[theme="Pro Dark"] regular-table table tbody tr td,perspective-viewer[theme="Pro Dark"] regular-table table tbody tr th{--rt-hover--border-color:#61656e;border-top-color:#3b3f46}perspective-viewer[theme="Pro Dark"] tbody th:empty{background:linear-gradient(to right,transparent 9px,#3b3f46 10px,transparent 11px);background-repeat:no-repeat;background-position:0px -10px}perspective-viewer[theme="Pro Dark"]{--d3fc-legend--text:#c5c9d0;--d3fc-treedata--labels:white;--d3fc-treedata--hover-highlight:white;--d3fc-tooltip--color:white;--d3fc-axis-ticks--color:#c5c9d0;--d3fc-axis--lines:#61656e;--d3fc-gridline--color:#3b3f46;--d3fc-tooltip--background:rgba(42,44,47,1);--d3fc-tooltip--border-color:#242526;--d3fc-legend--background:rgba(42,44,47,.8);--d3fc-series:rgb(71,120,194);--d3fc-series-1:rgb(71,120,194);--d3fc-series-2:rgb(204,120,48);--d3fc-series-3:rgb(158,84,192);--d3fc-series-4:rgb(51,150,153);--d3fc-series-5:rgb(102,114,143);--d3fc-series-6:rgb(211,103,189);--d3fc-series-7:rgb(109,124,77);--d3fc-series-8:rgb(221,99,103);--d3fc-series-9:rgb(120,104,206);--d3fc-series-10:rgb(23,166,123);--d3fc-full--gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%);--d3fc-positive--gradient:linear-gradient(#242526 0%,#3289c8 100%);--d3fc-negative--gradient:linear-gradient(#dd6367 0%,#242526 100%);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";--map-attribution--filter:invert(1)hue-rotate(180deg);--map-element-background:#212c2f;--map-category-1:rgb(71,120,194);--map-category-2:rgb(204,120,48);--map-category-3:rgb(158,84,192);--map-category-4:rgb(51,150,153);--map-category-5:rgb(102,114,143);--map-category-6:rgb(211,103,189);--map-category-7:rgb(109,124,77);--map-category-8:rgb(221,99,103);--map-category-9:rgb(120,104,206);--map-category-10:rgb(23,166,123);--map-gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%)}perspective-copy-menu[theme="Pro Dark"],perspective-export-menu[theme="Pro Dark"],perspective-dropdown[theme="Pro Dark"],perspective-date-column-style[theme="Pro Dark"],perspective-datetime-column-style[theme="Pro Dark"],perspective-number-column-style[theme="Pro Dark"],perspective-string-column-style[theme="Pro Dark"]{background-color:#fff;border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--inactive--border-color:var(--inactive--color);--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48);background-color:#242526;border:1px solid#4c505b}perspective-viewer,perspective-viewer[theme=Monokai]{--theme-name:"Monokai"}perspective-viewer[theme=Monokai]{--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);background-color:#242526;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--inactive--border-color:var(--inactive--color);--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48)}perspective-viewer[theme=Monokai] regular-table{--rt-pos-cell--color:#7dc3f0;--rt-neg-cell--color:#ff9485}perspective-viewer[theme=Monokai] regular-table table{color:#fff}perspective-viewer[theme=Monokai] regular-table table tr:hover{color:#fff}perspective-viewer[theme=Monokai] regular-table table tbody tr td,perspective-viewer[theme=Monokai] regular-table table tbody tr th{--rt-hover--border-color:#61656e;border-top-color:#3b3f46}perspective-viewer[theme=Monokai] tbody th:empty{background:linear-gradient(to right,transparent 9px,#3b3f46 10px,transparent 11px);background-repeat:no-repeat;background-position:0px -10px}perspective-viewer[theme=Monokai]{--d3fc-legend--text:#c5c9d0;--d3fc-treedata--labels:white;--d3fc-treedata--hover-highlight:white;--d3fc-tooltip--color:white;--d3fc-axis-ticks--color:#c5c9d0;--d3fc-axis--lines:#61656e;--d3fc-gridline--color:#3b3f46;--d3fc-tooltip--background:rgba(42,44,47,1);--d3fc-tooltip--border-color:#242526;--d3fc-legend--background:rgba(42,44,47,.8);--d3fc-series:rgb(71,120,194);--d3fc-series-1:rgb(71,120,194);--d3fc-series-2:rgb(204,120,48);--d3fc-series-3:rgb(158,84,192);--d3fc-series-4:rgb(51,150,153);--d3fc-series-5:rgb(102,114,143);--d3fc-series-6:rgb(211,103,189);--d3fc-series-7:rgb(109,124,77);--d3fc-series-8:rgb(221,99,103);--d3fc-series-9:rgb(120,104,206);--d3fc-series-10:rgb(23,166,123);--d3fc-full--gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%);--d3fc-positive--gradient:linear-gradient(#242526 0%,#3289c8 100%);--d3fc-negative--gradient:linear-gradient(#dd6367 0%,#242526 100%);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";--map-attribution--filter:invert(1)hue-rotate(180deg);--map-element-background:#212c2f;--map-category-1:rgb(71,120,194);--map-category-2:rgb(204,120,48);--map-category-3:rgb(158,84,192);--map-category-4:rgb(51,150,153);--map-category-5:rgb(102,114,143);--map-category-6:rgb(211,103,189);--map-category-7:rgb(109,124,77);--map-category-8:rgb(221,99,103);--map-category-9:rgb(120,104,206);--map-category-10:rgb(23,166,123);--map-gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%);color:#d6d6d6;background-color:#2d2a2e;--active--color:#78dce8;--error--color:#ff6188;--inactive--color:#797979;--inactive--border-color:var(--inactive--color);--plugin--background:#2d2a2e;--float--column-type--color:#78dce8;--string--column-type--color:#ff6188;--date--column-type--color:#a9dc76;--boolean--column-type--color:#ffd866;--warning--background:#ffd866}perspective-viewer[theme=Monokai] regular-table{--rt-pos-cell--color:#78dce8!important;--rt-neg-cell--color:#ff6188!important}perspective-viewer[theme=Monokai] regular-table table tbody tr td,perspective-viewer[theme=Monokai] regular-table table tbody tr th{border-top-color:#444}perspective-viewer[theme=Monokai] regular-table table tbody th:empty{background:linear-gradient(to right,transparent 9px,#444444 10px,transparent 11px)}perspective-viewer[theme=Monokai]{--d3fc-treedata--labels:#d6d6d6;--d3fc-treedata--hover-highlight:#2d2a2e;--d3fc-axis-ticks--color:#d6d6d6;--d3fc-gridline--color:#444444;--d3fc-series:#78dce8;--d3fc-series-1:#78dce8;--d3fc-series-2:#ff6188;--d3fc-series-3:#fc9867;--d3fc-series-4:#ffd866;--d3fc-series-5:#a9dc76;--d3fc-series-6:#ab9df2;--d3fc-series-7:#66d9ef;--d3fc-series-8:#f92672;--d3fc-series-9:#fd971f;--d3fc-series-10:#e6db74;--d3fc-series-11:#a6e22e;--d3fc-series-12:#ae81ff;--d3fc-negative--gradient:linear-gradient(#272822 0%,#ff6188 100%);--d3fc-positive--gradient:linear-gradient(#272822 0%,#78dce8 100%);--d3fc-full--gradient:linear-gradient(#ff6188 0%,#272822 50%,#78dce8 100%)}perspective-copy-menu[theme=Monokai],perspective-export-menu[theme=Monokai],perspective-dropdown[theme=Monokai],perspective-date-column-style[theme=Monokai],perspective-datetime-column-style[theme=Monokai],perspective-number-column-style[theme=Monokai],perspective-string-column-style[theme=Monokai]{background-color:#fff;border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48);background-color:#242526;border:1px solid#4c505b;color:#d6d6d6;--active--color:#78dce8;--error--color:#ff6188;--inactive--color:#797979;--inactive--border-color:var(--inactive--color);--plugin--background:#2d2a2e;--float--column-type--color:#78dce8;--string--column-type--color:#ff6188;--date--column-type--color:#a9dc76;--boolean--column-type--color:#ffd866;--warning--background:#ffd866;background-color:#2d2a2e;border:1px solid#797979}perspective-viewer,perspective-viewer[theme=Solarized]{--theme-name:"Solarized"}perspective-viewer[theme=Solarized]{--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);color:#586e75;background-color:#eee8d5;--icon--color:#586e75;--active--color:#268bd2;--error--color:#cb4b16;--inactive--color:#93a1a1;--inactive--border-color:var(--inactive--color);--plugin--background:#fdf6e3;--float--column-type--color:#268bd2;--string--column-type--color:#cb4b16;--date--column-type--color:#2aa198;--boolean--column-type--color:#b58900}perspective-viewer[theme=Solarized] regular-table{--rt-pos-cell--color:#268bd2!important;--rt-neg-cell--color:#cb4b16!important}perspective-viewer[theme=Solarized] regular-table table{color:#586e75}perspective-viewer[theme=Solarized] regular-table table tbody tr td,perspective-viewer[theme=Solarized] regular-table table tbody tr th{border-top-color:#93a1a1}perspective-viewer[theme=Solarized] regular-table table tbody th:empty{background:linear-gradient(to right,transparent 9px,#93a1a1 10px,transparent 11px)}perspective-viewer[theme=Solarized]{--d3fc-treedata--labels:black;--d3fc-treedata--hover-highlight:black;--d3fc-axis-ticks--color:#586e75;--d3fc-gridline--color:#eee8d5;--d3fc-series:#268bd2;--d3fc-series-1:#268bd2;--d3fc-series-2:#cb4b16;--d3fc-series-3:#b58900;--d3fc-series-4:#859900;--d3fc-series-5:#2aa198;--d3fc-series-6:#6c71c4;--d3fc-series-7:#d33682;--d3fc-positive--gradient:linear-gradient(#268bd2 0%,#2aa198,#859900,#b58900,#cb4b16,#dc322f,#d33682 100%)}perspective-copy-menu[theme=Solarized],perspective-export-menu[theme=Solarized],perspective-dropdown[theme=Solarized],perspective-date-column-style[theme=Solarized],perspective-datetime-column-style[theme=Solarized],perspective-number-column-style[theme=Solarized],perspective-string-column-style[theme=Solarized]{background-color:#fff;border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;color:#586e75;background-color:#eee8d5;--icon--color:#586e75;--active--color:#268bd2;--error--color:#cb4b16;--inactive--color:#93a1a1;--inactive--border-color:var(--inactive--color);--plugin--background:#fdf6e3;--float--column-type--color:#268bd2;--string--column-type--color:#cb4b16;--date--column-type--color:#2aa198;--boolean--column-type--color:#b58900;background-color:#fdf6e3}perspective-viewer,perspective-viewer[theme="Solarized Dark"]{--theme-name:"Solarized Dark"}perspective-viewer[theme="Solarized Dark"]{background-color:#242526;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48);--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);color:#586e75;background-color:#eee8d5;--icon--color:#586e75;--active--color:#268bd2;--error--color:#cb4b16;--inactive--color:#93a1a1;--inactive--border-color:var(--inactive--color);--plugin--background:#fdf6e3;--float--column-type--color:#268bd2;--string--column-type--color:#cb4b16;--date--column-type--color:#2aa198;--boolean--column-type--color:#b58900}perspective-viewer[theme="Solarized Dark"] regular-table{--rt-pos-cell--color:#268bd2!important;--rt-neg-cell--color:#cb4b16!important}perspective-viewer[theme="Solarized Dark"] regular-table table{color:#586e75}perspective-viewer[theme="Solarized Dark"] regular-table table tbody tr td,perspective-viewer[theme="Solarized Dark"] regular-table table tbody tr th{border-top-color:#93a1a1}perspective-viewer[theme="Solarized Dark"] regular-table table tbody th:empty{background:linear-gradient(to right,transparent 9px,#93a1a1 10px,transparent 11px)}perspective-viewer[theme="Solarized Dark"]{--d3fc-treedata--labels:black;--d3fc-treedata--hover-highlight:black;--d3fc-axis-ticks--color:#586e75;--d3fc-gridline--color:#eee8d5;--d3fc-series:#268bd2;--d3fc-series-1:#268bd2;--d3fc-series-2:#cb4b16;--d3fc-series-3:#b58900;--d3fc-series-4:#859900;--d3fc-series-5:#2aa198;--d3fc-series-6:#6c71c4;--d3fc-series-7:#d33682;--d3fc-positive--gradient:linear-gradient(#268bd2 0%,#2aa198,#859900,#b58900,#cb4b16,#dc322f,#d33682 100%);color:#93a1a1;background-color:#002b36;--inactive--color:#586e75;--inactive--border-color:var(--inactive--color);--plugin--background:#073642}perspective-viewer[theme="Solarized Dark"] regular-table table,perspective-viewer[theme="Solarized Dark"] regular-table table tr:hover{color:#93a1a1}perspective-viewer[theme="Solarized Dark"] regular-table table tbody tr td,perspective-viewer[theme="Solarized Dark"] regular-table table tbody tr th{border-top-color:#586e75}perspective-viewer[theme="Solarized Dark"] regular-table:hover::-webkit-scrollbar-thumb{background-color:var(--inactive--color,#586e75)}perspective-viewer[theme="Solarized Dark"] regular-table table tbody th:empty{background:linear-gradient(to right,transparent 9px,#586e75 10px,transparent 11px)}perspective-viewer[theme="Solarized Dark"]{--d3fc-treedata--labels:white;--d3fc-treedata--hover-highlight:white;--d3fc-axis-ticks--color:#93a1a1;--d3fc-axis--lines:#93a1a1;--d3fc-gridline--color:#002b36;--d3fc-legend--text:#93a1a1}perspective-copy-menu[theme="Solarized Dark"],perspective-export-menu[theme="Solarized Dark"],perspective-dropdown[theme="Solarized Dark"],perspective-date-column-style[theme="Solarized Dark"],perspective-datetime-column-style[theme="Solarized Dark"],perspective-number-column-style[theme="Solarized Dark"],perspective-string-column-style[theme="Solarized Dark"]{background-color:#fff;border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;color:#586e75;background-color:#eee8d5;--icon--color:#586e75;--active--color:#268bd2;--error--color:#cb4b16;--inactive--color:#93a1a1;--plugin--background:#fdf6e3;--float--column-type--color:#268bd2;--string--column-type--color:#cb4b16;--date--column-type--color:#2aa198;--boolean--column-type--color:#b58900;background-color:#fdf6e3;color:#93a1a1;background-color:#002b36;--inactive--color:#586e75;--inactive--border-color:var(--inactive--color);--plugin--background:#073642;background-color:#073642}perspective-viewer,perspective-viewer[theme=Vaporwave]{--theme-name:"Vaporwave"}perspective-viewer[theme=Vaporwave]{--button--font-size:16px;--config-button--padding:15px 8px 6px 8px;--column-drop-label--font-size:8px;--column-drop-container--padding:0px;--column-drop-label--display:inline-block;--column-selector--width:20px;--column-selector--font-size:16px;--column_type--width:25px;--select--padding:0px;--side-panel--padding:0px 0px 6px 4px;--top-panel--padding:0px 0px 12px 0px;--top-panel-row--display:inline-flex;--button--min-width:110px;color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";--group_by--content:"Group By";--split_by--content:"Split By";--inactive-column-selector--content:"\e835";--active-column-selector--content:"\e834";--overflow-hint-icon--content:"!";--reset-button-icon--content:"refresh";--save-button-icon--content:"save";--transpose-button--content:"Swap";--config-button-icon--content:"configure";--column-add--content:"add";--column-menu--content:"menu";--column-close--content:"close";--d3fc-y1-label--content:"arrow_upward";--d3fc-y2-label--content:"arrow_downward";--d3fc-treedata-axis--lines:none;--d3fc-tooltip--background--color:rgba(155,155,155,.8);--d3fc-tooltip--color:#161616;--d3fc-tooltip--border-color:#fff;--d3fc-tooltip--box-shadow:0 2px 4px 0 rgb(0 0 0/10%);--d3fc-gridline--color:#eaedef;--d3fc-axis-ticks--color:#161616;--d3fc-axis--lines:#c5c9d0;--d3fc-legend--background:rgba(255,255,255,.8);--d3fc-series:rgba(31,119,180,.8);--d3fc-series-1:#0366d6;--d3fc-series-2:#ff7f0e;--d3fc-series-3:#2ca02c;--d3fc-series-4:#d62728;--d3fc-series-5:#9467bd;--d3fc-series-6:#8c564b;--d3fc-series-7:#e377c2;--d3fc-series-8:#7f7f7f;--d3fc-series-9:#bcbd22;--d3fc-series-10:#17becf;--d3fc-full--gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);--d3fc-positive--gradient:linear-gradient(#f0f0f0 0%,#dcedc8 10%,#42b3d5 50%,#1a237e 100%);--d3fc-negative--gradient:linear-gradient(#4d342f 0%,#e4521b 50%,#feeb65 90%,#f0f0f0 100%);--rt-pos-cell--color:#338dcd;--rt-neg-cell--color:#ff471e;--column-style-open-button--content:"style";--column-style-close-button--content:">\a0style";--tree-label-collapse--content:"-";--tree-label-expand--content:"+";--toolbar-scroll-lock--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyMSAyMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI4LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOCA4VjcuODA3NzZDOCA2LjI1NzA4IDkuMjU3MDggNSAxMC44MDc4IDVIMTAuOTM4NEMxMi4xNSA1IDEzLjIwNjEgNS44MjQ1OSAxMy41IDdWNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxwYXRoIGQ9Ik0xMS41IDEyQzExLjUgMTIuNTUyMyAxMS4wNTIzIDEzIDEwLjUgMTNDOS45NDc3MiAxMyA5LjUgMTIuNTUyMyA5LjUgMTJDOS41IDExLjQ0NzcgOS45NDc3MiAxMSAxMC41IDExQzExLjA1MjMgMTEgMTEuNSAxMS40NDc3IDExLjUgMTJaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-scroll-lock-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNi41IiB5PSI5LjUiIHdpZHRoPSI4IiBoZWlnaHQ9IjciIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgOVY4LjVDMTMgNy4xMTkyOSAxMS44ODA3IDYgMTAuNSA2VjZDOS4xMTkyOSA2IDggNy4xMTkyOSA4IDguNVY5IiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTExLjQ5MTEgMTNDMTEuNDkxMSAxMy41NTIzIDExLjA0MzQgMTQgMTAuNDkxMSAxNEM5LjkzODc4IDE0IDkuNDkxMDcgMTMuNTUyMyA5LjQ5MTA3IDEzQzkuNDkxMDcgMTIuNDQ3NyA5LjkzODc4IDEyIDEwLjQ5MTEgMTJDMTEuMDQzNCAxMiAxMS40OTExIDEyLjQ0NzcgMTEuNDkxMSAxM1oiIGZpbGw9IiMwNDIxMjEiLz4KPGxpbmUgeDE9IjQuNSIgeTE9IjUiIHgyPSI0LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+CjxsaW5lIHgxPSIxNi41IiB5MT0iNSIgeDI9IjE2LjUiIHkyPSIxNyIgc3Ryb2tlPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--toolbar-edit-mode--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgNkwxNC41IDE1LjUiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNOSAxMEw1IDE0VjE2SDdMMTEgMTIiIHN0cm9rZT0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTMgMTAuNUwxMC41IDhMMTIgNi41TDE0LjUgOUwxMyAxMC41WiIgZmlsbD0iIzA0MjEyMSIvPgo8cGF0aCBkPSJNMTUgOC41TDEyLjUgNkwxMy43OTI5IDQuNzA3MTFDMTQuMTgzNCA0LjMxNjU4IDE0LjgxNjYgNC4zMTY1OCAxNS4yMDcxIDQuNzA3MTFMMTYuMjkyOSA1Ljc5Mjg5QzE2LjY4MzQgNi4xODM0MiAxNi42ODM0IDYuODE2NTggMTYuMjkyOSA3LjIwNzExTDE1IDguNVoiIGZpbGw9IiMwNDIxMjEiLz4KPC9zdmc+Cg==);--toolbar-edit-mode-active--content:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTUgMTRMMTMuNzkyOSA1LjIwNzExQzE0LjE4MzQgNC44MTY1OCAxNC44MTY2IDQuODE2NTggMTUuMjA3MSA1LjIwNzExTDE1Ljc5MjkgNS43OTI4OUMxNi4xODM0IDYuMTgzNDIgMTYuMTgzNCA2LjgxNjU4IDE1Ljc5MjkgNy4yMDcxMUw3IDE2SDVWMTRaIiBzdHJva2U9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTEzIDEwLjVMMTAuNSA4TDEyIDYuNUwxNC41IDlMMTMgMTAuNVoiIGZpbGw9IiMwNDIxMjEiLz4KPHBhdGggZD0iTTE1IDguNUwxMi41IDZMMTMuNzkyOSA0LjcwNzExQzE0LjE4MzQgNC4zMTY1OCAxNC44MTY2IDQuMzE2NTggMTUuMjA3MSA0LjcwNzExTDE2LjI5MjkgNS43OTI4OUMxNi42ODM0IDYuMTgzNDIgMTYuNjgzNCA2LjgxNjU4IDE2LjI5MjkgNy4yMDcxMUwxNSA4LjVaIiBmaWxsPSIjMDQyMTIxIi8+Cjwvc3ZnPgo=);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png";--map-element-background:#fff;--map-category-1:#0366d6;--map-category-2:#ff7f0e;--map-category-3:#2ca02c;--map-category-4:#d62728;--map-category-5:#9467bd;--map-category-6:#8c564b;--map-category-7:#e377c2;--map-category-8:#7f7f7f;--map-category-9:#bcbd22;--map-category-10:#17becf;--map-gradient:linear-gradient(#4d342f 0%,#e4521b 22.5%,#feeb65 42.5%,#f0f0f0 50%,#dcedc8 57.5%,#42b3d5 67.5%,#1a237e 100%);background-color:#242526;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--inactive--border-color:var(--inactive--color);--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48)}perspective-viewer[theme=Vaporwave] regular-table{--rt-pos-cell--color:#7dc3f0;--rt-neg-cell--color:#ff9485}perspective-viewer[theme=Vaporwave] regular-table table{color:#fff}perspective-viewer[theme=Vaporwave] regular-table table tr:hover{color:#fff}perspective-viewer[theme=Vaporwave] regular-table table tbody tr td,perspective-viewer[theme=Vaporwave] regular-table table tbody tr th{--rt-hover--border-color:#61656e;border-top-color:#3b3f46}perspective-viewer[theme=Vaporwave] tbody th:empty{background:linear-gradient(to right,transparent 9px,#3b3f46 10px,transparent 11px);background-repeat:no-repeat;background-position:0px -10px}perspective-viewer[theme=Vaporwave]{--d3fc-legend--text:#c5c9d0;--d3fc-treedata--labels:white;--d3fc-treedata--hover-highlight:white;--d3fc-tooltip--color:white;--d3fc-axis-ticks--color:#c5c9d0;--d3fc-axis--lines:#61656e;--d3fc-gridline--color:#3b3f46;--d3fc-tooltip--background:rgba(42,44,47,1);--d3fc-tooltip--border-color:#242526;--d3fc-legend--background:rgba(42,44,47,.8);--d3fc-series:rgb(71,120,194);--d3fc-series-1:rgb(71,120,194);--d3fc-series-2:rgb(204,120,48);--d3fc-series-3:rgb(158,84,192);--d3fc-series-4:rgb(51,150,153);--d3fc-series-5:rgb(102,114,143);--d3fc-series-6:rgb(211,103,189);--d3fc-series-7:rgb(109,124,77);--d3fc-series-8:rgb(221,99,103);--d3fc-series-9:rgb(120,104,206);--d3fc-series-10:rgb(23,166,123);--d3fc-full--gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%);--d3fc-positive--gradient:linear-gradient(#242526 0%,#3289c8 100%);--d3fc-negative--gradient:linear-gradient(#dd6367 0%,#242526 100%);--map-tile-url:"http://{a-c}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}.png";--map-attribution--filter:invert(1)hue-rotate(180deg);--map-element-background:#212c2f;--map-category-1:rgb(71,120,194);--map-category-2:rgb(204,120,48);--map-category-3:rgb(158,84,192);--map-category-4:rgb(51,150,153);--map-category-5:rgb(102,114,143);--map-category-6:rgb(211,103,189);--map-category-7:rgb(109,124,77);--map-category-8:rgb(221,99,103);--map-category-9:rgb(120,104,206);--map-category-10:rgb(23,166,123);--map-gradient:linear-gradient(#dd6367 0%,#242526 50%,#3289c8 100%);color:#49acff;background-color:#07081d!important;--icon--color:#49acff;--inactive--color:rgb(19,33,50)!important;--inactive--border-color:var(--inactive--color);--plugin--background:rgb(7,8,29)!important;--status-icon-updating-keyframes-start--filter:opacity(1);--status-icon-updating-keyframes-end--filter:opacity(0);--status-icon-updating-keyframes-start--transform:scale(1);--status-icon-updating-keyframes-end--transform:scale(.5);--status-icon-keyframes-start--transform:scale(1.25);--status-icon-keyframes-end--transform:scale(1)}perspective-viewer[theme=Vaporwave] regular-table{--pp-color-1:rgb(9,33,50);--pp-color-2:rgb(66,182,230);--rt-pos-cell--color:rgb(66,182,230)!important}perspective-viewer[theme=Vaporwave] regular-table td,perspective-viewer[theme=Vaporwave] th{--rt-hover--border-color:var(--pp-color-1)!important}perspective-viewer[theme=Vaporwave] regular-table table tbody tr td,perspective-viewer[theme=Vaporwave] regular-table table tbody tr th{border-top-color:#132132!important}perspective-viewer[theme=Vaporwave] regular-table table tbody th:empty{background:linear-gradient(to right,transparent 9px,rgb(19,33,50)10px,transparent 11px);background-repeat:no-repeat;background-position:0px -10px}perspective-viewer[theme=Vaporwave]{--d3fc-axis-ticks--color:#49acff;--d3fc-gridline--color:rgb(19,33,50);--d3fc-series:#01cdfe;--d3fc-series-1:#01cdfe;--d3fc-series-2:#ff71ce;--d3fc-series-3:#05ffa1;--d3fc-series-4:#b967ff;--d3fc-series-5:#fffb96;--d3fc-series-6:hsl(192,99%,25%);--d3fc-series-7:hsl(321,100%,36%);--d3fc-series-8:hsl(192,99%,25%);--d3fc-series-9:hsl(157,100%,25%);--d3fc-series-10:hsl(272,100%,35%);--d3fc-negative--gradient:linear-gradient(#f3d431,#efb92d,#ed9c25,#eb7e20,#e75d1e,#d14632,#b03e38,#8c3a36,#643633,#07081d)!important;--d3fc-positive--gradient:linear-gradient(#07081d,#2e4463,#1e588a,#086da7,#0082b9,#039ac7,#12b1d4,#2bc8e2,#3ddff0,#61f4fb)!important;--d3fc-full--gradient:linear-gradient(#f3d431,#efb92d,#ed9c25,#eb7e20,#e75d1e,#d14632,#b03e38,#8c3a36,#643633,#07081d,#2e4463,#1e588a,#086da7,#0082b9,#039ac7,#12b1d4,#2bc8e2,#3ddff0,#61f4fb)!important}perspective-copy-menu[theme=Vaporwave],perspective-export-menu[theme=Vaporwave],perspective-dropdown[theme=Vaporwave],perspective-date-column-style[theme=Vaporwave],perspective-datetime-column-style[theme=Vaporwave],perspective-number-column-style[theme=Vaporwave],perspective-string-column-style[theme=Vaporwave]{background-color:#fff;border:1px solid var(--inactive--color);border-radius:0 0 2px 2px;--column-style-pos-color--content:"+";--column-style-neg-color--content:"-";--save-button-icon--content:"save";--reset-button-icon--content:"refresh";font-family:Roboto Mono;--preload-fonts:"Roboto Mono:400";--interface-monospace--font-family:"Roboto Mono";color:#161616;background-color:transparent;--icon--color:#161616;--inactive--color:#ABABAB;--inactive--border-color:#DADADA;--root--background:#ffffff;--active--color:#2670a9;--error--color:#ff471e;--plugin--background:#ffffff;--overflow-hint-icon--color:rgba(0,0,0,.2);--select--background-color:none;--column-drop-container--background:none;--warning--background:#042121;--warning--color:#FDFFFD;--overflow-hint-icon--color:#FDFFFD;color:#fff;--icon--color:white;--active--color:#2770a9;--error--color:#ff9485;--inactive--color:#4c505b;--plugin--background:#242526;--modal-target--background:rgba(255,255,255,.05);--active--background:rgba(39,113,170,.5);--expression--operator-color:#c5c9d0;--expression--function-color:#22a0ce;--expression--error-color:rgb(255,136,136);--calendar--filter:invert(1);--warning--color:#242526;--warning--background:var(--icon--color);--float--column-type--color:#7dc3f0;--string--column-type--color:#ff9485;--date--column-type--color:@green50;--boolean--column-type--color:@orange50;--code-editor-symbol--color:white;--code-editor-literal--color:#7dc3f0;--code-editor-operator--color:rgb(23,166,123);--code-editor-comment--color:rgb(204,120,48);background-color:#242526;border:1px solid#4c505b;color:#49acff;background-color:#07081d!important;--icon--color:#49acff;--inactive--color:rgb(19,33,50)!important;--inactive--border-color:var(--inactive--color);--plugin--background:rgb(7,8,29)!important;background-color:#07081d}html{font-family:Roboto Mono}perspective-workspace{position:absolute;inset:0}
@@ -0,0 +1,15 @@
1
+ <html>
2
+ <head>
3
+ <meta charset="UTF-8" />
4
+ <title>raydar</title>
5
+ <meta name="description" content="raydar" />
6
+ <meta name="author" content="The raydar authors" />
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
9
+ <link rel="stylesheet" href="static/index.css" />
10
+ <script type="module" src="static/index.js"></script>
11
+ </head>
12
+ <body>
13
+ <perspective-workspace></perspective-workspace>
14
+ </body>
15
+ </html>