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 +6 -0
- raydar/dashboard/__init__.py +1 -0
- raydar/dashboard/demo.py +45 -0
- raydar/dashboard/server.py +140 -0
- raydar/dashboard/static/index.css +1 -0
- raydar/dashboard/static/index.html +15 -0
- raydar/dashboard/static/index.js +674 -0
- raydar/dashboard/static/layouts/default.json +1 -0
- raydar/task_tracker/__init__.py +1 -0
- raydar/task_tracker/schema.py +82 -0
- raydar/task_tracker/task_tracker.py +364 -0
- raydar/tests/__init__.py +0 -0
- raydar/tests/conftest.py +48 -0
- raydar/tests/test_task_tracker.py +23 -0
- raydar-0.2.0.dist-info/METADATA +458 -0
- raydar-0.2.0.dist-info/RECORD +18 -0
- raydar-0.2.0.dist-info/WHEEL +4 -0
- raydar-0.2.0.dist-info/licenses/LICENSE +201 -0
raydar/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .server import PerspectiveProxyRayServer, PerspectiveRayServer
|
raydar/dashboard/demo.py
ADDED
|
@@ -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>
|