@malloydata/render 0.0.161-dev240806203316 → 0.0.161
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.
- package/dist/component/register-webcomponent.d.ts +13 -0
- package/dist/component/render-webcomponent.d.ts +1 -6
- package/dist/register/register.mjs +91280 -0
- package/dist/register/register.umd.js +1475 -0
- package/dist/register/style.css +1 -0
- package/dist/webcomponent/malloy-render.mjs +31 -20
- package/dist/webcomponent/malloy-render.umd.js +3 -3
- package/package.json +5 -4
- package/vite.config.webcomponent-register.ts +23 -0
- package/vite.config.webcomponent.ts +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(G3){typeof define=="function"&&define.amd?define(G3):G3()})(function(){"use strict";function G3(t){return Object.keys(t).reduce((n,r)=>{const i=t[r];return n[r]=Object.assign({},i),wP(i.value)&&!u0e(i.value)&&!Array.isArray(i.value)&&(n[r].value=Object.assign({},i.value)),Array.isArray(i.value)&&(n[r].value=i.value.slice(0)),n},{})}function r0e(t){return t?Object.keys(t).reduce((n,r)=>{const i=t[r];return n[r]=wP(i)&&"value"in i?i:{value:i},n[r].attribute||(n[r].attribute=o0e(r)),n[r].parse="parse"in n[r]?n[r].parse:typeof n[r].value!="string",n},{}):{}}function i0e(t){return Object.keys(t).reduce((n,r)=>(n[r]=t[r].value,n),{})}function s0e(t,e){const n=G3(e);return Object.keys(e).forEach(i=>{const s=n[i],o=t.getAttribute(s.attribute),u=t[i];o&&(s.value=s.parse?DP(o):o),u!=null&&(s.value=Array.isArray(u)?u.slice(0):u),s.reflect&&FP(t,s.attribute,s.value),Object.defineProperty(t,i,{get(){return s.value},set(a){const l=s.value;s.value=a,s.reflect&&FP(this,s.attribute,s.value);for(let c=0,f=this.__propertyChangedCallbacks.length;c<f;c++)this.__propertyChangedCallbacks[c](i,a,l)},enumerable:!0,configurable:!0})}),n}function DP(t){if(t)try{return JSON.parse(t)}catch{return t}}function FP(t,e,n){if(n==null||n===!1)return t.removeAttribute(e);let r=JSON.stringify(n);t.__updating[e]=!0,r==="true"&&(r=""),t.setAttribute(e,r),Promise.resolve().then(()=>delete t.__updating[e])}function o0e(t){return t.replace(/\.?([A-Z]+)/g,(e,n)=>"-"+n.toLowerCase()).replace("_","-").replace(/^-/,"")}function wP(t){return t!=null&&(typeof t=="object"||typeof t=="function")}function u0e(t){return Object.prototype.toString.call(t)==="[object Function]"}function a0e(t){return typeof t=="function"&&t.toString().indexOf("class")===0}let yD;function l0e(t,e){const n=Object.keys(e);return class extends t{static get observedAttributes(){return n.map(i=>e[i].attribute)}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={}}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=s0e(this,e);const i=i0e(this.props),s=this.Component,o=yD;try{yD=this,this.__initialized=!0,a0e(s)?new s(i,{element:this}):s(i,{element:this})}finally{yD=o}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let i=null;for(;i=this.__releaseCallbacks.pop();)i(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(i,s,o){if(this.__initialized&&!this.__updating[i]&&(i=this.lookupProp(i),i in e)){if(o==null&&!this[i])return;this[i]=e[i].parse?DP(o):o}}lookupProp(i){if(e)return n.find(s=>i===s||i===e[s].attribute)}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(i){this.__releaseCallbacks.push(i)}addPropertyChangedCallback(i){this.__propertyChangedCallbacks.push(i)}}}function c0e(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function f0e(t,e={},n={}){const{BaseElement:r=HTMLElement,extension:i}=n;return s=>{if(!t)throw new Error("tag is required to register a Component");let o=customElements.get(t);return o?(o.prototype.Component=s,o):(o=l0e(r,r0e(e)),o.prototype.Component=s,o.prototype.registeredTag=t,customElements.define(t,o,i),o)}}const x0e=(t,e)=>t===e,ED=Symbol("solid-proxy"),d0e=Symbol("solid-track"),W3={equals:x0e};let LP=jP;const u0=1,V3=2,IP={owned:null,cleanups:null,context:null,owner:null};var Zt=null;let AD=null,h0e=null,jn=null,Pr=null,Ma=null,Y3=0;function K3(t,e){const n=jn,r=Zt,i=t.length===0,s=e===void 0?r:e,o=i?IP:{owned:null,cleanups:null,context:s?s.context:null,owner:s},u=i?t:()=>t(()=>Do(()=>Z3(o)));Zt=o,jn=null;try{return ng(u,!0)}finally{jn=n,Zt=r}}function SD(t,e){e=e?Object.assign({},W3,e):W3;const n={value:t,observers:null,observerSlots:null,comparator:e.equals||void 0},r=i=>(typeof i=="function"&&(i=i(n.value)),MP(n,i));return[PP.bind(n),r]}function a0(t,e,n){const r=_D(t,e,!1,u0);tg(r)}function vD(t,e,n){LP=y0e;const r=_D(t,e,!1,u0);(!n||!n.render)&&(r.user=!0),Ma?Ma.push(r):tg(r)}function Vs(t,e,n){n=n?Object.assign({},W3,n):W3;const r=_D(t,e,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,tg(r),PP.bind(r)}function Do(t){if(jn===null)return t();const e=jn;jn=null;try{return t()}finally{jn=e}}function p0e(t){return Zt===null||(Zt.cleanups===null?Zt.cleanups=[t]:Zt.cleanups.push(t)),t}function $P(t,e){const n=Symbol("context");return{id:n,Provider:A0e(n),defaultValue:t}}function BP(t){return Zt&&Zt.context&&Zt.context[t.id]!==void 0?Zt.context[t.id]:t.defaultValue}function kP(t){const e=Vs(t),n=Vs(()=>CD(e()));return n.toArray=()=>{const r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}function PP(){if(this.sources&&this.state)if(this.state===u0)tg(this);else{const t=Pr;Pr=null,ng(()=>J3(this),!1),Pr=t}if(jn){const t=this.observers?this.observers.length:0;jn.sources?(jn.sources.push(this),jn.sourceSlots.push(t)):(jn.sources=[this],jn.sourceSlots=[t]),this.observers?(this.observers.push(jn),this.observerSlots.push(jn.sources.length-1)):(this.observers=[jn],this.observerSlots=[jn.sources.length-1])}return this.value}function MP(t,e,n){let r=t.value;return(!t.comparator||!t.comparator(r,e))&&(t.value=e,t.observers&&t.observers.length&&ng(()=>{for(let i=0;i<t.observers.length;i+=1){const s=t.observers[i],o=AD&&AD.running;o&&AD.disposed.has(s),(o?!s.tState:!s.state)&&(s.pure?Pr.push(s):Ma.push(s),s.observers&&UP(s)),o||(s.state=u0)}if(Pr.length>1e6)throw Pr=[],new Error},!1)),e}function tg(t){if(!t.fn)return;Z3(t);const e=Y3;g0e(t,t.value,e)}function g0e(t,e,n){let r;const i=Zt,s=jn;jn=Zt=t;try{r=t.fn(e)}catch(o){return t.pure&&(t.state=u0,t.owned&&t.owned.forEach(Z3),t.owned=null),t.updatedAt=n+1,qP(o)}finally{jn=s,Zt=i}(!t.updatedAt||t.updatedAt<=n)&&(t.updatedAt!=null&&"observers"in t?MP(t,r):t.value=r,t.updatedAt=n)}function _D(t,e,n,r=u0,i){const s={fn:t,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:Zt,context:Zt?Zt.context:null,pure:n};return Zt===null||Zt!==IP&&(Zt.owned?Zt.owned.push(s):Zt.owned=[s]),s}function X3(t){if(t.state===0)return;if(t.state===V3)return J3(t);if(t.suspense&&Do(t.suspense.inFallback))return t.suspense.effects.push(t);const e=[t];for(;(t=t.owner)&&(!t.updatedAt||t.updatedAt<Y3);)t.state&&e.push(t);for(let n=e.length-1;n>=0;n--)if(t=e[n],t.state===u0)tg(t);else if(t.state===V3){const r=Pr;Pr=null,ng(()=>J3(t,e[0]),!1),Pr=r}}function ng(t,e){if(Pr)return t();let n=!1;e||(Pr=[]),Ma?n=!0:Ma=[],Y3++;try{const r=t();return m0e(n),r}catch(r){n||(Ma=null),Pr=null,qP(r)}}function m0e(t){if(Pr&&(jP(Pr),Pr=null),t)return;const e=Ma;Ma=null,e.length&&ng(()=>LP(e),!1)}function jP(t){for(let e=0;e<t.length;e++)X3(t[e])}function y0e(t){let e,n=0;for(e=0;e<t.length;e++){const r=t[e];r.user?t[n++]=r:X3(r)}for(e=0;e<n;e++)X3(t[e])}function J3(t,e){t.state=0;for(let n=0;n<t.sources.length;n+=1){const r=t.sources[n];if(r.sources){const i=r.state;i===u0?r!==e&&(!r.updatedAt||r.updatedAt<Y3)&&X3(r):i===V3&&J3(r,e)}}}function UP(t){for(let e=0;e<t.observers.length;e+=1){const n=t.observers[e];n.state||(n.state=V3,n.pure?Pr.push(n):Ma.push(n),n.observers&&UP(n))}}function Z3(t){let e;if(t.sources)for(;t.sources.length;){const n=t.sources.pop(),r=t.sourceSlots.pop(),i=n.observers;if(i&&i.length){const s=i.pop(),o=n.observerSlots.pop();r<i.length&&(s.sourceSlots[o]=r,i[r]=s,n.observerSlots[r]=o)}}if(t.owned){for(e=t.owned.length-1;e>=0;e--)Z3(t.owned[e]);t.owned=null}if(t.cleanups){for(e=t.cleanups.length-1;e>=0;e--)t.cleanups[e]();t.cleanups=null}t.state=0}function E0e(t){return t instanceof Error?t:new Error(typeof t=="string"?t:"Unknown error",{cause:t})}function qP(t,e=Zt){throw E0e(t)}function CD(t){if(typeof t=="function"&&!t.length)return CD(t());if(Array.isArray(t)){const e=[];for(let n=0;n<t.length;n++){const r=CD(t[n]);Array.isArray(r)?e.push.apply(e,r):e.push(r)}return e}return t}function A0e(t,e){return function(r){let i;return a0(()=>i=Do(()=>(Zt.context={...Zt.context,[t]:r.value},kP(()=>r.children))),void 0),i}}const S0e=Symbol("fallback");function HP(t){for(let e=0;e<t.length;e++)t[e]()}function v0e(t,e,n={}){let r=[],i=[],s=[],o=0,u=e.length>1?[]:null;return p0e(()=>HP(s)),()=>{let a=t()||[],l,c;return a[d0e],Do(()=>{let x=a.length,h,p,m,g,y,E,A,S,v;if(x===0)o!==0&&(HP(s),s=[],r=[],i=[],o=0,u&&(u=[])),n.fallback&&(r=[S0e],i[0]=K3(_=>(s[0]=_,n.fallback())),o=1);else if(o===0){for(i=new Array(x),c=0;c<x;c++)r[c]=a[c],i[c]=K3(f);o=x}else{for(m=new Array(x),g=new Array(x),u&&(y=new Array(x)),E=0,A=Math.min(o,x);E<A&&r[E]===a[E];E++);for(A=o-1,S=x-1;A>=E&&S>=E&&r[A]===a[S];A--,S--)m[S]=i[A],g[S]=s[A],u&&(y[S]=u[A]);for(h=new Map,p=new Array(S+1),c=S;c>=E;c--)v=a[c],l=h.get(v),p[c]=l===void 0?-1:l,h.set(v,c);for(l=E;l<=A;l++)v=r[l],c=h.get(v),c!==void 0&&c!==-1?(m[c]=i[l],g[c]=s[l],u&&(y[c]=u[l]),c=p[c],h.set(v,c)):s[l]();for(c=E;c<x;c++)c in m?(i[c]=m[c],s[c]=g[c],u&&(u[c]=y[c],u[c](c))):i[c]=K3(f);i=i.slice(0,o=x),r=a.slice(0)}return i});function f(x){if(s[c]=x,u){const[h,p]=SD(c);return u[c]=p,e(a[c],h)}return e(a[c])}}}function En(t,e){return Do(()=>t(e||{}))}function eA(){return!0}const _0e={get(t,e,n){return e===ED?n:t.get(e)},has(t,e){return e===ED?!0:t.has(e)},set:eA,deleteProperty:eA,getOwnPropertyDescriptor(t,e){return{configurable:!0,enumerable:!0,get(){return t.get(e)},set:eA,deleteProperty:eA}},ownKeys(t){return t.keys()}};function bD(t){return(t=typeof t=="function"?t():t)?t:{}}function C0e(){for(let t=0,e=this.length;t<e;++t){const n=this[t]();if(n!==void 0)return n}}function b0e(...t){let e=!1;for(let o=0;o<t.length;o++){const u=t[o];e=e||!!u&&ED in u,t[o]=typeof u=="function"?(e=!0,Vs(u)):u}if(e)return new Proxy({get(o){for(let u=t.length-1;u>=0;u--){const a=bD(t[u])[o];if(a!==void 0)return a}},has(o){for(let u=t.length-1;u>=0;u--)if(o in bD(t[u]))return!0;return!1},keys(){const o=[];for(let u=0;u<t.length;u++)o.push(...Object.keys(bD(t[u])));return[...new Set(o)]}},_0e);const n={},r=Object.create(null);for(let o=t.length-1;o>=0;o--){const u=t[o];if(!u)continue;const a=Object.getOwnPropertyNames(u);for(let l=a.length-1;l>=0;l--){const c=a[l];if(c==="__proto__"||c==="constructor")continue;const f=Object.getOwnPropertyDescriptor(u,c);if(!r[c])r[c]=f.get?{enumerable:!0,configurable:!0,get:C0e.bind(n[c]=[f.get.bind(u)])}:f.value!==void 0?f:void 0;else{const x=n[c];x&&(f.get?x.push(f.get.bind(u)):f.value!==void 0&&x.push(()=>f.value))}}}const i={},s=Object.keys(r);for(let o=s.length-1;o>=0;o--){const u=s[o],a=r[u];a&&a.get?Object.defineProperty(i,u,a):i[u]=a?a.value:void 0}return i}const zP=t=>`Stale read from <${t}>.`;function T0e(t){const e="fallback"in t&&{fallback:()=>t.fallback};return Vs(v0e(()=>t.each,t.children,e||void 0))}function QP(t){const e=t.keyed,n=Vs(()=>t.when,void 0,{equals:(r,i)=>e?r===i:!r==!i});return Vs(()=>{const r=n();if(r){const i=t.children;return typeof i=="function"&&i.length>0?Do(()=>i(e?r:()=>{if(!Do(n))throw zP("Show");return t.when})):i}return t.fallback},void 0,void 0)}function GP(t){let e=!1;const n=(s,o)=>(e?s[1]===o[1]:!s[1]==!o[1])&&s[2]===o[2],r=kP(()=>t.children),i=Vs(()=>{let s=r();Array.isArray(s)||(s=[s]);for(let o=0;o<s.length;o++){const u=s[o].when;if(u)return e=!!s[o].keyed,[o,u,s[o]]}return[-1]},void 0,{equals:n});return Vs(()=>{const[s,o,u]=i();if(s<0)return t.fallback;const a=u.children;return typeof a=="function"&&a.length>0?Do(()=>a(e?o:()=>{if(Do(i)[0]!==s)throw zP("Match");return u.when})):a},void 0,void 0)}function TD(t){return t}function R0e(t,e,n){let r=n.length,i=e.length,s=r,o=0,u=0,a=e[i-1].nextSibling,l=null;for(;o<i||u<s;){if(e[o]===n[u]){o++,u++;continue}for(;e[i-1]===n[s-1];)i--,s--;if(i===o){const c=s<r?u?n[u-1].nextSibling:n[s-u]:a;for(;u<s;)t.insertBefore(n[u++],c)}else if(s===u)for(;o<i;)(!l||!l.has(e[o]))&&e[o].remove(),o++;else if(e[o]===n[s-1]&&n[u]===e[i-1]){const c=e[--i].nextSibling;t.insertBefore(n[u++],e[o++].nextSibling),t.insertBefore(n[--s],c),e[i]=n[s]}else{if(!l){l=new Map;let f=u;for(;f<s;)l.set(n[f],f++)}const c=l.get(e[o]);if(c!=null)if(u<c&&c<s){let f=o,x=1,h;for(;++f<i&&f<s&&!((h=l.get(e[f]))==null||h!==c+x);)x++;if(x>c-u){const p=e[o];for(;u<c;)t.insertBefore(n[u++],p)}else t.replaceChild(n[u++],e[o++])}else o++;else e[o++].remove()}}}function Zc(t,e,n){let r;const i=()=>{const o=document.createElement("template");return o.innerHTML=t,n?o.content.firstChild.firstChild:o.content.firstChild},s=e?()=>Do(()=>document.importNode(r||(r=i()),!0)):()=>(r||(r=i())).cloneNode(!0);return s.cloneNode=s,s}function O0e(t,e,n){n==null?t.removeAttribute(e):t.setAttribute(e,n)}function N0e(t,e,n){if(!e)return n?O0e(t,"style"):e;const r=t.style;if(typeof e=="string")return r.cssText=e;typeof n=="string"&&(r.cssText=n=void 0),n||(n={}),e||(e={});let i,s;for(s in n)e[s]==null&&r.removeProperty(s),delete n[s];for(s in e)i=e[s],i!==n[s]&&(r.setProperty(s,i),n[s]=i);return n}function D0e(t,e,n){return Do(()=>t(e,n))}function ja(t,e,n,r){if(n!==void 0&&!r&&(r=[]),typeof e!="function")return tA(t,e,r,n);a0(i=>tA(t,e(),i,n),r)}function tA(t,e,n,r,i){for(;typeof n=="function";)n=n();if(e===n)return n;const s=typeof e,o=r!==void 0;if(t=o&&n[0]&&n[0].parentNode||t,s==="string"||s==="number")if(s==="number"&&(e=e.toString()),o){let u=n[0];u&&u.nodeType===3?u.data!==e&&(u.data=e):u=document.createTextNode(e),n=Pd(t,n,r,u)}else n!==""&&typeof n=="string"?n=t.firstChild.data=e:n=t.textContent=e;else if(e==null||s==="boolean")n=Pd(t,n,r);else{if(s==="function")return a0(()=>{let u=e();for(;typeof u=="function";)u=u();n=tA(t,u,n,r)}),()=>n;if(Array.isArray(e)){const u=[],a=n&&Array.isArray(n);if(RD(u,e,n,i))return a0(()=>n=tA(t,u,n,r,!0)),()=>n;if(u.length===0){if(n=Pd(t,n,r),o)return n}else a?n.length===0?WP(t,u,r):R0e(t,n,u):(n&&Pd(t),WP(t,u));n=u}else if(e.nodeType){if(Array.isArray(n)){if(o)return n=Pd(t,n,r,e);Pd(t,n,null,e)}else n==null||n===""||!t.firstChild?t.appendChild(e):t.replaceChild(e,t.firstChild);n=e}}return n}function RD(t,e,n,r){let i=!1;for(let s=0,o=e.length;s<o;s++){let u=e[s],a=n&&n[t.length],l;if(!(u==null||u===!0||u===!1))if((l=typeof u)=="object"&&u.nodeType)t.push(u);else if(Array.isArray(u))i=RD(t,u,a)||i;else if(l==="function")if(r){for(;typeof u=="function";)u=u();i=RD(t,Array.isArray(u)?u:[u],Array.isArray(a)?a:[a])||i}else t.push(u),i=!0;else{const c=String(u);a&&a.nodeType===3&&a.data===c?t.push(a):t.push(document.createTextNode(c))}}return i}function WP(t,e,n=null){for(let r=0,i=e.length;r<i;r++)t.insertBefore(e[r],n)}function Pd(t,e,n,r){if(n===void 0)return t.textContent="";const i=r||document.createTextNode("");if(e.length){let s=!1;for(let o=e.length-1;o>=0;o--){const u=e[o];if(i!==u){const a=u.parentNode===t;!s&&!o?a?t.replaceChild(i,u):t.insertBefore(i,n):a&&u.remove()}else s=!0}}else t.insertBefore(i,n);return[i]}function F0e(t){const e=Object.keys(t),n={};for(let r=0;r<e.length;r++){const[i,s]=SD(t[e[r]]);Object.defineProperty(n,e[r],{get:i,set(o){s(()=>o)}})}return n}function w0e(t){if(t.assignedSlot&&t.assignedSlot._$owner)return t.assignedSlot._$owner;let e=t.parentNode;for(;e&&!e._$owner&&!(e.assignedSlot&&e.assignedSlot._$owner);)e=e.parentNode;return e&&e.assignedSlot?e.assignedSlot._$owner:t._$owner}function L0e(t){return(e,n)=>{const{element:r}=n;return K3(i=>{const s=F0e(e);r.addPropertyChangedCallback((u,a)=>s[u]=a),r.addReleaseCallback(()=>{r.renderRoot.textContent="",i()});const o=t(s,n);return ja(r.renderRoot,o)},w0e(r))}}var N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function OD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function I0e(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}var VP={},rg={},me={};Object.defineProperty(me,"__esModule",{value:!0}),me.overload=me.minAnalytic=me.minAggregate=me.minScalar=me.maxAnalytic=me.maxUngroupedAggregate=me.anyExprType=me.maxAggregate=me.maxScalar=me.makeParam=me.param=me.params=me.literal=me.output=me.constant=me.sql=me.sqlFragment=me.spread=me.arg=void 0;function YP(t){return{type:"function_parameter",name:t}}me.arg=YP;function $0e(t,e=void 0,n=void 0){return{type:"spread",e:[t],prefix:e,suffix:n}}me.spread=$0e;function B0e(...t){return{type:"sql_expression",e:t}}me.sqlFragment=B0e;function k0e(t,...e){return[{type:"sql_expression",e:P0e([...t],e)}]}me.sql=k0e;function P0e(t,e){const n=[];for(let r=0;r<t.length;r++)n.push(t[r]),r<e.length&&n.push(e[r]);return n}function M0e(t){return{...t,evalSpace:"constant"}}me.constant=M0e;function j0e(t){return{...t,evalSpace:"output"}}me.output=j0e;function U0e(t){return{...t,evalSpace:"literal"}}me.literal=U0e;function q0e(t,...e){return{name:t,isVariadic:!0,allowedTypes:e}}me.params=q0e;function KP(t,...e){return{name:t,isVariadic:!1,allowedTypes:e}}me.param=KP;function H0e(t,...e){return{param:KP(t,...e),arg:YP(t)}}me.makeParam=H0e;function z0e(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}me.maxScalar=z0e;function Q0e(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}me.maxAggregate=Q0e;function G0e(t){return{dataType:t,expressionType:void 0,evalSpace:"input"}}me.anyExprType=G0e;function W0e(t){return{dataType:t,expressionType:"ungrouped_aggregate",evalSpace:"input"}}me.maxUngroupedAggregate=W0e;function V0e(t){return{dataType:t,expressionType:"aggregate_analytic",evalSpace:"input"}}me.maxAnalytic=V0e;function Y0e(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}me.minScalar=Y0e;function K0e(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}me.minAggregate=K0e;function X0e(t){return{dataType:t,expressionType:"scalar_analytic",evalSpace:"input"}}me.minAnalytic=X0e;function J0e(t,e,n,r){return{returnType:t,params:e,e:n,needsWindowOrderBy:r==null?void 0:r.needsWindowOrderBy,between:r==null?void 0:r.between,isSymmetric:r==null?void 0:r.isSymmetric,supportsOrderBy:r==null?void 0:r.supportsOrderBy,defaultOrderByArgIndex:r==null?void 0:r.defaultOrderByArgIndex,supportsLimit:r==null?void 0:r.supportsLimit}}me.overload=J0e;var ef={},ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.isIndexSegment=ee.isRawSegment=ee.isSamplingEnable=ee.isSamplingPercent=ee.isSamplingRows=ee.isQuerySegment=ee.isProjectSegment=ee.isPartialSegment=ee.isReduceSegment=ee.structHasErrors=ee.segmentHasErrors=ee.refIsStructDef=ee.isByExpression=ee.isByName=ee.ValueType=ee.isExtractUnit=ee.isTimestampUnit=ee.isDateUnit=ee.FieldIsIntrinsic=ee.isCastType=ee.isAtomicFieldType=ee.isTimeFieldType=ee.hasExpression=ee.maxOfExpressionTypes=ee.maxExpressionType=ee.isExpressionTypeLEQ=ee.expressionIsAnalytic=ee.expressionIsCalculation=ee.expressionInvolvesAggregate=ee.expressionIsUngroupedAggregate=ee.expressionIsAggregate=ee.expressionIsScalar=ee.mkExpr=ee.isApplyFragment=ee.isApplyValue=ee.isParameterFragment=ee.isSourceReferenceFragment=ee.isSqlStringFragment=ee.isFieldFragment=ee.isSpreadFragment=ee.isSQLExpressionFragment=ee.isFunctionCallFragment=ee.isFunctionParameterFragment=ee.isUngroupFragment=ee.isAsymmetricFragment=ee.isAggregateFragment=ee.isDialectFragment=ee.isFilterFragment=ee.isOutputFieldFragment=ee.paramHasValue=void 0,ee.isValueDate=ee.isValueTimestamp=ee.isValueBoolean=ee.isValueNumber=ee.isValueString=ee.isMeasureLike=ee.getPhysicalFields=ee.getDimensions=ee.isPhysical=ee.isDimensional=ee.isAtomicField=ee.isTurtleDef=ee.getIdentifier=ee.isFieldStructDef=ee.isFieldTimeBased=ee.isFieldTypeDef=ee.isSQLBlockStruct=ee.mergeEvalSpaces=ee.isLiteral=ee.isSQLFragment=ee.isJoinOn=ee.isMatrixOperation=void 0;function Z0e(t){return t.value!==null}ee.paramHasValue=Z0e;function ece(t){return(t==null?void 0:t.type)==="outputField"}ee.isOutputFieldFragment=ece;function tce(t){return(t==null?void 0:t.type)==="filterExpression"}ee.isFilterFragment=tce;function nce(t){return(t==null?void 0:t.type)==="dialect"}ee.isDialectFragment=nce;function XP(t){return(t==null?void 0:t.type)==="aggregate"}ee.isAggregateFragment=XP;function rce(t){return XP(t)&&["sum","avg","count"].includes(t.function)}ee.isAsymmetricFragment=rce;function ice(t){const e=t==null?void 0:t.type;return e==="all"||e==="exclude"}ee.isUngroupFragment=ice;function sce(t){return(t==null?void 0:t.type)==="function_parameter"}ee.isFunctionParameterFragment=sce;function oce(t){return(t==null?void 0:t.type)==="function_call"}ee.isFunctionCallFragment=oce;function uce(t){return(t==null?void 0:t.type)==="sql_expression"}ee.isSQLExpressionFragment=uce;function ace(t){return(t==null?void 0:t.type)==="spread"}ee.isSpreadFragment=ace;function lce(t){return(t==null?void 0:t.type)==="field"}ee.isFieldFragment=lce;function cce(t){return(t==null?void 0:t.type)==="sql-string"}ee.isSqlStringFragment=cce;function fce(t){return(t==null?void 0:t.type)==="source-reference"}ee.isSourceReferenceFragment=fce;function xce(t){return(t==null?void 0:t.type)==="parameter"}ee.isParameterFragment=xce;function dce(t){return(t==null?void 0:t.type)==="applyVal"}ee.isApplyValue=dce;function hce(t){return(t==null?void 0:t.type)==="apply"}ee.isApplyFragment=hce;function pce(t,...e){const n=[];let r;for(r=0;r<e.length;r++){const i=e[r];t[r].length>0&&n.push(t[r]),typeof i=="string"?n.push(i):n.push(...i)}return t[r].length>0&&n.push(t[r]),n}ee.mkExpr=pce;function gce(t){return t===void 0||t==="scalar"}ee.expressionIsScalar=gce;function mce(t){return t==="aggregate"||t==="ungrouped_aggregate"}ee.expressionIsAggregate=mce;function yce(t){return t==="ungrouped_aggregate"}ee.expressionIsUngroupedAggregate=yce;function Ece(t){return t==="aggregate"||t==="ungrouped_aggregate"||t==="aggregate_analytic"}ee.expressionInvolvesAggregate=Ece;function Ace(t){return t==="aggregate"||t==="scalar_analytic"||t==="aggregate_analytic"||t==="ungrouped_aggregate"}ee.expressionIsCalculation=Ace;function Sce(t){return t==="aggregate_analytic"||t==="scalar_analytic"}ee.expressionIsAnalytic=Sce;function JP(t){return{scalar:0,aggregate:1,ungrouped_aggregate:2,scalar_analytic:2,aggregate_analytic:3}[t]}function vce(t,e){return t===e||JP(t)<JP(e)}ee.isExpressionTypeLEQ=vce;function ZP(t,e){let n="scalar";return(t==="aggregate"||e==="aggregate")&&(n="aggregate"),(t==="ungrouped_aggregate"||e==="ungrouped_aggregate")&&(n="ungrouped_aggregate"),(t==="scalar_analytic"||e==="scalar_analytic")&&(n="scalar_analytic"),(t==="aggregate_analytic"||e==="aggregate_analytic")&&(n="aggregate_analytic"),(t==="scalar_analytic"&&e==="aggregate"||t==="aggregate"&&e==="scalar_analytic")&&(n="aggregate_analytic"),n}ee.maxExpressionType=ZP;function _ce(t){return t.reduce(ZP,"scalar")}ee.maxOfExpressionTypes=_ce;function eM(t){return t.e!==void 0}ee.hasExpression=eM;function Cce(t){return t==="date"||t==="timestamp"}ee.isTimeFieldType=Cce;function ND(t){return["string","number","date","timestamp","boolean","json","sql native","error"].includes(t)}ee.isAtomicFieldType=ND;function bce(t){return["string","number","date","timestamp","boolean","json"].includes(t)}ee.isCastType=bce;function Tce(t){return ND(t.type)&&!eM(t)?!0:t.type==="struct"&&(t.structSource.type==="inline"||t.structSource.type==="nested")}ee.FieldIsIntrinsic=Tce;function tM(t){return["day","week","month","quarter","year"].includes(t)}ee.isDateUnit=tM;function nM(t){return tM(t)||["hour","minute","second"].includes(t)}ee.isTimestampUnit=nM;function Rce(t){return nM(t)||t==="day_of_week"||t==="day_of_year"}ee.isExtractUnit=Rce;var rM;(function(t){t.Date="date",t.Timestamp="timestamp",t.Number="number",t.String="string"})(rM||(ee.ValueType=rM={}));function Oce(t){return t===void 0?!1:t.by==="name"}ee.isByName=Oce;function Nce(t){return t===void 0?!1:t.by==="name"}ee.isByExpression=Nce;function Dce(t){return typeof t!="string"&&t.type==="struct"}ee.refIsStructDef=Dce;function Fce(t){return!!((t.type==="reduce"||t.type==="project"||t.type==="partial")&&(t.extendSource&&t.extendSource.some(e=>e.type==="error")||t.queryFields.some(e=>e.type==="error")))}ee.segmentHasErrors=Fce;function wce(t){return t.fields.some(e=>e.type==="error")}ee.structHasErrors=wce;function iM(t){return t.type==="reduce"}ee.isReduceSegment=iM;function Lce(t){return t.type==="partial"}ee.isPartialSegment=Lce;function sM(t){return t.type==="project"}ee.isProjectSegment=sM;function Ice(t){return sM(t)||iM(t)}ee.isQuerySegment=Ice;function $ce(t){return t.rows!==void 0}ee.isSamplingRows=$ce;function Bce(t){return t.percent!==void 0}ee.isSamplingPercent=Bce;function kce(t){return t.enable!==void 0}ee.isSamplingEnable=kce;function Pce(t){return t.type==="raw"}ee.isRawSegment=Pce;function Mce(t){return t.type==="index"}ee.isIndexSegment=Mce;function jce(t){return["left","right","full","inner"].includes(t)}ee.isMatrixOperation=jce;function Uce(t){return["one","many","cross"].includes(t.type)}ee.isJoinOn=Uce;function qce(t){return t.sql!==void 0}ee.isSQLFragment=qce;function Hce(t){return t==="literal"}ee.isLiteral=Hce;function zce(...t){return t.every(e=>e==="constant"||e==="literal")?"constant":t.every(e=>e==="output"||e==="constant"||e==="literal")?"output":"input"}ee.mergeEvalSpaces=zce;function Qce(t){const e=t.structSource;return e.type==="sql"&&e.method==="subquery"}ee.isSQLBlockStruct=Qce;function oM(t){return t.type==="string"||t.type==="date"||t.type==="number"||t.type==="timestamp"||t.type==="boolean"||t.type==="json"}ee.isFieldTypeDef=oM;function Gce(t){return t.type==="date"||t.type==="timestamp"}ee.isFieldTimeBased=Gce;function uM(t){return t.type==="struct"}ee.isFieldStructDef=uM;function Wce(t){return t.as!==void 0?t.as:t.name}ee.getIdentifier=Wce;function Vce(t){return t.type==="turtle"}ee.isTurtleDef=Vce;function Yce(t){return ND(t.type)}ee.isAtomicField=Yce;function aM(t){var e;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension":!1}ee.isDimensional=aM;function lM(t){return oM(t)&&t.e===void 0||uM(t)&&(t.structSource.type==="nested"||t.structSource.type==="inline")}ee.isPhysical=lM;function Kce(t){return t.fields.filter(aM)}ee.getDimensions=Kce;function Xce(t){return t.fields.filter(lM)}ee.getPhysicalFields=Xce;function Jce(t){var e,n;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=t.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct":!1}ee.isMeasureLike=Jce;function Zce(t,e){return e.type==="string"}ee.isValueString=Zce;function efe(t,e){return e.type==="number"}ee.isValueNumber=efe;function tfe(t,e){return e.type==="boolean"}ee.isValueBoolean=tfe;function nfe(t,e){return e.type==="timestamp"}ee.isValueTimestamp=nfe;function rfe(t,e){return e.type==="date"}ee.isValueDate=rfe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Dialect=t.qtz=t.inDays=t.dayIndex=t.isDialectFieldStruct=void 0;const e=ee;function n(u){return u.type==="struct"}t.isDialectFieldStruct=n;const r=["microsecond","millisecond","second","minute","hour","day","week","month","quarter","year"];t.dayIndex=r.indexOf("day");function i(u){return r.indexOf(u)>=t.dayIndex}t.inDays=i;function s(u){const a=u.queryTimezone;if(!(a===void 0||a===u.systemTimezone))return a}t.qtz=s;class o{constructor(){this.cantPartitionWindowFunctionsOnExpressions=!1,this.supportsPipelinesInViews=!0,this.supportsArraysInData=!0,this.readsNestedData=!0,this.orderByClause="ordinal",this.nullMatchesFunctionSignature=!0,this.supportsSelectReplace=!0,this.supportsComplexFilteredSources=!0,this.supportsTempTables=!0,this.hasModOperator=!0,this.supportsLeftJoinUnnest=!0}sqlFinalStage(a,l){throw new Error("Dialect has no final Stage but called Anyway")}sqlDateToString(a){return this.castToString(`DATE(${a})`)}ignoreInProject(a){return!1}sqlLiteralNumber(a){return a}dialectExpr(a,l){switch(l.function){case"now":return this.sqlNow();case"timeDiff":return this.sqlMeasureTime(l.left,l.right,l.units);case"delta":return this.sqlAlterTime(l.op,l.base,l.delta,l.units);case"trunc":return this.sqlTrunc(a,l.expr,l.units);case"extract":return this.sqlExtract(a,l.expr,l.units);case"cast":return this.sqlCast(a,l);case"regexpMatch":return this.sqlRegexpMatch(l.expr,l.regexp);case"div":return this.divisionIsInteger?(0,e.mkExpr)`${l.numerator}*1.0/${l.denominator}`:(0,e.mkExpr)`${l.numerator}/${l.denominator}`;case"mod":return this.hasModOperator?(0,e.mkExpr)`${l.numerator}%${l.denominator}`:(0,e.mkExpr)`mod(${l.numerator},${l.denominator})`;case"timeLiteral":return[this.sqlLiteralTime(a,l.literal,l.literalType,l.timezone)];case"stringLiteral":return[this.sqlLiteralString(l.literal)];case"numberLiteral":return[this.sqlLiteralNumber(l.literal)];case"regexpLiteral":return[this.sqlLiteralRegexp(l.literal)]}}sqlSumDistinct(a,l,c){return"sqlSumDistinct called but not implemented"}sqlAggDistinct(a,l,c){return"sqlAggDistinct called but not implemented"}sqlSampleTable(a,l){if(l!==void 0)throw new Error(`Sampling is not supported on dialect ${this.name}.`);return a}sqlOrderBy(a){return`ORDER BY ${a.join(",")}`}sqlTzStr(a){return`"${a.queryTimezone}"`}sqlMakeUnnestKey(a,l){return this.concat(a,"'x'",l)}sqlStringAggDistinct(a,l,c){const f="__STRING_AGG_KS__",x="__STRING_AGG_KE__";return`REGEXP_REPLACE(
|
|
1
|
+
(function(G3){typeof define=="function"&&define.amd?define(G3):G3()})(function(){"use strict";function G3(t){return Object.keys(t).reduce((n,r)=>{const i=t[r];return n[r]=Object.assign({},i),wP(i.value)&&!u0e(i.value)&&!Array.isArray(i.value)&&(n[r].value=Object.assign({},i.value)),Array.isArray(i.value)&&(n[r].value=i.value.slice(0)),n},{})}function r0e(t){return t?Object.keys(t).reduce((n,r)=>{const i=t[r];return n[r]=wP(i)&&"value"in i?i:{value:i},n[r].attribute||(n[r].attribute=o0e(r)),n[r].parse="parse"in n[r]?n[r].parse:typeof n[r].value!="string",n},{}):{}}function i0e(t){return Object.keys(t).reduce((n,r)=>(n[r]=t[r].value,n),{})}function s0e(t,e){const n=G3(e);return Object.keys(e).forEach(i=>{const s=n[i],o=t.getAttribute(s.attribute),u=t[i];o&&(s.value=s.parse?DP(o):o),u!=null&&(s.value=Array.isArray(u)?u.slice(0):u),s.reflect&&FP(t,s.attribute,s.value,!!s.parse),Object.defineProperty(t,i,{get(){return s.value},set(a){const l=s.value;s.value=a,s.reflect&&FP(this,s.attribute,s.value,!!s.parse);for(let c=0,f=this.__propertyChangedCallbacks.length;c<f;c++)this.__propertyChangedCallbacks[c](i,a,l)},enumerable:!0,configurable:!0})}),n}function DP(t){if(t)try{return JSON.parse(t)}catch{return t}}function FP(t,e,n,r){if(n==null||n===!1)return t.removeAttribute(e);let i=r?JSON.stringify(n):n;t.__updating[e]=!0,i==="true"&&(i=""),t.setAttribute(e,i),Promise.resolve().then(()=>delete t.__updating[e])}function o0e(t){return t.replace(/\.?([A-Z]+)/g,(e,n)=>"-"+n.toLowerCase()).replace("_","-").replace(/^-/,"")}function wP(t){return t!=null&&(typeof t=="object"||typeof t=="function")}function u0e(t){return Object.prototype.toString.call(t)==="[object Function]"}function a0e(t){return typeof t=="function"&&t.toString().indexOf("class")===0}let yD;function l0e(t,e){const n=Object.keys(e);return class extends t{static get observedAttributes(){return n.map(i=>e[i].attribute)}constructor(){super(),this.__initialized=!1,this.__released=!1,this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props={}}connectedCallback(){if(this.__initialized)return;this.__releaseCallbacks=[],this.__propertyChangedCallbacks=[],this.__updating={},this.props=s0e(this,e);const i=i0e(this.props),s=this.Component,o=yD;try{yD=this,this.__initialized=!0,a0e(s)?new s(i,{element:this}):s(i,{element:this})}finally{yD=o}}async disconnectedCallback(){if(await Promise.resolve(),this.isConnected)return;this.__propertyChangedCallbacks.length=0;let i=null;for(;i=this.__releaseCallbacks.pop();)i(this);delete this.__initialized,this.__released=!0}attributeChangedCallback(i,s,o){if(this.__initialized&&!this.__updating[i]&&(i=this.lookupProp(i),i in e)){if(o==null&&!this[i])return;this[i]=e[i].parse?DP(o):o}}lookupProp(i){if(e)return n.find(s=>i===s||i===e[s].attribute)}get renderRoot(){return this.shadowRoot||this.attachShadow({mode:"open"})}addReleaseCallback(i){this.__releaseCallbacks.push(i)}addPropertyChangedCallback(i){this.__propertyChangedCallbacks.push(i)}}}function c0e(...t){return t.length===0?e=>e:t.length===1?t[0]:t.reduce((e,n)=>(...r)=>e(n(...r)))}function f0e(t,e={},n={}){const{BaseElement:r=HTMLElement,extension:i,customElements:s=window.customElements}=n;return o=>{if(!t)throw new Error("tag is required to register a Component");let u=s.get(t);return u?(u.prototype.Component=o,u):(u=l0e(r,r0e(e)),u.prototype.Component=o,u.prototype.registeredTag=t,s.define(t,u,i),u)}}const x0e=(t,e)=>t===e,ED=Symbol("solid-proxy"),d0e=Symbol("solid-track"),W3={equals:x0e};let LP=jP;const u0=1,V3=2,IP={owned:null,cleanups:null,context:null,owner:null};var Zt=null;let AD=null,h0e=null,jn=null,Pr=null,Ma=null,Y3=0;function K3(t,e){const n=jn,r=Zt,i=t.length===0,s=e===void 0?r:e,o=i?IP:{owned:null,cleanups:null,context:s?s.context:null,owner:s},u=i?t:()=>t(()=>Do(()=>Z3(o)));Zt=o,jn=null;try{return ng(u,!0)}finally{jn=n,Zt=r}}function SD(t,e){e=e?Object.assign({},W3,e):W3;const n={value:t,observers:null,observerSlots:null,comparator:e.equals||void 0},r=i=>(typeof i=="function"&&(i=i(n.value)),MP(n,i));return[PP.bind(n),r]}function a0(t,e,n){const r=_D(t,e,!1,u0);tg(r)}function vD(t,e,n){LP=y0e;const r=_D(t,e,!1,u0);(!n||!n.render)&&(r.user=!0),Ma?Ma.push(r):tg(r)}function Vs(t,e,n){n=n?Object.assign({},W3,n):W3;const r=_D(t,e,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,tg(r),PP.bind(r)}function Do(t){if(jn===null)return t();const e=jn;jn=null;try{return t()}finally{jn=e}}function p0e(t){return Zt===null||(Zt.cleanups===null?Zt.cleanups=[t]:Zt.cleanups.push(t)),t}function $P(t,e){const n=Symbol("context");return{id:n,Provider:A0e(n),defaultValue:t}}function BP(t){return Zt&&Zt.context&&Zt.context[t.id]!==void 0?Zt.context[t.id]:t.defaultValue}function kP(t){const e=Vs(t),n=Vs(()=>CD(e()));return n.toArray=()=>{const r=n();return Array.isArray(r)?r:r!=null?[r]:[]},n}function PP(){if(this.sources&&this.state)if(this.state===u0)tg(this);else{const t=Pr;Pr=null,ng(()=>J3(this),!1),Pr=t}if(jn){const t=this.observers?this.observers.length:0;jn.sources?(jn.sources.push(this),jn.sourceSlots.push(t)):(jn.sources=[this],jn.sourceSlots=[t]),this.observers?(this.observers.push(jn),this.observerSlots.push(jn.sources.length-1)):(this.observers=[jn],this.observerSlots=[jn.sources.length-1])}return this.value}function MP(t,e,n){let r=t.value;return(!t.comparator||!t.comparator(r,e))&&(t.value=e,t.observers&&t.observers.length&&ng(()=>{for(let i=0;i<t.observers.length;i+=1){const s=t.observers[i],o=AD&&AD.running;o&&AD.disposed.has(s),(o?!s.tState:!s.state)&&(s.pure?Pr.push(s):Ma.push(s),s.observers&&UP(s)),o||(s.state=u0)}if(Pr.length>1e6)throw Pr=[],new Error},!1)),e}function tg(t){if(!t.fn)return;Z3(t);const e=Y3;g0e(t,t.value,e)}function g0e(t,e,n){let r;const i=Zt,s=jn;jn=Zt=t;try{r=t.fn(e)}catch(o){return t.pure&&(t.state=u0,t.owned&&t.owned.forEach(Z3),t.owned=null),t.updatedAt=n+1,qP(o)}finally{jn=s,Zt=i}(!t.updatedAt||t.updatedAt<=n)&&(t.updatedAt!=null&&"observers"in t?MP(t,r):t.value=r,t.updatedAt=n)}function _D(t,e,n,r=u0,i){const s={fn:t,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:Zt,context:Zt?Zt.context:null,pure:n};return Zt===null||Zt!==IP&&(Zt.owned?Zt.owned.push(s):Zt.owned=[s]),s}function X3(t){if(t.state===0)return;if(t.state===V3)return J3(t);if(t.suspense&&Do(t.suspense.inFallback))return t.suspense.effects.push(t);const e=[t];for(;(t=t.owner)&&(!t.updatedAt||t.updatedAt<Y3);)t.state&&e.push(t);for(let n=e.length-1;n>=0;n--)if(t=e[n],t.state===u0)tg(t);else if(t.state===V3){const r=Pr;Pr=null,ng(()=>J3(t,e[0]),!1),Pr=r}}function ng(t,e){if(Pr)return t();let n=!1;e||(Pr=[]),Ma?n=!0:Ma=[],Y3++;try{const r=t();return m0e(n),r}catch(r){n||(Ma=null),Pr=null,qP(r)}}function m0e(t){if(Pr&&(jP(Pr),Pr=null),t)return;const e=Ma;Ma=null,e.length&&ng(()=>LP(e),!1)}function jP(t){for(let e=0;e<t.length;e++)X3(t[e])}function y0e(t){let e,n=0;for(e=0;e<t.length;e++){const r=t[e];r.user?t[n++]=r:X3(r)}for(e=0;e<n;e++)X3(t[e])}function J3(t,e){t.state=0;for(let n=0;n<t.sources.length;n+=1){const r=t.sources[n];if(r.sources){const i=r.state;i===u0?r!==e&&(!r.updatedAt||r.updatedAt<Y3)&&X3(r):i===V3&&J3(r,e)}}}function UP(t){for(let e=0;e<t.observers.length;e+=1){const n=t.observers[e];n.state||(n.state=V3,n.pure?Pr.push(n):Ma.push(n),n.observers&&UP(n))}}function Z3(t){let e;if(t.sources)for(;t.sources.length;){const n=t.sources.pop(),r=t.sourceSlots.pop(),i=n.observers;if(i&&i.length){const s=i.pop(),o=n.observerSlots.pop();r<i.length&&(s.sourceSlots[o]=r,i[r]=s,n.observerSlots[r]=o)}}if(t.owned){for(e=t.owned.length-1;e>=0;e--)Z3(t.owned[e]);t.owned=null}if(t.cleanups){for(e=t.cleanups.length-1;e>=0;e--)t.cleanups[e]();t.cleanups=null}t.state=0}function E0e(t){return t instanceof Error?t:new Error(typeof t=="string"?t:"Unknown error",{cause:t})}function qP(t,e=Zt){throw E0e(t)}function CD(t){if(typeof t=="function"&&!t.length)return CD(t());if(Array.isArray(t)){const e=[];for(let n=0;n<t.length;n++){const r=CD(t[n]);Array.isArray(r)?e.push.apply(e,r):e.push(r)}return e}return t}function A0e(t,e){return function(r){let i;return a0(()=>i=Do(()=>(Zt.context={...Zt.context,[t]:r.value},kP(()=>r.children))),void 0),i}}const S0e=Symbol("fallback");function HP(t){for(let e=0;e<t.length;e++)t[e]()}function v0e(t,e,n={}){let r=[],i=[],s=[],o=0,u=e.length>1?[]:null;return p0e(()=>HP(s)),()=>{let a=t()||[],l,c;return a[d0e],Do(()=>{let x=a.length,h,p,m,g,y,E,A,S,v;if(x===0)o!==0&&(HP(s),s=[],r=[],i=[],o=0,u&&(u=[])),n.fallback&&(r=[S0e],i[0]=K3(_=>(s[0]=_,n.fallback())),o=1);else if(o===0){for(i=new Array(x),c=0;c<x;c++)r[c]=a[c],i[c]=K3(f);o=x}else{for(m=new Array(x),g=new Array(x),u&&(y=new Array(x)),E=0,A=Math.min(o,x);E<A&&r[E]===a[E];E++);for(A=o-1,S=x-1;A>=E&&S>=E&&r[A]===a[S];A--,S--)m[S]=i[A],g[S]=s[A],u&&(y[S]=u[A]);for(h=new Map,p=new Array(S+1),c=S;c>=E;c--)v=a[c],l=h.get(v),p[c]=l===void 0?-1:l,h.set(v,c);for(l=E;l<=A;l++)v=r[l],c=h.get(v),c!==void 0&&c!==-1?(m[c]=i[l],g[c]=s[l],u&&(y[c]=u[l]),c=p[c],h.set(v,c)):s[l]();for(c=E;c<x;c++)c in m?(i[c]=m[c],s[c]=g[c],u&&(u[c]=y[c],u[c](c))):i[c]=K3(f);i=i.slice(0,o=x),r=a.slice(0)}return i});function f(x){if(s[c]=x,u){const[h,p]=SD(c);return u[c]=p,e(a[c],h)}return e(a[c])}}}function En(t,e){return Do(()=>t(e||{}))}function eA(){return!0}const _0e={get(t,e,n){return e===ED?n:t.get(e)},has(t,e){return e===ED?!0:t.has(e)},set:eA,deleteProperty:eA,getOwnPropertyDescriptor(t,e){return{configurable:!0,enumerable:!0,get(){return t.get(e)},set:eA,deleteProperty:eA}},ownKeys(t){return t.keys()}};function bD(t){return(t=typeof t=="function"?t():t)?t:{}}function C0e(){for(let t=0,e=this.length;t<e;++t){const n=this[t]();if(n!==void 0)return n}}function b0e(...t){let e=!1;for(let o=0;o<t.length;o++){const u=t[o];e=e||!!u&&ED in u,t[o]=typeof u=="function"?(e=!0,Vs(u)):u}if(e)return new Proxy({get(o){for(let u=t.length-1;u>=0;u--){const a=bD(t[u])[o];if(a!==void 0)return a}},has(o){for(let u=t.length-1;u>=0;u--)if(o in bD(t[u]))return!0;return!1},keys(){const o=[];for(let u=0;u<t.length;u++)o.push(...Object.keys(bD(t[u])));return[...new Set(o)]}},_0e);const n={},r=Object.create(null);for(let o=t.length-1;o>=0;o--){const u=t[o];if(!u)continue;const a=Object.getOwnPropertyNames(u);for(let l=a.length-1;l>=0;l--){const c=a[l];if(c==="__proto__"||c==="constructor")continue;const f=Object.getOwnPropertyDescriptor(u,c);if(!r[c])r[c]=f.get?{enumerable:!0,configurable:!0,get:C0e.bind(n[c]=[f.get.bind(u)])}:f.value!==void 0?f:void 0;else{const x=n[c];x&&(f.get?x.push(f.get.bind(u)):f.value!==void 0&&x.push(()=>f.value))}}}const i={},s=Object.keys(r);for(let o=s.length-1;o>=0;o--){const u=s[o],a=r[u];a&&a.get?Object.defineProperty(i,u,a):i[u]=a?a.value:void 0}return i}const zP=t=>`Stale read from <${t}>.`;function T0e(t){const e="fallback"in t&&{fallback:()=>t.fallback};return Vs(v0e(()=>t.each,t.children,e||void 0))}function QP(t){const e=t.keyed,n=Vs(()=>t.when,void 0,{equals:(r,i)=>e?r===i:!r==!i});return Vs(()=>{const r=n();if(r){const i=t.children;return typeof i=="function"&&i.length>0?Do(()=>i(e?r:()=>{if(!Do(n))throw zP("Show");return t.when})):i}return t.fallback},void 0,void 0)}function GP(t){let e=!1;const n=(s,o)=>(e?s[1]===o[1]:!s[1]==!o[1])&&s[2]===o[2],r=kP(()=>t.children),i=Vs(()=>{let s=r();Array.isArray(s)||(s=[s]);for(let o=0;o<s.length;o++){const u=s[o].when;if(u)return e=!!s[o].keyed,[o,u,s[o]]}return[-1]},void 0,{equals:n});return Vs(()=>{const[s,o,u]=i();if(s<0)return t.fallback;const a=u.children;return typeof a=="function"&&a.length>0?Do(()=>a(e?o:()=>{if(Do(i)[0]!==s)throw zP("Match");return u.when})):a},void 0,void 0)}function TD(t){return t}function R0e(t,e,n){let r=n.length,i=e.length,s=r,o=0,u=0,a=e[i-1].nextSibling,l=null;for(;o<i||u<s;){if(e[o]===n[u]){o++,u++;continue}for(;e[i-1]===n[s-1];)i--,s--;if(i===o){const c=s<r?u?n[u-1].nextSibling:n[s-u]:a;for(;u<s;)t.insertBefore(n[u++],c)}else if(s===u)for(;o<i;)(!l||!l.has(e[o]))&&e[o].remove(),o++;else if(e[o]===n[s-1]&&n[u]===e[i-1]){const c=e[--i].nextSibling;t.insertBefore(n[u++],e[o++].nextSibling),t.insertBefore(n[--s],c),e[i]=n[s]}else{if(!l){l=new Map;let f=u;for(;f<s;)l.set(n[f],f++)}const c=l.get(e[o]);if(c!=null)if(u<c&&c<s){let f=o,x=1,h;for(;++f<i&&f<s&&!((h=l.get(e[f]))==null||h!==c+x);)x++;if(x>c-u){const p=e[o];for(;u<c;)t.insertBefore(n[u++],p)}else t.replaceChild(n[u++],e[o++])}else o++;else e[o++].remove()}}}function Zc(t,e,n){let r;const i=()=>{const o=document.createElement("template");return o.innerHTML=t,n?o.content.firstChild.firstChild:o.content.firstChild},s=e?()=>Do(()=>document.importNode(r||(r=i()),!0)):()=>(r||(r=i())).cloneNode(!0);return s.cloneNode=s,s}function O0e(t,e,n){n==null?t.removeAttribute(e):t.setAttribute(e,n)}function N0e(t,e,n){if(!e)return n?O0e(t,"style"):e;const r=t.style;if(typeof e=="string")return r.cssText=e;typeof n=="string"&&(r.cssText=n=void 0),n||(n={}),e||(e={});let i,s;for(s in n)e[s]==null&&r.removeProperty(s),delete n[s];for(s in e)i=e[s],i!==n[s]&&(r.setProperty(s,i),n[s]=i);return n}function D0e(t,e,n){return Do(()=>t(e,n))}function ja(t,e,n,r){if(n!==void 0&&!r&&(r=[]),typeof e!="function")return tA(t,e,r,n);a0(i=>tA(t,e(),i,n),r)}function tA(t,e,n,r,i){for(;typeof n=="function";)n=n();if(e===n)return n;const s=typeof e,o=r!==void 0;if(t=o&&n[0]&&n[0].parentNode||t,s==="string"||s==="number")if(s==="number"&&(e=e.toString()),o){let u=n[0];u&&u.nodeType===3?u.data!==e&&(u.data=e):u=document.createTextNode(e),n=Pd(t,n,r,u)}else n!==""&&typeof n=="string"?n=t.firstChild.data=e:n=t.textContent=e;else if(e==null||s==="boolean")n=Pd(t,n,r);else{if(s==="function")return a0(()=>{let u=e();for(;typeof u=="function";)u=u();n=tA(t,u,n,r)}),()=>n;if(Array.isArray(e)){const u=[],a=n&&Array.isArray(n);if(RD(u,e,n,i))return a0(()=>n=tA(t,u,n,r,!0)),()=>n;if(u.length===0){if(n=Pd(t,n,r),o)return n}else a?n.length===0?WP(t,u,r):R0e(t,n,u):(n&&Pd(t),WP(t,u));n=u}else if(e.nodeType){if(Array.isArray(n)){if(o)return n=Pd(t,n,r,e);Pd(t,n,null,e)}else n==null||n===""||!t.firstChild?t.appendChild(e):t.replaceChild(e,t.firstChild);n=e}}return n}function RD(t,e,n,r){let i=!1;for(let s=0,o=e.length;s<o;s++){let u=e[s],a=n&&n[t.length],l;if(!(u==null||u===!0||u===!1))if((l=typeof u)=="object"&&u.nodeType)t.push(u);else if(Array.isArray(u))i=RD(t,u,a)||i;else if(l==="function")if(r){for(;typeof u=="function";)u=u();i=RD(t,Array.isArray(u)?u:[u],Array.isArray(a)?a:[a])||i}else t.push(u),i=!0;else{const c=String(u);a&&a.nodeType===3&&a.data===c?t.push(a):t.push(document.createTextNode(c))}}return i}function WP(t,e,n=null){for(let r=0,i=e.length;r<i;r++)t.insertBefore(e[r],n)}function Pd(t,e,n,r){if(n===void 0)return t.textContent="";const i=r||document.createTextNode("");if(e.length){let s=!1;for(let o=e.length-1;o>=0;o--){const u=e[o];if(i!==u){const a=u.parentNode===t;!s&&!o?a?t.replaceChild(i,u):t.insertBefore(i,n):a&&u.remove()}else s=!0}}else t.insertBefore(i,n);return[i]}function F0e(t){const e=Object.keys(t),n={};for(let r=0;r<e.length;r++){const[i,s]=SD(t[e[r]]);Object.defineProperty(n,e[r],{get:i,set(o){s(()=>o)}})}return n}function w0e(t){if(t.assignedSlot&&t.assignedSlot._$owner)return t.assignedSlot._$owner;let e=t.parentNode;for(;e&&!e._$owner&&!(e.assignedSlot&&e.assignedSlot._$owner);)e=e.parentNode;return e&&e.assignedSlot?e.assignedSlot._$owner:t._$owner}function L0e(t){return(e,n)=>{const{element:r}=n;return K3(i=>{const s=F0e(e);r.addPropertyChangedCallback((u,a)=>s[u]=a),r.addReleaseCallback(()=>{r.renderRoot.textContent="",i()});const o=t(s,n);return ja(r.renderRoot,o)},w0e(r))}}var N=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function OD(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function I0e(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var n=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};n.prototype=e.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(t).forEach(function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})}),n}var VP={},rg={},me={};Object.defineProperty(me,"__esModule",{value:!0}),me.overload=me.minAnalytic=me.minAggregate=me.minScalar=me.maxAnalytic=me.maxUngroupedAggregate=me.anyExprType=me.maxAggregate=me.maxScalar=me.makeParam=me.param=me.params=me.literal=me.output=me.constant=me.sql=me.sqlFragment=me.spread=me.arg=void 0;function YP(t){return{type:"function_parameter",name:t}}me.arg=YP;function $0e(t,e=void 0,n=void 0){return{type:"spread",e:[t],prefix:e,suffix:n}}me.spread=$0e;function B0e(...t){return{type:"sql_expression",e:t}}me.sqlFragment=B0e;function k0e(t,...e){return[{type:"sql_expression",e:P0e([...t],e)}]}me.sql=k0e;function P0e(t,e){const n=[];for(let r=0;r<t.length;r++)n.push(t[r]),r<e.length&&n.push(e[r]);return n}function M0e(t){return{...t,evalSpace:"constant"}}me.constant=M0e;function j0e(t){return{...t,evalSpace:"output"}}me.output=j0e;function U0e(t){return{...t,evalSpace:"literal"}}me.literal=U0e;function q0e(t,...e){return{name:t,isVariadic:!0,allowedTypes:e}}me.params=q0e;function KP(t,...e){return{name:t,isVariadic:!1,allowedTypes:e}}me.param=KP;function H0e(t,...e){return{param:KP(t,...e),arg:YP(t)}}me.makeParam=H0e;function z0e(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}me.maxScalar=z0e;function Q0e(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}me.maxAggregate=Q0e;function G0e(t){return{dataType:t,expressionType:void 0,evalSpace:"input"}}me.anyExprType=G0e;function W0e(t){return{dataType:t,expressionType:"ungrouped_aggregate",evalSpace:"input"}}me.maxUngroupedAggregate=W0e;function V0e(t){return{dataType:t,expressionType:"aggregate_analytic",evalSpace:"input"}}me.maxAnalytic=V0e;function Y0e(t){return{dataType:t,expressionType:"scalar",evalSpace:"input"}}me.minScalar=Y0e;function K0e(t){return{dataType:t,expressionType:"aggregate",evalSpace:"input"}}me.minAggregate=K0e;function X0e(t){return{dataType:t,expressionType:"scalar_analytic",evalSpace:"input"}}me.minAnalytic=X0e;function J0e(t,e,n,r){return{returnType:t,params:e,e:n,needsWindowOrderBy:r==null?void 0:r.needsWindowOrderBy,between:r==null?void 0:r.between,isSymmetric:r==null?void 0:r.isSymmetric,supportsOrderBy:r==null?void 0:r.supportsOrderBy,defaultOrderByArgIndex:r==null?void 0:r.defaultOrderByArgIndex,supportsLimit:r==null?void 0:r.supportsLimit}}me.overload=J0e;var ef={},ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.isIndexSegment=ee.isRawSegment=ee.isSamplingEnable=ee.isSamplingPercent=ee.isSamplingRows=ee.isQuerySegment=ee.isProjectSegment=ee.isPartialSegment=ee.isReduceSegment=ee.structHasErrors=ee.segmentHasErrors=ee.refIsStructDef=ee.isByExpression=ee.isByName=ee.ValueType=ee.isExtractUnit=ee.isTimestampUnit=ee.isDateUnit=ee.FieldIsIntrinsic=ee.isCastType=ee.isAtomicFieldType=ee.isTimeFieldType=ee.hasExpression=ee.maxOfExpressionTypes=ee.maxExpressionType=ee.isExpressionTypeLEQ=ee.expressionIsAnalytic=ee.expressionIsCalculation=ee.expressionInvolvesAggregate=ee.expressionIsUngroupedAggregate=ee.expressionIsAggregate=ee.expressionIsScalar=ee.mkExpr=ee.isApplyFragment=ee.isApplyValue=ee.isParameterFragment=ee.isSourceReferenceFragment=ee.isSqlStringFragment=ee.isFieldFragment=ee.isSpreadFragment=ee.isSQLExpressionFragment=ee.isFunctionCallFragment=ee.isFunctionParameterFragment=ee.isUngroupFragment=ee.isAsymmetricFragment=ee.isAggregateFragment=ee.isDialectFragment=ee.isFilterFragment=ee.isOutputFieldFragment=ee.paramHasValue=void 0,ee.isValueDate=ee.isValueTimestamp=ee.isValueBoolean=ee.isValueNumber=ee.isValueString=ee.isMeasureLike=ee.getPhysicalFields=ee.getDimensions=ee.isPhysical=ee.isDimensional=ee.isAtomicField=ee.isTurtleDef=ee.getIdentifier=ee.isFieldStructDef=ee.isFieldTimeBased=ee.isFieldTypeDef=ee.isSQLBlockStruct=ee.mergeEvalSpaces=ee.isLiteral=ee.isSQLFragment=ee.isJoinOn=ee.isMatrixOperation=void 0;function Z0e(t){return t.value!==null}ee.paramHasValue=Z0e;function ece(t){return(t==null?void 0:t.type)==="outputField"}ee.isOutputFieldFragment=ece;function tce(t){return(t==null?void 0:t.type)==="filterExpression"}ee.isFilterFragment=tce;function nce(t){return(t==null?void 0:t.type)==="dialect"}ee.isDialectFragment=nce;function XP(t){return(t==null?void 0:t.type)==="aggregate"}ee.isAggregateFragment=XP;function rce(t){return XP(t)&&["sum","avg","count"].includes(t.function)}ee.isAsymmetricFragment=rce;function ice(t){const e=t==null?void 0:t.type;return e==="all"||e==="exclude"}ee.isUngroupFragment=ice;function sce(t){return(t==null?void 0:t.type)==="function_parameter"}ee.isFunctionParameterFragment=sce;function oce(t){return(t==null?void 0:t.type)==="function_call"}ee.isFunctionCallFragment=oce;function uce(t){return(t==null?void 0:t.type)==="sql_expression"}ee.isSQLExpressionFragment=uce;function ace(t){return(t==null?void 0:t.type)==="spread"}ee.isSpreadFragment=ace;function lce(t){return(t==null?void 0:t.type)==="field"}ee.isFieldFragment=lce;function cce(t){return(t==null?void 0:t.type)==="sql-string"}ee.isSqlStringFragment=cce;function fce(t){return(t==null?void 0:t.type)==="source-reference"}ee.isSourceReferenceFragment=fce;function xce(t){return(t==null?void 0:t.type)==="parameter"}ee.isParameterFragment=xce;function dce(t){return(t==null?void 0:t.type)==="applyVal"}ee.isApplyValue=dce;function hce(t){return(t==null?void 0:t.type)==="apply"}ee.isApplyFragment=hce;function pce(t,...e){const n=[];let r;for(r=0;r<e.length;r++){const i=e[r];t[r].length>0&&n.push(t[r]),typeof i=="string"?n.push(i):n.push(...i)}return t[r].length>0&&n.push(t[r]),n}ee.mkExpr=pce;function gce(t){return t===void 0||t==="scalar"}ee.expressionIsScalar=gce;function mce(t){return t==="aggregate"||t==="ungrouped_aggregate"}ee.expressionIsAggregate=mce;function yce(t){return t==="ungrouped_aggregate"}ee.expressionIsUngroupedAggregate=yce;function Ece(t){return t==="aggregate"||t==="ungrouped_aggregate"||t==="aggregate_analytic"}ee.expressionInvolvesAggregate=Ece;function Ace(t){return t==="aggregate"||t==="scalar_analytic"||t==="aggregate_analytic"||t==="ungrouped_aggregate"}ee.expressionIsCalculation=Ace;function Sce(t){return t==="aggregate_analytic"||t==="scalar_analytic"}ee.expressionIsAnalytic=Sce;function JP(t){return{scalar:0,aggregate:1,ungrouped_aggregate:2,scalar_analytic:2,aggregate_analytic:3}[t]}function vce(t,e){return t===e||JP(t)<JP(e)}ee.isExpressionTypeLEQ=vce;function ZP(t,e){let n="scalar";return(t==="aggregate"||e==="aggregate")&&(n="aggregate"),(t==="ungrouped_aggregate"||e==="ungrouped_aggregate")&&(n="ungrouped_aggregate"),(t==="scalar_analytic"||e==="scalar_analytic")&&(n="scalar_analytic"),(t==="aggregate_analytic"||e==="aggregate_analytic")&&(n="aggregate_analytic"),(t==="scalar_analytic"&&e==="aggregate"||t==="aggregate"&&e==="scalar_analytic")&&(n="aggregate_analytic"),n}ee.maxExpressionType=ZP;function _ce(t){return t.reduce(ZP,"scalar")}ee.maxOfExpressionTypes=_ce;function eM(t){return t.e!==void 0}ee.hasExpression=eM;function Cce(t){return t==="date"||t==="timestamp"}ee.isTimeFieldType=Cce;function ND(t){return["string","number","date","timestamp","boolean","json","sql native","error"].includes(t)}ee.isAtomicFieldType=ND;function bce(t){return["string","number","date","timestamp","boolean","json"].includes(t)}ee.isCastType=bce;function Tce(t){return ND(t.type)&&!eM(t)?!0:t.type==="struct"&&(t.structSource.type==="inline"||t.structSource.type==="nested")}ee.FieldIsIntrinsic=Tce;function tM(t){return["day","week","month","quarter","year"].includes(t)}ee.isDateUnit=tM;function nM(t){return tM(t)||["hour","minute","second"].includes(t)}ee.isTimestampUnit=nM;function Rce(t){return nM(t)||t==="day_of_week"||t==="day_of_year"}ee.isExtractUnit=Rce;var rM;(function(t){t.Date="date",t.Timestamp="timestamp",t.Number="number",t.String="string"})(rM||(ee.ValueType=rM={}));function Oce(t){return t===void 0?!1:t.by==="name"}ee.isByName=Oce;function Nce(t){return t===void 0?!1:t.by==="name"}ee.isByExpression=Nce;function Dce(t){return typeof t!="string"&&t.type==="struct"}ee.refIsStructDef=Dce;function Fce(t){return!!((t.type==="reduce"||t.type==="project"||t.type==="partial")&&(t.extendSource&&t.extendSource.some(e=>e.type==="error")||t.queryFields.some(e=>e.type==="error")))}ee.segmentHasErrors=Fce;function wce(t){return t.fields.some(e=>e.type==="error")}ee.structHasErrors=wce;function iM(t){return t.type==="reduce"}ee.isReduceSegment=iM;function Lce(t){return t.type==="partial"}ee.isPartialSegment=Lce;function sM(t){return t.type==="project"}ee.isProjectSegment=sM;function Ice(t){return sM(t)||iM(t)}ee.isQuerySegment=Ice;function $ce(t){return t.rows!==void 0}ee.isSamplingRows=$ce;function Bce(t){return t.percent!==void 0}ee.isSamplingPercent=Bce;function kce(t){return t.enable!==void 0}ee.isSamplingEnable=kce;function Pce(t){return t.type==="raw"}ee.isRawSegment=Pce;function Mce(t){return t.type==="index"}ee.isIndexSegment=Mce;function jce(t){return["left","right","full","inner"].includes(t)}ee.isMatrixOperation=jce;function Uce(t){return["one","many","cross"].includes(t.type)}ee.isJoinOn=Uce;function qce(t){return t.sql!==void 0}ee.isSQLFragment=qce;function Hce(t){return t==="literal"}ee.isLiteral=Hce;function zce(...t){return t.every(e=>e==="constant"||e==="literal")?"constant":t.every(e=>e==="output"||e==="constant"||e==="literal")?"output":"input"}ee.mergeEvalSpaces=zce;function Qce(t){const e=t.structSource;return e.type==="sql"&&e.method==="subquery"}ee.isSQLBlockStruct=Qce;function oM(t){return t.type==="string"||t.type==="date"||t.type==="number"||t.type==="timestamp"||t.type==="boolean"||t.type==="json"}ee.isFieldTypeDef=oM;function Gce(t){return t.type==="date"||t.type==="timestamp"}ee.isFieldTimeBased=Gce;function uM(t){return t.type==="struct"}ee.isFieldStructDef=uM;function Wce(t){return t.as!==void 0?t.as:t.name}ee.getIdentifier=Wce;function Vce(t){return t.type==="turtle"}ee.isTurtleDef=Vce;function Yce(t){return ND(t.type)}ee.isAtomicField=Yce;function aM(t){var e;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="dimension":!1}ee.isDimensional=aM;function lM(t){return oM(t)&&t.e===void 0||uM(t)&&(t.structSource.type==="nested"||t.structSource.type==="inline")}ee.isPhysical=lM;function Kce(t){return t.fields.filter(aM)}ee.getDimensions=Kce;function Xce(t){return t.fields.filter(lM)}ee.getPhysicalFields=Xce;function Jce(t){var e,n;return"resultMetadata"in t?((e=t.resultMetadata)===null||e===void 0?void 0:e.fieldKind)==="measure"||((n=t.resultMetadata)===null||n===void 0?void 0:n.fieldKind)==="struct":!1}ee.isMeasureLike=Jce;function Zce(t,e){return e.type==="string"}ee.isValueString=Zce;function efe(t,e){return e.type==="number"}ee.isValueNumber=efe;function tfe(t,e){return e.type==="boolean"}ee.isValueBoolean=tfe;function nfe(t,e){return e.type==="timestamp"}ee.isValueTimestamp=nfe;function rfe(t,e){return e.type==="date"}ee.isValueDate=rfe,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Dialect=t.qtz=t.inDays=t.dayIndex=t.isDialectFieldStruct=void 0;const e=ee;function n(u){return u.type==="struct"}t.isDialectFieldStruct=n;const r=["microsecond","millisecond","second","minute","hour","day","week","month","quarter","year"];t.dayIndex=r.indexOf("day");function i(u){return r.indexOf(u)>=t.dayIndex}t.inDays=i;function s(u){const a=u.queryTimezone;if(!(a===void 0||a===u.systemTimezone))return a}t.qtz=s;class o{constructor(){this.cantPartitionWindowFunctionsOnExpressions=!1,this.supportsPipelinesInViews=!0,this.supportsArraysInData=!0,this.readsNestedData=!0,this.orderByClause="ordinal",this.nullMatchesFunctionSignature=!0,this.supportsSelectReplace=!0,this.supportsComplexFilteredSources=!0,this.supportsTempTables=!0,this.hasModOperator=!0,this.supportsLeftJoinUnnest=!0}sqlFinalStage(a,l){throw new Error("Dialect has no final Stage but called Anyway")}sqlDateToString(a){return this.castToString(`DATE(${a})`)}ignoreInProject(a){return!1}sqlLiteralNumber(a){return a}dialectExpr(a,l){switch(l.function){case"now":return this.sqlNow();case"timeDiff":return this.sqlMeasureTime(l.left,l.right,l.units);case"delta":return this.sqlAlterTime(l.op,l.base,l.delta,l.units);case"trunc":return this.sqlTrunc(a,l.expr,l.units);case"extract":return this.sqlExtract(a,l.expr,l.units);case"cast":return this.sqlCast(a,l);case"regexpMatch":return this.sqlRegexpMatch(l.expr,l.regexp);case"div":return this.divisionIsInteger?(0,e.mkExpr)`${l.numerator}*1.0/${l.denominator}`:(0,e.mkExpr)`${l.numerator}/${l.denominator}`;case"mod":return this.hasModOperator?(0,e.mkExpr)`${l.numerator}%${l.denominator}`:(0,e.mkExpr)`mod(${l.numerator},${l.denominator})`;case"timeLiteral":return[this.sqlLiteralTime(a,l.literal,l.literalType,l.timezone)];case"stringLiteral":return[this.sqlLiteralString(l.literal)];case"numberLiteral":return[this.sqlLiteralNumber(l.literal)];case"regexpLiteral":return[this.sqlLiteralRegexp(l.literal)]}}sqlSumDistinct(a,l,c){return"sqlSumDistinct called but not implemented"}sqlAggDistinct(a,l,c){return"sqlAggDistinct called but not implemented"}sqlSampleTable(a,l){if(l!==void 0)throw new Error(`Sampling is not supported on dialect ${this.name}.`);return a}sqlOrderBy(a){return`ORDER BY ${a.join(",")}`}sqlTzStr(a){return`"${a.queryTimezone}"`}sqlMakeUnnestKey(a,l){return this.concat(a,"'x'",l)}sqlStringAggDistinct(a,l,c){const f="__STRING_AGG_KS__",x="__STRING_AGG_KE__";return`REGEXP_REPLACE(
|
|
2
2
|
STRING_AGG(DISTINCT ${`concat('${f}', ${a}, '${x}', ${l})`}${c.length>0?","+c:""}),
|
|
3
3
|
'${f}.*?${x}',
|
|
4
4
|
''
|
|
@@ -1336,7 +1336,7 @@ ${m}`,p)}}else{if(h.urls)for(const m of h.urls)try{if(m.startsWith("internal://"
|
|
|
1336
1336
|
: (u > v || v == null) && u != null ? ${r}
|
|
1337
1337
|
: ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}
|
|
1338
1338
|
: v !== v && u === u ? ${r} : `}var Aze={operator:(t,e)=>t3(t,["_"],e.code),parameter:(t,e)=>t3(t,["datum","_"],e.code),event:(t,e)=>t3(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return t3(t,["_","event"],n)},encode:(t,e)=>{const{marktype:n,channels:r}=e;let i="var o=item,datum=o.datum,m=0,$;";for(const s in r){const o="o["+Fe(s)+"]";i+=`$=${r[s].code};if(${o}!==$)${o}=$,m=1;`}return i+=gze(r,n),i+="return m;",t3(t,["item","_"],i)},codegen:{get(t){const e=`[${t.map(Fe).join("][")}]`,n=Function("_",`return _${e};`);return n.path=e,n},comparator(t,e){let n;const r=(s,o)=>{const u=e[o];let a,l;return s.path?(a=`a${s.path}`,l=`b${s.path}`):((n=n||{})["f"+o]=s,a=`this.f${o}(a)`,l=`this.f${o}(b)`),Eze(a,l,-u,u)},i=Function("a","b","var u, v; return "+t.map(r).join("")+"0;");return n?i.bind(n):i}}};function Sze(t){const e=this;mze(t.type)||!t.type?e.operator(t,t.update?e.operatorExpression(t.update):null):e.transform(t,t.type)}function vze(t){const e=this;if(t.params){const n=e.get(t.id);n||_e("Invalid operator id: "+t.id),e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function _ze(t,e){e=e||{};const n=this;for(const r in t){const i=t[r];e[r]=Ce(i)?i.map(s=>Ure(s,n,e)):Ure(i,n,e)}return e}function Ure(t,e,n){if(!t||!Qe(t))return t;for(let r=0,i=qre.length,s;r<i;++r)if(s=qre[r],Je(t,s.key))return s.parse(t,e,n);return t}var qre=[{key:"$ref",parse:Cze},{key:"$key",parse:Tze},{key:"$expr",parse:bze},{key:"$field",parse:Rze},{key:"$encode",parse:Nze},{key:"$compare",parse:Oze},{key:"$context",parse:Dze},{key:"$subflow",parse:Fze},{key:"$tupleid",parse:wze}];function Cze(t,e){return e.get(t.$ref)||_e("Operator not defined: "+t.$ref)}function bze(t,e,n){t.$params&&e.parseParameters(t.$params,n);const r="e:"+t.$expr.code;return e.fn[r]||(e.fn[r]=ws(e.parameterExpression(t.$expr),t.$fields))}function Tze(t,e){const n="k:"+t.$key+"_"+!!t.$flat;return e.fn[n]||(e.fn[n]=oV(t.$key,t.$flat,e.expr.codegen))}function Rze(t,e){if(!t.$field)return null;const n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=Ls(t.$field,t.$name,e.expr.codegen))}function Oze(t,e){const n="c:"+t.$compare+"_"+t.$order,r=Pe(t.$compare).map(i=>i&&i.$tupleid?Ze:i);return e.fn[n]||(e.fn[n]=iV(r,t.$order,e.expr.codegen))}function Nze(t,e){const n=t.$encode,r={};for(const i in n){const s=n[i];r[i]=ws(e.encodeExpression(s.$expr),s.$fields),r[i].output=s.$output}return r}function Dze(t,e){return e}function Fze(t,e){const n=t.$subflow;return function(r,i,s){const o=e.fork().parse(n),u=o.get(n.operators[0].id),a=o.signals.parent;return a&&a.set(s),u.detachSubflow=()=>e.detach(o),u}}function wze(){return Ze}function Lze(t){var e=this,n=t.filter!=null?e.eventExpression(t.filter):void 0,r=t.stream!=null?e.get(t.stream):void 0,i;t.source?r=e.events(t.source,t.type,n):t.merge&&(i=t.merge.map(s=>e.get(s)),r=i[0].merge.apply(i[0],i.slice(1))),t.between&&(i=t.between.map(s=>e.get(s)),r=r.between(i[0],i[1])),t.filter&&(r=r.filter(n)),t.throttle!=null&&(r=r.throttle(+t.throttle)),t.debounce!=null&&(r=r.debounce(+t.debounce)),r==null&&_e("Invalid stream definition: "+JSON.stringify(t)),t.consume&&r.consume(!0),e.stream(t,r)}function Ize(t){var e=this,n=Qe(n=t.source)?n.$ref:n,r=e.get(n),i=null,s=t.update,o=void 0;r||_e("Source not defined: "+t.source),i=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target),s&&s.$expr&&(s.$params&&(o=e.parseParameters(s.$params)),s=e.handlerExpression(s.$expr)),e.update(t,r,i,s,o)}const $ze={skip:!0};function Bze(t){var e=this,n={};if(t.signals){var r=n.signals={};Object.keys(e.signals).forEach(s=>{const o=e.signals[s];t.signals(s,o)&&(r[s]=o.value)})}if(t.data){var i=n.data={};Object.keys(e.data).forEach(s=>{const o=e.data[s];t.data(s,o)&&(i[s]=o.input.value)})}return e.subcontext&&t.recurse!==!1&&(n.subcontext=e.subcontext.map(s=>s.getState(t))),n}function kze(t){var e=this,n=e.dataflow,r=t.data,i=t.signals;Object.keys(i||{}).forEach(s=>{n.update(e.signals[s],i[s],$ze)}),Object.keys(r||{}).forEach(s=>{n.pulse(e.data[s].input,n.changeset().remove(Yo).insert(r[s]))}),(t.subcontext||[]).forEach((s,o)=>{const u=e.subcontext[o];u&&u.setState(s)})}function Pze(t,e,n,r){return new Hre(t,e,n,r)}function Hre(t,e,n,r){this.dataflow=t,this.transforms=e,this.events=t.events.bind(t),this.expr=r||Aze,this.signals={},this.scales={},this.nodes={},this.data={},this.fn={},n&&(this.functions=Object.create(n),this.functions.context=this)}function zre(t){this.dataflow=t.dataflow,this.transforms=t.transforms,this.events=t.events,this.expr=t.expr,this.signals=Object.create(t.signals),this.scales=Object.create(t.scales),this.nodes=Object.create(t.nodes),this.data=Object.create(t.data),this.fn=Object.create(t.fn),t.functions&&(this.functions=Object.create(t.functions),this.functions.context=this)}Hre.prototype=zre.prototype={fork(){const t=new zre(this);return(this.subcontext||(this.subcontext=[])).push(t),t},detach(t){this.subcontext=this.subcontext.filter(n=>n!==t);const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,r=n.dataflow,i=t.value;if(n.set(t.id,e),yze(t.type)&&i&&(i.$ingest?r.ingest(e,i.$ingest,i.$format):i.$request?r.preload(e,i.$request,i.$format):r.pulse(e,r.changeset().insert(i))),t.root&&(n.root=e),t.parent){let s=n.get(t.parent.$ref);s?(r.connect(s,[e]),e.targets().add(s)):(n.unresolved=n.unresolved||[]).push(()=>{s=n.get(t.parent.$ref),r.connect(s,[e]),e.targets().add(s)})}if(t.signal&&(n.signals[t.signal]=e),t.scale&&(n.scales[t.scale]=e),t.data)for(const s in t.data){const o=n.data[s]||(n.data[s]={});t.data[s].forEach(u=>o[u]=e)}},resolve(){return(this.unresolved||[]).forEach(t=>t()),delete this.unresolved,this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[Bk(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,r,i){this.dataflow.on(e,n,r,i,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:hze,parseOperator:Sze,parseOperatorParameters:vze,parseParameters:_ze,parseStream:Lze,parseUpdate:Ize,getState:Bze,setState:kze};function Mze(t){const e=t.container();e&&(e.setAttribute("role","graphics-document"),e.setAttribute("aria-roleDescription","visualization"),Qre(e,t.description()))}function Qre(t,e){t&&(e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e))}function jze(t){t.add(null,e=>(t._background=e.bg,t._resize=1,e.bg),{bg:t._signals.background})}const kk="default";function Uze(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:kk,item:null}));t.on(t.events("view","mousemove"),e,(n,r)=>{const i=e.value,s=i?je(i)?i:i.user:kk,o=r.item&&r.item.cursor||null;return i&&s===i.user&&o==i.item?i:{user:s,item:o}}),t.add(null,function(n){let r=n.cursor,i=this.value;return je(r)||(i=r.item,r=r.user),Pk(t,r&&r!==kk?r:i||r),i},{cursor:e})}function Pk(t,e){const n=t.globalCursor()?typeof document<"u"&&document.body:t.container();if(n)return e==null?n.style.removeProperty("cursor"):n.style.cursor=e}function RO(t,e){var n=t._runtime.data;return Je(n,e)||_e("Unrecognized data set: "+e),n[e]}function qze(t,e){return arguments.length<2?RO(this,t).values.value:OO.call(this,t,jp().remove(Yo).insert(e))}function OO(t,e){NY(e)||_e("Second argument to changes must be a changeset.");const n=RO(this,t);return n.modified=!0,this.pulse(n.input,e)}function Hze(t,e){return OO.call(this,t,jp().insert(e))}function zze(t,e){return OO.call(this,t,jp().remove(e))}function Gre(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function Wre(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function NO(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function Qze(t){var e=NO(t),n=Gre(t),r=Wre(t);t._renderer.background(t.background()),t._renderer.resize(n,r,e),t._handler.origin(e),t._resizeListeners.forEach(i=>{try{i(n,r)}catch(s){t.error(s)}})}function Gze(t,e,n){var r=t._renderer,i=r&&r.canvas(),s,o,u;return i&&(u=NO(t),o=e.changedTouches?e.changedTouches[0]:e,s=nB(o,i),s[0]-=u[0],s[1]-=u[1]),e.dataflow=t,e.item=n,e.vega=Wze(t,n,s),e}function Wze(t,e,n){const r=e?e.mark.marktype==="group"?e:e.mark.group:null;function i(o){var u=r,a;if(o){for(a=e;a;a=a.mark.group)if(a.mark.name===o){u=a;break}}return u&&u.mark&&u.mark.interactive?u:{}}function s(o){if(!o)return n;je(o)&&(o=i(o));const u=n.slice();for(;o;)u[0]-=o.x||0,u[1]-=o.y||0,o=o.mark&&o.mark.group;return u}return{view:vi(t),item:vi(e||{}),group:i,xy:s,x:o=>s(o)[0],y:o=>s(o)[1]}}const Vre="view",Vze="timer",Yze="window",Kze={trap:!1};function Xze(t){const e=ct({defaults:{}},t),n=(r,i)=>{i.forEach(s=>{Ce(r[s])&&(r[s]=ea(r[s]))})};return n(e.defaults,["prevent","allow"]),n(e,["view","window","selector"]),e}function Yre(t,e,n,r){t._eventListeners.push({type:n,sources:Pe(e),handler:r})}function Jze(t,e){var n=t._eventConfig.defaults,r=n.prevent,i=n.allow;return r===!1||i===!0?!1:r===!0||i===!1?!0:r?r[e]:i?!i[e]:t.preventDefault()}function DO(t,e,n){const r=t._eventConfig&&t._eventConfig[e];return r===!1||Qe(r)&&!r[n]?(t.warn(`Blocked ${e} ${n} event listener.`),!1):!0}function Zze(t,e,n){var r=this,i=new K5(n),s=function(l,c){r.runAsync(null,()=>{t===Vre&&Jze(r,e)&&l.preventDefault(),i.receive(Gze(r,l,c))})},o;if(t===Vze)DO(r,"timer",e)&&r.timer(s,e);else if(t===Vre)DO(r,"view",e)&&r.addEventListener(e,s,Kze);else if(t===Yze?DO(r,"window",e)&&typeof window<"u"&&(o=[window]):typeof document<"u"&&DO(r,"selector",e)&&(o=Array.from(document.querySelectorAll(t))),!o)r.warn("Can not resolve event source: "+t);else{for(var u=0,a=o.length;u<a;++u)o[u].addEventListener(e,s);Yre(r,o,e,s)}return i}function Kre(t){return t.item}function Xre(t){return t.item.mark.source}function Jre(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function eQe(t,e){return t=[t||"hover"],e=[e||"update",t[0]],this.on(this.events("view","mouseover",Kre),Xre,Jre(t)),this.on(this.events("view","mouseout",Kre),Xre,Jre(e)),this}function tQe(){var t=this._tooltip,e=this._timers,n=this._eventListeners,r,i,s;for(r=e.length;--r>=0;)e[r].stop();for(r=n.length;--r>=0;)for(s=n[r],i=s.sources.length;--i>=0;)s.sources[i].removeEventListener(s.type,s.handler);return t&&t.call(this,this._handler,null,null,null),this}function js(t,e,n){const r=document.createElement(t);for(const i in e)r.setAttribute(i,e[i]);return n!=null&&(r.textContent=n),r}const nQe="vega-bind",rQe="vega-bind-name",iQe="vega-bind-radio";function sQe(t,e,n){if(!e)return;const r=n.param;let i=n.state;return i||(i=n.state={elements:null,active:!1,set:null,update:o=>{o!=t.signal(r.signal)&&t.runAsync(null,()=>{i.source=!0,t.signal(r.signal,o)})}},r.debounce&&(i.update=sV(r.debounce,i.update))),(r.input==null&&r.element?oQe:aQe)(i,e,r,t),i.active||(t.on(t._signals[r.signal],null,()=>{i.source?i.source=!1:i.set(t.signal(r.signal))}),i.active=!0),i}function oQe(t,e,n,r){const i=n.event||"input",s=()=>t.update(e.value);r.signal(n.signal,e.value),e.addEventListener(i,s),Yre(r,e,i,s),t.set=o=>{e.value=o,e.dispatchEvent(uQe(i))}}function uQe(t){return typeof Event<"u"?new Event(t):{type:t}}function aQe(t,e,n,r){const i=r.signal(n.signal),s=js("div",{class:nQe}),o=n.input==="radio"?s:s.appendChild(js("label"));o.appendChild(js("span",{class:rQe},n.name||n.signal)),e.appendChild(s);let u=lQe;switch(n.input){case"checkbox":u=cQe;break;case"select":u=fQe;break;case"radio":u=xQe;break;case"range":u=dQe;break}u(t,o,n,i)}function lQe(t,e,n,r){const i=js("input");for(const s in n)s!=="signal"&&s!=="element"&&i.setAttribute(s==="input"?"type":s,n[s]);i.setAttribute("name",n.signal),i.value=r,e.appendChild(i),i.addEventListener("input",()=>t.update(i.value)),t.elements=[i],t.set=s=>i.value=s}function cQe(t,e,n,r){const i={type:"checkbox",name:n.signal};r&&(i.checked=!0);const s=js("input",i);e.appendChild(s),s.addEventListener("change",()=>t.update(s.checked)),t.elements=[s],t.set=o=>s.checked=!!o||null}function fQe(t,e,n,r){const i=js("select",{name:n.signal}),s=n.labels||[];n.options.forEach((o,u)=>{const a={value:o};FO(o,r)&&(a.selected=!0),i.appendChild(js("option",a,(s[u]||o)+""))}),e.appendChild(i),i.addEventListener("change",()=>{t.update(n.options[i.selectedIndex])}),t.elements=[i],t.set=o=>{for(let u=0,a=n.options.length;u<a;++u)if(FO(n.options[u],o)){i.selectedIndex=u;return}}}function xQe(t,e,n,r){const i=js("span",{class:iQe}),s=n.labels||[];e.appendChild(i),t.elements=n.options.map((o,u)=>{const a={type:"radio",name:n.signal,value:o};FO(o,r)&&(a.checked=!0);const l=js("input",a);l.addEventListener("change",()=>t.update(o));const c=js("label",{},(s[u]||o)+"");return c.prepend(l),i.appendChild(c),l}),t.set=o=>{const u=t.elements,a=u.length;for(let l=0;l<a;++l)FO(u[l].value,o)&&(u[l].checked=!0)}}function dQe(t,e,n,r){r=r!==void 0?r:(+n.max+ +n.min)/2;const i=n.max!=null?n.max:Math.max(100,+r)||100,s=n.min||Math.min(0,i,+r)||0,o=n.step||nc(s,i,100),u=js("input",{type:"range",name:n.signal,min:s,max:i,step:o});u.value=r;const a=js("span",{},+r);e.appendChild(u),e.appendChild(a);const l=()=>{a.textContent=u.value,t.update(+u.value)};u.addEventListener("input",l),u.addEventListener("change",l),t.elements=[u],t.set=c=>{u.value=c,a.textContent=c}}function FO(t,e){return t===e||t+""==e+""}function Zre(t,e,n,r,i,s){return e=e||new r(t.loader()),e.initialize(n,Gre(t),Wre(t),NO(t),i,s).background(t.background())}function Mk(t,e){return e?function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}:null}function hQe(t,e,n,r){const i=new r(t.loader(),Mk(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,NO(t),t);return e&&e.handlers().forEach(s=>{i.on(s.type,s.handler)}),i}function pQe(t,e){const n=this,r=n._renderType,i=n._eventConfig.bind,s=dB(r);t=n._el=t?jk(n,t,!0):null,Mze(n),s||n.error("Unrecognized renderer type: "+r);const o=s.handler||cR,u=t?s.renderer:s.headless;return n._renderer=u?Zre(n,n._renderer,t,u):null,n._handler=hQe(n,n._handler,t,o),n._redraw=!0,t&&i!=="none"&&(e=e?n._elBind=jk(n,e,!0):t.appendChild(js("form",{class:"vega-bindings"})),n._bind.forEach(a=>{a.param.element&&i!=="container"&&(a.element=jk(n,a.param.element,!!a.param.input))}),n._bind.forEach(a=>{sQe(n,a.element||e,a)})),n}function jk(t,e,n){if(typeof e=="string")if(typeof document<"u"){if(e=document.querySelector(e),!e)return t.error("Signal bind element not found: "+e),null}else return t.error("DOM document instance not found."),null;if(e&&n)try{e.textContent=""}catch(r){e=null,t.error(r)}return e}const n3=t=>+t||0,gQe=t=>({top:t,bottom:t,left:t,right:t});function eie(t){return Qe(t)?{top:n3(t.top),bottom:n3(t.bottom),left:n3(t.left),right:n3(t.right)}:gQe(n3(t))}async function Uk(t,e,n,r){const i=dB(e),s=i&&i.headless;return s||_e("Unrecognized renderer type: "+e),await t.runAsync(),Zre(t,null,null,s,n,r).renderAsync(t._scenegraph.root)}async function mQe(t,e){t!==nd.Canvas&&t!==nd.SVG&&t!==nd.PNG&&_e("Unrecognized image type: "+t);const n=await Uk(this,t,e);return t===nd.SVG?yQe(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function yQe(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function EQe(t,e){return(await Uk(this,nd.Canvas,t,e)).canvas()}async function AQe(t){return(await Uk(this,nd.SVG,t)).svg()}function SQe(t,e,n){return Pze(t,My,e3,n).parse(e)}function vQe(t){var e=this._runtime.scales;return Je(e,t)||_e("Unrecognized scale or projection: "+t),e[t].value}var tie="width",nie="height",qk="padding",rie={skip:!0};function iie(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===qk?r.left+r.right:0)}function sie(t,e){var n=t.autosize(),r=t.padding();return e-(n&&n.contains===qk?r.top+r.bottom:0)}function _Qe(t){var e=t._signals,n=e[tie],r=e[nie],i=e[qk];function s(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,u=>{t._width=u.size,t._viewWidth=iie(t,u.size),s()},{size:n}),t._resizeHeight=t.add(null,u=>{t._height=u.size,t._viewHeight=sie(t,u.size),s()},{size:r});const o=t.add(null,s,{pad:i});t._resizeWidth.rank=n.rank+1,t._resizeHeight.rank=r.rank+1,o.rank=i.rank+1}function CQe(t,e,n,r,i,s){this.runAfter(o=>{let u=0;o._autosize=0,o.width()!==n&&(u=1,o.signal(tie,n,rie),o._resizeWidth.skip(!0)),o.height()!==r&&(u=1,o.signal(nie,r,rie),o._resizeHeight.skip(!0)),o._viewWidth!==t&&(o._resize=1,o._viewWidth=t),o._viewHeight!==e&&(o._resize=1,o._viewHeight=e),(o._origin[0]!==i[0]||o._origin[1]!==i[1])&&(o._resize=1,o._origin=i),u&&o.run("enter"),s&&o.runAfter(a=>a.resize())},!1,1)}function bQe(t){return this._runtime.getState(t||{data:TQe,signals:RQe,recurse:!0})}function TQe(t,e){return e.modified&&Ce(e.input.value)&&t.indexOf("_:vega:_")}function RQe(t,e){return!(t==="parent"||e instanceof My.proxy)}function OQe(t){return this.runAsync(null,e=>{e._trigger=!1,e._runtime.setState(t)},e=>{e._trigger=!0}),this}function NQe(t,e){function n(r){t({timestamp:Date.now(),elapsed:r})}this._timers.push(e9e(n,e))}function DQe(t,e,n,r){const i=t.element();i&&i.setAttribute("title",FQe(r))}function FQe(t){return t==null?"":Ce(t)?oie(t):Qe(t)&&!Ox(t)?wQe(t):t+""}function wQe(t){return Object.keys(t).map(e=>{const n=t[e];return e+": "+(Ce(n)?oie(n):uie(n))}).join(`
|
|
1339
|
-
`)}function oie(t){return"["+t.map(uie).join(", ")+"]"}function uie(t){return Ce(t)?"[…]":Qe(t)&&!Ox(t)?"{…}":t}function aie(t,e){const n=this;if(e=e||{},ky.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),e.logLevel!=null&&n.logLevel(e.logLevel),e.locale||t.locale){const s=ct({},t.locale,e.locale);n.locale(EY(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||nd.Canvas,n._scenegraph=new gZ;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||DQe,n._redraw=!0,n._handler=new cR().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=Xze(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=SQe(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map(s=>({state:null,param:ct({},s)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=iie(n,n._width),n._viewHeight=sie(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,_Qe(n),jze(n),Uze(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function wO(t,e){return Je(t._signals,e)?t._signals[e]:_e("Unrecognized signal name: "+Fe(e))}function lie(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function cie(t,e,n,r){let i=lie(n,r);return i||(i=Mk(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function fie(t,e,n){const r=lie(e,n);return r&&e._targets.remove(r),t}De(aie,ky,{async evaluate(t,e,n){if(await ky.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,Qze(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&oT(this,n),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;return e!==this._desc&&Qre(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const r=wO(this,t);return arguments.length===1?r.value:this.update(r,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",eie(t)):eie(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){return arguments.length?(dB(t)||_e("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&(ky.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(wO(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:CQe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=Mk(this,e),r.raw=e),this._handler.on(t,r),this},removeEventListener(t,e){for(var n=this._handler.handlers(t),r=n.length,i,s;--r>=0;)if(s=n[r].type,i=n[r].handler,t===s&&(e===i||e===i.raw)){this._handler.off(s,i);break}return this},addResizeListener(t){const e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},addSignalListener(t,e){return cie(this,t,wO(this,t),e)},removeSignalListener(t,e){return fie(this,wO(this,t),e)},addDataListener(t,e){return cie(this,t,RO(this,t).values,e)},removeDataListener(t,e){return fie(this,RO(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=Pk(this,null);this._globalCursor=!!t,e&&Pk(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:NQe,events:Zze,finalize:tQe,hover:eQe,data:qze,change:OO,insert:Hze,remove:zze,scale:vQe,initialize:pQe,toImageURL:mQe,toCanvas:EQe,toSVG:AQe,getState:bQe,setState:OQe});const LQe="view",LO="[",IO="]",xie="{",die="}",IQe=":",hie=",",$Qe="@",BQe=">",kQe=/[[\]{}]/,PQe={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let pie,gie;function hd(t,e,n){return pie=e||LQe,gie=n||PQe,mie(t.trim()).map(Hk)}function MQe(t){return gie[t]}function r3(t,e,n,r,i){const s=t.length;let o=0,u;for(;e<s;++e){if(u=t[e],!o&&u===n)return e;i&&i.indexOf(u)>=0?--o:r&&r.indexOf(u)>=0&&++o}return e}function mie(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=r3(t,i,hie,LO+xie,IO+die),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function Hk(t){return t[0]==="["?jQe(t):UQe(t)}function jQe(t){const e=t.length;let n=1,r;if(n=r3(t,n,IO,LO,IO),n===e)throw"Empty between selector: "+t;if(r=mie(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==BQe)throw"Expected '>' after between selector: "+t;r=r.map(Hk);const i=Hk(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function UQe(t){const e={source:pie},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===die){if(u=t.lastIndexOf(xie),u>=0){try{r=qQe(t.substring(u+1,o-1))}catch{throw"Invalid throttle specification: "+t}t=t.slice(0,u).trim(),o=t.length}else throw"Unmatched right brace: "+t;u=0}if(!o)throw t;if(t[0]===$Qe&&(i=++u),a=r3(t,u,IQe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=r3(t,u,LO),u===o)n.push(t.substring(s,o).trim());else if(n.push(t.substring(s,u).trim()),l=[],s=++u,s===o)throw"Unmatched left bracket: "+t;for(;u<o;){if(u=r3(t,u,IO),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==LO)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||kQe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):MQe(n[0])?e.marktype=n[0]:e.source=n[0]):e.type=n[0],e.type.slice(-1)==="!"&&(e.consume=!0,e.type=e.type.slice(0,-1)),l!=null&&(e.filter=l),r[0]&&(e.throttle=r[0]),r[1]&&(e.debounce=r[1]),e}function qQe(t){const e=t.split(hie);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function HQe(t){return Qe(t)?t:{type:t||"pad"}}const i3=t=>+t||0,zQe=t=>({top:t,bottom:t,left:t,right:t});function QQe(t){return Qe(t)?t.signal?t:{top:i3(t.top),bottom:i3(t.bottom),left:i3(t.left),right:i3(t.right)}:zQe(i3(t))}const Sr=t=>Qe(t)&&!Ce(t)?ct({},t):{value:t};function yie(t,e,n,r){return n!=null?(Qe(n)&&!Ce(n)||Ce(n)&&n.length&&Qe(n[0])?t.update[e]=n:t[r||"enter"][e]={value:n},1):0}function Br(t,e,n){for(const r in e)yie(t,r,e[r]);for(const r in n)yie(t,r,n[r],"update")}function E2(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function A2(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const zk="mark",Qk="frame",Gk="scope",GQe="axis",WQe="axis-domain",VQe="axis-grid",YQe="axis-label",KQe="axis-tick",XQe="axis-title",JQe="legend",ZQe="legend-band",eGe="legend-entry",tGe="legend-gradient",Eie="legend-label",nGe="legend-symbol",rGe="legend-title",iGe="title",sGe="title-text",oGe="title-subtitle";function uGe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!A2(a,t)&&Wk(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===Qk?i.group:n===zk?ct({},i.mark,i[e]):null;for(a in c)l=A2(a,t)||(a==="fill"||a==="stroke")&&(A2("fill",t)||A2("stroke",t)),l||Wk(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)A2(h,t)||Wk(s,h,x[h])}),t=ct({},t);for(a in s)c=s[a],c.signal?(u=u||{})[a]=c:o[a]=c;return t.enter=ct(o,t.enter),u&&(t.update=ct(u,t.update)),t}function Wk(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Aie=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:Sie(t);function $O(t){if(t.gradient!=null)return lGe(t);let e=t.signal?`(${t.signal})`:t.color?aGe(t.color):t.field!=null?Sie(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=cGe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${kO(t.exponent)})`),t.mult!=null&&(e+=`*${kO(t.mult)}`),t.offset!=null&&(e+=`+${kO(t.offset)}`),t.round&&(e=`round(${e})`),e}const BO=(t,e,n,r)=>`(${t}(${[e,n,r].map($O).join(",")})+'')`;function aGe(t){return t.c?BO("hcl",t.h,t.c,t.l):t.h||t.s?BO("hsl",t.h,t.s,t.l):t.l||t.a?BO("lab",t.l,t.a,t.b):t.r||t.g||t.b?BO("rgb",t.r,t.g,t.b):null}function lGe(t){const e=[t.start,t.stop,t.count].map(n=>n==null?null:Fe(n));for(;e.length&&_t(e)==null;)e.pop();return e.unshift(Aie(t.gradient)),`gradient(${e.join(",")})`}function kO(t){return Qe(t)?"("+$O(t)+")":t}function Sie(t){return vie(Qe(t)?t:{datum:t})}function vie(t){let e,n,r;if(t.signal)e="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),e="item";n-- >0;)e+=".mark.group";t.parent?(r=t.parent,e+=".datum"):r=t.group}else t.datum?(e="datum",r=t.datum):_e("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?yl(r).map(Fe).join("]["):vie(r)),e+"["+r+"]"}function cGe(t,e){const n=Aie(t.scale);return t.range!=null?e=`lerp(_range(${n}), ${+t.range})`:(e!==void 0&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band==1?"":"*"+kO(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function fGe(t){let e="";return t.forEach(n=>{const r=$O(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function _ie(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=uGe(t,e,n,r,i.config);for(const u in t)o[u]=xGe(t[u],e,s,i);return s}function xGe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=hGe(dGe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function dGe(t){return Ce(t)?fGe(t):$O(t)}function hGe(t,e,n,r){const i=Sa(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const pGe="outer",gGe=["value","update","init","react","bind"];function Cie(t,e){_e(t+' for "outer" push: '+Fe(e))}function bie(t,e){const n=t.name;if(t.push===pGe)e.signals[n]||Cie("No prior signal definition",n),gGe.forEach(r=>{t[r]!==void 0&&Cie("Invalid property ",r)});else{const r=e.addSignal(n,t.value);t.react===!1&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}function Vk(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function PO(t,e,n,r){return new Vk(t,e,n,r)}function MO(t,e){return PO("operator",t,e)}function Xe(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function s3(t,e){return e?{$field:t,$name:e}:{$field:t}}const Yk=s3("key");function Tie(t,e){return{$compare:t,$order:e}}function mGe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const yGe="ascending",EGe="descending";function AGe(t){return Qe(t)?(t.order===EGe?"-":"+")+jO(t.op,t.field):""}function jO(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const Kk="scope",Xk="view";function nr(t){return t&&t.signal}function SGe(t){return t&&t.expr}function UO(t){if(nr(t))return!0;if(Qe(t)){for(const e in t)if(UO(t[e]))return!0}return!1}function su(t,e){return t??e}function pd(t){return t&&t.signal||t}const Rie="timer";function o3(t,e){return(t.merge?_Ge:t.stream?CGe:t.type?bGe:_e("Invalid stream specification: "+Fe(t)))(t,e)}function vGe(t){return t===Kk?Xk:t||Xk}function _Ge(t,e){const n=t.merge.map(i=>o3(i,e)),r=Jk({merge:n},t,e);return e.addStream(r).id}function CGe(t,e){const n=o3(t.stream,e),r=Jk({stream:n},t,e);return e.addStream(r).id}function bGe(t,e){let n;t.type===Rie?(n=e.event(Rie,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(vGe(t.source),t.type);const r=Jk({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function Jk(t,e,n){let r=e.between;return r&&(r.length!==2&&_e('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[o3(r[0],n),o3(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(TGe(e.marktype,e.markname,e.markrole)),e.source===Kk&&r.push("inScope(event.item)"),r.length&&(t.filter=Sa("("+r.join(")&&(")+")",n).$expr),(r=e.throttle)!=null&&(t.throttle=+r),(r=e.debounce)!=null&&(t.debounce=+r),e.consume&&(t.consume=!0),t}function TGe(t,e,n){const r="event.item";return r+(t&&t!=="*"?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}const RGe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function OGe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||_e("Signal update missing events specification."),je(s)&&(s=hd(s,e.isSubscope()?Kk:Xk)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[DGe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&_e("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?Sa(o,e):o.expr!=null?Sa(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:RGe,$params:{$value:e.signalRef(o.signal)}}:_e("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(NGe(a,e),i)))}function NGe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):o3(t,e)}}function DGe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function FGe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?_e("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=Sa(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>OGe(i,e,n.id))}const jt=t=>(e,n,r)=>PO(t,n,e||void 0,r),Oie=jt("aggregate"),wGe=jt("axisticks"),Nie=jt("bound"),ou=jt("collect"),Die=jt("compare"),LGe=jt("datajoin"),Fie=jt("encode"),IGe=jt("expression"),$Ge=jt("facet"),BGe=jt("field"),kGe=jt("key"),PGe=jt("legendentries"),MGe=jt("load"),jGe=jt("mark"),UGe=jt("multiextent"),qGe=jt("multivalues"),HGe=jt("overlap"),zGe=jt("params"),wie=jt("prefacet"),QGe=jt("projection"),GGe=jt("proxy"),WGe=jt("relay"),Lie=jt("render"),VGe=jt("scale"),gd=jt("sieve"),YGe=jt("sortitems"),Iie=jt("viewlayout"),KGe=jt("values");let XGe=0;const $ie={min:"min",max:"max",count:"sum"};function JGe(t,e){const n=t.type||"linear";gJ(n)||_e("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function ZGe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Bie(t.domain,t,e),t.range!=null&&(n.range=Pie(t,e,n)),t.interpolate!=null&&lWe(t.interpolate,n),t.nice!=null&&(n.nice=aWe(t.nice)),t.bins!=null&&(n.bins=uWe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=Ao(t[r],e))}function Ao(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):_e("Unsupported object: "+Fe(t)):t}function qO(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>Ao(n,e))}function HO(t){_e("Can not find data set: "+Fe(t))}function Bie(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&_e("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(Ce(t)?eWe:t.fields?nWe:tWe)(t,e,n)}function eWe(t,e,n){return t.map(r=>Ao(r,n))}function tWe(t,e,n){const r=n.getData(t.data);return r||HO(t.data),Xp(e.type)?r.valuesRef(n,t.field,kie(t.sort,!1)):EJ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function nWe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:Ce(o)||o.signal?rWe(o,n):o,s.push(o),s),[]);return(Xp(e.type)?iWe:EJ(e.type)?sWe:oWe)(t,n,i)}function rWe(t,e){const n="_:vega:_"+XGe++,r=ou({});if(Ce(t))r.value={$ingest:t};else if(t.signal){const i="setdata("+Fe(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,gd({})]),{data:n,field:"data"}}function iWe(t,e,n){const r=kie(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||HO(l.data),c.countsRef(e,l.field,r)}),u={groupby:Yk,pulse:o};r&&(i=r.op||"count",s=r.field?jO(i,r.field):"count",u.ops=[$ie[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Oie(u));const a=e.add(ou({pulse:Xe(i)}));return s=e.add(KGe({field:Yk,sort:e.sortRef(r),pulse:Xe(a)})),Xe(s)}function kie(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?_e("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!$ie[t.op]&&_e("Multiple domain scales can not be sorted using "+t.op)),t}function sWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||HO(i.data),s.domainRef(e,i.field)});return Xe(e.add(qGe({values:r})))}function oWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||HO(i.data),s.extentRef(e,i.field)});return Xe(e.add(UGe({extents:r})))}function uWe(t,e){return t.signal||Ce(t)?qO(t,e):e.objectProperty(t)}function aWe(t){return Qe(t)?{interval:Ao(t.interval),step:Ao(t.step)}:Ao(t)}function lWe(t,e){e.interpolate=Ao(t.type||t),t.gamma!=null&&(e.interpolateGamma=Ao(t.gamma))}function Pie(t,e,n){const r=e.config.range;let i=t.range;if(i.signal)return e.signalRef(i.signal);if(je(i)){if(r&&Je(r,i))return t=ct({},t,{range:r[i]}),Pie(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=Xp(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:_e("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=Ce(i.scheme)?qO(i.scheme,e):Ao(i.scheme,e),i.extent&&(n.schemeExtent=qO(i.extent,e)),i.count&&(n.schemeCount=Ao(i.count,e));return}else if(i.step){n.rangeStep=Ao(i.step,e);return}else{if(Xp(t.type)&&!Ce(i))return Bie(i,t,e);Ce(i)||_e("Unsupported range type: "+Fe(i))}return i.map(s=>(Ce(s)?qO:Ao)(s,e))}function cWe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=Zk(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=Zk(n[i],i,e));e.addProjection(t.name,r)}function Zk(t,e,n){return Ce(t)?t.map(r=>Zk(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:_e("Unsupported parameter object: "+Fe(t)):t}const uu="top",S2="left",v2="right",Nc="bottom",Mie="center",fWe="vertical",xWe="start",dWe="middle",hWe="end",e7="index",t7="label",pWe="offset",_2="perc",gWe="perc2",So="value",u3="guide-label",n7="guide-title",mWe="group-title",yWe="group-subtitle",jie="symbol",zO="gradient",r7="discrete",i7="size",s7=[i7,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],a3={name:1,style:1,interactive:1},Ct={value:0},vo={value:1},QO="group",Uie="rect",o7="rule",EWe="symbol",md="text";function l3(t){return t.type=QO,t.interactive=t.interactive||!1,t}function xs(t,e){const n=(r,i)=>su(t[r],su(e[r],i));return n.isVertical=r=>fWe===su(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>su(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>su(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>su(t.columns,su(e.columns,+n.isVertical(!0))),n}function qie(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function AWe(t,e,n){const r=e.config.style[n];return r&&r[t]}function GO(t,e,n){return`item.anchor === '${xWe}' ? ${t} : item.anchor === '${hWe}' ? ${e} : ${n}`}const u7=GO(Fe(S2),Fe(v2),Fe(Mie));function SWe(t){const e=t("tickBand");let n=t("tickOffset"),r,i;return e?e.signal?(r={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${e.signal}) === 'extent'`},Qe(n)||(n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`})):e==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=t("bandPosition"),i=t("tickExtra")),{extra:i,band:r,offset:n}}function Hie(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Hie(t.offset,e)}):{value:t,offset:e}:e:t}function Us(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=E2(t.encode,e,a3)):t.interactive=!1,t}function vWe(t,e,n,r){const i=xs(t,n),s=i.isVertical(),o=i.gradientThickness(),u=i.gradientLength();let a,l,c,f,x;s?(l=[0,1],c=[0,0],f=o,x=u):(l=[0,0],c=[1,0],f=u,x=o);const h={enter:a={opacity:Ct,x:Ct,y:Ct,width:Sr(f),height:Sr(x)},update:ct({},a,{opacity:vo,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Br(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Us({type:Uie,role:tGe,encode:h},r)}function _We(t,e,n,r,i){const s=xs(t,n),o=s.isVertical(),u=s.gradientThickness(),a=s.gradientLength();let l,c,f,x,h="";o?(l="y",f="y2",c="x",x="width",h="1-"):(l="x",f="x2",c="y",x="height");const p={opacity:Ct,fill:{scale:e,field:So}};p[l]={signal:h+"datum."+_2,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+gWe,mult:a},p[x]=Sr(u);const m={enter:p,update:ct({},p,{opacity:vo}),exit:{opacity:Ct}};return Br(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),Us({type:Uie,role:ZQe,key:So,from:i,encode:m},r)}const CWe=`datum.${_2}<=0?"${S2}":datum.${_2}>=1?"${v2}":"${Mie}"`,bWe=`datum.${_2}<=0?"${Nc}":datum.${_2}>=1?"${uu}":"${dWe}"`;function zie(t,e,n,r){const i=xs(t,e),s=i.isVertical(),o=Sr(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:vo,text:{field:t7}},exit:{opacity:Ct}};return Br(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:su(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:bWe},f="y",x="x",h="1-"):(l.align=c.align={signal:CWe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+_2,mult:u},l[x]=c[x]=o,o.offset=su(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+e7}:void 0,Us({type:md,role:Eie,style:u3,key:So,from:r,encode:p,overlap:a},n)}function TWe(t,e,n,r,i){const s=xs(t,e),o=n.entries,u=!!(o&&o.interactive),a=o?o.name:void 0,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},x=`(${i}) ? datum.${pWe} : datum.${i7}`,h=l?Sr(l):{field:i7},p=`datum.${e7}`,m=`max(1, ${i})`;let g,y,E,A,S;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:vo,x:y.x,y:y.y},exit:{opacity:Ct}};let v=null,_=null;t.fill||(v=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Br(g,{fill:s("symbolFillColor",v),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),s7.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:So})});const C=Us({type:EWe,role:nGe,key:So,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=Sr(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:vo,text:{field:t7},x:y.x,y:y.y},exit:{opacity:Ct}},Br(g,{align:s("labelAlign"),baseline:s("labelBaseline"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontStyle:s("labelFontStyle"),fontWeight:s("labelFontWeight"),limit:s("labelLimit")});const O=Us({type:md,role:Eie,style:u3,key:So,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?Sr(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:vo,row:{signal:null},column:{signal:null}}},s.isVertical(!0)?(A=`ceil(item.mark.items.length / ${m})`,E.row.signal=`${p}%${A}`,E.column.signal=`floor(${p} / ${A})`,S={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,S={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:e7}},l3({role:Gk,from:r,encode:E2(g,o,a3),marks:[C,O],name:a,interactive:u,sort:S})}function RWe(t,e){const n=xs(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const a7='item.orient === "left"',l7='item.orient === "right"',WO=`(${a7} || ${l7})`,OWe=`datum.vgrad && ${WO}`,NWe=GO('"top"','"bottom"','"middle"'),DWe=GO('"right"','"left"','"center"'),FWe=`datum.vgrad && ${l7} ? (${DWe}) : (${WO} && !(datum.vgrad && ${a7})) ? "left" : ${u7}`,wWe=`item._anchor || (${WO} ? "middle" : "start")`,LWe=`${OWe} ? (${a7} ? -90 : 90) : 0`,IWe=`${WO} ? (datum.vgrad ? (${l7} ? "bottom" : "top") : ${NWe}) : "top"`;function $We(t,e,n,r){const i=xs(t,e),s={enter:{opacity:Ct},update:{opacity:vo,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Br(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:wWe},angle:{signal:LWe},align:{signal:FWe},baseline:{signal:IWe},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Us({type:md,role:rGe,style:n7,from:r,encode:s},n)}function BWe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Qie(t.path)+")":t.sphere&&(n="geoShape("+Qie(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Qie(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Gie(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===QO?Gk:e||zk}function kWe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Gie(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function PWe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function c7(t,e){const n=O5e(t.type);n||_e("Unrecognized transform type: "+Fe(t.type));const r=PO(n.type.toLowerCase(),null,Wie(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Wie(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=MWe(o,e,n)}return r}function MWe(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return jWe(t,e,n);if(i===void 0){t.required&&_e("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return UWe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!nr(i)?i.map(s=>Vie(t,s,n)):Vie(t,i,n)}function Vie(t,e,n){const r=t.type;if(nr(e))return Kie(r)?_e("Expression references can not be signals."):f7(r)?n.fieldRef(e):Xie(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||f7(r);return i&&qWe(e)?n.exprRef(e.expr,e.as):i&&HWe(e)?s3(e.field,e.as):Kie(r)?Sa(e,n):zWe(r)?Xe(n.getData(e).values):f7(r)?s3(e):Xie(r)?n.compareRef(e):e}}function jWe(t,e,n){return je(e.from)||_e('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function UWe(t,e,n){const r=e[t.name];return t.array?(Ce(r)||_e("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Yie(t,i,n))):Yie(t,r,n)}function Yie(t,e,n){const r=t.params.length;let i;for(let o=0;o<r;++o){i=t.params[o];for(const u in i.key)if(i.key[u]!==e[u]){i=null;break}if(i)break}i||_e("Unsupported parameter: "+Fe(e));const s=ct(Wie(i,e,n),i.key);return Xe(n.add(zGe(s)))}const qWe=t=>t&&t.expr,HWe=t=>t&&t.field,zWe=t=>t==="data",Kie=t=>t==="expr",f7=t=>t==="field",Xie=t=>t==="compare";function QWe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||_e("Only group marks can be faceted."),r.field!=null?o=u=VO(r,n):(t.data?u=Xe(n.getData(t.data).aggregate):(s=c7(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=VO(r,n),o=u=Xe(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Xe(n.add(ou(null,[{}]))),o||(o=VO(t,n)),{key:i,pulse:o,parent:u}}function VO(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Xe(e.getData(t.data).output)}function yd(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}yd.fromEntries=function(t,e){const n=e.length,r=e[n-1],i=e[n-2];let s=e[0],o=null,u=1;for(s&&s.type==="load"&&(s=e[1]),t.add(e[0]);u<n;++u)e[u].params.pulse=Xe(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new yd(t,s,i,r,o)};function Jie(t){return je(t)?t:null}function Zie(t,e,n){const r=jO(n.op,n.field);let i;if(e.ops){for(let s=0,o=e.as.length;s<o;++s)if(e.as[s]===r)return}else e.ops=["count"],e.fields=[null],e.as=["count"];n.op&&(e.ops.push((i=n.op.signal)?t.signalRef(i):n.op),e.fields.push(t.fieldRef(n.field)),e.as.push(r))}function c3(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=AGe(s);let l=Jie(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:Yk,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Xe(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(PO(r,void 0,x)),o&&(e.index[i]=f),c=Xe(f),l!=null&&(u[l]=c)}return c}yd.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=Jie(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&Zie(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Xe(r.output)},n&&n.field&&Zie(t,a,n),u=t.add(Oie(a)),o=t.add(ou({pulse:Xe(u)})),o={agg:u,ref:Xe(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Xe(this.values)},extentRef(t,e){return c3(t,this,"extent","extent",e,!1)},domainRef(t,e){return c3(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return c3(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return c3(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return c3(t,this,"indata","tupleindex",e,!0,!0)}};function GWe(t,e,n){const r=t.from.facet,i=r.name,s=VO(r,e);let o;r.name||_e("Facet must have a name: "+Fe(r)),r.data||_e("Facet must reference a data set: "+Fe(r)),r.field?o=e.add(wie({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add($Ge({key:e.keyRef(r.groupby),group:Xe(e.proxy(n.parent)),pulse:s})):_e("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(ou()),l=u.add(gd({pulse:Xe(a)}));u.addData(i,new yd(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function WWe(t,e,n){const r=e.add(wie({pulse:n.pulse})),i=e.fork();i.add(gd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function ese(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(MO()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=Sa(l,e);a.update=c.$expr,a.params=c.$params}function YO(t,e){const n=Gie(t),r=t.type===QO,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===Gk||n===Qk,u,a,l,c,f,x,h;const p=n===zk||o||i,m=QWe(t.from,r,e);a=e.add(LGe({key:m.key||(t.key?s3(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Xe(a);a=l=e.add(ou({pulse:g})),a=e.add(jGe({markdef:kWe(t),interactive:PWe(t.interactive,e),clip:BWe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Xe(a)}));const y=Xe(a);a=c=e.add(Fie(_ie(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=c7(_,e),b=C.metadata;(b.generates||b.changes)&&_e("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Xe(a),e.add(a=C)}),t.sort&&(a=e.add(YGe({sort:e.compareRef(t.sort),pulse:Xe(a)})));const E=Xe(a);(i||o)&&(o=e.add(Iie({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Xe(o));const A=e.add(Nie({mark:y,pulse:x||E}));h=Xe(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?GWe(t,e,m):p?WWe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=VWe(s,h,e));const S=e.add(Lie({pulse:h})),v=e.add(gd({pulse:Xe(S)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new yd(e,l,S,v)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&_e("Marks only support modify triggers."),ese(_,e,f)}))}function VWe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:nr(s)?n.signalRef(s.signal):s,method:nr(r)?n.signalRef(r.signal):r,pulse:e};if(t.order&&(o.sort=n.compareRef({field:t.order})),i){const u=i.tolerance;o.boundTolerance=nr(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Xe(n.add(HGe(o)))}function YWe(t,e){const n=e.config.legend,r=t.encode||{},i=xs(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;s7.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||_e("Missing valid scale for legend.");const p=KWe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Xe(e.add(ou(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Xe(e.add(PGe(x={type:p,scale:e.scaleRef(c),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return p===zO?(h=[vWe(t,c,n,r.gradient),zie(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${pd(i.gradientLength())})/100))`)):p===r7?h=[_We(t,c,n,r.gradient,E),zie(t,n,r.labels,E)]:(f=RWe(t,n),h=[TWe(t,n,r,E,pd(f.columns))],x.size=ZWe(t,e,h[0].marks)),h=[l3({role:eGe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push($We(t,n,r.title,g)),YO(l3({role:JQe,from:g,encode:E2(JWe(i,t,n),s,a3),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function KWe(t,e){let n=t.type||jie;return!t.type&&XWe(t)===1&&(t.fill||t.stroke)&&(n=S$(e)?zO:v$(e)?r7:jie),n!==zO?n:v$(e)?r7:zO}function XWe(t){return s7.reduce((e,n)=>e+(t[n]?1:0),0)}function JWe(t,e,n){const r={enter:{},update:{}};return Br(r,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType}),r}function ZWe(t,e,n){const r=pd(tse("size",t,n)),i=pd(tse("strokeWidth",t,n)),s=pd(eVe(n[1].encode,e,u3));return Sa(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function tse(t,e,n){return e[t]?`scale("${e[t]}",datum)`:qie(t,n[0].encode)}function eVe(t,e,n){return qie("fontSize",t)||AWe("fontSize",e,n)}const tVe=`item.orient==="${S2}"?-90:item.orient==="${v2}"?90:0`;function nVe(t,e){t=je(t)?{text:t}:t;const n=xs(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Xe(e.add(ou(null,[l])));return a.push(sVe(t,n,rVe(t),c)),t.subtitle&&a.push(oVe(t,n,r.subtitle,c)),YO(l3({role:iGe,from:c,encode:iVe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function rVe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function iVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:u7},angle:{signal:tVe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),E2(n,e,a3)}function sVe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Us({type:md,role:sGe,style:mWe,from:r,encode:o},n)}function oVe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Us({type:md,role:oGe,style:yWe,from:r,encode:o},n)}function uVe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(c7(r,e))}),t.on&&t.on.forEach(r=>{ese(r,e,t.name)}),e.addDataPipeline(t.name,aVe(t,e,n))}function aVe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?nr(t.values)||UO(t.format)?(r.push(nse(e,t)),r.push(i=Ed())):r.push(i=Ed({$ingest:t.values,$format:t.format})):t.url?UO(t.url)||UO(t.format)?(r.push(nse(e,t)),r.push(i=Ed())):r.push(i=Ed({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Xe(e.getData(x).output)),r.push(null)),a=0,l=n.length;a<l;++a)c=n[a],f=c.metadata,!i&&!f.source&&r.push(i=Ed()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(s=!0),f.source?i=c:f.changes&&(i=null);return u&&(l=u.length-1,r[0]=WGe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Ed())),i||r.push(Ed()),r.push(gd({})),r}function Ed(t){const e=ou({},t);return e.metadata={source:!0},e}function nse(t,e){return MGe({url:e.url?t.property(e.url):void 0,async:e.async?t.property(e.async):void 0,values:e.values?t.property(e.values):void 0,format:t.objectProperty(e.format)})}const rse=t=>t===Nc||t===uu,KO=(t,e,n)=>nr(t)?xVe(t.signal,e,n):t===S2||t===uu?e:n,vr=(t,e,n)=>nr(t)?cVe(t.signal,e,n):rse(t)?e:n,au=(t,e,n)=>nr(t)?fVe(t.signal,e,n):rse(t)?n:e,ise=(t,e,n)=>nr(t)?dVe(t.signal,e,n):t===uu?{value:e}:{value:n},lVe=(t,e,n)=>nr(t)?hVe(t.signal,e,n):t===v2?{value:e}:{value:n},cVe=(t,e,n)=>sse(`${t} === '${uu}' || ${t} === '${Nc}'`,e,n),fVe=(t,e,n)=>sse(`${t} !== '${uu}' && ${t} !== '${Nc}'`,e,n),xVe=(t,e,n)=>x7(`${t} === '${S2}' || ${t} === '${uu}'`,e,n),dVe=(t,e,n)=>x7(`${t} === '${uu}'`,e,n),hVe=(t,e,n)=>x7(`${t} === '${v2}'`,e,n),sse=(t,e,n)=>(e=e!=null?Sr(e):e,n=n!=null?Sr(n):n,ose(e)&&ose(n)?(e=e?e.signal||Fe(e.value):null,n=n?n.signal||Fe(n.value):null,{signal:`${t} ? (${e}) : (${n})`}):[ct({test:t},e)].concat(n||[])),ose=t=>t==null||Object.keys(t).length===1,x7=(t,e,n)=>({signal:`${t} ? (${C2(e)}) : (${C2(n)})`}),pVe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${S2}' ? (${C2(r)}) : `:"")+(n!=null?`${t} === '${Nc}' ? (${C2(n)}) : `:"")+(i!=null?`${t} === '${v2}' ? (${C2(i)}) : `:"")+(e!=null?`${t} === '${uu}' ? (${C2(e)}) : `:"")+"(null)"}),C2=t=>nr(t)?t.signal:t==null?null:Fe(t),gVe=(t,e)=>e===0?0:nr(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},b2=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function T2(t,e,n,r){let i;if(e&&Je(e,t))return e[t];if(Je(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[n7][i]}else if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[u3][i]}return null}function use(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function mVe(t,e){var n=e.config,r=n.style,i=n.axis,s=e.scaleType(t.scale)==="band"&&n.axisBand,o=t.orient,u,a,l;if(nr(o)){const f=use([n.axisX,n.axisY]),x=use([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=vr(o,T2(l,n.axisX,i,r),T2(l,n.axisY,i,r));a={};for(l of x)a[l]=pVe(o.signal,T2(l,n.axisTop,i,r),T2(l,n.axisBottom,i,r),T2(l,n.axisLeft,i,r),T2(l,n.axisRight,i,r))}else u=o===uu||o===Nc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function yVe(t,e,n,r){const i=xs(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:vo},exit:{opacity:Ct}};Br(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=ase(t,0),c=ase(t,1);return o.x=u.x=vr(s,l,Ct),o.x2=u.x2=vr(s,c),o.y=u.y=au(s,l,Ct),o.y2=u.y2=au(s,c),Us({type:o7,role:WQe,from:r,encode:a},n)}function ase(t,e){return{scale:t.scale,range:e}}function EVe(t,e,n,r,i){const s=xs(t,e),o=t.orient,u=t.gridScale,a=KO(o,1,-1),l=AVe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:vo},exit:f={opacity:Ct}};Br(h,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});const p={scale:t.scale,field:So,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=vr(o,{signal:"height"},{signal:"width"}),g=u?{scale:u,range:0,mult:a,offset:l}:{value:0,offset:l},y=u?{scale:u,range:1,mult:a,offset:l}:ct(m,{mult:a,offset:l});return c.x=x.x=vr(o,p,g),c.y=x.y=au(o,p,g),c.x2=x.x2=au(o,y),c.y2=x.y2=vr(o,y),f.x=vr(o,p),f.y=au(o,p),Us({type:o7,role:VQe,key:So,from:r,encode:h},n)}function AVe(t,e){if(e!==1)if(!Qe(t))t=nr(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);else{let n=t=ct({},t);for(;n.mult!=null;)if(Qe(n.mult))n=n.mult=ct({},n.mult);else return n.mult=nr(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function SVe(t,e,n,r,i,s){const o=xs(t,e),u=t.orient,a=KO(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:vo},exit:c={opacity:Ct}};Br(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=Sr(i);h.mult=a;const p={scale:t.scale,field:So,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=vr(u,Ct,p),f.y2=l.y2=vr(u,h),c.x=vr(u,p),f.x=l.x=au(u,Ct,p),f.x2=l.x2=au(u,h),c.y=au(u,p),Us({type:o7,role:KQe,key:So,from:r,encode:x},n)}function d7(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function vVe(t,e,n,r,i,s){const o=xs(t,e),u=t.orient,a=t.scale,l=KO(u,-1,1),c=pd(o("labelFlush")),f=pd(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=Sr(i);g.mult=l,g.offset=Sr(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:So,band:.5,offset:Hie(s.offset,o("labelOffset"))},E=vr(u,p?d7(a,c,'"left"','"right"','"center"'):{value:"center"},lVe(u,"left","right")),A=vr(u,ise(u,"bottom","top"),p?d7(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),S=d7(a,c,`-(${f})`,f,0);p=p&&f;const v={opacity:Ct,x:vr(u,y,g),y:au(u,y,g)},_={enter:v,update:m={opacity:vo,text:{field:t7},x:v.x,y:v.y,align:E,baseline:A},exit:{opacity:Ct,x:v.x,y:v.y}};Br(_,{dx:!x&&p?vr(u,S):null,dy:!h&&p?au(u,S):null}),Br(_,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:x,baseline:h});const C=o("labelBound");let b=o("labelOverlap");return b=b||C?{separation:o("labelSeparation"),method:b,order:"datum.index",bound:C?{scale:a,orient:u,tolerance:C}:null}:void 0,m.align!==E&&(m.align=b2(m.align,E)),m.baseline!==A&&(m.baseline=b2(m.baseline,A)),Us({type:md,role:YQe,style:u3,key:So,from:r,encode:_,overlap:b},n)}function _Ve(t,e,n,r){const i=xs(t,e),s=t.orient,o=KO(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:Sr(i("titleAnchor",null)),align:{signal:u7}},update:a=ct({},u,{opacity:vo,text:Sr(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${GO(0,1,.5)})`};return a.x=vr(s,c),a.y=au(s,c),u.angle=vr(s,Ct,gVe(o,90)),u.baseline=vr(s,ise(s,Nc,uu),{value:Nc}),a.angle=u.angle,a.baseline=u.baseline,Br(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),CVe(i,s,l,n),l.update.align=b2(l.update.align,u.align),l.update.angle=b2(l.update.angle,u.angle),l.update.baseline=b2(l.update.baseline,u.baseline),Us({type:md,role:XQe,style:n7,from:r,encode:l},n)}function CVe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=b2(Sr(u),n.update[a]),!1):!A2(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?Sr(o):vr(e,Sr(o),Sr(s))}function bVe(t,e){const n=mVe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=xs(t,n),l=SWe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Xe(e.add(ou({},[c]))),x=Xe(e.add(wGe({scale:e.scaleRef(t.scale),extra:e.property(l.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),h=[];let p;return c.grid&&h.push(EVe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(SVe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(vVe(t,n,r.labels,x,p,l))),c.domain&&h.push(yVe(t,n,r.domain,f)),c.title&&h.push(_Ve(t,n,r.title,f)),YO(l3({role:GQe,from:f,encode:E2(TVe(a,t),i,a3),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function TVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),offset:t("offset")||0,position:su(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType}),n}function lse(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>bie(s,e)),Pe(t.projections).forEach(s=>cWe(s,e)),i.forEach(s=>JGe(s,e)),Pe(t.data).forEach(s=>uVe(s,e)),i.forEach(s=>ZGe(s,e)),(n||r).forEach(s=>FGe(s,e)),Pe(t.axes).forEach(s=>bVe(s,e)),Pe(t.marks).forEach(s=>YO(s,e)),Pe(t.legends).forEach(s=>YWe(s,e)),t.title&&nVe(t.title,e),e.parseLambdas(),e}const RVe=t=>E2({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function OVe(t,e){const n=e.config,r=Xe(e.root=e.add(MO())),i=NVe(t,n);i.forEach(l=>bie(l,e)),e.description=t.description||n.description,e.eventConfig=n.events,e.legends=e.objectProperty(n.legend&&n.legend.layout),e.locale=n.locale;const s=e.add(ou()),o=e.add(Fie(_ie(RVe(t.encode),QO,Qk,t.style,e,{pulse:Xe(s)}))),u=e.add(Iie({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Xe(o)}));e.operators.pop(),e.pushState(Xe(o),Xe(u),null),lse(t,e,i),e.operators.push(u);let a=e.add(Nie({mark:r,pulse:Xe(u)}));return a=e.add(Lie({pulse:Xe(a)})),a=e.add(gd({pulse:Xe(a)})),e.addData("root",new yd(e,s,s,a)),e}function f3(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function NVe(t,e){const n=o=>su(t[o],e[o]),r=[f3("background",n("background")),f3("autosize",HQe(n("autosize"))),f3("padding",QQe(n("padding"))),f3("width",n("width")||0),f3("height",n("height")||0)],i=r.reduce((o,u)=>(o[u.name]=u,o),{}),s={};return Pe(t.signals).forEach(o=>{Je(i,o.name)?o=ct(i[o.name],o):r.push(o),s[o.name]=o}),Pe(e.signals).forEach(o=>{!Je(s,o.name)&&!Je(i,o.name)&&r.push(o)}),r}function cse(t,e){this.config=t||{},this.options=e||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function fse(t){this.config=t.config,this.options=t.options,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}cse.prototype=fse.prototype={parse(t){return lse(t,this)},fork(){return new fse(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(e=>{e.$ref=t.id}),t.refs=null),t},proxy(t){const e=t instanceof Vk?Xe(t):t;return this.add(GGe({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;this.root&&(this.root.root=!0);for(t in this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(r,i,s){let o,u;r&&(o=r.data||(r.data={}),u=o[i]||(o[i]=[]),u.push(s))}for(t in this.data){e=this.data[t],n(e.input,t,"input"),n(e.output,t,"output"),n(e.values,t,"values");for(const r in e.index)n(e.index[r],t,"index:"+r)}return this},pushState(t,e,n){this._encode.push(Xe(this.add(gd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Xe(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return _t(this._parent)},encode(){return _t(this._encode)},lookup(){return _t(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(je(t))return s3(t,e);t.signal||_e("Unsupported field reference: "+Fe(t));const n=t.signal;let r=this.field[n];if(!r){const i={name:this.signalRef(n)};e&&(i.as=e),this.field[n]=r=Xe(this.add(BGe(i)))}return r},compareRef(t){let e=!1;const n=s=>nr(s)?(e=!0,this.signalRef(s.signal)):SGe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Xe(this.add(Die({fields:r,orders:i}))):Tie(r,i)},keyRef(t,e){let n=!1;const r=s=>nr(s)?(n=!0,Xe(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Xe(this.add(kGe({fields:t,flat:e}))):mGe(t,e)},sortRef(t){if(!t)return t;const e=jO(t.op,t.field),n=t.order||yGe;return n.signal?Xe(this.add(Die({fields:e,orders:this.signalRef(n.signal)}))):Tie(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},hasOwnSignal(t){return Je(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&_e("Duplicate signal name: "+Fe(t));const n=e instanceof Vk?e:this.add(MO(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||_e("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Xe(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(MO(null))),Xe(this.lambdas[t]))},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const r=t[e],i=Sa(r,this),s=this.lambdas[r];s.params=i.$params,s.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!Qe(t)?t:this.signalRef(t.signal||h7(t))},exprRef(t,e){const n={expr:Sa(t,this)};return e&&(n.expr.$name=e),Xe(this.add(IGe(n)))},addBinding(t,e){this.bindings||_e("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&_e("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,VGe(e))},addProjection(t,e){this.addScaleProj(t,QGe(e))},getScale(t){return this.scales[t]||_e("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Xe(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){return Je(this.data,t)&&_e("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||_e("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&_e("Duplicate data set name: "+Fe(t)),this.addData(t,yd.fromEntries(this,e))}};function h7(t){return(Ce(t)?DVe:FVe)(t)}function DVe(t){const e=t.length;let n="[";for(let r=0;r<e;++r){const i=t[r];n+=(r>0?",":"")+(Qe(i)?i.signal||h7(i):Fe(i))}return n+"]"}function FVe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||h7(i):Fe(i));return e+"}"}function wVe(){const t="sans-serif",r="#4c78a8",i="#000",s="#888",o="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:t,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:t,fontSize:10},"guide-title":{fill:i,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:t,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:o},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:s,grid:!1,gridWidth:1,gridColor:o,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:s,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:o,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:s,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function LVe(t,e,n){return Qe(t)||_e("Input Vega specification must be an object."),e=f5(wVe(),e,t.config),OVe(t,new cse(e,n)).toRuntime()}ct(My,kIe,h8e,M8e,CMe,y9e,Qje,Cje,Wje,gUe,TUe,LUe);const IVe={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},XO=28;function $Ve(t,e){const n=t.allFields.at(0),r=t.allFields.at(1),{tag:i}=t.tagParse();let s=0,o=0;const u=i.numeric("size","width"),a=i.numeric("size","height");let l=i.text("size");u&&a?(s=u,o=a):(l=l||"md",[s,o]=IVe[l],o=o*XO);let c=0,f=0,x=-90,h="right",p="middle",m=0,g=0;const y=l!=="spark",E=l!=="spark",A=e.fields[bx(t)];let S=l!=="spark"?XO-1:0,v;const _=bx(r),C=e.fields[_].max,b=Dt("linear")().domain([0,C]).nice().range([o,0]),O=b.domain();if(E){const H=b.domain().at(1),Q=EY().format(",")(H);f=hy(Q,"Inter, sans-serif 12px")+5+31;const le=Math.ceil(o/40),ne=b.ticks(le);if(ne.at(-1)<H){const ce=(H-ne.at(-1))/H,de=o/(1-ce);S=S-(de-o),o=de,v=le}}if(y){const H=bx(n),V=e.fields[H].maxString,Q=hy(V,"Inter, sans-serif 12px"),ue=.3;g=22+15,c=Math.min(Q,ue*o),m=c;const le=(s-f)/A.maxRecordCt;le>c&&(x=0,m=le,h=void 0,p="top")}const R=o+c+g,I=Math.ceil(R/XO)*XO;g+=I-R;const M=i.text("size")==="spark";return{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelAlign:h,labelBaseline:p,labelSize:m,height:c,titleSize:g,hidden:M},yAxis:{width:f,tickCount:v,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:S+1,left:f,bottom:c+g,right:0},xField:n,yField:r,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}const JO="#727883",ZO="#E5E7EB";function BVe(t,e){const n=$Ve(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:ZO,tickColor:ZO,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:JO,labelPadding:5,titleColor:JO,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10,labelOverlap:!1},axisX:{gridColor:ZO,tickColor:ZO,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:JO,titleColor:JO,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10},view:{strokeWidth:0}},data:[{name:"table",values:[]}],marks:[],scales:[],legends:[],axes:[],autosize:{type:"none",resize:!0,contains:"content"},padding:n.padding},i={name:"xscale",type:t.x.type==="nominal"?"band":"linear",domain:{data:"table",field:t.x.fields.at(0)},range:"width"};i.type==="band"&&(i.paddingInner=.1,i.paddingOuter=.05,i.round=!0);const s={name:"yscale",type:t.y.type==="nominal"?"band":"linear",domain:n.yScale.domain??{data:"table",fields:t.y.fields},range:"height"};s.type==="linear"&&(s.nice=!0),r.scales.push(i),r.scales.push(s);for(const o of t.marks){const u={},a={name:o.id,source:"table",transform:[]};if(r.data.push(a),o.type==="bar_y"){u.type="rect",u.from={data:o.id};const l=o.x??t.x.fields.at(0),c=o.y??t.y.fields.at(0);u.encode={enter:{x:{scale:"xscale",field:l,band:.1},width:{scale:"xscale",band:.8},y:{scale:"yscale",field:c},y2:{scale:"yscale",value:0},fill:{value:"#53B2C8"}}},r.marks.push(u)}}return n.xAxis.hidden||r.axes.push({orient:"bottom",scale:"xscale",title:t.x.fields.join(", "),labelAngle:n.xAxis.labelAngle,labelLimit:n.xAxis.labelSize,labelAlign:n.xAxis.labelAlign,labelBaseline:n.xAxis.labelBaseline,maxExtent:n.xAxis.height}),n.yAxis.hidden||r.axes.push({orient:"left",scale:"yscale",grid:!0,maxExtent:n.yAxis.width,labelLimit:n.yAxis.width+10,tickCount:n.yAxis.tickCount??{signal:"ceil(height/40)"},title:[...new Set(s.domain.fields)].filter(o=>typeof o=="string").join(", ")}),{spec:r,plotWidth:n.plotWidth,plotHeight:n.plotHeight,totalWidth:n.totalWidth,totalHeight:n.totalHeight}}function kVe(){const t=new WeakMap;return{get:e=>{if(!t.has(e)&&e.isArray()){const n=[];for(const r of e)n.push(r.toObject());t.set(e,n)}return t.get(e)}}}function PVe(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=bx(u);return e.set(u,a),a},r=kVe(),i={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>i.fields[n(u)],getData:r.get},s=t.data.field,o=i.getFieldKey(s);return i.fields[o]={field:s,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},xse(t.data.field,i),dse(t.data,i),Object.values(i.fields).forEach(u=>{const a=u.field;a.isExploreField()?hse(a,a.tagParse().tag,i):a.isExplore()&&hse(a,t.tagParse().tag,i)}),i}function xse(t,e){for(const n of t.allFields){const r=e.getFieldKey(n);e.fields[r]={field:n,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},n.isExploreField()&&xse(n,e)}}const dse=(t,e)=>{let n=0;for(const s of t){n++;for(const o of t.field.allFields){const u=o.isAtomicField()?s.cell(o).value:void 0,a=e.field(o);if(UW(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(qW(o,u)){const l=u;a.values.add(l),(!a.minString||a.minString.length>l.length)&&(a.minString=l),(!a.maxString||a.maxString.length<l.length)&&(a.maxString=l)}else if(o.isExploreField()){const l=s.cell(o);dse(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function hse(t,e,n){const r=n.field(t);if(a5(e,"bar","bar_chart")){const i=RFe(t,e);r.vegaChartProps=BVe(i,{field:t,metadata:n})}}const pse=$P(),gse=()=>{const t=BP(pse);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t};function Oit(t){return t}function Nit(t){return t}Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function t(){var e=isNaN(arguments[0])?1:Number(arguments[0]);return e?Array.prototype.reduce.call(this,function(n,r){return Array.isArray(r)?n.push.apply(n,t.call(r,e-1)):n.push(r),n},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(t){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var mse={exports:{}};(function(t){var e=function(){function n(x,h){return h!=null&&x instanceof h}var r;try{r=Map}catch{r=function(){}}var i;try{i=Set}catch{i=function(){}}var s;try{s=Promise}catch{s=function(){}}function o(x,h,p,m,g){typeof h=="object"&&(p=h.depth,m=h.prototype,g=h.includeNonEnumerable,h=h.circular);var y=[],E=[],A=typeof Buffer<"u";typeof h>"u"&&(h=!0),typeof p>"u"&&(p=1/0);function S(v,_){if(v===null)return null;if(_===0)return v;var C,b;if(typeof v!="object")return v;if(n(v,r))C=new r;else if(n(v,i))C=new i;else if(n(v,s))C=new s(function(he,le){v.then(function(ne){he(S(ne,_-1))},function(ne){le(S(ne,_-1))})});else if(o.__isArray(v))C=[];else if(o.__isRegExp(v))C=new RegExp(v.source,f(v)),v.lastIndex&&(C.lastIndex=v.lastIndex);else if(o.__isDate(v))C=new Date(v.getTime());else{if(A&&Buffer.isBuffer(v))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(v.length):C=new Buffer(v.length),v.copy(C),C;n(v,Error)?C=Object.create(v):typeof m>"u"?(b=Object.getPrototypeOf(v),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(v);if(O!=-1)return E[O];y.push(v),E.push(C)}n(v,r)&&v.forEach(function(he,le){var ne=S(le,_-1),ce=S(he,_-1);C.set(ne,ce)}),n(v,i)&&v.forEach(function(he){var le=S(he,_-1);C.add(le)});for(var R in v){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=S(v[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(v),R=0;R<M.length;R++){var H=M[R],V=Object.getOwnPropertyDescriptor(v,H);V&&!V.enumerable&&!g||(C[H]=S(v[H],_-1),V.enumerable||Object.defineProperty(C,H,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(v),R=0;R<Q.length;R++){var ue=Q[R],V=Object.getOwnPropertyDescriptor(v,ue);V&&V.enumerable||(C[ue]=S(v[ue],_-1),Object.defineProperty(C,ue,{enumerable:!1}))}return C}return S(x,p)}o.clonePrototype=function(h){if(h===null)return null;var p=function(){};return p.prototype=h,new p};function u(x){return Object.prototype.toString.call(x)}o.__objToStr=u;function a(x){return typeof x=="object"&&u(x)==="[object Date]"}o.__isDate=a;function l(x){return typeof x=="object"&&u(x)==="[object Array]"}o.__isArray=l;function c(x){return typeof x=="object"&&u(x)==="[object RegExp]"}o.__isRegExp=c;function f(x){var h="";return x.global&&(h+="g"),x.ignoreCase&&(h+="i"),x.multiline&&(h+="m"),h}return o.__getRegExpFlags=f,o}();t.exports&&(t.exports=e)})(mse);var MVe=mse.exports;const jVe=OD(MVe);var UVe=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const qVe=OD(UVe);var HVe=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var n=typeof e.cycles=="boolean"?e.cycles:!1,r=e.cmp&&function(s){return function(o){return function(u,a){var l={key:u,value:o[u]},c={key:a,value:o[a]};return s(l,c)}}}(e.cmp),i=[];return function s(o){if(o&&o.toJSON&&typeof o.toJSON=="function"&&(o=o.toJSON()),o!==void 0){if(typeof o=="number")return isFinite(o)?""+o:"null";if(typeof o!="object")return JSON.stringify(o);var u,a;if(Array.isArray(o)){for(a="[",u=0;u<o.length;u++)u&&(a+=","),a+=s(o[u])||"null";return a+"]"}if(o===null)return"null";if(i.indexOf(o)!==-1){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var l=i.push(o)-1,c=Object.keys(o).sort(r&&r(o));for(a="",u=0;u<c.length;u++){var f=c[u],x=s(o[f]);x&&(a&&(a+=","),a+=JSON.stringify(f)+":"+x)}return i.splice(l,1),"{"+a+"}"}}(t)};const p7=OD(HVe);function g7(t){return!!t.or}function m7(t){return!!t.and}function y7(t){return!!t.not}function eN(t,e){if(y7(t))eN(t.not,e);else if(m7(t))for(const n of t.and)eN(n,e);else if(g7(t))for(const n of t.or)eN(n,e);else e(t)}function R2(t,e){return y7(t)?{not:R2(t.not,e)}:m7(t)?{and:t.and.map(n=>R2(n,e))}:g7(t)?{or:t.or.map(n=>R2(n,e))}:e(t)}const Ql=qVe,ot=jVe;function zVe(t){throw new Error(t)}function x3(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function _o(t,e){const n=Object.assign({},t);for(const r of e)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(t=>p7(t)).join(",")})`};const sn=p7;function bt(t){if(nn(t))return t;const e=je(t)?t:p7(t);if(e.length<250)return e;let n=0;for(let r=0;r<e.length;r++){const i=e.charCodeAt(r);n=(n<<5)-n+i,n=n&n}return n}function yse(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function O2(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function Ese(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function QVe(t,...e){for(const n of e)GVe(t,n??{});return t}function GVe(t,e){for(const n of be(e))Pb(t,n,e[n],!0)}function Gl(t,e){const n=[],r={};let i;for(const s of t)i=e(s),!(i in r)&&(r[i]=1,n.push(s));return n}function WVe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function Ase(t,e){for(const n of t)if(e.has(n))return!0;return!1}function Sse(t){const e=new Set;for(const n of t){const i=yl(n).map((o,u)=>u===0?o:`[${o}]`),s=i.map((o,u)=>i.slice(0,u+1).join(""));for(const o of s)e.add(o)}return e}function vse(t,e){return t===void 0||e===void 0?!0:Ase(Sse(t),Sse(e))}function Wt(t){return be(t).length===0}const be=Object.keys,Pi=Object.values,Ad=Object.entries;function tN(t){return t===!0||t===!1}function mn(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function nN(t,e){return y7(t)?`!(${nN(t.not,e)})`:m7(t)?`(${t.and.map(n=>nN(n,e)).join(") && (")})`:g7(t)?`(${t.or.map(n=>nN(n,e)).join(") || (")})`:e(t)}function E7(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&E7(t[n],e)&&delete t[n],Wt(t)}function rN(t){return t.charAt(0).toUpperCase()+t.substr(1)}function _se(t,e="datum"){const n=yl(t),r=[];for(let i=1;i<=n.length;i++){const s=`[${n.slice(0,i).map(Fe).join("][")}]`;r.push(`${e}${s}`)}return r.join(" && ")}function VVe(t,e="datum"){return`${e}[${Fe(yl(t).join("."))}]`}function YVe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function lu(t){return`${yl(t).map(YVe).join("\\.")}`}function N2(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function Cse(t){return`${yl(t).join(".")}`}function d3(t){return t?yl(t).length:0}function rr(...t){for(const e of t)if(e!==void 0)return e}let KVe=42;function XVe(t){const e=++KVe;return t?String(t)+e:e}function JVe(t){return ZVe(t)?t:`__${t}`}function ZVe(t){return t.startsWith("__")}function iN(t){if(t!==void 0)return(t%360+360)%360}function A7(t){return nn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var h3=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Wl="row",Vl="column",sN="facet",yn="x",_r="y",cu="x2",va="y2",Dc="xOffset",D2="yOffset",_a="radius",Yl="radius2",fu="theta",Kl="theta2",Ca="latitude",ba="longitude",xu="latitude2",Co="longitude2",ds="color",Ta="fill",Ra="stroke",hs="shape",Xl="size",Sd="angle",Jl="opacity",Fc="fillOpacity",wc="strokeOpacity",Lc="strokeWidth",Ic="strokeDash",p3="text",g3="order",m3="detail",oN="key",vd="tooltip",uN="href",aN="url",lN="description",eYe={x:1,y:1,x2:1,y2:1},bse={theta:1,theta2:1,radius:1,radius2:1};function Tse(t){return t in bse}const S7={longitude:1,longitude2:1,latitude:1,latitude2:1};function tYe(t){switch(t){case Ca:return"y";case xu:return"y2";case ba:return"x";case Co:return"x2"}}function nYe(t){return t in S7}const rYe=be(S7),v7=Object.assign(Object.assign(Object.assign(Object.assign({},eYe),bse),S7),{xOffset:1,yOffset:1,color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1});function F2(t){return t===ds||t===Ta||t===Ra}const Rse={row:1,column:1,facet:1},bo=be(Rse),_7=Object.assign(Object.assign({},v7),Rse),iYe=be(_7),sYe=h3(_7,["order","detail","tooltip"]),oYe=h3(sYe,["row","column","facet"]);function uYe(t){return!!oYe[t]}function Ose(t){return!!_7[t]}const aYe=[cu,va,xu,Co,Kl,Yl];function Nse(t){return _d(t)!==t}function _d(t){switch(t){case cu:return yn;case va:return _r;case xu:return Ca;case Co:return ba;case Kl:return fu;case Yl:return _a}return t}function $c(t){if(Tse(t))switch(t){case fu:return"startAngle";case Kl:return"endAngle";case _a:return"outerRadius";case Yl:return"innerRadius"}return t}function Zl(t){switch(t){case yn:return cu;case _r:return va;case Ca:return xu;case ba:return Co;case fu:return Kl;case _a:return Yl}}function ps(t){switch(t){case yn:case cu:return"width";case _r:case va:return"height"}}function lYe(t){switch(t){case yn:return"xOffset";case _r:return"yOffset";case cu:return"x2Offset";case va:return"y2Offset";case fu:return"thetaOffset";case _a:return"radiusOffset";case Kl:return"theta2Offset";case Yl:return"radius2Offset"}}function Dse(t){switch(t){case yn:return"xOffset";case _r:return"yOffset"}}function Fse(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const cYe=be(v7),C7=h3(v7,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),fYe=be(C7),b7={x:1,y:1},Oa=be(b7);function kr(t){return t in b7}const T7={theta:1,radius:1},xYe=be(T7);function cN(t){return t==="width"?yn:_r}const wse={xOffset:1,yOffset:1};function w2(t){return t in wse}const Lse=h3(C7,["text","tooltip","href","url","description","detail","key","order"]),dYe=be(Lse);function hYe(t){return!!C7[t]}function pYe(t){switch(t){case ds:case Ta:case Ra:case Xl:case hs:case Jl:case Lc:case Ic:return!0;case Fc:case wc:case Sd:return!1}}const Ise=Object.assign(Object.assign(Object.assign(Object.assign({},b7),T7),wse),Lse),fN=be(Ise);function Bc(t){return!!Ise[t]}function gYe(t,e){return yYe(t)[e]}const $se={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},mYe=h3($se,["geoshape"]);function yYe(t){switch(t){case ds:case Ta:case Ra:case lN:case m3:case oN:case vd:case uN:case g3:case Jl:case Fc:case wc:case Lc:case sN:case Wl:case Vl:return $se;case yn:case _r:case Dc:case D2:case Ca:case ba:return mYe;case cu:case va:case xu:case Co:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Xl:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Ic:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case hs:return{point:"always",geoshape:"always"};case p3:return{text:"always"};case Sd:return{point:"always",square:"always",text:"always"};case aN:return{image:"always"};case fu:return{text:"always",arc:"always"};case _a:return{text:"always",arc:"always"};case Kl:case Yl:return{arc:"always"}}}function R7(t){switch(t){case yn:case _r:case fu:case _a:case Dc:case D2:case Xl:case Sd:case Lc:case Jl:case Fc:case wc:case cu:case va:case Kl:case Yl:return;case sN:case Wl:case Vl:case hs:case Ic:case p3:case vd:case uN:case aN:case lN:return"discrete";case ds:case Ta:case Ra:return"flexible";case Ca:case ba:case xu:case Co:case m3:case oN:case g3:return}}const EYe={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},AYe={count:1,min:1,max:1};function e0(t){return!!t&&!!t.argmin}function kc(t){return!!t&&!!t.argmax}function O7(t){return je(t)&&!!EYe[t]}const SYe=new Set(["count","valid","missing","distinct"]);function Bse(t){return je(t)&&SYe.has(t)}function vYe(t){return je(t)&&Tt(["min","max"],t)}const _Ye=new Set(["count","sum","distinct","valid","missing"]),CYe=new Set(["mean","average","median","q1","q3","min","max"]);function kse(t){return Fp(t)&&(t=DN(t,void 0)),"bin"+be(t).map(e=>xN(t[e])?mn(`_${e}_${Ad(t[e])}`):mn(`_${e}_${t[e]}`)).join("")}function Xt(t){return t===!0||Cd(t)&&!t.binned}function Mi(t){return t==="binned"||Cd(t)&&t.binned===!0}function Cd(t){return Qe(t)}function xN(t){return t==null?void 0:t.param}function Pse(t){switch(t){case Wl:case Vl:case Xl:case ds:case Ta:case Ra:case Lc:case Jl:case Fc:case wc:case hs:return 6;case Ic:return 4;default:return 10}}function y3(t){return t&&!!t.expr}function gs(t){const e=be(t||{}),n={};for(const r of e)n[r]=qs(t[r]);return n}var bYe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Mse(t){const{anchor:e,frame:n,offset:r,orient:i,angle:s,limit:o,color:u,subtitleColor:a,subtitleFont:l,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:x,subtitleLineHeight:h,subtitlePadding:p}=t,m=bYe(t,["anchor","frame","offset","orient","angle","limit","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),g=Object.assign(Object.assign({},m),u?{fill:u}:{}),y=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e?{anchor:e}:{}),n?{frame:n}:{}),r?{offset:r}:{}),i?{orient:i}:{}),s!==void 0?{angle:s}:{}),o!==void 0?{limit:o}:{}),E=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a?{subtitleColor:a}:{}),l?{subtitleFont:l}:{}),c?{subtitleFontSize:c}:{}),f?{subtitleFontStyle:f}:{}),x?{subtitleFontWeight:x}:{}),h?{subtitleLineHeight:h}:{}),p?{subtitlePadding:p}:{}),A=x3(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Pc(t){return je(t)||Ce(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function Mc(t){return!!t.step}function TYe(t){return Ce(t)?!1:"fields"in t&&!("data"in t)}function RYe(t){return Ce(t)?!1:"fields"in t&&"data"in t}function t0(t){return Ce(t)?!1:"field"in t&&"data"in t}const OYe=be({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),NYe={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},N7=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var D7=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function jse(t){const e=Ce(t.condition)?t.condition.map(Use):Use(t.condition);return Object.assign(Object.assign({},qs(t)),{condition:e})}function qs(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return t}function Use(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return t}function on(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function DYe(t){return Ye(t)?t.signal:Fe(t)}function qse(t){return Ye(t)?t.signal:Fe(t.value)}function n0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function FYe(t,e,n){for(const r of n){const i=bd(r,e.markDef,e.config);i!==void 0&&(t[r]=on(i))}return t}function Hse(t){var e;return[].concat(t.type,(e=t.style)!==null&&e!==void 0?e:[])}function kt(t,e,n,r={}){const{vgChannel:i,ignoreVgConfig:s}=r;return i&&e[i]!==void 0?e[i]:e[t]!==void 0?e[t]:s&&(!i||i===t)?void 0:bd(t,e,n,r)}function bd(t,e,n,{vgChannel:r}={}){return rr(r?dN(t,e,n.style):void 0,dN(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function dN(t,e,n){return zse(t,Hse(e),n)}function zse(t,e,n){e=Pe(e);let r;for(const i of e){const s=n[i];s&&s[t]!==void 0&&(r=s[t])}return r}function Qse(t,e){return Pe(t).reduce((n,r)=>{var i;return n.field.push($e(r,e)),n.order.push((i=r.sort)!==null&&i!==void 0?i:"ascending"),n},{field:[],order:[]})}function Gse(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Ql(i,r))return;n.push(r)}),n}function Wse(t,e){return Ql(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function Vse(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Pc(n)||Ye(n))&&(Pc(r)||Ye(r)))return{explicit:t.explicit,value:Wse(n,r)};if(Pc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Pc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Pc(n)&&!Ye(n)&&!Pc(r)&&!Ye(r))return{explicit:t.explicit,value:Gse(n,r)};throw new Error("It should never reach here")}function F7(t){return`Invalid specification ${sn(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const wYe='Autosize "fit" only works for single views and layered views.';function Yse(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function Kse(t){const e=t=="width"?"Width":"Height",n=t=="width"?"x":"y";return`${e} "container" only works well with autosize "fit" or "fit-${n}".`}function Xse(t){return t?`Dropping "fit-${t}" because spec has discrete ${ps(t)}.`:'Dropping "fit" because spec has discrete size.'}function w7(t){return`Unknown field for ${t}. Cannot calculate view size.`}function Jse(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function LYe(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function IYe(t){return`The "nearest" transform is not supported for ${t} marks.`}function Zse(t){return`Selection not supported for ${t} yet.`}function $Ye(t){return`Cannot find a selection named "${t}".`}const BYe="Scale bindings are currently only supported for scales with unbinned, continuous domains.",kYe="Legend bindings are only supported for selections over an individual field or encoding channel.";function PYe(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function MYe(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const jYe="The same selection must be used to override scale domains in a layered view.",UYe='Interval selections should be initialized using "x" and/or "y" keys.';function qYe(t){return`Unknown repeated value "${t}".`}function eoe(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const HYe="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function zYe(t){return`Unrecognized parse "${t}".`}function toe(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const QYe="Attempt to add the same child twice.";function GYe(t){return`Ignoring an invalid transform: ${sn(t)}.`}const WYe='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function noe(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function VYe(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${sn(e)} is overridden by a child projection ${sn(n)}.`}const YYe="Arc marks uses theta channel rather than angle, replacing angle with theta.";function KYe(t){return`${t}Offset dropped because ${t} is continuous`}function XYe(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function JYe(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${sn(n)}}.`}function roe(t){return`Invalid field type "${t}".`}function ZYe(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function eKe(t){return`Invalid aggregation operator "${t}".`}function ioe(t,e){const{fill:n,stroke:r}=e;return`Dropping color ${t} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function tKe(t){return`Position range does not support relative band size for ${t}.`}function L7(t,e){return`Dropping ${sn(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const nKe="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function hN(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function rKe(t){return`${t} encoding has no scale, so specified scale is ignored.`}function iKe(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function sKe(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function oKe(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function uKe(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function I7(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function aKe(t){return`The ${t} for range marks cannot be an expression`}function lKe(t,e){return`Line mark is for continuous lines and thus cannot be used with ${t&&e?"x2 and y2":t?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function cKe(t,e){return`Specified orient "${t}" overridden with "${e}".`}function fKe(t){return`Cannot use the scale property "${t}" with non-color channel.`}function xKe(t){return`Cannot use the relative band size with ${t} scale.`}function dKe(t){return`Using unaggregated domain with raw field has no effect (${sn(t)}).`}function hKe(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function pKe(t){return`Unaggregated domain is currently unsupported for log scale (${sn(t)}).`}function gKe(t){return`Cannot apply size to non-oriented mark "${t}".`}function mKe(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function yKe(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function soe(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function ooe(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function EKe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using ${sn(n)}.`}function AKe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using the union of the two domains.`}function SKe(t){return`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`}function vKe(t){return`Dropping sort property ${sn(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const uoe="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",_Ke="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",CKe="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",bKe="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function TKe(t){return`Cannot stack "${t}" if there is already "${t}2".`}function RKe(t){return`Cannot stack non-linear scale (${t}).`}function OKe(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function pN(t,e){return`Invalid ${t}: ${sn(e)}.`}function NKe(t){return`Dropping day from datetime ${sn(t)} as day cannot be combined with other units.`}function DKe(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function FKe(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function wKe(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function aoe(t){return`1D error band does not support ${t}.`}function loe(t){return`Channel ${t} is required for "binned" bin.`}function LKe(t){return`Channel ${t} should not be used with "binned" bin.`}function IKe(t){return`Domain for ${t} is required for threshold scale.`}const coe=YW(VW);let L2=coe;function $Ke(t){return L2=t,L2}function BKe(){return L2=coe,L2}function Te(...t){L2.warn(...t)}function kKe(...t){L2.debug(...t)}function Td(t){if(t&&Qe(t)){for(const e of B7)if(e in t)return!0}return!1}const foe=["january","february","march","april","may","june","july","august","september","october","november","december"],PKe=foe.map(t=>t.substr(0,3)),xoe=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],MKe=xoe.map(t=>t.substr(0,3));function jKe(t){if(A7(t)&&(t=+t),nn(t))return t>4&&Te(pN("quarter",t)),t-1;throw new Error(pN("quarter",t))}function UKe(t){if(A7(t)&&(t=+t),nn(t))return t-1;{const e=t.toLowerCase(),n=foe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=PKe.indexOf(r);if(i!==-1)return i;throw new Error(pN("month",t))}}function qKe(t){if(A7(t)&&(t=+t),nn(t))return t%7;{const e=t.toLowerCase(),n=xoe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=MKe.indexOf(r);if(i!==-1)return i;throw new Error(pN("day",t))}}function $7(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(NKe(t)),t=ot(t),delete t.day),t.year!==void 0?n.push(t.year):n.push(2012),t.month!==void 0){const r=e?UKe(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?jKe(t.quarter):t.quarter;n.push(nn(r)?r*3:`${r}*3`)}else n.push(0);if(t.date!==void 0)n.push(t.date);else if(t.day!==void 0){const r=e?qKe(t.day):t.day;n.push(nn(r)?r+1:`${r}+1`)}else n.push(1);for(const r of["hours","minutes","seconds","milliseconds"]){const i=t[r];n.push(typeof i>"u"?0:i)}return n}function E3(t){const n=$7(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function HKe(t){const n=$7(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function zKe(t){const e=$7(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var QKe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const doe={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},B7=be(doe);function GKe(t){return!!doe[t]}function k7(t){return t.startsWith("utc")}function WKe(t){return t.substr(3)}const VKe={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function P7(t){return B7.filter(e=>hoe(t,e))}function hoe(t,e){const n=t.indexOf(e);return!(n<0||n>0&&e==="seconds"&&t.charAt(n-1)==="i"||t.length>n+3&&e==="day"&&t.charAt(n+3)==="o"||n>0&&e==="year"&&t.charAt(n-1)==="f")}function YKe(t,e,{end:n}={end:!1}){const r=_se(e),i=k7(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of B7)hoe(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),HKe(u)}function poe(t){if(!t)return;const e=P7(t);return`timeUnitSpecifier(${sn(e)}, ${sn(VKe)})`}function KKe(t,e,n){if(!t)return;const r=poe(t);return`${n||k7(t)?"utc":"time"}Format(${e}, ${r})`}function ji(t){if(!t)return;let e;return je(t)?e={unit:t}:Qe(t)&&(e=Object.assign(Object.assign({},t),t.unit?{unit:t.unit}:{})),k7(e.unit)&&(e.utc=!0,e.unit=WKe(e.unit)),e}function XKe(t){const e=ji(t),{utc:n}=e,r=QKe(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>mn(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>mn(`_${i}_${r[i]}`)).join("")}function JKe(t){return t==null?void 0:t.param}function M7(t){return t&&!!t.field&&t.equal!==void 0}function j7(t){return t&&!!t.field&&t.lt!==void 0}function U7(t){return t&&!!t.field&&t.lte!==void 0}function q7(t){return t&&!!t.field&&t.gt!==void 0}function H7(t){return t&&!!t.field&&t.gte!==void 0}function z7(t){if(t!=null&&t.field){if(Ce(t.range)&&t.range.length===2)return!0;if(Ye(t.range))return!0}return!1}function Q7(t){return t&&!!t.field&&(Ce(t.oneOf)||Ce(t.in))}function ZKe(t){return t&&!!t.field&&t.valid!==void 0}function goe(t){return Q7(t)||M7(t)||z7(t)||j7(t)||q7(t)||U7(t)||H7(t)}function Na(t,e){return FN(t,{timeUnit:e,wrapTime:!0})}function eXe(t,e){return t.map(n=>Na(n,e))}function moe(t,e=!0){var n;const{field:r}=t,i=(n=ji(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${YKe(i,r)})`:$e(t,{expr:"datum"});if(M7(t))return`${s}===${Na(t.equal,i)}`;if(j7(t)){const o=t.lt;return`${s}<${Na(o,i)}`}else if(q7(t)){const o=t.gt;return`${s}>${Na(o,i)}`}else if(U7(t)){const o=t.lte;return`${s}<=${Na(o,i)}`}else if(H7(t)){const o=t.gte;return`${s}>=${Na(o,i)}`}else{if(Q7(t))return`indexof([${eXe(t.oneOf,i).join(",")}], ${s}) !== -1`;if(ZKe(t))return G7(s,t.valid);if(z7(t)){const{range:o}=t,u=Ye(o)?{signal:`${o.signal}[0]`}:o[0],a=Ye(o)?{signal:`${o.signal}[1]`}:o[1];if(u!==null&&a!==null&&e)return"inrange("+s+", ["+Na(u,i)+", "+Na(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Na(u,i)}`),a!==null&&l.push(`${s} <= ${Na(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${sn(t)}`)}function G7(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function tXe(t){var e;return goe(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=ji(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const A3={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function nXe(t){return t==="quantitative"||t==="temporal"}function yoe(t){return t==="ordinal"||t==="nominal"}const Rd=A3.quantitative,W7=A3.ordinal,I2=A3.temporal,V7=A3.nominal,$2=A3.geojson;function rXe(t){if(t)switch(t=t.toLowerCase(),t){case"q":case Rd:return"quantitative";case"t":case I2:return"temporal";case"o":case W7:return"ordinal";case"n":case V7:return"nominal";case $2:return"geojson"}}var iXe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ms={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Y7={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function sXe(t,e){const n=Y7[t],r=Y7[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const oXe={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function Eoe(t){return oXe[t]}const Aoe=new Set(["linear","log","pow","sqrt","symlog"]),Soe=new Set([...Aoe,"time","utc"]);function voe(t){return Aoe.has(t)}const _oe=new Set(["quantile","quantize","threshold"]),uXe=new Set([...Soe,..._oe,"sequential","identity"]),aXe=new Set(["ordinal","bin-ordinal","point","band"]);function Cr(t){return aXe.has(t)}function Hs(t){return uXe.has(t)}function du(t){return Soe.has(t)}function B2(t){return _oe.has(t)}const lXe={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function cXe(t){return!je(t)&&!!t.name}function Coe(t){return t==null?void 0:t.param}function fXe(t){return t&&t.unionWith}function xXe(t){return Qe(t)&&"field"in t}const dXe=iXe({type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},["type","domain","range","rangeMax","rangeMin","scheme"]),hXe=be(dXe);function K7(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(t);case"bins":return!["point","band","identity","ordinal"].includes(t);case"round":return du(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return du(t)||["point","band"].includes(t);case"paddingOuter":case"align":return["point","band"].includes(t);case"paddingInner":return t==="band";case"domainMax":case"domainMid":case"domainMin":case"clamp":return du(t);case"nice":return du(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return Hs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function boe(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return F2(t)?void 0:fKe(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function pXe(t,e){return Tt([W7,V7],e)?t===void 0||Cr(t):e===I2?Tt([ms.TIME,ms.UTC,void 0],t):e===Rd?voe(t)||B2(t)||t===void 0:!0}function gXe(t,e,n=!1){if(!Bc(t))return!1;switch(t){case yn:case _r:case Dc:case D2:case fu:case _a:return du(e)||e==="band"?!0:e==="point"?!n:!1;case Xl:case Lc:case Jl:case Fc:case wc:case Sd:return du(e)||B2(e)||Tt(["band","point","ordinal"],e);case ds:case Ta:case Ra:return e!=="band";case Ic:case hs:return e==="ordinal"||B2(e)}}const Ui={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},Toe=Ui.arc,gN=Ui.area,mN=Ui.bar,mXe=Ui.image,yN=Ui.line,EN=Ui.point,yXe=Ui.rect,AN=Ui.rule,Roe=Ui.text,X7=Ui.tick,EXe=Ui.trail,J7=Ui.circle,Z7=Ui.square,Ooe=Ui.geoshape;function jc(t){return["line","area","trail"].includes(t)}function Noe(t){return["rect","bar","image","arc"].includes(t)}const AXe=new Set(be(Ui));function Da(t){return t.type}const SXe=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],vXe=["fill","fillOpacity"],_Xe=[...SXe,...vXe],Doe=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),CXe={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},bXe={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},Foe=be({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function k2(t){return t&&t.band!=null}const TXe={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},woe=5,RXe={binSpacing:1,continuousBandSize:woe,timeUnitBandPosition:.5},OXe={binSpacing:0,continuousBandSize:woe,timeUnitBandPosition:.5},NXe={thickness:1};function DXe(t){return Da(t)?t.type:t}function e8(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=n8(t);return Le(n)&&!Bse(n.aggregate)&&i&&du(i.get("type"))?FXe({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function FXe({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return jc(n.type)?r:kt("invalid",n,i)===null?[wXe(t,e),r]:r}function wXe(t,e){const n=t8(t,!0),i=_d(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function t8(t,e=!0){return G7(je(t)?t:$e(t,{expr:"datum"}),!e)}function LXe(t){const{datum:e}=t;return Td(e)?E3(e):`${sn(e)}`}function Od(t,e,n,r){const i={};if(e&&(i.scale=e),wa(t)){const{datum:s}=t;Td(s)?i.signal=E3(s):Ye(s)?i.signal=s.signal:y3(s)?i.signal=s.expr:i.value=s}else i.field=$e(t,n);if(r){const{offset:s,band:o}=r;s&&(i.offset=s),o&&(i.band=o)}return i}function SN({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:n,offset:r,startSuffix:i,bandPosition:s=.5}){const o=0<s&&s<1?"datum":void 0,u=$e(e,{expr:o,suffix:i}),a=n!==void 0?$e(n,{expr:o}):$e(e,{suffix:"end",expr:o}),l={};if(s===0||s===1){l.scale=t;const c=s===0?u:a;l.field=c}else{const c=Ye(s)?`${s.signal} * ${u} + (1-${s.signal}) * ${a}`:`${s} * ${u} + ${1-s} * ${a}`;l.signal=`scale("${t}", ${c})`}return r&&(l.offset=r),l}function n8({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l,bandPosition:c}){var f;if(e){if(it(e)){const x=o==null?void 0:o.get("type");if(To(e)){c??(c=zoe({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Xt(h)||c&&p&&m===I2)return u!=null&&u.impute?Od(e,s,{binSuffix:"mid"},{offset:a}):c&&!Cr(x)?SN({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Od(e,s,C3(e,t)?{binSuffix:"range"}:{},{offset:a});if(Mi(h)){if(Le(n))return SN({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(loe(t===yn?cu:va))}}return Od(e,s,Cr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(hu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},S3(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function S3(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:on(e)}function Nd(t){return t&&t!=="number"&&t!=="time"}function Loe(t,e,n){return`${t}(${e}${n?`, ${sn(n)}`:""})`}const IXe=" – ";function r8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Nd(n))return i8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=Ioe(t,r,i);if(j2(t)){const l=BXe(a,Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,Dd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===ms.UTC);return l?{signal:l}:void 0}if(e=koe(a8(t),e,s),Le(t)&&Xt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:vN(a,l,e,n,s)}}else return e||a8(t)==="quantitative"?{signal:`${Poe(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function Ioe(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):LXe(t)}function i8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=Ioe(t,r,i)),Le(t)&&Xt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:vN(o,u,e,n,s)}}return{signal:Loe(n,o,e)}}function $oe(t,e,n,r,i,s){var o;if(!Nd(r)){if(j2(t)){const u=Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return $Xe(n,u,i,s)}return koe(e,n,i)}}function Boe(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(j2(e)&&n!=="time"&&n!=="utc")return"time"}function koe(t,e,n){if(je(e))return e;if(t===Rd)return n.numberFormat}function $Xe(t,e,n,r){return t||(e?{signal:poe(e)}:r?void 0:n.timeFormat)}function Poe(t,e){return`format(${t}, "${e||""}")`}function Moe(t,e,n,r){var i;return Nd(n)?Loe(n,t,e):Poe(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function vN(t,e,n,r,i){const s=Moe(t,n,r,i),o=Moe(e,n,r,i);return`${G7(t,!1)} ? "null" : ${s} + "${IXe}" + ${o}`}function BXe(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):KKe(e,t,i)}const _N="min",kXe={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function joe(t){return t in kXe}function Uoe(t){return!!t&&!!t.encoding}function Fa(t){return!!t&&(t.op==="count"||!!t.field)}function qoe(t){return!!t&&Ce(t)}function v3(t){return"row"in t||"column"in t}function s8(t){return!!t&&"header"in t}function CN(t){return"facet"in t}var o8=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function PXe(t){return t.param}function MXe(t){return t&&!je(t)&&"repeat"in t}function Hoe(t){const{field:e,timeUnit:n,bin:r,aggregate:i}=t;return Object.assign(Object.assign(Object.assign(Object.assign({},n?{timeUnit:n}:{}),r?{bin:r}:{}),i?{aggregate:i}:{}),{field:e})}function u8(t){return"sort"in t}function zoe({fieldDef:t,fieldDef2:e,markDef:n,config:r}){if(it(t)&&t.bandPosition!==void 0)return t.bandPosition;if(Le(t)){const{timeUnit:i,bin:s}=t;if(i&&!e)return Noe(n.type)?0:bd("timeUnitBandPosition",n,r);if(Xt(s))return .5}}function Qoe({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=ps(t),f=kt(o?"size":c,r,i,{vgChannel:c});if(f!==void 0)return f;if(Le(e)){const{timeUnit:x,bin:h}=e;if(x&&!n)return{band:bd("timeUnitBandSize",r,i)};if(Xt(h)&&!Cr(s))return{band:1}}if(Noe(r.type))return s?Cr(s)?((u=i[r.type])===null||u===void 0?void 0:u.discreteBandSize)||{band:1}:(a=i[r.type])===null||a===void 0?void 0:a.continuousBandSize:(l=i[r.type])===null||l===void 0?void 0:l.discreteBandSize}function Goe(t,e,n,r){return Xt(t.bin)||t.timeUnit&&To(t)&&t.type==="temporal"?zoe({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function bN(t){return t&&"condition"in t}function TN(t){const e=t&&t.condition;return!!e&&!Ce(e)&&Le(e)}function _3(t){const e=t&&t.condition;return!!e&&!Ce(e)&&it(e)}function jXe(t){const e=t&&t.condition;return!!e&&(Ce(e)||hu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function a8(t){return t&&t.type}function wa(t){return t&&"datum"in t}function La(t){return To(t)&&!RN(t)||l8(t)}function l8(t){return wa(t)&&nn(t.datum)}function it(t){return Le(t)||wa(t)}function To(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function hu(t){return t&&"value"in t&&"value"in t}function Dd(t){return t&&("scale"in t||"sort"in t)}function c8(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function Woe(t){return t&&"legend"in t}function Voe(t){return t&&("format"in t||"formatType"in t)}function UXe(t){return _o(t,["legend","axis","header","scale"])}function qXe(t){return"op"in t}function $e(t,e={}){var n,r,i;let s=t.field;const o=e.prefix;let u=e.suffix,a="";if(zXe(t))s=JVe("count");else{let l;if(!e.nofn)if(qXe(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Xt(c)?(l=kse(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?kc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):e0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=XKe(x),u=(!["range","mid"].includes(e.binSuffix)&&e.binSuffix||"")+((i=e.suffix)!==null&&i!==void 0?i:""))}l&&(s=s?`${l}_${s}`:l)}return u&&(s=`${s}_${u}`),o&&(s=`${o}_${s}`),e.forAs?Cse(s):e.expr?VVe(s,e.expr)+a:lu(s)+a}function RN(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Le(t)&&!!t.bin;case"temporal":return!1}throw new Error(roe(t.type))}function HXe(t){var e;return Dd(t)&&B2((e=t.scale)===null||e===void 0?void 0:e.type)}function zXe(t){return t.aggregate==="count"}function QXe(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Xt(i))return`${r} (binned)`;if(s){const u=(n=ji(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${P7(u).join("-")})`}else if(o)return kc(o)?`${r} for max ${o.argmax}`:e0(o)?`${r} for min ${o.argmin}`:`${rN(o)} of ${r}`;return r}function GXe(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(kc(e))return`${i} for argmax(${e.argmax})`;if(e0(e))return`${i} for argmin(${e.argmin})`;const s=ji(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Xt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const Yoe=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return GXe(t);default:return QXe(t,e)}};let Koe=Yoe;function Xoe(t){Koe=t}function WXe(){Xoe(Yoe)}function P2(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=f8(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?x8(u,e):void 0;return n?rr(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function f8(t){if(c8(t)&&t.axis)return t.axis;if(Woe(t)&&t.legend)return t.legend;if(s8(t)&&t.header)return t.header}function x8(t,e){return Koe(t,e)}function ON(t){var e;if(Voe(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=f8(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function VXe(t,e){var n;switch(e){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(u8(t)&&Ce(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!kc(r)&&!e0(r))return"quantitative";if(Dd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(Y7[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ia(t){if(Le(t))return t;if(TN(t))return t.condition}function ir(t){if(it(t))return t;if(_3(t))return t.condition}function Joe(t,e,n,r={}){if(je(t)||nn(t)||Fp(t)){const i=je(t)?"string":nn(t)?"number":"boolean";return Te(JYe(e,i,t)),{value:t}}return it(t)?NN(t,e,n,r):_3(t)?Object.assign(Object.assign({},t),{condition:NN(t.condition,e,n,r)}):t}function NN(t,e,n,r){if(Voe(t)){const{format:i,formatType:s}=t,o=o8(t,["format","formatType"]);if(Nd(s)&&!n.customFormatTypes)return Te(noe(e)),NN(o,e,n,r)}else{const i=c8(t)?"axis":Woe(t)?"legend":s8(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=o8(s,["format","formatType"]);if(Nd(u)&&!n.customFormatTypes)return Te(noe(e)),NN(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?d8(t,e,r):YXe(t)}function YXe(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=nn(n)?"quantitative":je(n)?"nominal":Td(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function d8(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!O7(r)&&!kc(r)&&!e0(r)&&(Te(eKe(r)),delete u.aggregate),i&&(u.timeUnit=ji(i)),o&&(u.field=`${o}`),Xt(s)&&(u.bin=DN(s,e)),Mi(s)&&!kr(e)&&Te(LKe(e)),To(u)){const{type:a}=u,l=rXe(a);a!==l&&(u.type=l),a!=="quantitative"&&Bse(r)&&(Te(ZYe(a,r)),u.type="quantitative")}else if(!Nse(e)){const a=VXe(u,e);u.type=a}if(To(u)){const{compatible:a,warning:l}=KXe(u,e)||{};a===!1&&Te(l)}if(u8(u)&&je(u.sort)){const{sort:a}=u;if(joe(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&joe(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(s8(u)){const{header:a}=u;if(a){const{orient:l}=a,c=o8(a,["orient"]);if(l)return Object.assign(Object.assign({},u),{header:Object.assign(Object.assign({},c),{labelOrient:a.labelOrient||l,titleOrient:a.titleOrient||l})})}}return u}function DN(t,e){return Fp(t)?{maxbins:Pse(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:Pse(e)}):t}const M2={compatible:!0};function KXe(t,e){const n=t.type;if(n==="geojson"&&e!=="shape")return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case Wl:case Vl:case sN:return RN(t)?M2:{compatible:!1,warning:sKe(e)};case yn:case _r:case Dc:case D2:case ds:case Ta:case Ra:case p3:case m3:case oN:case vd:case uN:case aN:case Sd:case fu:case _a:case lN:return M2;case ba:case Co:case Ca:case xu:return n!==Rd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:M2;case Jl:case Fc:case wc:case Lc:case Xl:case Kl:case Yl:case cu:case va:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:M2;case hs:case Ic:return!RN(t)&&!HXe(t)?{compatible:!1,warning:oKe(e)}:M2;case g3:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:M2}}function j2(t){const{formatType:e}=ON(t);return e==="time"||!e&&XXe(t)}function XXe(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function FN(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=ji(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return y3(t)?a=t.expr:Ye(t)?a=t.signal:Td(t)?(u=!0,a=E3(t)):(je(t)||nn(t))&&u&&(a=`datetime(${sn(t)})`,GKe(o)&&(nn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=E3({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:sn(t)}function Zoe(t,e){const{type:n}=t;return e.map(r=>{const i=FN(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function C3(t,e){return Xt(t.bin)?Bc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const eue={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function b3(t){return t&&t.condition}const tue=["domain","grid","labels","ticks","title"],JXe={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},nue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},ZXe=Object.assign(Object.assign({},nue),{style:1,labelExpr:1,encoding:1});function rue(t){return!!ZXe[t]}const iue=be({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function r0(t){return"mark"in t}class wN{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return r0(e)?DXe(e.mark)===this.name:!1}}var eJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Fd(t,e){const n=t&&t[e];return n?Ce(n)?O2(n,r=>!!r.field):Le(n)||TN(n):!1}function sue(t,e){const n=t&&t[e];return n?Ce(n)?O2(n,r=>!!r.field):Le(n)||wa(n)||_3(n):!1}function h8(t,e){if(kr(e)){const n=t[e];if((Le(n)||wa(n))&&yoe(n.type)){const r=Dse(e);return sue(t,r)}}return!1}function p8(t){return O2(iYe,e=>{if(Fd(t,e)){const n=t[e];if(Ce(n))return O2(n,r=>!!r.aggregate);{const r=Ia(n);return r&&!!r.aggregate}}return!1})}function oue(t,e){const n=[],r=[],i=[],s=[],o={};return g8(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=eJe(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=f8(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:P2(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(kc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):e0(c)?(E="argmin",g=$e({op:"argmin",field:c.argmin},{forAs:!0}),y.field=`${g}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(E=c),E){const A={op:E,as:g};l&&(A.field=l),s.push(A)}}else if(n.push(g),To(u)&&Xt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),C3(u,a)&&n.push($e(u,{binSuffix:"range"})),kr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",Nse(a)||(y.type=Rd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=To(u)&&u.type!==I2&&"time";E&&(a===p3||a===vd?y.formatType=E:hYe(a)?y.legend=Object.assign({formatType:E},y.legend):kr(a)&&(y.axis=Object.assign({formatType:E},y.axis)))}o[a]=y}else n.push(l),o[a]=t[a]}else o[a]=t[a]}),{bins:r,timeUnits:i,aggregate:s,groupby:n,encoding:o}}function tJe(t,e,n){const r=gYe(e,n);if(r){if(r==="binned"){const i=t[e===cu?yn:_r];return!!(Le(i)&&Le(t[e])&&Mi(i.bin))}}else return!1;return!0}function nJe(t,e,n,r){const i={};for(const s of be(t))Ose(s)||Te(iKe(s));for(let s of cYe){if(!t[s])continue;const o=t[s];if(w2(s)){const u=Fse(s),a=i[u];if(Le(a)){if(nXe(a.type)&&Le(o)){Te(KYe(u));continue}}else s=u,Te(XYe(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(YYe),s=fu),!tJe(t,s,e)){Te(hN(s,e));continue}if(s===Xl&&e==="line"){const u=Ia(t[s]);if(u!=null&&u.aggregate){Te(nKe);continue}}if(s===ds&&(n?"fill"in t:"stroke"in t)){Te(ioe("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===m3||s===g3&&!Ce(o)&&!hu(o)||s===vd&&Ce(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(d8(a,s)):Te(L7(a,s)),u),[]));else{if(s===vd&&o===null)i[s]=null;else if(!Le(o)&&!wa(o)&&!hu(o)&&!bN(o)&&!Ye(o)){Te(L7(o,s));continue}i[s]=Joe(o,s,r)}}return i}function LN(t,e){const n={};for(const r of be(t)){const i=Joe(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function rJe(t){const e=[];for(const n of be(t))if(Fd(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):TN(s)&&e.push(s.condition)}return e}function g8(t,e,n){if(t)for(const r of be(t)){const i=t[r];if(Ce(i))for(const s of i)e.call(n,s,r);else e.call(n,i,r)}}function iJe(t,e,n,r){return t?be(t).reduce((i,s)=>{const o=t[s];return Ce(o)?o.reduce((u,a)=>e.call(r,u,a,s),i):e.call(r,i,o,s)},n):n}function uue(t,e){return be(e).reduce((n,r)=>{switch(r){case yn:case _r:case uN:case lN:case aN:case cu:case va:case Dc:case D2:case fu:case Kl:case _a:case Yl:case Ca:case ba:case xu:case Co:case p3:case hs:case Sd:case vd:return n;case g3:if(t==="line"||t==="trail")return n;case m3:case oN:{const i=e[r];if(Ce(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case Xl:if(t==="trail")return n;case ds:case Ta:case Ra:case Jl:case Fc:case wc:case Ic:case Lc:{const i=Ia(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var aue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function sJe(t){const{tooltip:e}=t,n=aue(t,["tooltip"]);if(!e)return{filteredEncoding:n};let r,i;if(Ce(e)){for(const s of e)s.aggregate?(r||(r=[]),r.push(s)):(i||(i=[]),i.push(s));r&&(n.tooltip=r)}else e.aggregate?n.tooltip=e:i=e;return Ce(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function m8(t,e,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};const i=t.map(({fieldPrefix:o,titlePrefix:u})=>{const a=r?` of ${y8(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=rJe(n).map(UXe);return{tooltip:[...i,...Gl(s,bt)]}}function y8(t){const{title:e,field:n}=t;return rr(e,n)}function E8(t,e,n,r,i){const{scale:s,axis:o}=n;return({partName:u,mark:a,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{const x=y8(n);return lue(t,u,i,{mark:a,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:`${l}_${n.field}`,type:n.type},x!==void 0?{title:x}:{}),s!==void 0?{scale:s}:{}),o!==void 0?{axis:o}:{})},je(c)?{[`${e}2`]:{field:`${c}_${n.field}`}}:{}),r),f)})}}function lue(t,e,n,r){const{clip:i,color:s,opacity:o}=t,u=t.type;return t[e]||t[e]===void 0&&n[e]?[Object.assign(Object.assign({},r),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n[e]),i?{clip:i}:{}),s?{color:s}:{}),o?{opacity:o}:{}),Da(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),Fp(t[e])?{}:t[e])})]:[]}function cue(t,e,n){const{encoding:r}=t,i=e==="vertical"?"y":"x",s=r[i],o=r[`${i}2`],u=r[`${i}Error`],a=r[`${i}Error2`];return{continuousAxisChannelDef:IN(s,n),continuousAxisChannelDef2:IN(o,n),continuousAxisChannelDefError:IN(u,n),continuousAxisChannelDefError2:IN(a,n),continuousAxis:i}}function IN(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=aue(t,["aggregate"]);return n!==e&&Te(wKe(n,e)),r}else return t}function fue(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(Da(n)&&n.orient)return n.orient;if(La(i)){if(La(s)){const o=Le(i)&&i.aggregate,u=Le(s)&&s.aggregate;if(!o&&u===e)return"vertical";if(!u&&o===e)return"horizontal";if(o===e&&u===e)throw new Error("Both x and y cannot have aggregate");return j2(s)&&!j2(i)?"horizontal":"vertical"}return"horizontal"}else{if(La(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var $N=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const BN="boxplot",oJe=["box","median","outliers","rule","ticks"],uJe=new wN(BN,due);function xue(t){return nn(t)?"tukey":t}function due(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=$N(t,["mark","encoding","params","projection"]),l=Da(i)?i:{type:i};o&&Te(Zse("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=xue(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:S,ticksOrient:v,boxOrient:_,customTooltipWithoutAggregatedField:C}=aJe(t,c,e),{color:b,size:O}=S,R=$N(S,["color","size"]),I=Y=>E8(l,y,g,Y,e.boxplot),M=I(R),H=I(S),V=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=m8([{fieldPrefix:x==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:x==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],g,S),ue={type:"tick",color:"black",opacity:1,orient:v,invalid:null,aria:!1},he=x==="min-max"?Q:m8([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,S),le=[...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:he}),...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:he}),...M({partName:"ticks",mark:ue,positionPrefix:"lower_whisker",extraEncoding:he}),...M({partName:"ticks",mark:ue,positionPrefix:"upper_whisker",extraEncoding:he})],ne=[...x!=="tukey"?le:[],...H({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:_,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:Q}),...V({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Qe(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:v,aria:!1}),positionPrefix:"mid_box",extraEncoding:Q})];if(x==="min-max")return Object.assign(Object.assign({},a),{transform:((r=a.transform)!==null&&r!==void 0?r:[]).concat(m),layer:ne});const ce=`datum["lower_box_${g.field}"]`,de=`datum["upper_box_${g.field}"]`,G=`(${de} - ${ce})`,F=`${ce} - ${c} * ${G}`,k=`${de} + ${c} * ${G}`,z=`datum["${g.field}"]`,K={joinaggregate:hue(g.field),groupby:E},j={transform:[{filter:`(${F} <= ${z}) && (${z} <= ${k})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${g.field}`},{op:"max",field:g.field,as:`upper_whisker_${g.field}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${g.field}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${g.field}`},...A],groupby:E}],layer:le},$=$N(R,["tooltip"]),{scale:T,axis:D}=g,B=y8(g),q=_o(D,["title"]),L=lue(l,"outliers",e.boxplot,{transform:[{filter:`(${z} < ${F}) || (${z} > ${k})`}],mark:"point",encoding:Object.assign(Object.assign(Object.assign({[y]:Object.assign(Object.assign(Object.assign({field:g.field,type:g.type},B!==void 0?{title:B}:{}),T!==void 0?{scale:T}:{}),Wt(q)?{}:{axis:q})},$),b?{color:b}:{}),C?{tooltip:C}:{})})[0];let U;const P=[...h,...p,K];return L?U={transform:P,layer:[L,j]}:(U=j,U.transform.unshift(...P)),Object.assign(Object.assign({},a),{layer:[U,{transform:m,layer:ne}]})}function hue(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function aJe(t,e,n){const r=fue(t,BN),{continuousAxisChannelDef:i,continuousAxis:s}=cue(t,r,BN),o=i.field,u=xue(e),a=[...hue(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:(u==="min-max"?"lower_whisker_":"min_")+o},{op:"max",field:o,as:(u==="min-max"?"upper_whisker_":"max_")+o}],l=u==="min-max"||u==="tukey"?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${e}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${e}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],c=t.encoding,f=s;c[f];const x=$N(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=sJe(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=oue(p,n),S=r==="vertical"?"horizontal":"vertical",v=r,_=[...m,...g,{aggregate:[...y,...a],groupby:E},...l];return{bins:m,timeUnits:g,transform:_,groupby:E,aggregate:y,continuousAxisChannelDef:i,continuousAxis:s,encodingWithoutContinuousAxis:A,ticksOrient:S,boxOrient:v,customTooltipWithoutAggregatedField:h}}var pue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const A8="errorbar",lJe=["ticks","rule"],cJe=new wN(A8,gue);function gue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=mue(t,A8,e);delete s.size;const c=E8(u,i,r,s,e.errorbar),f=u.thickness,x=u.size,h=Object.assign(Object.assign({type:"tick",orient:o,aria:!1},f!==void 0?{thickness:f}:{}),x!==void 0?{size:x}:{}),p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},f!==void 0?{size:f}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},a),{transform:n}),p.length>1?{layer:p}:Object.assign({},p[0]))}function fJe(t,e){const{encoding:n}=t;if(xJe(n))return{orient:fue(t,e),inputType:"raw"};const r=dJe(n),i=hJe(n),s=n.x,o=n.y;if(r){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);const u=n.x2,a=n.y2;if(it(u)&&it(a))throw new Error(`${e} cannot have both x2 and y2`);if(it(u)){if(La(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}else if(it(a)){if(La(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}else{const u=n.xError,a=n.xError2,l=n.yError,c=n.yError2;if(it(a)&&!it(u))throw new Error(`${e} cannot have xError2 without xError`);if(it(c)&&!it(l))throw new Error(`${e} cannot have yError2 without yError`);if(it(u)&&it(l))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(it(u)){if(La(s))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(it(l)){if(La(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function xJe(t){return(it(t.x)||it(t.y))&&!it(t.x2)&&!it(t.y2)&&!it(t.xError)&&!it(t.xError2)&&!it(t.yError)&&!it(t.yError2)}function dJe(t){return it(t.x2)||it(t.y2)}function hJe(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function mue(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=pue(t,["mark","encoding","params","projection"]),l=Da(i)?i:{type:i};o&&Te(Zse(e));const{orient:c,inputType:f}=fJe(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=cue(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:S}=pJe(l,x,h,p,m,f,e,n),v=s,_=g;v[_];const C=g==="x"?"x2":"y2";v[C];const b=g==="x"?"xError":"yError";v[b];const O=g==="x"?"xError2":"yError2";v[O];const R=pue(v,[typeof _=="symbol"?_:_+"",typeof C=="symbol"?C:C+"",typeof b=="symbol"?b:b+"",typeof O=="symbol"?O:O+""]),{bins:I,timeUnits:M,aggregate:H,groupby:V,encoding:Q}=oue(R,n),ue=[...H,...y],he=f!=="raw"?[]:V,le=m8(A,x,Q,S);return{transform:[...(r=a.transform)!==null&&r!==void 0?r:[],...I,...M,...ue.length===0?[]:[{aggregate:ue,groupby:he}],...E],groupby:he,continuousAxisChannelDef:x,continuousAxis:g,encodingWithoutContinuousAxis:Q,ticksOrient:c==="vertical"?"horizontal":"vertical",markDef:l,outerSpec:a,tooltipEncoding:le}}function pJe(t,e,n,r,i,s,o,u){let a=[],l=[];const c=e.field;let f,x=!1;if(s==="raw"){const h=t.center?t.center:t.extent?t.extent==="iqr"?"median":"mean":u.errorbar.center,p=t.extent?t.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&Te(FKe(h,p,o)),p==="stderr"||p==="stdev")a=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:`upper_${c}`},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:rN(h)},{fieldPrefix:"upper_",titlePrefix:yue(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:yue(h,p,"-")}],x=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),a=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:m,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:P2({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:P2({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:P2({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(DKe(t.center,t.extent)),s==="aggregated-upper-lower"?(f=[],l=[{calculate:`datum["${n.field}"]`,as:`upper_${c}`},{calculate:`datum["${c}"]`,as:`lower_${c}`}]):s==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${r.field}"]`,as:`upper_${c}`}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:`lower_${c}`}):l.push({calculate:`datum["${c}"] - datum["${r.field}"]`,as:`lower_${c}`}));for(const h of l)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:N2(N2(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function yue(t,e,n){return`${rN(t)} ${n} ${e}`}const S8="errorband",gJe=["band","borders"],mJe=new wN(S8,Eue);function Eue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=mue(t,S8,e),l=o,c=E8(l,i,r,s,e.errorband),f=t.encoding.x!==void 0&&t.encoding.y!==void 0;let x={type:f?"area":"rect"},h={type:f?"line":"rule"};const p=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(x=Object.assign(Object.assign(Object.assign({},x),p),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign(Object.assign({},h),p),{aria:!1})):l.interpolate?Te(aoe("interpolate")):l.tension&&Te(aoe("tension")),Object.assign(Object.assign({},u),{transform:n,layer:[...c({partName:"band",mark:x,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:a})]})}const Aue={};function v8(t,e,n){const r=new wN(t,e);Aue[t]={normalizer:r,parts:n}}function yJe(){return be(Aue)}v8(BN,due,oJe),v8(A8,gue,lJe),v8(S8,Eue,gJe);const EJe=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],Sue={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},vue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},AJe=be(Sue),SJe=be(vue),_ue=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),Cue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],vJe={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},_Je={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},T3="_vgsid_",CJe={point:{on:"click",fields:[T3],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function _8(t){return!!t&&(t==="legend"||!!t.legend)}function C8(t){return _8(t)&&Qe(t)}function b8(t){return!!t.select}var bJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function bue(t){const e=[];for(const n of t||[]){if(b8(n))continue;const{expr:r,bind:i}=n,s=bJe(n,["expr","bind"]);if(i&&r){const o=Object.assign(Object.assign({},s),{bind:i,init:r});e.push(o)}else{const o=Object.assign(Object.assign(Object.assign({},s),r?{update:r}:{}),i?{bind:i}:{});e.push(o)}}return e}function TJe(t){return kN(t)||R8(t)||T8(t)}function T8(t){return"concat"in t}function kN(t){return"vconcat"in t}function R8(t){return"hconcat"in t}function Tue({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function $a(t){return Qe(t)&&t.step!==void 0}function Rue(t){return t.view||t.width||t.height}const Oue=20,RJe=be({align:1,bounds:1,center:1,columns:1,spacing:1});function OJe(t,e,n){var r,i;const s=n[e],o={},{spacing:u,columns:a}=s;u!==void 0&&(o.spacing=u),a!==void 0&&(CN(t)&&!v3(t.facet)||T8(t))&&(o.columns=a),kN(t)&&(o.columns=1);for(const l of RJe)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=nn(c)?c:{row:(r=c.row)!==null&&r!==void 0?r:u,column:(i=c.column)!==null&&i!==void 0?i:u}}else o[l]=t[l];return o}var NJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function O8(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function PN(t,e){const n=MN(t,e);return $a(n)?n.step:Nue}function MN(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return rr(r,{step:t.step})}const Nue=20,DJe={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Nue},mark:bXe,arc:{},area:{},bar:RXe,circle:{},geoshape:{},image:{},line:{},point:{},rect:OXe,rule:{color:"black"},square:{},text:{color:"black"},tick:NXe,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:lXe,projection:{},legend:vJe,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:CJe,style:{},title:{},facet:{spacing:Oue},concat:{spacing:Oue}},i0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Due={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Fue={blue:i0[0],orange:i0[1],red:i0[2],teal:i0[3],green:i0[4],yellow:i0[5],purple:i0[6],pink:i0[7],brown:i0[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function FJe(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},Fue),t):Fue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function wJe(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},Due),t):Due}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function LJe(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function wue(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=b3(i)?jse(i):qs(i)}return n}function IJe(t){const e=be(t),n={};for(const r of e)n[r]=wue(t[r]);return n}const $Je=[...Foe,...iue,..._ue,"background","padding","legend","lineBreak","scale","style","title","view"];function Lue(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=NJe(t,["color","font","fontSize","selection"]),o=f5({},ot(DJe),n?LJe(n):{},e?FJe(e):{},r?wJe(r):{},s||{});i&&Pb(o,"selection",i,!0);const u=_o(o,$Je);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=qs(o[a]));for(const a of Foe)o[a]&&(u[a]=gs(o[a]));for(const a of iue)o[a]&&(u[a]=wue(o[a]));for(const a of _ue)o[a]&&(u[a]=gs(o[a]));return o.legend&&(u.legend=gs(o.legend)),o.scale&&(u.scale=gs(o.scale)),o.style&&(u.style=IJe(o.style)),o.title&&(u.title=gs(o.title)),o.view&&(u.view=gs(o.view)),u}const BJe=new Set(["view",...AXe]),kJe=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],PJe=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},CXe);function MJe(t){t=ot(t);for(const e of kJe)delete t[e];if(t.axis)for(const e in t.axis)b3(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of EJe)delete t.legend[e];if(t.mark){for(const e of Doe)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(bue(t.params)),delete t.params);for(const e of BJe){for(const r of Doe)delete t[e][r];const n=PJe[e];if(n)for(const r of n)delete t[e][r];UJe(t,e)}for(const e of yJe())delete t[e];jJe(t);for(const e in t)Qe(t[e])&&Wt(t[e])&&delete t[e];return Wt(t)?void 0:t}function jJe(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=Mse(t.title);Wt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Wt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Wt(r)?delete t.title:t.title=r}function UJe(t,e,n,r){const i=r?t[e][r]:t[e];e==="view"&&(n="cell");const s=Object.assign(Object.assign({},i),t.style[n??e]);Wt(s)||(t.style[n??e]=s),r||delete t[e]}function jN(t){return"layer"in t}function qJe(t){return"repeat"in t}function HJe(t){return!Ce(t.repeat)&&t.repeat.layer}var zJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class N8{map(e,n){return CN(e)?this.mapFacet(e,n):qJe(e)?this.mapRepeat(e,n):R8(e)?this.mapHConcat(e,n):kN(e)?this.mapVConcat(e,n):T8(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(jN(e))return this.mapLayer(e,n);if(r0(e))return this.mapUnit(e,n);throw new Error(F7(e))}mapLayer(e,n){return Object.assign(Object.assign({},e),{layer:e.layer.map(r=>this.mapLayerOrUnit(r,n))})}mapHConcat(e,n){return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map(r=>this.map(r,n))})}mapVConcat(e,n){return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map(r=>this.map(r,n))})}mapConcat(e,n){const{concat:r}=e,i=zJe(e,["concat"]);return Object.assign(Object.assign({},i),{concat:r.map(s=>this.map(s,n))})}mapFacet(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}mapRepeat(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}}const QJe={zero:1,center:1,normalize:1};function GJe(t){return t in QJe}const WJe=new Set([Toe,mN,gN,AN,EN,J7,Z7,yN,Roe,X7]),VJe=new Set([mN,gN,Toe]);function U2(t){return Le(t)&&a8(t)==="quantitative"&&!t.bin}function Iue(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(U2(s)&&U2(o)){if(s.stack)return e;if(o.stack)return i;const u=Le(s)&&!!s.aggregate,a=Le(o)&&!!o.aggregate;if(u!==a)return u?e:i;{const l=(n=s.scale)===null||n===void 0?void 0:n.type,c=(r=o.scale)===null||r===void 0?void 0:r.type;if(l&&l!=="linear")return i;if(c&&c!=="linear")return e}}else{if(U2(s))return e;if(U2(o))return i}else{if(U2(s))return e;if(U2(o))return i}}function YJe(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function $ue(t,e,n={}){var r,i;const s=Da(t)?t.type:t;if(!WJe.has(s))return null;const o=Iue(e,"x")||Iue(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=YJe(o),c=[],f=new Set;if(e[l]){const p=e[l],m=Le(p)?$e(p,{}):void 0;m&&m!==a&&(c.push(l),f.add(m));const g=l==="x"?"xOffset":"yOffset",y=e[g],E=Le(y)?$e(y,{}):void 0;E&&E!==a&&(c.push(g),f.add(E))}const x=fYe.reduce((p,m)=>{if(m!=="tooltip"&&Fd(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ia(y);if(E.aggregate)continue;const A=$e(E,{});(!A||!f.has(A))&&p.push({channel:m,fieldDef:E})}}return p},[]);let h;if(u.stack!==void 0?Fp(u.stack)?h=u.stack?"zero":null:h=u.stack:VJe.has(s)&&(h="zero"),!h||!GJe(h)||p8(e)&&x.length===0)return null;if(!((r=u==null?void 0:u.scale)===null||r===void 0)&&r.type&&((i=u==null?void 0:u.scale)===null||i===void 0?void 0:i.type)!==ms.LINEAR){if(n.disallowNonLinearStack)return null;Te(RKe(u.scale.type))}return it(e[Zl(o)])?(u.stack!==void 0&&Te(TKe(o)),null):(Le(u)&&u.aggregate&&!_Ye.has(u.aggregate)&&Te(OKe(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:jc(s),stackBy:x,offset:h})}var Bue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function KJe(t){const e=Bue(t,["point","line"]);return be(e).length>1?e:e.type}function XJe(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:_o(t[e],["point","line"])}));return t}function D8(t,e={},n){return t.point==="transparent"?{opacity:0}:t.point?Qe(t.point)?t.point:{}:t.point!==void 0?null:e.point||n.shape?Qe(e.point)?e.point:{}:void 0}function kue(t,e={}){return t.line?t.line===!0?{}:t.line:t.line!==void 0?null:e.line?e.line===!0?{}:e.line:void 0}class JJe{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(r0(e)){const{mark:r,encoding:i}=e,s=Da(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!D8(s,n[s.type],i);case"area":return!!D8(s,n[s.type],i)||!!kue(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=Bue(e,["params","projection","mark","encoding"]),c=LN(a,i),f=Da(u)?u:{type:u},x=D8(f,i[f.type],c),h=f.type==="area"&&kue(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:KJe(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:_o(c,["shape"])})],m=$ue(f,c);let g=c;if(m){const{fieldChannel:y,offset:E}=m;g=Object.assign(Object.assign({},c),{[y]:Object.assign(Object.assign({},c[y]),E?{stack:E}:{})})}return h&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},x3(f,["clip","interpolate","tension","tooltip"])),h),encoding:g})),x&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},x3(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:XJe(i)}))}}var ZJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function eZe(t,e){return e?v3(t)?Uue(t,e):Pue(t,e):t}function F8(t,e){return e?Uue(t,e):t}function w8(t,e,n){const r=e[t];if(MXe(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(qYe(r.repeat));return}return e}function Pue(t,e){if(t=w8("field",t,e),t!==void 0){if(t===null)return null;if(u8(t)&&Fa(t.sort)){const n=w8("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function Mue(t,e){if(Le(t))return Pue(t,e);{const n=w8("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function jue(t,e){if(it(t)){const n=Mue(t,e);if(n)return n;if(bN(t))return{condition:t.condition}}else{if(_3(t)){const n=Mue(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):ZJe(t,["condition"])}return t}}function Uue(t,e){const n={};for(const r in t)if(Je(t,r)){const i=t[r];if(Ce(i))n[r]=i.map(s=>jue(s,e)).filter(s=>s);else{const s=jue(i,e);s!==void 0&&(n[r]=s)}}return n}class tZe{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(r0(e)){const{encoding:n,mark:r}=e;if(r==="line"||Da(r)&&r.type==="line")for(const i of aYe){const s=_d(i),o=n[s];if(n[i]&&(Le(o)&&!Mi(o.bin)||wa(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(lKe(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var Uc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class nZe extends N8{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[uJe,cJe,mJe,new JJe,new tZe]}map(e,n){if(r0(e)){const r=Fd(e.encoding,Wl),i=Fd(e.encoding,Vl),s=Fd(e.encoding,sN);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=F8(e.encoding,n.repeater),o=Object.assign(Object.assign({},e),s?{encoding:s}:{});if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);const u=this.mapLayerOrUnit.bind(this);for(const a of this.nonFacetUnitNormalizers)if(a.hasMatchingType(o,n.config))return a.run(o,n,u);return o}mapRepeat(e,n){return HJe(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=Uc(e,["repeat","spec"]),{row:o,column:u,layer:a}=r,{repeater:l={},repeaterPrefix:c=""}=n;return o||u?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),u?{column:u}:{}),spec:{repeat:{layer:a},spec:i}}),n):Object.assign(Object.assign({},s),{layer:a.map(f=>{const x=Object.assign(Object.assign({},l),{layer:f}),h=`${(i.name||"")+c}child__layer_${mn(f)}`,p=this.mapLayerOrUnit(i,Object.assign(Object.assign({},n),{repeater:x,repeaterPrefix:h}));return p.name=h,p})})}mapNonLayerRepeat(e,n){var r;const{repeat:i,spec:s,data:o}=e,u=Uc(e,["repeat","spec","data"]);!Ce(i)&&e.columns&&(e=_o(e,["columns"]),Te(eoe("repeat")));const a=[],{repeater:l={},repeaterPrefix:c=""}=n,f=!Ce(i)&&i.row||[l?l.row:null],x=!Ce(i)&&i.column||[l?l.column:null],h=Ce(i)&&i||[l?l.repeat:null];for(const m of h)for(const g of f)for(const y of x){const E={repeat:m,row:g,column:y,layer:l.layer},A=(s.name||"")+c+"child__"+(Ce(i)?`${mn(m)}`:(i.row?`row_${mn(g)}`:"")+(i.column?`column_${mn(y)}`:"")),S=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));S.name=A,a.push(_o(S,["data"]))}const p=Ce(i)?e.columns:i.column?i.column.length:1;return Object.assign(Object.assign({data:(r=s.data)!==null&&r!==void 0?r:o,align:"all"},u),{columns:p,concat:a})}mapFacet(e,n){const{facet:r}=e;return v3(r)&&e.columns&&(e=_o(e,["columns"]),Te(eoe("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=Hue({parentProjection:o,projection:i}),l=que({parentEncoding:s,encoding:F8(r,n.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),a?{projection:a}:{}),l?{encoding:l}:{}),{config:u})}mapFacetedUnit(e,n){const r=e.encoding,{row:i,column:s,facet:o}=r,u=Uc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=Uc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=F8(u,n.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},m),y),{facet:g,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l?{width:l}:{}),f?{height:f}:{}),x?{view:x}:{}),c?{projection:c}:{}),{mark:a,encoding:E}),h?{params:h}:{})}),n)}getFacetMappingAndLayout(e,n){var r;const{row:i,column:s,facet:o}=e;if(i||s){o&&Te(uKe([...i?[Wl]:[],...s?[Vl]:[]]));const u={},a={};for(const l of[Wl,Vl]){const c=e[l];if(c){const f=Uc(c,["align","center","spacing","columns"]);u[l]=f;for(const x of["align","center","spacing"])c[x]!==void 0&&((r=a[x])!==null&&r!==void 0||(a[x]={}),a[x][l]=c[x])}}return{facetMapping:u,layout:a}}else{const{align:u,center:a,spacing:l,columns:c}=o,f=Uc(o,["align","center","spacing","columns"]);return{facetMapping:eZe(f,n.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},u?{align:u}:{}),a?{center:a}:{}),l?{spacing:l}:{}),c?{columns:c}:{})}}}mapLayer(e,n){var{parentEncoding:r,parentProjection:i}=n,s=Uc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=Uc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:que({parentEncoding:r,encoding:o,layer:!0}),parentProjection:Hue({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function que({parentEncoding:t,encoding:e={},layer:n}){let r={};if(t){const i=new Set([...be(t),...be(e)]);for(const s of i){const o=e[s],u=t[s];if(it(o)){const a=Object.assign(Object.assign({},u),o);r[s]=a}else _3(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||hu(u)||Ye(u)||it(u)||Ce(u))&&(r[s]=u)}}else r=e;return!r||Wt(r)?void 0:r}function Hue(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(VYe({parentProjection:e,projection:n})),n??e}function L8(t){return"filter"in t}function rZe(t){return(t==null?void 0:t.stop)!==void 0}function zue(t){return"lookup"in t}function iZe(t){return"data"in t}function sZe(t){return"param"in t}function oZe(t){return"pivot"in t}function uZe(t){return"density"in t}function aZe(t){return"quantile"in t}function lZe(t){return"regression"in t}function cZe(t){return"loess"in t}function fZe(t){return"sample"in t}function xZe(t){return"window"in t}function dZe(t){return"joinaggregate"in t}function hZe(t){return"flatten"in t}function pZe(t){return"calculate"in t}function Que(t){return"bin"in t}function gZe(t){return"impute"in t}function mZe(t){return"timeUnit"in t}function yZe(t){return"aggregate"in t}function EZe(t){return"stack"in t}function AZe(t){return"fold"in t}function SZe(t){return t.map(e=>L8(e)?{filter:R2(e.filter,tXe)}:e)}var qc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class vZe extends N8{map(e,n){var r,i;return(r=n.emptySelections)!==null&&r!==void 0||(n.emptySelections={}),(i=n.selectionPredicates)!==null&&i!==void 0||(n.selectionPredicates={}),e=Gue(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=Gue(e,n),e.encoding){const r={};for(const[i,s]of Ad(e.encoding))r[i]=Wue(s,n);e=Object.assign(Object.assign({},e),{encoding:r})}return super.mapLayerOrUnit(e,n)}mapUnit(e,n){const r=e,{selection:i}=r,s=qc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Ad(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=qc(l,["init","bind","empty"]);h.type==="single"?(h.type="point",h.toggle=!1):h.type==="multi"&&(h.type="point"),n.emptySelections[o]=x!=="none";for(const p of Pi((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function Gue(t,e){const{transform:n}=t,r=qc(t,["transform"]);if(n){const i=n.map(s=>{if(L8(s))return{filter:I8(s,e)};if(Que(s)&&Cd(s.bin))return Object.assign(Object.assign({},s),{bin:Vue(s.bin)});if(zue(s)){const o=s.from,{selection:u}=o,a=qc(o,["selection"]);return u?Object.assign(Object.assign({},s),{from:Object.assign({param:u},a)}):s}return s});return Object.assign(Object.assign({},r),{transform:i})}return t}function Wue(t,e){var n,r;const i=ot(t);if(Le(i)&&Cd(i.bin)&&(i.bin=Vue(i.bin)),Dd(i)&&(!((r=(n=i.scale)===null||n===void 0?void 0:n.domain)===null||r===void 0)&&r.selection)){const s=i.scale.domain,{selection:o}=s,u=qc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(bN(i))if(Ce(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=qc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:I8(s,e)})});else{const s=Wue(i.condition,e),{selection:o,param:u,test:a}=s,l=qc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:I8(i.condition,e)})}return i}function Vue(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=qc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function I8(t,e){const n=r=>R2(r,i=>{var s,o,u;const a=(s=e.emptySelections[i])!==null&&s!==void 0?s:!0,l={param:i,empty:a};return(o=(u=e.selectionPredicates)[i])!==null&&o!==void 0||(u[i]=[]),e.selectionPredicates[i].push(l),l});return t.selection?n(t.selection):R2(t.test||t.filter,r=>r.selection?n(r.selection):r)}class $8 extends N8{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!r0(e)){const s=[];for(const o of e.params)b8(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,Yue(e,n))}mapUnit(e,n){var r;const i=n.selections;if(!i||!i.length)return e;const s=((r=n.path)!==null&&r!==void 0?r:[]).concat(e.name),o=[];for(const u of i)if(!u.views||!u.views.length)o.push(u);else for(const a of u.views)(je(a)&&(a===e.name||s.indexOf(a)>=0)||Ce(a)&&a.map(l=>s.indexOf(l)).every((l,c,f)=>l!==-1&&(c===0||l>f[c-1])))&&o.push(u);return o.length&&(e.params=o),e}}for(const t of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const e=$8.prototype[t];$8.prototype[t]=function(n,r){return e.call(this,n,Yue(n,r))}}function Yue(t,e){var n;return t.name?Object.assign(Object.assign({},e),{path:((n=e.path)!==null&&n!==void 0?n:[]).concat(t.name)}):e}function _Ze(t,e){e===void 0&&(e=Lue(t.config));const n=RZe(t,e),{width:r,height:i}=t,s=OZe(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const CZe=new nZe,bZe=new vZe,TZe=new $8;function RZe(t,e={}){const n={config:e};return TZe.map(CZe.map(bZe.map(t,n),n),n)}function Kue(t){return je(t)?{type:t}:t??{}}function OZe(t,e,n){let{width:r,height:i}=e;const s=r0(t)||jN(t),o={};s?r=="container"&&i=="container"?(o.type="fit",o.contains="padding"):r=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(r=="container"&&(Te(Yse("width")),r=void 0),i=="container"&&(Te(Yse("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?Kue(n.autosize):{}),Kue(t.autosize));if(u.type==="fit"&&!s&&(Te(wYe),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(Kse("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(Kse("height")),!Ql(u,{type:"pad"}))return u}function NZe(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function DZe(t){return t?`fit-${cN(t)}`:"fit"}const FZe=["background","padding"];function Xue(t,e){const n={};for(const r of FZe)t&&t[r]!==void 0&&(n[r]=qs(t[r]));return e&&(n.params=t.params),n}class s0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new s0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return rr(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]!==void 0?{explicit:!0,value:this.explicit[e]}:this.implicit[e]!==void 0?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:n,explicit:r}){n!==void 0&&this.set(e,n,r)}set(e,n,r){return delete this[r?"implicit":"explicit"][e],this[r?"explicit":"implicit"][e]=n,this}copyKeyFromSplit(e,{explicit:n,implicit:r}){n[e]!==void 0?this.set(e,n[e],!0):r[e]!==void 0&&this.set(e,r[e],!1)}copyKeyFromObject(e,n){n[e]!==void 0&&this.set(e,n[e],!0)}copyAll(e){for(const n of be(e.combine())){const r=e.getWithExplicit(n);this.setWithExplicit(n,r)}}}function Ba(t){return{explicit:!0,value:t}}function zs(t){return{explicit:!1,value:t}}function Jue(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:UN(e,n,r,i)}}function UN(t,e,n,r){return t.explicit&&e.explicit&&Te(EKe(n,r,t.value,e.value)),t}function Hc(t,e,n,r,i=UN){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Ql(t.value,e.value)?t:i(t,e,n,r)}class wZe extends s0{constructor(e={},n={},r=!1){super(e,n),this.explicit=e,this.implicit=n,this.parseNothing=r}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}function q2(t){return"url"in t}function R3(t){return"values"in t}function Zue(t){return"name"in t&&!q2(t)&&!R3(t)&&!zc(t)}function zc(t){return t&&(eae(t)||tae(t)||B8(t))}function eae(t){return"sequence"in t}function tae(t){return"sphere"in t}function B8(t){return"graticule"in t}var Jt;(function(t){t[t.Raw=0]="Raw",t[t.Main=1]="Main",t[t.Row=2]="Row",t[t.Column=3]="Column",t[t.Lookup=4]="Lookup"})(Jt||(Jt={}));var LZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function H2(t,e=!0,n=Ai){if(Ce(t)){const r=t.map(i=>H2(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Td(t))return n(e?E3(t):zKe(t));return e?n(sn(t)):t}function IZe(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${Wc}, ${r.resolve==="global"?"true":`{unit: ${G2(t)}}`}`;for(const o of GN)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+het,on:[{events:{signal:r.name+Wc},update:`modify(${Fe(r.name+wd)}, ${s})`}]})}return k8(e)}function $Ze(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:hd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return k8(e)}function BZe(t,e){var n;let r=!1;for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+wd);if(e.filter(a=>a.name===s).length===0){const a=i.resolve==="global"?"union":i.resolve,l=i.type==="point"?", true, true)":")";e.push({name:i.name,update:`${Cae}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of GN)a.defined(i)&&a.topLevelSignals&&(e=a.topLevelSignals(t,i,e))}return r&&e.filter(s=>s.name==="unit").length===0&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),k8(e)}function kZe(t,e){var n;const r=[...e];for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+wd};if(i.init){const u=i.project.items.map(a=>LZe(a,["signals"]));s.values=i.init.map(a=>({unit:G2(t,{escape:!1}),fields:u,values:H2(a,!1)}))}r.filter(u=>u.name===i.name+wd).length||r.push(s)}return r}function nae(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of GN)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function PZe(t,e){for(const n of t.children)Qn(n)&&(e=nae(n,e));return e}function MZe(t,e,n,r){const i=Nae(t,e.param,e);return{signal:Hs(n.get("type"))&&Ce(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function k8(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class Ut{constructor(e,n){this.debugName=n,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,n){if(this._children.includes(e)){Te(QYe);return}n!==void 0?this._children.splice(n,0,e):this._children.push(e)}removeChild(e){const n=this._children.indexOf(e);return this._children.splice(n,1),n}remove(){let e=this._parent.removeChild(this);for(const n of this._children)n._parent=this._parent,this._parent.addChild(n,e++)}insertAsParentOf(e){const n=e.parent;n.removeChild(this),this.parent=n,e.parent=this}swapWithParent(){const e=this._parent,n=e.parent;for(const r of this._children)r.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=n,e.parent=this}}class qi extends Ut{constructor(e,n,r,i){super(e,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){const e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${XVe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var rae=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class ka extends Ut{constructor(e,n){super(e),this.formula=n}clone(){return new ka(null,ot(this.formula))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s)=>{const{field:o,timeUnit:u}=s;if(u){const a=$e(s,{forAs:!0});i[bt({as:a,field:o,timeUnit:u})]={as:a,field:o,timeUnit:u}}return i},{});return Wt(r)?null:new ka(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=rae(r,["timeUnit"]),o=ji(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new ka(e,{[bt(u)]:u})}merge(e){this.formula=Object.assign({},this.formula);for(const n in e.formula)this.formula[n]||(this.formula[n]=e.formula[n]);for(const n of e.children)e.removeChild(n),n.parent=this;e.remove()}removeFormulas(e){const n={};for(const[r,i]of Ad(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Pi(this.formula).map(e=>e.as))}dependentFields(){return new Set(Pi(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Pi(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=ji(s),{unit:u,utc:a}=o,l=rae(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:lu(r),type:"timeunit"},u?{units:P7(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var jZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const O3="_tuple_fields";class UZe{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const qZe={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new UZe,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=mn(`${i}_${y}`);for(let A=1;a.has(E);A++)E=mn(`${i}_${y}_${A}`);return a.add(E),{[g]:E}},c=e.type,f=t.config.selection[c],x=n.value!==void 0?Pe(n.value):null;let{fields:h,encodings:p}=Qe(n.select)?n.select:{};if(!h&&!p&&x){for(const m of x)if(Qe(m))for(const g of be(m))uYe(g)?(p||(p=[])).push(g):c==="interval"?(Te(UYe),p=f.encodings):(h||(h=[])).push(g)}!h&&!p&&(p=f.encodings,"fields"in f&&(h=f.fields));for(const m of p??[]){const g=t.fieldDef(m);if(g){let y=g.field;if(g.aggregate){Te(LYe(m,g.aggregate));continue}else if(!y){Te(Jse(m));continue}if(g.timeUnit){y=t.vgField(m);const E={timeUnit:g.timeUnit,as:y,field:g.field};u[bt(E)]=E}if(!o[y]){let E="E";if(c==="interval"){const S=t.getScaleComponent(m).get("type");Hs(S)&&(E="R")}else g.bin&&(E="R-RE");const A={field:y,channel:m,type:E};A.signals=Object.assign(Object.assign({},l(A,"data")),l(A,"visual")),s.items.push(o[y]=A),s.hasField[y]=s.hasChannel[m]=o[y]}}else Te(Jse(m))}for(const m of h??[]){if(s.hasField[m])continue;const g={type:"E",field:m};g.signals=Object.assign({},l(g,"data")),s.items.push(g),s.hasField[m]=g}x&&(e.init=x.map(m=>s.items.map(g=>Qe(m)?m[g.channel]!==void 0?m[g.channel]:m[g.field]:m))),Wt(u)||(s.timeUnit=new ka(null,u))},signals:(t,e,n)=>{const r=e.name+O3;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=jZe(s,["signals","hasLegend"]);return o.field=lu(o.field),o})})}},Qc={defined:t=>t.type==="interval"&&t.resolve==="global"&&t.bind&&t.bind==="scales",parse:(t,e)=>{const n=e.scales=[];for(const r of e.project.items){const i=r.channel;if(!Bc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!Hs(o)){Te(BYe);continue}s.set("selectionExtent",{param:e.name,field:r.field},!0),n.push(r)}},topLevelSignals:(t,e,n)=>{const r=e.scales.filter(o=>n.filter(u=>u.name===o.signals.data).length===0);if(!t.parent||M8(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(Cae)>=0)i.update=`{${r.map(o=>`${Fe(lu(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(lu(o.field))}: ${o.signals.data}`;s.includes(u)||(s=`${s.substring(0,s.length-1)}, ${u}}`)}i.update=s}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(t,e,n)=>{if(t.parent&&!M8(t))for(const r of e.scales){const i=n.filter(s=>s.name===r.signals.data)[0];i.push="outer",delete i.value,delete i.update}return n}};function P8(t,e){return`domain(${Fe(t.scaleName(e))})`}function M8(t){var e;return t.parent&&Z2(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:M8(t.parent.parent))}var HZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const z2="_brush",j8="_scale_trigger",zZe={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+O3,s=Qc.defined(e),o=e.init?e.init[0]:null,u=[],a=[];if(e.translate&&!s){const c=`!event.item || event.item.mark.name !== ${Fe(r+z2)}`;iae(e,(f,x)=>{var h,p;const m=Pe((h=(p=x.between[0]).filter)!==null&&h!==void 0?h:p.filter=[]);return m.includes(c)||m.push(c),f})}e.project.items.forEach((c,f)=>{const x=c.channel;if(x!==yn&&x!==_r){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=QZe(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=Hs(E)?"+":"";n.push(...p),u.push(m),a.push({scaleName:t.scaleName(x),expr:`(!isArray(${m}) || (${A}invert(${y}, ${g})[0] === ${A}${m}[0] && ${A}invert(${y}, ${g})[1] === ${A}${m}[1]))`})}),!s&&a.length&&n.push({name:r+j8,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+j8} : {}`}]});const l=`unit: ${G2(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+Wc},o?{init:`{${l}: ${H2(o)}}`}:{}),u.length?{on:[{events:[{signal:u.join(" || ")}],update:`${u.join(" && ")} ? {${l}: [${u}]} : null`}]}:{}))},marks:(t,e,n)=>{const r=e.name,{x:i,y:s}=e.project.hasChannel,o=i==null?void 0:i.signals.visual,u=s==null?void 0:s.signals.visual,a=`data(${Fe(e.name+wd)})`;if(Qc.defined(e)||!i&&!s)return n;const l={x:i!==void 0?{signal:`${o}[0]`}:{value:0},y:s!==void 0?{signal:`${u}[0]`}:{value:0},x2:i!==void 0?{signal:`${o}[1]`}:{field:{group:"width"}},y2:s!==void 0?{signal:`${u}[1]`}:{field:{group:"height"}}};if(e.resolve==="global")for(const g of be(l))l[g]=[Object.assign({test:`${a}.length && ${a}[0].unit === ${G2(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=HZe(c,["fill","fillOpacity","cursor"]),m=be(p).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,s!==void 0&&`${u}[0] !== ${u}[1]`].filter(E=>E).join(" && "),value:p[y]},{value:null}],g),{});return[{name:`${r+z2}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+z2,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},h?{cursor:{value:h}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),m)}}]}};function QZe(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=Qc.defined(e),a=Fe(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=m=>`scale(${a}, ${m})`,x=t.getSizeSignalRef(i===yn?"width":"height").signal,h=`${i}(unit)`,p=iae(e,(m,g)=>[...m,{events:g.between[0],update:`[${h}, ${h}]`},{events:g,update:`[${s}[0], clamp(${h}, 0, ${x})]`}]);return p.push({events:{signal:e.name+j8},update:Hs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:H2(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:H2(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function iae(t,e){return t.events.reduce((n,r)=>r.between?e(n,r):(Te(`${r} is not an ordered event stream for interval selections.`),n),[])}const GZe={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+O3,o=e.project,u="(item().isVoronoi ? datum.datum : datum)",a=o.items.map(h=>{const p=t.fieldDef(h.channel);return p!=null&&p.bin?`[${u}[${Fe(t.vgField(h.channel,{}))}], ${u}[${Fe(t.vgField(h.channel,{binSuffix:"end"}))}]]`:`${u}[${Fe(h.field)}]`}).join(", "),l=`unit: ${G2(t)}, fields: ${s}, values`,c=e.events,f=Pi((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+z2):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+Wc,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function Q2(t,e,n,r){const i=bN(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(PXe(a)){const{param:c,empty:f}=a,x=Oae(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=WN(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function U8(t,e="text"){const n=t.encoding[e];return Q2(t,n,e,r=>qN(r,t.config))}function qN(t,e,n="datum"){if(t){if(hu(t))return on(t.value);if(it(t)){const{format:r,formatType:i}=ON(t);return r8({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function sae(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(Ce(o))return{tooltip:uae({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return Q2(t,o,"tooltip",a=>{const l=qN(a,i,u);if(l)return l;if(a===null)return;let c=kt("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),je(c))return{value:c};if(Qe(c))return Ye(c)?c:c.content==="encoding"?uae(n,s,i,e):{signal:u}})}}function oae(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=_d(c),x=To(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||x8(x,n),p=Pe(h).join(", ");let m;if(kr(c)){const g=c==="x"?"x2":"y2",y=Ia(t[g]);if(Mi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:S,formatType:v}=ON(x);m=vN(E,A,S,v,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=ON(x);m=r8({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=qN(x,n,s).signal),o.push({channel:c,key:p,value:m})}g8(t,(l,c)=>{Le(l)?u(l,c):TN(l)&&u(l.condition,c)});const a={};for(const{channel:l,key:c,value:f}of o)!i[l]&&!a[c]&&(a[c]=f);return a}function uae(t,e,n,{reactiveGeom:r}={}){const i=oae(t,e,n,{reactiveGeom:r}),s=Ad(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function WZe(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),VZe(t)),YZe(t))}function VZe(t){const{mark:e,markDef:n,config:r}=t;if(r.aria===!1)return{};const i=kt("ariaRoleDescription",n,r);return i!=null?{ariaRoleDescription:{value:i}}:e in NYe?{}:{ariaRoleDescription:{value:e}}}function YZe(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return Q2(t,s,"description",a=>qN(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:on(o)};if(r.aria===!1)return{};const u=oae(e,i,r);if(!Wt(u))return{description:{signal:Ad(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function br(t,e,n={}){const{markDef:r,encoding:i,config:s}=e,{vgChannel:o}=n;let{defaultRef:u,defaultValue:a}=n;u===void 0&&(a??(a=kt(t,r,s,{vgChannel:o,ignoreVgConfig:!0})),a!==void 0&&(u=on(a)));const l=i[t];return Q2(e,l,o??t,c=>n8({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function aae(t,e={filled:void 0}){var n,r,i,s;const{markDef:o,encoding:u,config:a}=t,{type:l}=o,c=(n=e.filled)!==null&&n!==void 0?n:kt("filled",o,a),f=Tt(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,x=(i=(r=kt(c===!0?"color":void 0,o,a,{vgChannel:"fill"}))!==null&&r!==void 0?r:a.mark[c===!0&&"color"])!==null&&i!==void 0?i:f,h=(s=kt(c===!1?"color":void 0,o,a,{vgChannel:"stroke"}))!==null&&s!==void 0?s:a.mark[c===!1&&"color"],p=c?"fill":"stroke",m=Object.assign(Object.assign({},x?{fill:on(x)}:{}),h?{stroke:on(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(ioe("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),br("color",t,{vgChannel:p,defaultValue:c?x:h})),br("fill",t,{defaultValue:u.fill?x:void 0})),br("stroke",t,{defaultValue:u.stroke?h:void 0}))}function KZe(t){const{encoding:e,mark:n}=t,r=e.order;return!jc(n)&&hu(r)?Q2(t,r,"zindex",i=>on(i.value)):{}}function N3({channel:t,markDef:e,encoding:n={},model:r,bandPosition:i}){const s=`${t}Offset`,o=e[s],u=n[s];if((s==="xOffset"||s==="yOffset")&&u)return{offsetType:"encoding",offset:n8({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:on(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ai(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[Zl(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=N3({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=q8({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&kr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:XZe({channel:t,channelDef:a,channel2Def:l,markDef:s,config:o,scaleName:c,scale:f,stack:u,offset:x,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||t]:m}:void 0}function XZe(t){const{channel:e,channelDef:n,scaleName:r,stack:i,offset:s,markDef:o}=t;if(it(n)&&i&&e===i.fieldChannel){if(Le(n)){let u=n.bandPosition;if(u===void 0&&o.type==="text"&&(e==="radius"||e==="theta")&&(u=.5),u!==void 0)return SN({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Od(n,r,{suffix:"end"},{offset:s})}return e8(t)}function q8({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=_d(n),a=$c(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return S3(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([ms.LOG,ms.TIME,ms.UTC],c)){if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}}if(e==="zeroOrMin")return u==="y"?{field:{group:"height"}}:{value:0};switch(u){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{const c=t[ps(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const JZe={left:"x",center:"xc",right:"x2"},ZZe={top:"y",middle:"yc",bottom:"y2"};function lae(t,e,n,r="middle"){if(t==="radius"||t==="theta")return $c(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(aKe(i)),o=void 0):o=s,t==="x"?JZe[o||(r==="top"?"left":"center")]:ZZe[o||r]}function HN(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?cae(t,e,{defaultPos:n,defaultPos2:r}):ai(t,e,{defaultPos:n})}function cae(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=Zl(t),u=ps(t),a=eet(e,r,o),l=a[u]?lae(t,i,s):$c(t);return Object.assign(Object.assign({},ai(t,e,{defaultPos:n,vgChannel:l})),a)}function eet(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=_d(n),l=ps(n),c=$c(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?N3({channel:n,markDef:s,encoding:r,model:t}):N3({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=ps(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=tet({channel:n,channelDef:f,channel2Def:r[n],markDef:s,config:u,scaleName:x,scale:h,stack:o,offset:p,defaultRef:void 0});return m!==void 0?{[c]:m}:zN(n,s)||zN(n,{[n]:dN(n,s,u.style),[l]:dN(l,s,u.style)})||zN(n,u[i])||zN(n,u.mark)||{[c]:q8({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function tet({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l}){return it(e)&&u&&t.charAt(0)===u.fieldChannel.charAt(0)?Od(e,s,{suffix:"start"},{offset:a}):e8({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function zN(t,e){const n=ps(t),r=$c(t);if(e[r]!==void 0)return{[r]:S3(t,e[r])};if(e[t]!==void 0)return{[r]:S3(t,e[t])};if(e[n]){const i=e[n];if(k2(i))Te(tKe(n));else return{[n]:S3(t,i)}}}function Gc(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=Zl(e),l=ps(e),c=s[e],f=s[a],x=t.getScaleComponent(e),h=x?x.get("type"):void 0,p=o.orient,m=(r=(n=s[l])!==null&&n!==void 0?n:s.size)!==null&&r!==void 0?r:kt("size",o,i,{vgChannel:l}),g=u==="bar"&&(e==="x"?p==="vertical":p==="horizontal");return Le(c)&&(Xt(c.bin)||Mi(c.bin)||c.timeUnit&&!f)&&!(m&&!k2(m))&&!Cr(h)?iet({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Cr(h)||g)&&!f?ret(c,e,t):cae(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function net(t,e,n,r,i){if(k2(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(xKe(o)),i=void 0)}else return{mult:i.band,field:{group:t}};else{if(Ye(i))return i;if(i)return{value:i}}if(n){const o=n.get("range");if(Mc(o)&&nn(o.step))return{value:o.step-2}}return{value:PN(r.view,t)-2}}function ret(t,e,n){const{markDef:r,encoding:i,config:s,stack:o}=n,u=r.orient,a=n.scaleName(e),l=n.getScaleComponent(e),c=ps(e),f=Zl(e),x=lYe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=br("size",n,{vgChannel:c,defaultRef:on(r.size)}):Te(gKe(r.type)));const g=Qoe({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:net(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=lae(e,r,s,y),A=E==="xc"||E==="yc",{offset:S,offsetType:v}=N3({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=e8({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:S,defaultRef:q8({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?v==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:k2(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=$c(f),b=m[c],O=S?Object.assign(Object.assign({},b),{offset:S}):b;return{[E]:_,[C]:Ce(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function D3(t,e,n,r,i){if(Tse(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=n0(n),u=n0(i),a=n0(r),l=a?`${a} + `:"",c=o?`(${o} ? -1 : 1) * `:"",f=u?`(${u} + ${s})`:s;return{signal:l+c+f}}else return i=i||0,r+(n?-i-s:+i+s)}function iet({fieldDef:t,fieldDef2:e,channel:n,model:r}){var i,s,o;const{config:u,markDef:a,encoding:l}=r,c=r.getScaleComponent(n),f=r.scaleName(n),x=c?c.get("type"):void 0,h=c.get("reverse"),p=Qoe({channel:n,fieldDef:t,markDef:a,config:u,scaleType:x}),m=(i=r.component.axes[n])===null||i===void 0?void 0:i[0],g=(s=m==null?void 0:m.get("translate"))!==null&&s!==void 0?s:.5,y=kr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=Zl(n),A=$c(n),S=$c(E),{offset:v}=N3({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:k2(p)?(1-p.band)/2:.5;if(Xt(t.bin)||t.timeUnit)return{[S]:fae({fieldDef:t,scaleName:f,bandPosition:_,offset:D3(E,y,h,g,v)}),[A]:fae({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:D3(n,y,h,g,v)})};if(Mi(t.bin)){const C=Od(t,f,{},{offset:D3(E,y,h,g,v)});if(Le(e))return{[S]:C,[A]:Od(e,f,{},{offset:D3(n,y,h,g,v)})};if(Cd(t.bin)&&t.bin.step)return{[S]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:D3(n,y,h,g,v)}}}Te(loe(E))}function fae({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return SN({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const set=new Set(["aria","width","height"]);function Ro(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?aae(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},oet(t.markDef,e)),xae(t,"fill",n)),xae(t,"stroke",r)),br("opacity",t)),br("fillOpacity",t)),br("strokeOpacity",t)),br("strokeWidth",t)),br("strokeDash",t)),KZe(t)),sae(t)),U8(t,"href")),WZe(t))}function xae(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!jc(i)){const u=uet(t,{invalid:!0,channels:fN});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function oet(t,e){return OYe.reduce((n,r)=>(!set.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=on(t[r])),n),{})}function uet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&Hs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>t8(o,e)).join(` ${s} `)}}function H8(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=aet(t,{channels:Oa});if(i)return{defined:{signal:i}}}return{}}function aet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&Hs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>t8(o,e)).join(` ${s} `)}}function dae(t,e){if(e!==void 0)return{[t]:on(e)}}const z8="voronoi",hae={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName(z8)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(jc(s))return Te(IYe(s)),n;const o={name:t.getName(z8),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},sae(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]};let u=0,a=!1;return n.forEach((l,c)=>{var f;const x=(f=l.name)!==null&&f!==void 0?f:"";x===t.component.mark[0].name?u=c:x.indexOf(z8)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},pae={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!_8(t.bind),parse:(t,e,n)=>bae(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=hae.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=mn(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:H2(o[l])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${u}[${Fe(a.field)}] : null`}]:[],bind:(f=(c=s[a.field])!==null&&c!==void 0?c:s[a.channel])!==null&&f!==void 0?f:s}))}),n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.filter(l=>l.name===r+Wc)[0],o=r+O3,u=i.items.map(l=>mn(`${r}_${l.field}`)),a=u.map(l=>`${l} !== null`).join(" && ");return u.length&&(s.update=`${a} ? {fields: ${o}, values: [${u.join(", ")}]} : null`),delete s.value,delete s.on,n}},QN="_toggle",gae={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+QN,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+Wc,r=e.name+QN;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${G2(t)}}, `)+`${r} ? ${n} : null`}},cet={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?hd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(pae.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===mn(`${e.name}_${r.field}`));i!==-1&&n[i].on.push({events:e.clear,update:"null"})}return n},signals:(t,e,n)=>{function r(i,s){i!==-1&&n[i].on&&n[i].on.push({events:e.clear,update:s})}if(e.type==="interval")for(const i of e.project.items){const s=n.findIndex(o=>o.name===i.signals.visual);if(r(s,"[0, 0]"),s===-1){const o=n.findIndex(u=>u.name===i.signals.data);r(o,"null")}}else{let i=n.findIndex(s=>s.name===e.name+Wc);r(i,"null"),gae.defined(e)&&(i=n.findIndex(s=>s.name===e.name+QN),r(i,"false"))}return n}},mae={defined:t=>{const e=t.resolve==="global"&&t.bind&&_8(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==T3;return e&&!n&&Te(kYe),e&&n},parse:(t,e,n)=>{var r;const i=ot(n);if(i.select=je(i.select)?{type:i.select,toggle:e.toggle}:Object.assign(Object.assign({},i.select),{toggle:e.toggle}),bae(e,i),Qe(n.select)&&(n.select.on||n.select.clear)){const u='event.item && indexof(event.item.mark.role, "legend") < 0';for(const a of e.events)a.filter=Pe((r=a.filter)!==null&&r!==void 0?r:[]),a.filter.includes(u)||a.filter.push(u)}const s=C8(e.bind)?e.bind.legend:"click",o=je(s)?hd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=C8(e.bind)&&e.bind.legend,s=o=>u=>{const a=ot(u);return a.markname=o,a};for(const o of e.project.items){if(!o.hasLegend)continue;const u=`${mn(o.field)}_legend`,a=`${r}_${u}`;if(n.filter(c=>c.name===a).length===0){const c=i.merge.map(s(`${u}_symbols`)).concat(i.merge.map(s(`${u}_labels`))).concat(i.merge.map(s(`${u}_entries`)));n.unshift(Object.assign(Object.assign({name:a},e.init?{}:{value:null}),{on:[{events:c,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${a}`,force:!0}]}))}}return n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.find(x=>x.name===r+Wc),o=r+O3,u=i.items.filter(x=>x.hasLegend).map(x=>mn(`${r}_${mn(x.field)}_legend`)),l=`${u.map(x=>`${x} !== null`).join(" && ")} ? {fields: ${o}, values: [${u.join(", ")}]} : null`;e.events&&u.length>0?s.on.push({events:u.map(x=>({signal:x})),update:l}):u.length>0&&(s.update=l,delete s.value,delete s.on);const c=n.find(x=>x.name===r+QN),f=C8(e.bind)&&e.bind.legend;return c&&(e.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:f})):c.on[0].events=f),n}};function fet(t,e,n){var r,i,s,o;const u=(r=t.fieldDef(e))===null||r===void 0?void 0:r.field;for(const a of Pi((i=t.component.selection)!==null&&i!==void 0?i:{})){const l=(s=a.project.hasField[u])!==null&&s!==void 0?s:a.project.hasChannel[e];if(l&&mae.defined(a)){const c=(o=n.get("selections"))!==null&&o!==void 0?o:[];c.push(a.name),n.set("selections",c,!1),l.hasLegend=!0}}}const yae="_translate_anchor",Eae="_translate_delta",xet={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=Qc.defined(e),s=r+yae,{x:o,y:u}=e.project.hasChannel;let a=hd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+z2,l))),n.push({name:s,value:{},on:[{events:a.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(o!==void 0?`, extent_x: ${i?P8(t,yn):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?P8(t,_r):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+Eae,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&Aae(t,e,o,"width",n),u!==void 0&&Aae(t,e,u,"height",n),n}};function Aae(t,e,n,r,i){var s,o;const u=e.name,a=u+yae,l=u+Eae,c=n.channel,f=Qc.defined(e),x=i.filter(C=>C.name===n.signals[f?"data":"visual"])[0],h=t.getSizeSignalRef(r).signal,p=t.getScaleComponent(c),m=p.get("type"),g=p.get("reverse"),y=f?c===yn?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,S=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",v=f?m==="pow"?`, ${(s=p.get("exponent"))!==null&&s!==void 0?s:1}`:m==="symlog"?`, ${(o=p.get("constant"))!==null&&o!==void 0?o:1}`:"":"",_=`${S}(${E}, ${A}${v})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const Sae="_zoom_anchor",vae="_zoom_delta",det={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=Qc.defined(e),s=r+vae,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(yn)),l=Fe(t.scaleName(_r));let c=hd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+z2,f))),n.push({name:r+Sae,on:[{events:c,update:i?"{"+[a?`x: invert(${a}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>!!f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:s,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&_ae(t,e,o,"width",n),u!==void 0&&_ae(t,e,u,"height",n),n}};function _ae(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=Qc.defined(e),c=i.filter(S=>S.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?P8(t,a):c.name,m=u+vae,g=`${u}${Sae}.${a}`,y=l?h==="log"?"zoomLog":h==="symlog"?"zoomSymlog":h==="pow"?"zoomPow":"zoomLinear":"zoomLinear",E=l?h==="pow"?`, ${(s=x.get("exponent"))!==null&&s!==void 0?s:1}`:h==="symlog"?`, ${(o=x.get("constant"))!==null&&o!==void 0?o:1}`:"":"",A=`${y}(${p}, ${g}, ${m}${E})`;c.on.push({events:{signal:m},update:l?A:`clampRange(${A}, 0, ${f})`})}const wd="_store",Wc="_tuple",het="_modify",Cae="vlSelectionResolve",GN=[GZe,zZe,qZe,gae,pae,Qc,mae,cet,xet,det,hae];function pet(t){let e=t.parent;for(;e&&!mu(e);)e=e.parent;return e}function G2(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=pet(t);if(r){const{facet:i}=r;for(const s of bo)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Q8(t){var e;return Pi((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===T3),!1)}function bae(t,e){(je(e.select)||!e.select.on)&&delete t.events,(je(e.select)||!e.select.clear)&&delete t.clear,(je(e.select)||!e.select.toggle)&&delete t.toggle}function G8(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...G8(t.object)),e.push(...G8(t.property))),e)}function Tae(t){return t.object.type==="MemberExpression"?Tae(t.object):t.object.name==="datum"}function Rae(t){const e=Ere(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&Tae(r)&&n.add(G8(r).slice(1).join("."))}),n}class W2 extends Ut{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=WN(this.model,this.filter,this),this._dependentFields=Rae(this.expr)}clone(){return new W2(null,this.model,ot(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function get(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=mn(s.name),u=s.select,a=je(u)?u:u.type,l=Qe(u)?ot(u):{type:a},c=i[a];for(const x in c)x==="fields"||x==="encodings"||(x==="mark"&&(l[x]=Object.assign(Object.assign({},c[x]),l[x])),(l[x]===void 0||l[x]===!0)&&(l[x]=(n=c[x])!==null&&n!==void 0?n:l[x]));const f=r[o]=Object.assign(Object.assign({},l),{name:o,type:a,init:s.value,bind:s.bind,events:je(l.on)?hd(l.on,"scope"):Pe(ot(l.on))});for(const x of GN)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function Oae(t,e,n,r="datum"){const i=je(e)?e:e.param,s=mn(i),o=Fe(s+wd);let u;try{u=t.getSelectionComponent(s,i)}catch{return`!!${s}`}if(u.project.timeUnit){const c=n??t.component.data.raw,f=u.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}const a=`vlSelectionTest(${o}, ${r}${u.resolve==="global"?")":`, ${Fe(u.resolve)})`}`,l=`length(data(${o}))`;return e.empty===!1?`${l} && ${a}`:`!${l} || ${a}`}function Nae(t,e,n){const r=mn(e),i=n.encoding;let s=n.field,o;try{o=t.getSelectionComponent(r,e)}catch{return r}if(!i&&!s)s=o.project.items[0].field,o.project.items.length>1&&Te(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${Fe(s)}.`);else if(i&&!s){const u=o.project.items.filter(a=>a.channel===i);!u.length||u.length>1?(s=o.project.items[0].field,Te((u.length?"Multiple ":"No ")+`matching ${Fe(i)} encoding found for selection ${Fe(n.param)}. Using "field": ${Fe(s)}.`)):s=u[0].field}return`${o.name}[${Fe(lu(s))}]`}function met(t,e){var n;for(const[r,i]of Ad((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=t.getName(`lookup_${r}`);t.component.data.outputNodes[s]=i.materialized=new qi(new W2(e,t,{param:r}),s,Jt.Lookup,t.component.data.outputNodeRefCounts)}}function WN(t,e,n){return nN(e,r=>je(r)?r:JKe(r)?Oae(t,r,n):moe(r))}var VN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function yet(t,e){if(t)return Ce(t)&&!Pc(t)?t.map(n=>x8(n,e)).join(", "):t}function W8(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function F3(t,e,n,r={header:!1}){var i,s;const o=t.combine(),{disable:u,orient:a,scale:l,labelExpr:c,title:f,zindex:x}=o,h=VN(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=JXe[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(b3(g)){const{condition:y}=g,E=VN(g,["condition"]),A=Pe(y),S=eue[p];if(S){const{vgProp:v,part:_}=S,C=[...A.map(b=>{const{test:O}=b,R=VN(b,["test"]);return Object.assign({test:WN(null,O)},R)}),E];W8(h,_,v,C),delete h[p]}else if(S===null){const v={signal:A.map(_=>{const{test:C}=_,b=VN(_,["test"]);return`${WN(null,C)} ? ${qse(b)} : `}).join("")+qse(E)};h[p]=v}}else if(Ye(g)){const y=eue[p];if(y){const{vgProp:E,part:A}=y;W8(h,A,E,g),delete h[p]}}Tt(["labelAlign","labelBaseline"],p)&&h[p]===null&&delete h[p]}if(e==="grid"){if(!h.grid)return;if(h.encode){const{grid:p}=h.encode;h.encode=Object.assign({},p?{grid:p}:{}),Wt(h.encode)&&delete h.encode}return Object.assign(Object.assign({scale:l,orient:a},h),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:rr(x,0)})}else{if(!r.header&&t.mainExtracted)return;if(c!==void 0){let m=c;!((s=(i=h.encode)===null||i===void 0?void 0:i.labels)===null||s===void 0)&&s.update&&Ye(h.encode.labels.update.text)&&(m=N2(c,"datum.label",h.encode.labels.update.text.signal)),W8(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of tue)t.hasAxisPart(m)||delete h.encode[m];Wt(h.encode)&&delete h.encode}const p=yet(f,n);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:a,grid:!1},p?{title:p}:{}),h),n.aria===!1?{aria:!1}:{}),{zindex:rr(x,0)})}}}function Dae(t){const{axes:e}=t.component,n=[];for(const r of Oa)if(e[r]){for(const i of e[r])if(!i.get("disable")&&!i.get("gridScale")){const s=r==="x"?"height":"width",o=t.getSizeSignalRef(s).signal;s!==o&&n.push({name:s,update:o})}}return n}function Eet(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>F3(i,"grid",e)),...r.map(i=>F3(i,"grid",e)),...n.map(i=>F3(i,"main",e)),...r.map(i=>F3(i,"main",e))].filter(i=>i)}function Fae(t,e,n,r){return Object.assign.apply(null,[{},...t.map(i=>{if(i==="axisOrient"){const s=n==="x"?"bottom":"left",o=e[n==="x"?"axisBottom":"axisLeft"]||{},u=e[n==="x"?"axisTop":"axisRight"]||{},a=new Set([...be(o),...be(u)]),l={};for(const c of a.values())l[c]={signal:`${r.signal} === "${s}" ? ${n0(o[c])} : ${n0(u[c])}`};return l}return e[i]})])}function Aet(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:voe(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${rN(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:Fae(u,r,t,n),vgAxisConfig:Fae(a,r,t,n),axisConfigStyle:vet([...a,...u],r)}}function vet(t,e){var n;const r=[{}];for(const i of t){let s=(n=e[i])===null||n===void 0?void 0:n.style;if(s){s=Pe(s);for(const o of s)r.push(e.style[o])}}return Object.assign.apply(null,r)}function V8(t,e,n,r={}){var i;const s=zse(t,n,e);if(s!==void 0)return{configFrom:"style",configValue:s};for(const o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((i=r[o])===null||i===void 0?void 0:i[t])!==void 0)return{configFrom:o,configValue:r[o][t]};return{}}const wae={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return $oe(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Boe(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:_et(n,t)},gridScale:({model:t,channel:e})=>Cet(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||Iae(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||Lae(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:Tet(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:Ret(e.type,n,Le(e)&&!!e.timeUnit,Le(e)?e.sort:void 0)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:n,fieldOrDatumDef:r,scaleType:i})=>{var s;const o=t==="x"?"width":t==="y"?"height":void 0,u=o?e.getSizeSignalRef(o):void 0;return(s=n.tickCount)!==null&&s!==void 0?s:Net({fieldOrDatumDef:r,scaleType:i,size:u,values:n.values})},title:({axis:t,model:e,channel:n})=>{if(t.title!==void 0)return t.title;const r=$ae(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return Gse(i?[Hoe(i)]:[],Le(o)?[Hoe(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>Det(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:Fet(n,e)}};function _et(t,e){return!Cr(t)&&Le(e)&&!Xt(e==null?void 0:e.bin)&&!Mi(e==null?void 0:e.bin)}function Cet(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function bet(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:iN(s);{const{configValue:o}=V8("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?iN(o):n===yn&&Tt([V7,W7],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function Y8(t){return`(((${t.signal} % 360) + 360) % 360)`}function Lae(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=Y8(t),s=Ye(e)?`(${e.signal} === "top")`:e==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${s} ? "bottom" : "top"`}}if(45<t&&t<135||225<t&&t<315)return"middle";if(Ye(e)){const i=t<=45||315<=t?"===":"!==";return{signal:`${e.signal} ${i} "top" ? "bottom" : "top"`}}return(t<=45||315<=t)==(e==="top")?"bottom":"top"}else{if(Ye(t)){const i=Y8(t),s=Ye(e)?`(${e.signal} === "left")`:e==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${s} ? "top" : "bottom"`}}if(t<=45||315<=t||135<=t&&t<=225)return r?"middle":null;if(Ye(e)){const i=45<=t&&t<=135?"===":"!==";return{signal:`${e.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=t&&t<=135)==(e==="left")?"top":"bottom"}}function Iae(t,e,n){if(t===void 0)return;const r=n==="x",i=r?0:90,s=r?"bottom":"left";if(Ye(t)){const o=Y8(t),u=Ye(e)?`(${e.signal} === "${s}")`:e===s;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${u} ? "left" : "right"`}}if((t+i)%180===0)return r?null:"center";if(Ye(e)){const o=i<t&&t<180+i?"===":"!==";return{signal:`${`${e.signal} ${o} "${s}"`} ? "left" : "right"`}}return(i<t&&t<180+i)==(e===s)?"left":"right"}function Tet(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function Ret(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function Oet(t){return t==="x"?"bottom":"left"}function Net({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Cr(e)&&e!=="log"){if(Le(t)){if(Xt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=ji(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function $ae(t,e){const n=e==="x"?"x2":"y2",r=t.fieldDef(e),i=t.fieldDef(n),s=r?r.title:void 0,o=i?i.title:void 0;if(s&&o)return Wse(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function Det(t,e){const n=t.values;if(Ce(n))return Zoe(e,n);if(Ye(n))return n}function Fet(t,e){return t==="rect"&&RN(e)?1:0}class V2 extends Ut{constructor(e,n){super(e),this.transform=n,this._dependentFields=Rae(this.transform.calculate)}clone(){return new V2(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(Dd(r)&&qoe(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${moe({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new V2(e,{calculate:a,as:Y2(r,i,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${bt(this.transform)}`}}function Y2(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function YN(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function K2(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return rr((e||{})[t],i[t],n.header[t])}function KN(t,e,n,r){const i={};for(const s of t){const o=K2(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const K8=["row","column"],X8=["header","footer"];function wet(t,e){const n=t.component.layoutHeaders[e].title,r=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:s,titleAngle:o,titleOrient:u}=KN(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=YN(e,u),l=iN(o);return{name:`${e}-title`,type:"group",role:`${a}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:n},e==="row"?{orient:"left"}:{}),{style:"guide-title"}),kae(l,a)),Bae(a,l,s)),Pae(r,i,e,AJe,Sue))}}function Bae(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=Iae(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function kae(t,e){const n=Lae(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function Let(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of X8)if(n[i])for(const s of n[i]){const o=$et(t,e,i,n,s);o!=null&&r.push(o)}return r}function Iet(t,e){var n;const{sort:r}=t;return Fa(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:Ce(r)?{field:Y2(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function J8(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=KN(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=r8({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=YN(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?N2(N2(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),kae(s,c)),Bae(c,s,o)),Pae(n,t,e,SJe,vue))}function $et(t,e,n,r,i){if(i){let s=null;const{facetFieldDef:o}=r,u=t.config?t.config:void 0;if(o&&i.labels){const{labelOrient:f}=KN(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=J8(o,e,u))}const a=mu(t)&&!v3(t.facet),l=i.axes,c=(l==null?void 0:l.length)>0;if(s||c){const f=e==="row"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${n}`),type:"group",role:`${e}-${n}`},r.facetFieldDef?{from:{data:t.getName(`${e}_domain`)},sort:Iet(o,e)}:{}),c&&a?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),s?{title:s}:{}),i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}const Bet={column:{start:0,end:1},row:{start:1,end:0}};function ket(t,e){return Bet[e][t]}function Pet(t,e){const n={};for(const r of bo){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=KN(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=YN(r,o),a=ket(s,u);a!==void 0&&(n[u]=a)}}return Wt(n)?void 0:n}function Pae(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=K2(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function Z8(t){return[...XN(t,"width"),...XN(t,"height"),...XN(t,"childWidth"),...XN(t,"childHeight")]}function XN(t,e){const n=e==="width"?"x":"y",r=t.component.layoutSize.get(e);if(!r||r==="merged")return[];const i=t.getSizeSignalRef(e).signal;if(r==="step"){const s=t.getScaleComponent(n);if(s){const o=s.get("type"),u=s.get("range");if(Cr(o)&&Mc(u)){const a=t.scaleName(n);return mu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[Mae(a,u)]:[Mae(a,u),{name:i,update:jae(a,s,`domain('${a}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(r=="container"){const s=i.endsWith("width"),o=s?"containerSize()[0]":"containerSize()[1]",u=O8(t.config.view,s?"width":"height"),a=`isFinite(${o}) ? ${o} : ${u}`;return[{name:i,init:a,on:[{update:a,events:"window:resize"}]}]}else return[{name:i,value:r}]}function Mae(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function jae(t,e,n){const r=e.get("type"),i=e.get("padding"),s=rr(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${n0(o)}, ${n0(s)}) * ${t}_step`}function Uae(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function qae(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),Q2(e,i,r,s=>on(s.value)))},{})}function Hae(t,e){if(mu(e))return t==="theta"?"independent":"shared";if(Z2(e))return"shared";if(pP(e))return kr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function eP(t,e){const n=t.scale[e],r=kr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(SKe(e)),"independent"):t[r][e]||"shared"}const Met=Object.assign(Object.assign({},_Je),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),zae=be(Met);class jet extends s0{}const Qae={symbols:Uet,gradient:qet,labels:Het,entries:zet};function Uet(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i,legendType:s}){var o,u,a,l,c,f,x,h;if(s!=="symbol")return;const{markDef:p,encoding:m,config:g,mark:y}=n,E=p.filled&&y!=="trail";let A=Object.assign(Object.assign({},FYe({},n,_Xe)),aae(n,{filled:E}));const S=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,v=(u=i.get("symbolFillColor"))!==null&&u!==void 0?u:g.legend.symbolFillColor,_=(a=i.get("symbolStrokeColor"))!==null&&a!==void 0?a:g.legend.symbolStrokeColor,C=S===void 0?(l=Gae(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===ds)delete A.fill;else if(A.fill.field)v?delete A.fill:(A.fill=on((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=on(C??1));else if(Ce(A.fill)){const b=(h=(x=tP((f=m.fill)!==null&&f!==void 0?f:m.color))!==null&&x!==void 0?x:p.fill)!==null&&h!==void 0?h:E&&p.color;b&&(A.fill=on(b))}}if(A.stroke){if(r==="stroke"||!E&&r===ds)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(Ce(A.stroke)){const b=rr(tP(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==Jl){const b=Le(e)&&Vae(n,i,e);b?A.opacity=[Object.assign({test:b},on(C??1)),on(g.legend.unselectedOpacity)]:C&&(A.opacity=on(C))}return A=Object.assign(Object.assign({},A),t),Wt(A)?void 0:A}function qet(t,{model:e,legendType:n,legendCmpt:r}){var i;if(n!=="gradient")return;const{config:s,markDef:o,encoding:u}=e;let a={};const c=((i=r.get("gradientOpacity"))!==null&&i!==void 0?i:s.legend.gradientOpacity)===void 0?Gae(u.opacity)||o.opacity:void 0;return c&&(a.opacity=on(c)),a=Object.assign(Object.assign({},a),t),Wt(a)?void 0:a}function Het(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?Vae(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Nd(c)?i8({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:o}):void 0,x=Object.assign(Object.assign(Object.assign({},a?{opacity:a}:{}),f?{text:f}:{}),t);return Wt(x)?void 0:x}function zet(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function Gae(t){return Wae(t,(e,n)=>Math.max(e,n.value))}function tP(t){return Wae(t,(e,n)=>rr(e,n.value))}function Wae(t,e){if(jXe(t))return Pe(t.condition).reduce(e,t.value);if(hu(t))return t.value}function Vae(t,e,n){const r=e.get("selections");if(!(r!=null&&r.length))return;const i=Fe(n.field);return r.map(s=>`(!length(data(${Fe(mn(s)+wd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const Yae={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return $oe(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Boe(r,e,n)},gradientLength:t=>{var e,n;const{legend:r,legendConfig:i}=t;return(n=(e=r.gradientLength)!==null&&e!==void 0?e:i.gradientLength)!==null&&n!==void 0?n:Xet(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:n})=>{var r,i;return(i=(r=t.labelOverlap)!==null&&r!==void 0?r:e.labelOverlap)!==null&&i!==void 0?i:Jet(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:Get(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>P2(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(F2(n)&&du(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>Qet(e,t)};function Qet(t,e){const n=t.values;if(Ce(n))return Zoe(e,n);if(Ye(n))return n}function Get(t,e,n,r){var i;if(e!=="shape"){const s=(i=tP(n))!==null&&i!==void 0?i:r;if(s)return s}switch(t){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function Wet(t){const{legend:e}=t;return rr(e.type,Vet(t))}function Vet({channel:t,timeUnit:e,scaleType:n}){if(F2(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(du(n))return"gradient"}return"symbol"}function Yet({legendConfig:t,legendType:e,orient:n,legend:r}){var i,s;return(s=(i=r.direction)!==null&&i!==void 0?i:t[e?"gradientDirection":"symbolDirection"])!==null&&s!==void 0?s:Ket(n,e)}function Ket(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return e==="gradient"?"horizontal":void 0}}function Xet({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(du(i))return n==="horizontal"?r==="top"||r==="bottom"?Kae(e,"width",o,s):o:Kae(e,"height",a,u)}function Kae(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function Jet(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function Xae(t){const e=Qn(t)?Zet(t):rtt(t);return t.component.legends=e,e}function Zet(t){const{encoding:e}=t,n={};for(const r of[ds,...Cue]){const i=ir(e[r]);!i||!t.getScaleComponent(r)||r===hs&&Le(i)&&i.type===$2||(n[r]=ntt(t,r))}return n}function ett(t,e){const n=t.scaleName(e);if(t.mark==="trail"){if(e==="color")return{stroke:n};if(e==="size")return{strokeWidth:n}}return e==="color"?t.markDef.filled?{fill:n}:{stroke:n}:{[e]:n}}function ttt(t,e,n,r){switch(e){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(e==="title"&&t===(r==null?void 0:r.title))return!0}return t===(n||{})[e]}function ntt(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new jet({},ett(t,e));fet(t,e,c);const f=s!==void 0?!s:l.disable;if(c.set("disable",f,s!==void 0),f)return c;s=s||{};const x=t.getScaleComponent(e).get("type"),h=ir(u[e]),p=Le(h)?(n=ji(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=Wet({legend:s,channel:e,timeUnit:p,scaleType:x}),y=Yet({legend:s,legendType:g,orient:m,legendConfig:l}),E={legend:s,channel:e,model:t,markDef:o,encoding:u,fieldOrDatumDef:h,legendConfig:l,config:a,scaleType:x,orient:m,legendType:g,direction:y};for(const C of zae){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in Yae?Yae[C](E):s[C];if(b!==void 0){const O=ttt(b,C,s,t.fieldDef(e));(O||a.legend[C]===void 0)&&c.set(C,b,O)}}const A=(r=s==null?void 0:s.encoding)!==null&&r!==void 0?r:{},S=c.get("selections"),v={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=qae((i=A[C])!==null&&i!==void 0?i:{},t),O=C in Qae?Qae[C](b,_):b;O!==void 0&&!Wt(O)&&(v[C]=Object.assign(Object.assign(Object.assign({},S!=null&&S.length&&Le(h)?{name:`${mn(h.field)}_legend_${C}`}:{}),S!=null&&S.length?{interactive:!!S}:{}),{update:O}))}return Wt(v)||c.set("encode",v,!!(s!=null&&s.encoding)),c}function rtt(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){Xae(r);for(const i of be(r.component.legends))n.legend[i]=eP(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=Jae(e[i],r.component.legends[i]),e[i]||(n.legend[i]="independent",delete e[i]))}for(const r of be(e))for(const i of t.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return e}function Jae(t,e){var n,r,i,s;if(!t)return e.clone();const o=t.getWithExplicit("orient"),u=e.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;let a=!1;for(const l of zae){const c=Hc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return itt(f,x);case"title":return Vse(f,x);case"type":return a=!0,zs("symbol")}return UN(f,x,l,"legend")});t.setWithExplicit(l,c)}return a&&(!((r=(n=t.implicit)===null||n===void 0?void 0:n.encode)===null||r===void 0)&&r.gradient&&E7(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&E7(t.explicit,["encode","gradient"])),t}function itt(t,e){return e.value==="circle"?e:t}var stt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function ott(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function Zae(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=sn(s.get("domains"));if(n[o])for(const u of n[o])Jae(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Pi(n).flat().map(i=>utt(i,t.config)).filter(i=>i!==void 0)}function utt(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=stt(s,["disable","labelExpr","selections"]);if(!o){if(e.aria===!1&&l.aria==null&&(l.aria=!1),!((n=l.encode)===null||n===void 0)&&n.symbols){const c=l.encode.symbols.update;c.fill&&c.fill.value!=="transparent"&&!c.stroke&&!l.stroke&&(c.stroke={value:"transparent"});for(const f of Cue)l[f]&&delete c[f]}if(l.title||delete l.title,u!==void 0){let c=u;!((i=(r=l.encode)===null||r===void 0?void 0:r.labels)===null||i===void 0)&&i.update&&Ye(l.encode.labels.update.text)&&(c=N2(u,"datum.label",l.encode.labels.update.text.signal)),ott(l,"labels","text",{signal:c})}return l}}function att(t){return Z2(t)||pP(t)?ltt(t):ele(t)}function ltt(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),ele(t))}function ele(t){const e=t.component.projection;if(!e||e.merged)return[];const n=e.combine(),{name:r}=n;if(e.data){const i={signal:`[${e.size.map(o=>o.signal).join(", ")}]`},s=e.data.reduce((o,u)=>{const a=Ye(u)?u.signal:`data('${t.lookupDataSource(u)}')`;return Tt(o,a)||o.push(a),o},[]);if(s.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:r,size:i,fit:{signal:s.length>1?`[${s.join(", ")}]`:s[0]}},n)]}else return[Object.assign(Object.assign({name:r},{translate:{signal:"[width / 2, height / 2]"}}),n)]}const ctt=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class tle extends s0{constructor(e,n,r,i){super(Object.assign({},n),{name:e}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function nle(t){t.component.projection=Qn(t)?ftt(t):htt(t)}function ftt(t){var e;if(t.hasProjection){const n=gs(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?xtt(t):void 0,o=new tle(t.projectionName(!0),Object.assign(Object.assign({},(e=gs(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function xtt(t){const e=[],{encoding:n}=t;for(const r of[[ba,Ca],[Co,xu]])(ir(n[r[0]])||ir(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(hs)&&t.typedFieldDef(hs).type===$2&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Jt.Main)),e}function dtt(t,e){const n=Ese(ctt,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Ql(t.get(i),e.get(i))));if(Ql(t.size,e.size)){if(n)return t;if(Ql(t.explicit,{}))return e;if(Ql(e.explicit,{}))return t}return null}function htt(t){if(t.children.length===0)return;let e;for(const r of t.children)nle(r);const n=Ese(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=dtt(e,i);return s&&(e=s),!!s}else return e=i,!0;else return!0});if(e&&n){const r=t.projectionName(!0),i=new tle(r,e.specifiedProjection,e.size,ot(e.data));for(const s of t.children){const o=s.component.projection;o&&(o.isFit&&i.data.push(...s.component.projection.data),s.renameProjection(o.get("name"),r),o.merged=!0)}return i}}var ptt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function gtt(t,e,n,r){var i,s;if(C3(e,n)){const o=Qn(t)?(s=(i=t.axis(n))!==null&&i!==void 0?i:t.legend(n))!==null&&s!==void 0?s:{}:{},u=$e(e,{expr:"datum"}),a=$e(e,{expr:"datum",binSuffix:"end"});return{formulaAs:$e(e,{binSuffix:"range",forAs:!0}),formula:vN(u,a,o.format,o.formatType,r)}}return{}}function rle(t,e){return`${kse(t)}_${e}`}function mtt(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function nP(t,e,n){var r;const i=(r=DN(n,void 0))!==null&&r!==void 0?r:{},s=rle(i,e);return t.getName(`${s}_bins`)}function ytt(t){return"as"in t}function ile(t,e,n){let r,i;ytt(t)?r=je(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:r=[$e(t,{forAs:!0}),$e(t,{binSuffix:"end",forAs:!0})];const s=Object.assign({},DN(e,void 0)),o=rle(s,t.field),{signal:u,extentSignal:a}=mtt(n,o);if(xN(s.extent)){const c=s.extent;i=Nae(n,c.param,c),delete s.extent}const l=Object.assign(Object.assign(Object.assign({bin:s,field:t.field,as:[r]},u?{signal:u}:{}),a?{extentSignal:a}:{}),i?{span:i}:{});return{key:o,binComponent:l}}class Pa extends Ut{constructor(e,n){super(e),this.bins=n}clone(){return new Pa(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(To(s)&&Xt(s.bin)){const{key:u,binComponent:a}=ile(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),gtt(n,s,o,n.config))}return i},{});return Wt(r)?null:new Pa(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=ile(n,n.bin,r);return new Pa(e,{[i]:s})}merge(e,n){for(const r of be(e.bins))r in this.bins?(n(e.bins[r].signal,this.bins[r].signal),this.bins[r].as=Gl([...this.bins[r].as,...e.bins[r].as],bt)):this.bins[r]=e.bins[r];for(const r of e.children)e.removeChild(r),r.parent=this;e.remove()}producedFields(){return new Set(Pi(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Pi(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Pi(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=ptt(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:lu(e.field),as:r,signal:e.signal},xN(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:lu(e.field),signal:e.extentSignal}),a.extent={signal:e.extentSignal}),n.push(a);for(const l of i)for(let c=0;c<2;c++)n.push({type:"formula",expr:$e({field:r[c]},{expr:"datum"}),as:l[c]});return e.formula&&n.push({type:"formula",expr:e.formula,as:e.formulaAs}),n})}}function Ett(t,e,n,r){var i;const s=Qn(r)?r.encoding[Zl(e)]:void 0;if(To(n)&&Qn(r)&&Goe(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&C3(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(nYe(e)){const o=tYe(e);t.add(r.getName(o))}else t.add($e(n));return Dd(n)&&xXe((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function Att(t,e){var n;for(const r of be(e)){const i=e[r];for(const s of be(i))r in t?t[r][s]=new Set([...(n=t[r][s])!==null&&n!==void 0?n:[],...i[s]]):t[r]={[s]:i[s]}}}class pu extends Ut{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new pu(null,new Set(this.dimensions),ot(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,n){let r=!1;n.forEachFieldDef(o=>{o.aggregate&&(r=!0)});const i={},s=new Set;return!r||(n.forEachFieldDef((o,u)=>{var a,l,c,f;const{aggregate:x,field:h}=o;if(x)if(x==="count")(a=i["*"])!==null&&a!==void 0||(i["*"]={}),i["*"].count=new Set([$e(o,{forAs:!0})]);else{if(e0(x)||kc(x)){const p=e0(x)?"argmin":"argmax",m=x[p];(l=i[m])!==null&&l!==void 0||(i[m]={}),i[m][p]=new Set([$e({op:p,field:m},{forAs:!0})])}else(c=i[h])!==null&&c!==void 0||(i[h]={}),i[h][x]=new Set([$e(o,{forAs:!0})]);Bc(u)&&n.scaleDomain(u)==="unaggregated"&&((f=i[h])!==null&&f!==void 0||(i[h]={}),i[h].min=new Set([$e({field:h,aggregate:"min"},{forAs:!0})]),i[h].max=new Set([$e({field:h,aggregate:"max"},{forAs:!0})]))}else Ett(s,u,o,n)}),s.size+be(i).length===0)?null:new pu(e,s,i)}static makeFromTransform(e,n){var r,i,s;const o=new Set,u={};for(const a of n.aggregate){const{op:l,field:c,as:f}=a;l&&(l==="count"?((r=u["*"])!==null&&r!==void 0||(u["*"]={}),u["*"].count=new Set([f||$e(a,{forAs:!0})])):((i=u[c])!==null&&i!==void 0||(u[c]={}),u[c][l]=new Set([f||$e(a,{forAs:!0})])))}for(const a of(s=n.groupby)!==null&&s!==void 0?s:[])o.add(a);return o.size+be(u).length===0?null:new pu(e,o,u)}merge(e){return WVe(this.dimensions,e.dimensions)?(Att(this.measures,e.measures),!0):(kKe("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...be(this.measures)])}producedFields(){const e=new Set;for(const n of be(this.measures))for(const r of be(this.measures[n])){const i=this.measures[n][r];i.size===0?e.add(`${r}_${n}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${bt({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],n=[],r=[];for(const s of be(this.measures))for(const o of be(this.measures[s]))for(const u of this.measures[s][o])r.push(u),e.push(o),n.push(s==="*"?null:lu(s));return{type:"aggregate",groupby:[...this.dimensions].map(lu),ops:e,fields:n,as:r}}}class X2 extends Ut{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of bo){const o=n.facet[s];if(o){const{bin:u,sort:a}=o;this[s]=Object.assign({name:n.getName(`${s}_domain`),fields:[$e(o),...Xt(u)?[$e(o,{binSuffix:"end"})]:[]]},Fa(a)?{sortField:a}:Ce(a)?{sortIndexField:Y2(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of bo)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of bo)!((e=this[r])===null||e===void 0)&&e.fields&&n.push(...this[r].fields);return n}dependentFields(){const e=new Set(this.fields);for(const n of bo)this[n]&&(this[n].sortField&&e.add(this[n].sortField.field),this[n].sortIndexField&&e.add(this[n].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const n of Oa){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Cr(i)&&Mc(s)){const o=ZN(this.childModel,n),u=xP(o);u?e[n]=u:Te(w7(n))}}}return e}assembleRowColumnHeaderData(e,n,r){const i={row:"y",column:"x",facet:void 0}[e],s=[],o=[],u=[];i&&r&&r[i]&&(n?(s.push(`distinct_${r[i]}`),o.push("max")):(s.push(r[i]),o.push("distinct")),u.push(`distinct_${r[i]}`));const{sortField:a,sortIndexField:l}=this[e];if(a){const{op:c=_N,field:f}=a;s.push(f),o.push(c),u.push($e(a,{forAs:!0}))}else l&&(s.push(l),o.push("max"),u.push(l));return{name:this[e].name,source:n??this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},s.length?{fields:s,ops:o,as:u}:{})]}}assembleFacetHeaderData(e){var n,r;const{columns:i}=this.model.layout,{layoutHeaders:s}=this.model.component,o=[],u={};for(const c of K8){for(const f of X8){const x=(n=s[c]&&s[c][f])!==null&&n!==void 0?n:[];for(const h of x)if(((r=h.axes)===null||r===void 0?void 0:r.length)>0){u[c]=!0;break}}if(u[c]){const f=`length(data("${this.facet.name}"))`,x=c==="row"?i?{signal:`ceil(${f} / ${i})`}:1:i?{signal:`min(${f}, ${i})`}:{signal:f};o.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:x}]})}}const{row:a,column:l}=u;return(a||l)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}assemble(){var e,n;const r=[];let i=null;const s=this.getChildIndependentFieldsWithStep(),{column:o,row:u,facet:a}=this;if(o&&u&&(s.x||s.y)){i=`cross_${this.column.name}_${this.row.name}`;const l=[].concat((e=s.x)!==null&&e!==void 0?e:[],(n=s.y)!==null&&n!==void 0?n:[]),c=l.map(()=>"distinct");r.push({name:i,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:c}]})}for(const l of[Vl,Wl])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function sle(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function Stt(t,e){const n=_se(t);if(e==="number")return`toNumber(${n})`;if(e==="boolean")return`toBoolean(${n})`;if(e==="string")return`toString(${n})`;if(e==="date")return`toDate(${n})`;if(e==="flatten")return n;if(e.startsWith("date:")){const r=sle(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=sle(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(zYe(e)),null}function vtt(t){const e={};return eN(t.filter,n=>{var r;if(goe(n)){let i=null;M7(n)?i=qs(n.equal):U7(n)?i=qs(n.lte):j7(n)?i=qs(n.lt):q7(n)?i=qs(n.gt):H7(n)?i=qs(n.gte):z7(n)?i=n.range[0]:Q7(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Td(i)?e[n.field]="date":nn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function _tt(t){const e={};function n(r){j2(r)?e[r.field]="date":r.type==="quantitative"&&vYe(r.aggregate)?e[r.field]="number":d3(r.field)>1?r.field in e||(e[r.field]="flatten"):Dd(r)&&Fa(r.sort)&&d3(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((Qn(t)||mu(t))&&t.forEachFieldDef((r,i)=>{if(To(r))n(r);else{const s=_d(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),Qn(t)){const{mark:r,markDef:i,encoding:s}=t;if(jc(r)&&!t.encoding.order){const o=i.orient==="horizontal"?"y":"x",u=s[o];Le(u)&&u.type==="quantitative"&&!(u.field in e)&&(e[u.field]="number")}}return e}function Ctt(t){const e={};if(Qn(t)&&t.component.selection)for(const n of be(t.component.selection)){const r=t.component.selection[n];for(const i of r.project.items)!i.channel&&d3(i.field)>1&&(e[i.field]="flatten")}return e}class li extends Ut{constructor(e,n){super(e),this._parse=n}clone(){return new li(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!zc(o)&&(!((i=o==null?void 0:o.format)===null||i===void 0)&&i.parse)&&(s=o.format.parse),this.makeWithAncestors(e,s,{},r)}static makeWithAncestors(e,n,r,i){for(const u of be(r)){const a=i.getWithExplicit(u);a.value!==void 0&&(a.explicit||a.value===r[u]||a.value==="derived"||r[u]==="flatten"?delete r[u]:Te(toe(u,r[u],a.value)))}for(const u of be(n)){const a=i.get(u);a!==void 0&&(a===n[u]?delete n[u]:Te(toe(u,n[u],a)))}const s=new s0(n,r);i.copyAll(s);const o={};for(const u of be(s.combine())){const a=s.get(u);a!==null&&(o[u]=a)}return be(o).length===0||i.parseNothing?null:new li(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}assembleFormatParse(){const e={};for(const n of be(this._parse)){const r=this._parse[n];d3(n)===1&&(e[n]=r)}return e}producedFields(){return new Set(be(this._parse))}dependentFields(){return new Set(be(this._parse))}assembleTransforms(e=!1){return be(this._parse).filter(n=>e?d3(n)>1:!0).map(n=>{const r=Stt(n,this._parse[n]);return r?{type:"formula",expr:r,as:Cse(n)}:null}).filter(n=>n!==null)}}class Vc extends Ut{clone(){return new Vc(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([T3])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:T3}}}class w3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new w3(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${bt(this.params)}`}assemble(){return Object.assign({type:"graticule"},this.params===!0?{}:this.params)}}class L3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new L3(null,this.params)}dependentFields(){return new Set}producedFields(){var e;return new Set([(e=this.params.as)!==null&&e!==void 0?e:"data"])}hash(){return`Hash ${bt(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}}class Ld extends Ut{constructor(e){super(null),e??(e={name:"source"});let n;if(zc(e)||(n=e.format?Object.assign({},_o(e.format,["parse"])):{}),R3(e))this._data={values:e.values};else if(q2(e)){if(this._data={url:e.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(e.url)[1];Tt(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else tae(e)?this._data={values:[{type:"Sphere"}]}:(Zue(e)||zc(e))&&(this._data={});this._generator=zc(e),e.name&&(this._name=e.name),n&&!Wt(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}}var ole=function(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n},btt=function(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},I3;function rP(t){return t instanceof Ld||t instanceof w3||t instanceof L3}class iP{constructor(){I3.set(this,void 0),ole(this,I3,!1,"f")}setModified(){ole(this,I3,!0,"f")}get modifiedFlag(){return btt(this,I3,"f")}}I3=new WeakMap;class Id extends iP{getNodeDepths(e,n,r){r.set(e,n);for(const i of e.children)this.getNodeDepths(i,n+1,r);return r}optimize(e){const r=[...this.getNodeDepths(e,0,new Map).entries()].sort((i,s)=>s[1]-i[1]);for(const i of r)this.run(i[0]);return this.modifiedFlag}}class sP extends iP{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class Ttt extends sP{mergeNodes(e,n){const r=n.shift();for(const i of n)e.removeChild(i),i.parent=r,i.remove()}run(e){const n=e.children.map(i=>i.hash()),r={};for(let i=0;i<n.length;i++)r[n[i]]===void 0?r[n[i]]=[e.children[i]]:r[n[i]].push(e.children[i]);for(const i of be(r))r[i].length>1&&(this.setModified(),this.mergeNodes(e,r[i]))}}class Rtt extends sP{constructor(e){super(),this.requiresSelectionId=e&&Q8(e)}run(e){e instanceof Vc&&(this.requiresSelectionId&&(rP(e.parent)||e.parent instanceof pu||e.parent instanceof li)||(this.setModified(),e.remove()))}}class Ott extends iP{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof ka&&(r=e.producedFields(),Ase(r,n)&&(this.setModified(),e.removeFormulas(n),e.producedFields.length===0&&e.remove()));for(const i of e.children)this.run(i,new Set([...n,...r]))}}class Ntt extends sP{constructor(){super()}run(e){e instanceof qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class Dtt extends Id{run(e){if(!rP(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof li)if(e instanceof li)this.setModified(),e.merge(n);else{if(vse(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class Ftt extends Id{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof li);if(e.numChildren()>1&&r.length>=1){const i={},s=new Set;for(const o of r){const u=o.parse;for(const a of be(u))a in i?i[a]!==u[a]&&s.add(a):i[a]=u[a]}for(const o of s)delete i[o];if(!Wt(i)){this.setModified();const o=new li(e,i);for(const u of n){if(u instanceof li)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof li&&be(u.parse).length===0&&u.remove()}}}}}class wtt extends Id{run(e){e instanceof qi||e.numChildren()>0||e instanceof X2||e instanceof Ld||(this.setModified(),e.remove())}}class Ltt extends Id{run(e){const n=e.children.filter(i=>i instanceof ka),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class Itt extends Id{run(e){const n=e.children.filter(i=>i instanceof pu),r={};for(const i of n){const s=bt(i.groupBy);s in r||(r[s]=[]),r[s].push(i)}for(const i of be(r)){const s=r[i];if(s.length>1){const o=s.pop();for(const u of s)o.merge(u)&&(e.removeChild(u),u.parent=o,u.remove(),this.setModified())}}}}class $tt extends Id{constructor(e){super(),this.model=e}run(e){const n=!(rP(e)||e instanceof W2||e instanceof li||e instanceof Vc),r=[],i=[];for(const s of e.children)s instanceof Pa&&(n&&!vse(e.producedFields(),s.dependentFields())?r.push(s):i.push(s));if(r.length>0){const s=r.pop();for(const o of r)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Pa?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(i.length>1){const s=i.pop();for(const o of i)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}}class Btt extends Id{run(e){const n=[...e.children];if(!O2(n,o=>o instanceof qi)||e.numChildren()<=1)return;const i=[];let s;for(const o of n)if(o instanceof qi){let u=o;for(;u.numChildren()===1;){const[a]=u.children;if(a instanceof qi)u=a;else break}i.push(...u.children),s?(e.removeChild(o),o.parent=s.parent,s.parent.removeChild(s),s.parent=u,this.setModified()):s=u}else i.push(o);if(i.length){this.setModified();for(const o of i)o.parent.removeChild(o),o.parent=s}}}class $d extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new $d(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Gl(this.transform.groupby.concat(e),n=>n)}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(n=>n.field).filter(n=>n!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`JoinAggregateTransform ${bt(this.transform)}`}assemble(){const e=[],n=[],r=[];for(const s of this.transform.joinaggregate)n.push(s.op),r.push(this.getDefaultName(s)),e.push(s.field===void 0?null:s.field);const i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:r,ops:n,fields:e},i!==void 0?{groupby:i}:{})}}function ktt(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function Ptt(t){return Ce(t)&&t.every(e=>je(e))&&t.length>1}class o0 extends Ut{constructor(e,n){super(e),this._stack=n}clone(){return new o0(null,ot(this._stack))}static makeFromTransform(e,n){const{stack:r,groupby:i,as:s,offset:o="zero"}=n,u=[],a=[];if(n.sort!==void 0)for(const f of n.sort)u.push(f.field),a.push(rr(f.order,"ascending"));const l={field:u,order:a};let c;return Ptt(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new o0(e,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:o,sort:l,facetby:[],as:c})}static makeFromEncoding(e,n){const r=n.stack,{encoding:i}=n;if(!r)return null;const{groupbyChannels:s,fieldChannel:o,offset:u,impute:a}=r,l=s.map(h=>{const p=i[h];return Ia(p)}).filter(h=>!!h),c=ktt(n),f=n.encoding.order;let x;return Ce(f)||Le(f)?x=Qse(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new o0(e,{dimensionFieldDefs:l,stackField:n.vgField(o),facetby:[],stackby:c,sort:x,offset:u,impute:a,as:[n.vgField(o,{suffix:"start",forAs:!0}),n.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${bt(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:e,impute:n,groupby:r}=this._stack;return e.length>0?e.map(i=>i.bin?n?[$e(i,{binSuffix:"mid"})]:[$e(i,{}),$e(i,{binSuffix:"end"})]:[$e(i)]).flat():r??[]}assemble(){const e=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:s,sort:o,offset:u,impute:a,as:l}=this._stack;if(a)for(const c of r){const{bandPosition:f=.5,bin:x}=c;if(x){const h=$e(c,{expr:"datum"}),p=$e(c,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${f}*${h}+${1-f}*${p}`,as:$e(c,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...s,...n],key:$e(c,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:o,as:l,offset:u}),e}}class J2 extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new J2(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Gl(this.transform.groupby.concat(e),n=>n)}dependentFields(){var e,n;const r=new Set;return((e=this.transform.groupby)!==null&&e!==void 0?e:[]).forEach(r.add,r),((n=this.transform.sort)!==null&&n!==void 0?n:[]).forEach(i=>r.add(i.field)),this.transform.window.map(i=>i.field).filter(i=>i!==void 0).forEach(r.add,r),r}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`WindowTransform ${bt(this.transform)}`}assemble(){var e;const n=[],r=[],i=[],s=[];for(const x of this.transform.window)r.push(x.op),i.push(this.getDefaultName(x)),s.push(x.param===void 0?null:x.param),n.push(x.field===void 0?null:x.field);const o=this.transform.frame,u=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(x=>O7(x)))return Object.assign({type:"joinaggregate",as:i,ops:r,fields:n},u!==void 0?{groupby:u}:{});const a=[],l=[];if(this.transform.sort!==void 0)for(const x of this.transform.sort)a.push(x.field),l.push((e=x.order)!==null&&e!==void 0?e:"ascending");const c={field:a,order:l},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:s,as:i,ops:r,fields:n,sort:c},f!==void 0?{ignorePeers:f}:{}),u!==void 0?{groupby:u}:{}),o!==void 0?{frame:o}:{})}}function Mtt(t){function e(n){if(!(n instanceof X2)){const r=n.clone();if(r instanceof qi){const i=uP+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof pu||r instanceof o0||r instanceof J2||r instanceof $d)&&r.addDimensions(t.fields);for(const i of n.children.flatMap(e))i.parent=r;return[r]}return n.children.flatMap(e)}return e}function oP(t){if(t instanceof X2)if(t.numChildren()===1&&!(t.children[0]instanceof qi)){const e=t.children[0];(e instanceof pu||e instanceof o0||e instanceof J2||e instanceof $d)&&e.addDimensions(t.fields),e.swapWithParent(),oP(t)}else{const e=t.model.component.data.main;ule(e);const n=Mtt(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(oP)}function ule(t){if(t instanceof qi&&t.type===Jt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof X2||(e.swapWithParent(),ule(t))}}const uP="scale_",JN=5;function aP(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!aP(e.children))return!1}return!0}function gu(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function ale(t,e,n){let r=t.sources,i=!1;return i=gu(new Ntt,r)||i,i=gu(new Rtt(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=gu(new wtt,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=gu(new Dtt,r)||i,i=gu(new $tt(e),r)||i,i=gu(new Ott,r)||i,i=gu(new Ftt,r)||i,i=gu(new Itt,r)||i,i=gu(new Ltt,r)||i,i=gu(new Ttt,r)||i,i=gu(new Btt,r)||i),t.sources=r,i}function jtt(t,e){aP(t.sources);let n=0,r=0;for(let i=0;i<JN&&ale(t,e,!0);i++)n++;t.sources.map(oP);for(let i=0;i<JN&&ale(t,e,!1);i++)r++;aP(t.sources),Math.max(n,r)===JN&&Te(`Maximum optimization runs(${JN}) reached.`)}class ys{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new ys(()=>e(n))}}var Utt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function lle(t){Qn(t)?qtt(t):Htt(t)}function qtt(t){const e=t.component.scales;for(const n of be(e)){const r=Qtt(t,n);if(e[n].setWithExplicit("domains",r),Wtt(t,n),t.component.data.isFaceted){let s=t;for(;!mu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)t0(u)&&(u.data=uP+u.data.replace(uP,""))}}}function Htt(t){for(const n of t.children)lle(n);const e=t.component.scales;for(const n of be(e)){let r,i=null;for(const s of t.children){const o=s.component.scales[n];if(o){r===void 0?r=o.getWithExplicit("domains"):r=Hc(r,o.getWithExplicit("domains"),"domains","scale",fP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(jYe),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function ztt(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=cle(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=cle(e,n);if(i)return"unaggregated"}return t}function Qtt(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=ztt(t.scaleDomain(e),t.typedFieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),e==="x"&&ir(r.x2)?ir(r.x)?Hc(Yc(n,i,t,"x"),Yc(n,i,t,"x2"),"domain","scale",fP):Yc(n,i,t,"x2"):e==="y"&&ir(r.y2)?ir(r.y)?Hc(Yc(n,i,t,"y"),Yc(n,i,t,"y2"),"domain","scale",fP):Yc(n,i,t,"y2"):Yc(n,i,t,e)}function Gtt(t,e,n){return t.map(r=>({signal:`{data: ${FN(r,{timeUnit:n,type:e})}}`}))}function lP(t,e,n){var r;const i=(r=ji(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?Gtt(t,e,i):[t]}function Yc(t,e,n,r){const{encoding:i}=n,s=ir(i[r]),{type:o}=s,u=s.timeUnit;if(fXe(e)){const f=Yc(t,void 0,n,r),x=lP(e.unionWith,o,u);return Ba([...f.value,...x])}else{if(Ye(e))return Ba([e]);if(e&&e!=="unaggregated"&&!Coe(e))return Ba(lP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return zs([[0,1]]);const f=n.requestDataName(Jt.Main);return zs([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=Bc(r)&&Le(s)?Vtt(n,r,t):void 0;if(wa(s)){const f=lP([s.datum],o,u);return zs(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Jt.Main),{field:x}=s;return zs([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Xt(c.bin)){if(Cr(t))return zs(t==="bin-ordinal"?[]:[{data:tN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r,C3(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Xt(f)){const x=nP(n,c.field,f);return zs([new ys(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return zs([{data:n.requestDataName(Jt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&Goe(c,Qn(n)?n.encoding[Zl(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Jt.Main);return zs([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return zs(l?[{data:tN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Jt.Main),field:n.vgField(r)}])}function cP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":_N)},r?{field:lu(r)}:{}),i?{order:i}:{})}function Wtt(t,e){var n;const r=t.component.scales[e],i=t.specifiedScales[e].domain,s=(n=t.fieldDef(e))===null||n===void 0?void 0:n.bin,o=Coe(i)&&i,u=Cd(s)&&xN(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function Vtt(t,e,n){if(!Cr(n))return;const r=t.fieldDef(e),i=r.sort;if(qoe(i))return{op:"min",field:Y2(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(Fa(i)){const u=s&&!o.has(i.field);return cP(i,u)}else if(Uoe(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(e0(c)||kc(c))return cP({field:$e(l),order:a},x);if(O7(c)||!c)return cP({op:c,field:f,order:a},x)}else{if(i==="descending")return{op:"min",field:t.vgField(e),order:"descending"};if(Tt(["ascending",void 0],i))return!0}}function cle(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!CYe.has(n)?{valid:!1,reason:hKe(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:pKe(t)}:{valid:!0}:{valid:!1,reason:dKe(t)}}function fP(t,e,n,r){return t.explicit&&e.explicit&&Te(AKe(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function Ytt(t){const e=Gl(t.map(o=>t0(o)?Utt(o,["sort"]):o),bt),n=Gl(t.map(o=>{if(t0(o)){const u=o.sort;return u!==void 0&&!tN(u)&&("op"in u&&u.op==="count"&&delete u.field,u.order==="ascending"&&delete u.order),u}}).filter(o=>o!==void 0),bt);if(e.length===0)return;if(e.length===1){const o=t[0];if(t0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(uoe),u=!0;else if(Qe(u)&&"field"in u){const a=u.field;o.field===a&&(u=u.order?{order:u.order}:!0)}return Object.assign(Object.assign({},o),{sort:u})}return o}const r=Gl(n.map(o=>tN(o)||!("op"in o)||je(o.op)&&o.op in AYe?o:(Te(vKe(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(uoe),i=!0);const s=Gl(t.map(o=>t0(o)?o.data:null),o=>o);return s.length===1&&s[0]!==null?Object.assign({data:s[0],fields:e.map(u=>u.field)},i?{sort:i}:{}):Object.assign({fields:e},i?{sort:i}:{})}function xP(t){if(t0(t)&&je(t.field))return t.field;if(TYe(t)){let e;for(const n of t.fields)if(t0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(_Ke),e}return Te(CKe),e}else if(RYe(t)){Te(bKe);const e=t.fields[0];return je(e)?e:void 0}}function ZN(t,e){const r=t.component.scales[e].get("domains").map(i=>(t0(i)&&(i.data=t.lookupDataSource(i.data)),i));return Ytt(r)}var Ktt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function fle(t){return Z2(t)||pP(t)?t.children.reduce((e,n)=>e.concat(fle(n)),xle(t)):xle(t)}function xle(t){return be(t.component.scales).reduce((e,n)=>{const r=t.component.scales[n];if(r.merged)return e;const i=r.combine(),{name:s,type:o,selectionExtent:u,domains:a,range:l,reverse:c}=i,f=Ktt(i,["name","type","selectionExtent","domains","range","reverse"]),x=Xtt(i.range,s,n,t),h=ZN(t,n),p=u?MZe(t,u,r,h):null;return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:s,type:o},h?{domain:h}:{}),p?{domainRaw:p}:{}),{range:x}),c!==void 0?{reverse:c}:{}),f)),e},[])}function Xtt(t,e,n,r){if(kr(n)){if(Mc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&t0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class dle extends s0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:O2(this.get("domains"),e=>Ce(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const Jtt=["range","scheme"];function Ztt(t){const e=t.component.scales;for(const n of fN){const r=e[n];if(!r)continue;const i=ent(n,t);r.setWithExplicit("range",i)}}function hle(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=ps(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new ys(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Xt(r)){const u=nP(t,i,r);return new ys(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function ent(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of Jtt)if(n[f]!==void 0){const x=K7(s,f),h=boe(t,f);if(!x)Te(soe(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(Ce(p)){if(kr(t))return Ba(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return ys.fromName(y,g)}return m}))}else if(Qe(p))return Ba({data:e.requestDataName(Jt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Ba(p)}case"scheme":return Ba(tnt(n[f]))}}const o=t===yn||t==="xOffset"?"width":"height",u=r[o];if($a(u)){if(kr(t))if(Cr(s)){const f=ple(u,e,t);if(f)return Ba({step:f})}else Te(ooe(o));else if(w2(t)){const f=t===Dc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=gle(u,s);if(p)return Ba(p)}}}const{rangeMin:a,rangeMax:l}=n,c=nnt(t,e);return(a!==void 0||l!==void 0)&&K7(s,"rangeMin")&&Ce(c)&&c.length===2?Ba([a??c[0],l??c[1]]):zs(c)}function tnt(t){return cXe(t)?Object.assign({scheme:t.name},_o(t,["name"])):{scheme:t}}function nnt(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=ir(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case yn:case _r:{if(Tt(["point","band"],l)){const p=mle(t,n,r.view);if($a(p))return{step:ple(p,e,t)}}const x=ps(t),h=e.getName(x);return t===_r&&Hs(l)?[ys.fromName(o,h),0]:[0,ys.fromName(o,h)]}case Dc:case D2:return rnt(t,e,l);case Xl:{const x=e.component.scales[t].get("zero"),h=yle(i,x,r),p=ont(i,n,e,r);return B2(l)?snt(h,p,int(l,r,c,t)):[h,p]}case fu:return[0,Math.PI*2];case Sd:return[0,360];case _a:return[0,new ys(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case Lc:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Ic:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case hs:return"symbol";case ds:case Ta:case Ra:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Jl:case Fc:case wc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function ple(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=Dse(n),f=a[c];if(Tue({step:t,offsetIsDiscrete:it(f)&&yoe(f.type)})==="offset"&&sue(a,c)){const h=e.getScaleComponent(c);let m=`domain('${e.scaleName(c)}').length`;if(h.get("type")==="band"){const y=(i=(r=h.get("paddingInner"))!==null&&r!==void 0?r:h.get("padding"))!==null&&i!==void 0?i:0,E=(o=(s=h.get("paddingOuter"))!==null&&s!==void 0?s:h.get("padding"))!==null&&o!==void 0?o:0;m=`bandspace(${m}, ${y}, ${E})`}const g=(u=l.get("paddingInner"))!==null&&u!==void 0?u:l.get("padding");return{signal:`${t.step} * ${m} / (1-${DYe(g)})`}}else return t.step}function gle(t,e){if(Tue({step:t,offsetIsDiscrete:Cr(e)})==="offset")return{step:t.step}}function rnt(t,e,n){const r=t===Dc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=mle(r,e.size,e.config.view);if($a(u)){const a=gle(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return zVe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function mle(t,e,n){const r=t===yn?"width":"height",i=e[r];return i||MN(n,r)}function int(t,e,n,r){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return n!==void 0&&Ce(n)?n.length+1:(Te(IKe(r)),3)}}function snt(t,e,n){const r=()=>{const i=n0(e),s=n0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new ys(r):{signal:r()}}function yle(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${yle(t,!1,n)}`}:0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(hN("size",t))}const Ele=.95;function ont(t,e,n,r){const i={x:hle(n,"x"),y:hle(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=Ale(e,i,r.view);return nn(s)?s-1:new ys(()=>`${s.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const s=Ale(e,i,r.view);return nn(s)?Math.pow(Ele*s,2):new ys(()=>`pow(${Ele} * ${s.signal}, 2)`)}}throw new Error(hN("size",t))}function Ale(t,e,n){const r=$a(t.width)?t.width.step:PN(n,"width"),i=$a(t.height)?t.height.step:PN(n,"height");return e.x||e.y?new ys(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function Sle(t,e){Qn(t)?unt(t,e):Cle(t,e)}function unt(t,e){const n=t.component.scales,{config:r,encoding:i,markDef:s,specifiedScales:o}=t;for(const u of be(n)){const a=o[u],l=n[u],c=t.getScaleComponent(u),f=ir(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=K7(h,e),y=boe(u,e);if(x!==void 0&&(g?y&&Te(y):Te(soe(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Td(a[e])||A==="temporal"||E?l.set(e,{signal:FN(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in vle?vle[e]({model:t,channel:u,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:a.domain,domainMin:a.domainMin,domainMax:a.domainMax,markDef:s,config:r,hasNestedOffsetScale:h8(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const vle={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?ant(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>lnt(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>cnt(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>fnt(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>xnt(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>dnt(t,e,n,r,i.scale,s),reverse:({fieldOrDatumDef:t,scaleType:e,channel:n,config:r})=>{const i=Le(t)?t.sort:void 0;return hnt(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>pnt(t,e,n,r,i)};function _le(t){Qn(t)?Ztt(t):Cle(t,"range")}function Cle(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?_le(r):Sle(r,e);for(const r of be(n)){let i;for(const s of t.children){const o=s.component.scales[r];if(o){const u=o.getWithExplicit(e);i=Hc(i,u,e,"scale",Jue((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function ant(t,e){const n=e.bin;if(Xt(n)){const r=nP(t,e.field,n);return new ys(()=>t.getSignalName(r))}else if(Mi(n)&&Cd(n)&&n.step!==void 0)return{step:n.step}}function lnt(t,e){if(Tt([ds,Ta,Ra],t)&&e!=="nominal")return"hcl"}function cnt(t,e,n,r,i,s){var o;if(!(!((o=Ia(s))===null||o===void 0)&&o.bin||Ce(n)||i!=null||r!=null||Tt([ms.TIME,ms.UTC],t)))return kr(e)?!0:void 0}function fnt(t,e,n,r,i,s){if(kr(t)){if(du(e)){if(n.continuousPadding!==void 0)return n.continuousPadding;const{type:o,orient:u}=i;if(o==="bar"&&!(Le(r)&&(r.bin||r.timeUnit))&&(u==="vertical"&&t==="x"||u==="horizontal"&&t==="y"))return s.continuousBandSize}if(e===ms.POINT)return n.pointPadding}}function xnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:rr(o,n==="bar"?u:a)}else if(w2(e)&&r===ms.BAND)return i.offsetBandPaddingInner}}function dnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===ms.BAND)return rr(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(w2(e)){if(n===ms.POINT)return .5;if(n===ms.BAND)return i.offsetBandPaddingOuter}}}function hnt(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return Hs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Hs(t)&&e==="descending")return!0}function pnt(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&Hs(i)){if(Ce(n)){const o=n[0],u=n[n.length-1];if(o<=0&&u>=0)return!0}return!1}if(t==="size"&&e.type==="quantitative"&&!B2(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...Oa,...xYe],t)){const{orient:o,type:u}=r;return!(Tt(["bar","area","line","trail"],u)&&(o==="horizontal"&&t==="y"||o==="vertical"&&t==="x"))}return!1}function gnt(t,e,n,r,i=!1){const s=mnt(e,n,r,i),{type:o}=t;return Bc(e)?o!==void 0?gXe(e,o)?Le(n)&&!pXe(o,n.type)?(Te(yKe(o,s)),s):o:(Te(mKe(e,o,s)),s):s:null}function mnt(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(F2(t)||R7(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(I7(t,"ordinal")),"ordinal";if(kr(t)||w2(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in T7)return"band";const s=n[ps(t)];return k2(s)||c8(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return F2(t)?"time":R7(t)==="discrete"?(Te(I7(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&ji(e.timeUnit).utc?"utc":"time";case"quantitative":return F2(t)?Le(e)&&Xt(e.bin)?"bin-ordinal":"linear":R7(t)==="discrete"?(Te(I7(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(roe(e.type))}function ynt(t,{ignoreRange:e}={}){ble(t),lle(t);for(const n of hXe)Sle(t,n);e||_le(t)}function ble(t){Qn(t)?t.component.scales=Ent(t):t.component.scales=Snt(t)}function Ent(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of fN){const o=ir(e[s]);if(o&&n===Ooe&&s===hs&&o.type===$2)continue;let u=o&&o.scale;if(w2(s)){const a=Fse(s);if(!h8(e,a)){u&&Te(rKe(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=h8(e,s),l=gnt(u,s,o,r,a);i[s]=new dle(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const Ant=Jue((t,e)=>Eoe(t)-Eoe(e));function Snt(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){ble(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=Hae(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?sXe(a.value,l.value)?i[u]=Hc(a,l,"type","scale",Ant):(s.scale[u]="independent",delete i[u]):i[u]=l}}for(const o of be(i)){const u=t.scaleName(o,!0),a=i[o];r[o]=new dle(u,a);for(const l of t.children){const c=l.component.scales[o];c&&(l.renameScale(c.get("name"),u),c.merged=!0)}}return r}var dP=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class hP{constructor(){this.nameMap={}}rename(e,n){this.nameMap[e]=n}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function Qn(t){return(t==null?void 0:t.type)==="unit"}function mu(t){return(t==null?void 0:t.type)==="facet"}function pP(t){return(t==null?void 0:t.type)==="concat"}function Z2(t){return(t==null?void 0:t.type)==="layer"}class gP{constructor(e,n,r,i,s,o,u){var a,l;this.type=n,this.parent=r,this.config=s,this.correctDataNames=c=>{var f,x,h;return!((f=c.from)===null||f===void 0)&&f.data&&(c.from.data=this.lookupDataSource(c.from.data)),!((h=(x=c.from)===null||x===void 0?void 0:x.facet)===null||h===void 0)&&h.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c},this.parent=r,this.config=s,this.view=gs(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Pc(e.title)?{text:e.title}:e.title?gs(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new hP,this.projectionNameMap=r?r.projectionNameMap:new hP,this.signalNameMap=r?r.signalNameMap:new hP,this.data=e.data,this.description=e.description,this.transforms=SZe((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:OJe(e,n,s),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:CN(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new s0,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?ot(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){ynt(this)}parseProjection(){nle(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){Xae(this)}assembleEncodeFromView(e){const n=dP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=on(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=on(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Wt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=dP(e,["spacing"]),{component:i,config:s}=this,o=Pet(i.layoutHeaders,s);return Object.assign(Object.assign(Object.assign({padding:n},this.assembleDefaultLayout()),r),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let n=[];for(const r of bo)e[r].title&&n.push(wet(this,r));for(const r of K8)n=n.concat(Let(this,r));return n}assembleAxes(){return Eet(this.component.axes,this.config)}assembleLegends(){return Zae(this)}assembleProjections(){return att(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=dP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},Mse(this.config.title).nonMarkTitleProperties),o),s?{encode:{update:s}}:{});if(u.text)return Tt(["unit","layer"],this.type)?Tt(["middle",void 0],u.anchor)&&((n=u.frame)!==null&&n!==void 0||(u.frame="group")):(r=u.anchor)!==null&&r!==void 0||(u.anchor="start"),Wt(u)?void 0:u}assembleGroup(e=[]){const n={};e=e.concat(this.assembleSignals()),e.length>0&&(n.signals=e);const r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||mu(this.parent)?fle(this):[];i.length>0&&(n.scales=i);const s=this.assembleAxes();s.length>0&&(n.axes=s);const o=this.assembleLegends();return o.length>0&&(n.legends=o),n}getName(e){return mn((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Jt[e].toLowerCase())}requestDataName(e){const n=this.getDataName(e),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(e){if(mu(this.parent)){const n=Uae(e),r=cN(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Cr(s)&&Mc(o)){const u=i.get("name"),a=ZN(this,r),l=xP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:jae(u,i,c)}}else return Te(w7(r)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const n=this.component.data.outputNodes[e];return n?n.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,n){this.signalNameMap.rename(e,n)}renameScale(e,n){this.scaleNameMap.rename(e,n)}renameProjection(e,n){this.projectionNameMap.rename(e,n)}scaleName(e,n){if(n)return this.getName(e);if(Ose(e)&&Bc(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const n=this.component.scales[e];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,n){let r=this.component.selection[e];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(e,n)),!r)throw new Error($Ye(n));return r}hasAxisOrientSignalRef(){var e,n;return((e=this.component.axes.x)===null||e===void 0?void 0:e.some(r=>r.hasOrientSignalRef()))||((n=this.component.axes.y)===null||n===void 0?void 0:n.some(r=>r.hasOrientSignalRef()))}}class Tle extends gP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return iJe(this.getMapping(),(r,i,s)=>{const o=Ia(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){g8(this.getMapping(),(r,i)=>{const s=Ia(r);s&&e(s,i)},n)}}var vnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class eD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"value",(s=o[1])!==null&&s!==void 0?s:"density"]}clone(){return new eD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.density,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{density:n}=e,r=vnt(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class $3 extends Ut{constructor(e,n){super(e),this.filter=n}clone(){return new $3(null,Object.assign({},this.filter))}static make(e,n){const{config:r,mark:i,markDef:s}=n;if(kt("invalid",s,r)!=="filter")return null;const u=n.reduceFieldDef((a,l,c)=>{const f=Bc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");Hs(x)&&l.aggregate!=="count"&&!jc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new $3(e,u):null}dependentFields(){return new Set(be(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${bt(this.filter)}`}assemble(){const e=be(this.filter).reduce((n,r)=>{const i=this.filter[r],s=$e(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?n.push(`(isDate(${s}) || (isValid(${s}) && isFinite(+${s})))`):i.type==="quantitative"&&(n.push(`isValid(${s})`),n.push(`isFinite(+${s})`))),n},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class tD extends Ut{constructor(e,n){super(e),this.transform=n,this.transform=ot(n);const{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((s,o)=>{var u;return(u=i[o])!==null&&u!==void 0?u:s})}clone(){return new tD(this.parent,ot(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${bt(this.transform)}`}assemble(){const{flatten:e,as:n}=this.transform;return{type:"flatten",fields:e,as:n}}}class nD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"key",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new nD(null,ot(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${bt(this.transform)}`}assemble(){const{fold:e,as:n}=this.transform;return{type:"fold",fields:e,as:n}}}class eg extends Ut{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new eg(null,ot(this.fields),this.geojson,this.signal)}static parseAll(e,n){if(n.component.projection&&!n.component.projection.isFit)return e;let r=0;for(const i of[[ba,Ca],[Co,xu]]){const s=i.map(o=>{const u=ir(n.encoding[o]);return Le(u)?u.field:wa(u)?{expr:`${u.datum}`}:hu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new eg(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(hs)){const i=n.typedFieldDef(hs);i.type===$2&&(e=new eg(e,null,i.field,n.getName(`geojson_${r++}`)))}return e}dependentFields(){var e;const n=((e=this.fields)!==null&&e!==void 0?e:[]).filter(je);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${bt(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})]}}class B3 extends Ut{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new B3(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[ba,Ca],[Co,xu]]){const i=r.map(o=>{const u=ir(n.encoding[o]);return Le(u)?u.field:wa(u)?{expr:`${u.datum}`}:hu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===Co?"2":"";(i[0]||i[1])&&(e=new B3(e,n.projectionName(),i,[n.getName(`x${s}`),n.getName(`y${s}`)]))}return e}dependentFields(){return new Set(this.fields.filter(je))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${bt(this.fields)} ${bt(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Bd extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new Bd(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.impute,this.transform.key,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:n=0,stop:r,step:i}=e;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,n){return new Bd(e,n)}static makeFromEncoding(e,n){const r=n.encoding,i=r.x,s=r.y;if(Le(i)&&Le(s)){const o=i.impute?i:s.impute?s:void 0;if(o===void 0)return;const u=i.impute?s:s.impute?i:void 0,{method:a,value:l,frame:c,keyvals:f}=o.impute,x=uue(n.mark,r);return new Bd(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:u.field},a?{method:a}:{}),l!==void 0?{value:l}:{}),c?{frame:c}:{}),f!==void 0?{keyvals:f}:{}),x.length?{groupby:x}:{}))}return null}hash(){return`Impute ${bt(this.transform)}`}assemble(){const{impute:e,key:n,keyvals:r,method:i,groupby:s,value:o,frame:u=[null,null]}=this.transform,a=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:e,key:n},r?{keyvals:rZe(r)?this.processSequence(r):r}:{}),{method:"value"}),s?{groupby:s}:{}),{value:!i||i==="value"?o:null});if(i&&i!=="value"){const l=Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:u,ignorePeers:!1},s?{groupby:s}:{}),c={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[a,l,c]}else return[a]}}var _nt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class rD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.loess]}clone(){return new rD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.loess,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{loess:n,on:r}=e,i=_nt(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class k3 extends Ut{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new k3(null,ot(this.transform),this.secondary)}static make(e,n,r,i){const s=n.component.data.sources,{from:o}=r;let u=null;if(iZe(o)){let a=Dle(o.data,s);a||(a=new Ld(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new qi(a,l,Jt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(sZe(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(mn(a),a)}catch{throw new Error(PYe(a))}if(u=l.materialized,!u)throw new Error(MYe(a))}return new k3(e,r,u.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Pe(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${bt({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:Pe(this.transform.as)}:{});else{let n=this.transform.as;je(n)||(Te(WYe),n="_lookup"),e={as:[n]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}}var Cnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class iD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"prob",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new iD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.quantile,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{quantile:n}=e,r=Cnt(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var bnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class sD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.regression]}clone(){return new sD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.regression,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{regression:n,on:r}=e,i=bnt(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class oD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new oD(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=Gl(((n=this.transform.groupby)!==null&&n!==void 0?n:[]).concat(e),r=>r)}producedFields(){}dependentFields(){var e;return new Set([this.transform.pivot,this.transform.value,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}hash(){return`PivotTransform ${bt(this.transform)}`}assemble(){const{pivot:e,value:n,groupby:r,limit:i,op:s}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:e,value:n},i!==void 0?{limit:i}:{}),s!==void 0?{op:s}:{}),r!==void 0?{groupby:r}:{})}}class uD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new uD(null,ot(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${bt(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Rle(t){let e=0;function n(r,i){var s;if(r instanceof Ld&&!r.isGenerator&&!q2(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof li&&(r.parent instanceof Ld&&!i.source?(i.format=Object.assign(Object.assign({},(s=i.format)!==null&&s!==void 0?s:{}),{parse:r.assembleFormatParse()}),i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof X2){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),r.data=i.name):r.data=i.source,t.push(...r.assemble());return}switch((r instanceof w3||r instanceof L3||r instanceof $3||r instanceof W2||r instanceof V2||r instanceof B3||r instanceof pu||r instanceof k3||r instanceof J2||r instanceof $d||r instanceof nD||r instanceof tD||r instanceof eD||r instanceof rD||r instanceof iD||r instanceof sD||r instanceof Vc||r instanceof uD||r instanceof oD)&&i.transform.push(r.assemble()),(r instanceof Pa||r instanceof ka||r instanceof Bd||r instanceof o0||r instanceof eg)&&i.transform.push(...r.assemble()),r instanceof qi&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof qi?r.setSource(i.name):(i.name||(i.name=`data_${e++}`),r.setSource(i.name),r.numChildren()===1&&(t.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof qi&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(const u of r.children)n(u,{name:null,source:o,transform:[]});break}}}return n}function Tnt(t){const e=[],n=Rle(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function Rnt(t,e){var n,r;const i=[],s=Rle(i);let o=0;for(const a of t.sources){a.hasName()||(a.dataName=`source_${o++}`);const l=a.assemble();s(a,l)}for(const a of i)a.transform.length===0&&delete a.transform;let u=0;for(const[a,l]of i.entries())((n=l.transform)!==null&&n!==void 0?n:[]).length===0&&!l.source&&i.splice(u++,0,i.splice(a,1)[0]);for(const a of i)for(const l of(r=a.transform)!==null&&r!==void 0?r:[])l.type==="lookup"&&(l.from=t.outputNodes[l.from].getSource());for(const a of i)a.name in e&&(a.values=e[a.name]);return i}function Ont(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function Nnt(t){for(const e of bo)Dnt(t,e);Nle(t,"x"),Nle(t,"y")}function Dnt(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=K2("title",null,i,e);let l=P2(u,i,{allowDisabling:!0,includeDefault:a===void 0||!!a});s.component.layoutHeaders[e].title&&(l=Ce(l)?l.join(", "):l,l+=` / ${s.component.layoutHeaders[e].title}`,s.component.layoutHeaders[e].title=null);const c=K2("labelOrient",u.header,i,e),f=u.header!==null?rr((n=u.header)===null||n===void 0?void 0:n.labels,i.header.labels,!0):!1,x=Tt(["bottom","right"],c)?"footer":"header";o.layoutHeaders[e]={title:u.header!==null?l:null,facetFieldDef:u,[x]:e==="facet"?[]:[Ole(t,e,f)]}}}function Ole(t,e,n){const r=e==="row"?"height":"width";return{labels:n,sizeSignal:t.child.component.layoutSize.get(r)?t.child.getSizeSignalRef(r):void 0,axes:[]}}function Nle(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=eP(s,e),s.axis[e]==="shared"){const o=e==="x"?"column":"row",u=i[o];for(const a of r.component.axes[e]){const l=Ont(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[Ole(t,o,!1)]);const c=F3(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function Fnt(t){mP(t),aD(t,"width"),aD(t,"height")}function wnt(t){mP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";aD(t,e),aD(t,n)}function mP(t){for(const e of t.children)e.parseLayoutSize()}function aD(t,e){var n;const r=Uae(e),i=cN(r),s=t.component.resolve,o=t.component.layoutSize;let u;for(const a of t.children){const l=a.component.layoutSize.getWithExplicit(r),c=(n=s.scale[i])!==null&&n!==void 0?n:Hae(i,t);if(c==="independent"&&l.value==="step"){u=void 0;break}if(u){if(c==="independent"&&u.value!==l.value){u=void 0;break}u=Hc(u,l,r,"")}else u=l}if(u){for(const a of t.children)t.renameSignal(a.getName(r),t.getName(e)),a.component.layoutSize.set(r,"merged",!1);o.setWithExplicit(e,u)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function Lnt(t){const{size:e,component:n}=t;for(const r of Oa){const i=ps(r);if(e[i]){const s=e[i];n.layoutSize.set(i,$a(s)?"step":s,!0)}else{const s=Int(t,i);n.layoutSize.set(i,s,!1)}}}function Int(t,e){const n=e==="width"?"x":"y",r=t.config,i=t.getScaleComponent(n);if(i){const s=i.get("type"),o=i.get("range");if(Cr(s)){const u=MN(r.view,e);return Mc(o)||$a(u)?"step":u}else return O8(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return O8(r.view,e);{const s=MN(r.view,e);return $a(s)?s.step:s}}}function yP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class P3 extends Tle{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=_P(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!v3(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![Wl,Vl].includes(i)){Te(hN(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(L7(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=d8(e,n);return r.header?r.header=gs(r.header):r.header===null&&(r.header=null),r}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=lD(this),this.child.parseData()}parseLayoutSize(){mP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Nnt(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){var e,n,r;const i={};for(const s of bo)for(const o of X8){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=K2("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=YN(s,c);(e=i.titleAnchor)!==null&&e!==void 0||(i.titleAnchor={}),i.titleAnchor[f]="end"}}if(a!=null&&a[0]){const c=s==="row"?"height":"width",f=o==="header"?"headerBand":"footerBand";s!=="facet"&&!this.child.component.layoutSize.get(c)&&((n=i[f])!==null&&n!==void 0||(i[f]={}),i[f][s]=.5),u.title&&((r=i.offset)!==null&&r!==void 0||(i.offset={}),i.offset[s==="row"?"rowTitle":"columnTitle"]=10)}}return i}assembleDefaultLayout(){const{column:e,row:n}=this.facet,r=e?this.columnDistinctSignal():n?1:void 0;let i="all";return(!n&&this.component.resolve.scale.x==="independent"||!e&&this.component.resolve.scale.y==="independent")&&(i="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),r?{columns:r}:{}),{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof P3))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof P3?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:$e(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],n=[],r=[];if(this.child instanceof P3){if(this.child.channelHasField("column")){const i=$e(this.child.facet.column);e.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(const i of Oa){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Cr(o)&&Mc(u)){const a=ZN(this.child,i),l=xP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(w7(i))}}}return{fields:e,ops:n,as:r}}assembleFacet(){const{name:e,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:s,ops:o,as:u}=this.getCardinalityAggregateForChild(),a=[];for(const c of bo){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Xt(x)&&a.push($e(f,{binSuffix:"end"})),Fa(h)){const{field:p,op:m=_N}=h,g=yP(f,h);r&&i?(s.push(g),o.push("max"),u.push(g)):(s.push(p),o.push(m),u.push(g))}else if(Ce(h)){const p=Y2(f,c);s.push(p),o.push("max"),u.push(p)}}}const l=!!r&&!!i;return Object.assign({name:e,data:n,groupby:a},l||s.length>0?{aggregate:Object.assign(Object.assign({},l?{cross:l}:{}),s.length?{fields:s,ops:o,as:u}:{})}:{})}facetSortFields(e){const{facet:n}=this,r=n[e];return r?Fa(r.sort)?[yP(r,r.sort,{expr:"datum"})]:Ce(r.sort)?[Y2(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(Fa(i)?i.order:!Ce(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return J8(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of K8)if(n[s]){const o=K2("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return J8(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=Tnt(n),i=e.assembleGroupEncodeEntry(!1),s=this.assembleLabelTitle()||e.assembleTitle(),o=e.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},s?{title:s}:{}),o?{style:o}:{}),{from:{facet:this.assembleFacet()},sort:{field:bo.map(a=>this.facetSortFields(a)).flat(),order:bo.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup($Ze(this,[])))]}getMapping(){return this.facet}}function $nt(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(Fa(s.sort)){const{field:o,op:u=_N}=s.sort;t=i=new $d(t,{joinaggregate:[{op:u,field:o,as:yP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function Dle(t,e){var n,r,i,s;for(const o of e){const u=o.data;if(t.name&&o.hasName()&&t.name!==o.dataName)continue;const a=(n=t.format)===null||n===void 0?void 0:n.mesh,l=(r=u.format)===null||r===void 0?void 0:r.feature;if(a&&l)continue;const c=(i=t.format)===null||i===void 0?void 0:i.feature;if((c||l)&&c!==l)continue;const f=(s=u.format)===null||s===void 0?void 0:s.mesh;if(!((a||f)&&a!==f)){if(R3(t)&&R3(u)){if(Ql(t.values,u.values))return o}else if(q2(t)&&q2(u)){if(t.url===u.url)return o}else if(Zue(t)&&t.name===o.dataName)return o}}return null}function Bnt(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Ld({values:[]});return e.push(r),r}const n=Dle(t.data,e);if(n)return zc(t.data)||(n.data.format=QVe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Ld(t.data);return e.push(r),r}}else return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function knt(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(pZe(o))a=t=new V2(t,o),u="derived";else if(L8(o)){const l=vtt(o);a=t=(r=li.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new W2(t,e,o.filter)}else if(Que(o))a=t=Pa.makeFromTransform(t,o,e),u="number";else if(mZe(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new li(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=ka.makeFromTransform(t,o);else if(yZe(o))a=t=pu.makeFromTransform(t,o),u="number",Q8(e)&&(t=new Vc(t));else if(zue(o))a=t=k3.make(t,e,o,s++),u="derived";else if(xZe(o))a=t=new J2(t,o),u="number";else if(dZe(o))a=t=new $d(t,o),u="number";else if(EZe(o))a=t=o0.makeFromTransform(t,o),u="derived";else if(AZe(o))a=t=new nD(t,o),u="derived";else if(hZe(o))a=t=new tD(t,o),u="derived";else if(oZe(o))a=t=new oD(t,o),u="derived";else if(fZe(o))t=new uD(t,o);else if(gZe(o))a=t=Bd.makeFromTransform(t,o),u="derived";else if(uZe(o))a=t=new eD(t,o),u="derived";else if(aZe(o))a=t=new iD(t,o),u="derived";else if(lZe(o))a=t=new sD(t,o),u="derived";else if(cZe(o))a=t=new rD(t,o),u="derived";else{Te(GYe(o));continue}if(a&&u!==void 0)for(const l of(i=a.producedFields())!==null&&i!==void 0?i:[])n.set(l,u,!1)}return t}function lD(t){var e,n,r,i,s,o,u,a,l,c;let f=Bnt(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(zc(p)||q2(p)||R3(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new wZe;zc(p)?(eae(p)?f=new L3(f,p.sequence):B8(p)&&(f=new w3(f,p.graticule)),g.parseNothing=!0):((e=p==null?void 0:p.format)===null||e===void 0?void 0:e.parse)===null&&(g.parseNothing=!0),f=(n=li.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new Vc(f);const y=t.parent&&Z2(t.parent);(Qn(t)||mu(t))&&y&&(f=(r=Pa.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=knt(f,t,g));const E=Ctt(t),A=_tt(t);f=(i=li.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,Qn(t)&&(f=eg.parseAll(f,t),f=B3.parseAll(f,t)),(Qn(t)||mu(t))&&(y||(f=(s=Pa.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=ka.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=V2.parseAllForSortIndex(f,t));const S=t.getDataName(Jt.Raw),v=new qi(f,S,Jt.Raw,h);if(x[S]=v,f=v,Qn(t)){const O=pu.makeFromEncoding(f,t);O&&(f=O,Q8(t)&&(f=new Vc(f))),f=(u=Bd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=o0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}Qn(t)&&(f=(l=$3.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Jt.Main),C=new qi(f,_,Jt.Main,h);x[_]=C,f=C,Qn(t)&&met(t,C);let b=null;if(mu(t)){const O=t.getName("facet");f=(c=$nt(f,t.facet))!==null&&c!==void 0?c:f,b=new X2(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:v,main:C,facetRoot:b,ancestorParse:g})}class Pnt extends gP{constructor(e,n,r,i){var s,o,u,a;super(e,"concat",n,r,i,e.resolve),(((o=(s=e.resolve)===null||s===void 0?void 0:s.axis)===null||o===void 0?void 0:o.x)==="shared"||((a=(u=e.resolve)===null||u===void 0?void 0:u.axis)===null||a===void 0?void 0:a.y)==="shared")&&Te(HYe),this.children=this.getChildren(e).map((l,c)=>_P(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=lD(this);for(const e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}getChildren(e){return kN(e)?e.vconcat:R8(e)?e.hconcat:e.concat}parseLayoutSize(){wnt(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){const e=Z8(this);for(const n of this.children)e.push(...n.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleMarks(){return this.children.map(e=>{const n=e.assembleTitle(),r=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},n?{title:n}:{}),r?{style:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup())})}assembleGroupStyle(){}assembleDefaultLayout(){const e=this.layout.columns;return Object.assign(Object.assign({},e!=null?{columns:e}:{}),{bounds:"full",align:"each"})}}function Mnt(t){return t===!1||t===null}const jnt=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},nue),{labelExpr:1,encode:1}),Fle=be(jnt);class EP extends s0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new EP(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!Mnt(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function Unt(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=ir(i[e]))!==null&&r!==void 0?r:ir(i[Zl(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Nd(l)?Object.assign({text:i8({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function qnt(t){return Oa.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[Ynt(n,t)]),e),{})}const Hnt={bottom:"top",top:"bottom",left:"right",right:"left"};function znt(t){var e;const{axes:n,resolve:r}=t.component,i={top:0,bottom:0,right:0,left:0};for(const s of t.children){s.parseAxesAndHeaders();for(const o of be(s.component.axes))r.axis[o]=eP(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=Qnt(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of Oa){for(const o of t.children)if(o.component.axes[s]){if(r.axis[s]==="independent"){n[s]=((e=n[s])!==null&&e!==void 0?e:[]).concat(o.component.axes[s]);for(const u of o.component.axes[s]){const{value:a,explicit:l}=u.getWithExplicit("orient");if(!Ye(a)){if(i[a]>0&&!l){const c=Hnt[a];i[a]>i[c]&&u.set("orient",c,!1)}i[a]++}}}delete o.component.axes[s]}if(r.axis[s]==="independent"&&n[s]&&n[s].length>1)for(const o of n[s])o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function Qnt(t,e){if(t){if(t.length!==e.length)return;const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=e[r];if(!!i!=!!s)return;if(i&&s){const o=i.getWithExplicit("orient"),u=s.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;t[r]=Gnt(i,s)}}}else return e.map(n=>n.clone());return t}function Gnt(t,e){for(const n of Fle){const r=Hc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return Vse(i,s);case"gridScale":return{explicit:i.explicit,value:rr(i.value,s.value)}}return UN(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function Wnt(t,e,n,r,i){if(e==="disable")return n!==void 0;switch(n=n||{},e){case"titleAngle":case"labelAngle":return t===(Ye(n.labelAngle)?n.labelAngle:iN(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===$ae(r,i))return!0}return t===n[e]}const Vnt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Ynt(t,e){var n,r,i;let s=e.axis(t);const o=new EP,u=ir(e.encoding[t]),{mark:a,config:l}=e,c=(s==null?void 0:s.orient)||((n=l[t==="x"?"axisX":"axisY"])===null||n===void 0?void 0:n.orient)||((r=l.axis)===null||r===void 0?void 0:r.orient)||Oet(t),f=e.getScaleComponent(t).get("type"),x=Aet(t,f,c,e.config),h=s!==void 0?!s:V8("disable",l.style,s==null?void 0:s.style,x).configValue;if(o.set("disable",h,s!==void 0),h)return o;s=s||{};const p=bet(u,s,t,l.style,x),m={fieldOrDatumDef:u,axis:s,channel:t,model:e,scaleType:f,orient:c,labelAngle:p,mark:a,config:l};for(const E of Fle){const A=E in wae?wae[E](m):rue(E)?s[E]:void 0,S=A!==void 0,v=Wnt(A,E,s,e,t);if(S&&v)o.set(E,A,v);else{const{configValue:_=void 0,configFrom:C=void 0}=rue(E)&&E!=="values"?V8(E,l.style,s.style,x):{},b=_!==void 0;S&&!b?o.set(E,A,v):(C!=="vgAxisConfig"||Vnt.has(E)&&b||b3(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=tue.reduce((E,A)=>{var S;if(!o.hasAxisPart(A))return E;const v=qae((S=g[A])!==null&&S!==void 0?S:{},e),_=A==="labels"?Unt(e,t,v):v;return _!==void 0&&!Wt(_)&&(E[A]={update:_}),E},{});return Wt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function Knt({encoding:t,size:e}){for(const n of Oa){const r=ps(n);$a(e[r])&&La(t[n])&&(delete e[r],Te(ooe(r)))}return e}function Xnt(t,e,n){const r=gs(t),i=kt("orient",r,n);if(r.orient=trt(r.type,e,i),i!==void 0&&i!==r.orient&&Te(cKe(r.orient,i)),r.type==="bar"&&r.orient){const u=kt("cornerRadiusEnd",r,n);if(u!==void 0){const a=r.orient==="horizontal"&&e.x2||r.orient==="vertical"&&e.y2?["cornerRadius"]:TXe[r.orient];for(const l of a)r[l]=u;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}return kt("opacity",r,n)===void 0&&(r.opacity=Znt(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=Jnt(r,e,n)),r}function Jnt(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function Znt(t,e){if(Tt([EN,X7,J7,Z7],t)&&!p8(e))return .7}function ert(t,e,{graticule:n}){if(n)return!1;const r=bd("filled",t,e),i=t.type;return rr(r,i!==EN&&i!==yN&&i!==AN)}function trt(t,e,n){switch(t){case EN:case J7:case Z7:case Roe:case yXe:case mXe:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case mN:if(Le(r)&&(Mi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(Mi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===Rd&&!Xt(r.bin)||l8(r)))return"horizontal";if(!o&&(Le(i)&&i.type===Rd&&!Xt(i.bin)||l8(i)))return"vertical"}case AN:if(s&&!(Le(r)&&Mi(r.bin))&&o&&!(Le(i)&&Mi(i.bin)))return;case gN:if(o)return Le(i)&&Mi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&Mi(r.bin)?"vertical":"horizontal";if(t===AN){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case yN:case X7:{const u=La(r),a=La(i);if(n)return n;if(u&&!a)return t!=="tick"?"horizontal":"vertical";if(!u&&a)return t!=="tick"?"vertical":"horizontal";if(u&&a){const l=r,c=i,f=l.type===I2,x=c.type===I2;return f&&!x?t!=="tick"?"vertical":"horizontal":!f&&x?t!=="tick"?"horizontal":"vertical":!l.aggregate&&c.aggregate?t!=="tick"?"vertical":"horizontal":l.aggregate&&!c.aggregate&&t!=="tick"?"horizontal":"vertical"}else return}}return"vertical"}const nrt={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Gc(t,"radius")),Gc(t,"theta"))},rrt={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),HN("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),HN("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),H8(t))},irt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y"))},srt={vgMark:"shape",encodeEntry:t=>Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{const{encoding:e}=t,n=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},n&&Le(n)&&n.type===$2?{field:$e(n,{expr:"datum"})}:{})]}},ort={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y")),U8(t,"url"))},urt={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t,{vgChannel:"strokeWidth"})),H8(t))},art={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),H8(t))};function AP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),br("angle",t)),lrt(t,n,e))}function lrt(t,e,n){return n?{shape:{value:n}}:br("shape",t)}const crt={vgMark:"symbol",encodeEntry:t=>AP(t)},frt={vgMark:"symbol",encodeEntry:t=>AP(t,"circle")},xrt={vgMark:"symbol",encodeEntry:t=>AP(t,"square")},drt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y"))},hrt={vgMark:"rule",encodeEntry:t=>{const{markDef:e}=t,n=e.orient;return!t.encoding.x&&!t.encoding.y&&!t.encoding.latitude&&!t.encoding.longitude?{}:Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),HN("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),HN("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),br("size",t,{vgChannel:"strokeWidth"}))}},prt={vgMark:"text",encodeEntry:t=>{const{config:e,encoding:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),U8(t)),br("size",t,{vgChannel:"fontSize"})),br("angle",t)),dae("align",grt(t.markDef,n,e))),dae("baseline",mrt(t.markDef,n,e))),ai("radius",t,{defaultPos:null})),ai("theta",t,{defaultPos:null}))}};function grt(t,e,n){if(kt("align",t,n)===void 0)return"center"}function mrt(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const yrt={vgMark:"rect",encodeEntry:t=>{const{config:e,markDef:n}=t,r=n.orient,i=r==="horizontal"?"width":"height",s=r==="horizontal"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid",vgChannel:"xc"})),ai("y",t,{defaultPos:"mid",vgChannel:"yc"})),br("size",t,{defaultValue:Ert(t),vgChannel:i})),{[s]:on(kt("thickness",n,e))})}};function Ert(t){var e;const{config:n,markDef:r}=t,{orient:i}=r,s=i==="horizontal"?"width":"height",o=t.getScaleComponent(i==="horizontal"?"x":"y"),u=(e=kt("size",r,n,{vgChannel:s}))!==null&&e!==void 0?e:n.tick.bandSize;if(u!==void 0)return u;{const a=o?o.get("range"):void 0;return a&&Mc(a)&&nn(a.step)?a.step*3/4:PN(n.view,s)*3/4}}const cD={arc:nrt,area:rrt,bar:irt,circle:frt,geoshape:srt,image:ort,line:urt,point:crt,rect:drt,rule:hrt,square:xrt,text:prt,tick:yrt,trail:art};function Art(t){if(Tt([yN,gN,EXe],t.mark)){const e=uue(t.mark,t.encoding);if(e.length>0)return Srt(t,e)}else if(t.mark===mN){const e=N7.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return vrt(t)}return SP(t)}const wle="faceted_path_";function Srt(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:wle+t.requestDataName(Jt.Main),data:t.requestDataName(Jt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:SP(t,{fromPrefix:wle})}]}const Lle="stack_group_";function vrt(t){var e;const[n]=SP(t,{fromPrefix:Lle}),r=t.scaleName(t.stack.fieldChannel),i=(c={})=>t.vgField(t.stack.fieldChannel,c),s=(c,f)=>{const x=[i({prefix:"min",suffix:"start",expr:f}),i({prefix:"max",suffix:"start",expr:f}),i({prefix:"min",suffix:"end",expr:f}),i({prefix:"max",suffix:"end",expr:f})];return`${c}(${x.map(h=>`scale('${r}',${h})`).join(",")})`};let o,u;t.stack.fieldChannel==="x"?(o=Object.assign(Object.assign({},x3(n.encode.update,["y","yc","y2","height",...N7])),{x:{signal:s("min","datum")},x2:{signal:s("max","datum")},clip:{value:!0}}),u={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},n.encode.update=Object.assign(Object.assign({},_o(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},x3(n.encode.update,["x","xc","x2","width"])),{y:{signal:s("min","datum")},y2:{signal:s("max","datum")},clip:{value:!0}}),u={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},n.encode.update=Object.assign(Object.assign({},_o(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of N7){const f=bd(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=on(f)),f&&(n.encode.update[c]={value:0})}const a=[];if(((e=t.stack.groupbyChannels)===null||e===void 0?void 0:e.length)>0)for(const c of t.stack.groupbyChannels){const f=t.fieldDef(c),x=$e(f);x&&a.push(x),(f!=null&&f.bin||f!=null&&f.timeUnit)&&a.push($e(f,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,f)=>{if(n.encode.update[f])return Object.assign(Object.assign({},c),{[f]:n.encode.update[f]});{const x=bd(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:on(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Jt.Main),name:Lle+t.requestDataName(Jt.Main),groupby:a,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:u},marks:[n]}]}]}function _rt(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!Ce(u)&&hu(u)&&yse(u.value)||!u&&yse(kt("order",s,o)))){if((Ce(u)||Le(u))&&!r)return Qse(u,{expr:"datum"});if(jc(i)){const a=s.orient==="horizontal"?"y":"x",l=n[a];if(Le(l)){const c=l.sort;if(Ce(c))return{field:$e(l,{prefix:a,suffix:"sort_index",expr:"datum"})};if(Fa(c))return{field:$e({aggregate:p8(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(Uoe(c)){const f=t.fieldDef(c.encoding);return{field:$e(f,{expr:"datum"}),order:c.order}}else return c===null?void 0:{field:$e(l,{binSuffix:!((e=t.stack)===null||e===void 0)&&e.impute?"mid":void 0,expr:"datum"})}}return}}}function SP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=rr(r.clip,Crt(t),brt(t)),u=Hse(r),a=i.key,l=_rt(t),c=Trt(t),f=kt("aria",r,s),x=cD[n].postEncodingTransform?cD[n].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:cD[n].vgMark},o?{clip:!0}:{}),u?{style:u}:{}),a?{key:a.field}:{}),l?{sort:l}:{}),c||{}),f===!1?{aria:f}:{}),{from:{data:e.fromPrefix+t.requestDataName(Jt.Main)},encode:{update:cD[n].encodeEntry(t)}}),x?{transform:x}:{})]}function Crt(t){const e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return e!=null&&e.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function brt(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function Trt(t){if(!t.component.selection)return null;const e=be(t.component.selection).length;let n=e,r=t.parent;for(;r&&n===0;)n=be(r.component.selection).length,r=r.parent;return n?{interactive:e>0||!!t.encoding.tooltip}:null}class Ile extends Tle{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,Rue(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=Da(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=ert(u,s,{graticule:e.data&&B8(e.data)}));const l=this.encoding=nJe(e.encoding||{},a,u.filled,s);this.markDef=Xnt(u,l,s),this.size=Knt({encoding:l,size:Rue(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=$ue(a,l),this.specifiedScales=this.initScales(a,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=((o=e.params)!==null&&o!==void 0?o:[]).filter(c=>b8(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===Ooe,r=e&&rYe.some(i=>it(e[i]));return n||r}scaleDomain(e){const n=this.specifiedScales[e];return n?n.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,n){return fN.reduce((r,i)=>{var s;const o=ir(n[i]);return o&&(r[i]=this.initScale((s=o.scale)!==null&&s!==void 0?s:{})),r},{})}initScale(e){const{domain:n,range:r}=e,i=gs(e);return Ce(n)&&(i.domain=n.map(qs)),Ce(r)&&(i.range=r.map(qs)),i}initAxes(e){return Oa.reduce((n,r)=>{const i=e[r];if(it(i)||r===yn&&it(e.x2)||r===_r&&it(e.y2)){const s=it(i)?i.axis:void 0;n[r]=s&&this.initAxis(Object.assign({},s))}return n},{})}initAxis(e){const n=be(e),r={};for(const i of n){const s=e[i];r[i]=b3(s)?jse(s):qs(s)}return r}initLegends(e){return dYe.reduce((n,r)=>{const i=ir(e[r]);if(i&&pYe(r)){const s=i.legend;n[r]=s&&gs(s)}return n},{})}parseData(){this.component.data=lD(this)}parseLayoutSize(){Lnt(this)}parseSelections(){this.component.selection=get(this,this.selection)}parseMarkGroup(){this.component.mark=Art(this)}parseAxesAndHeaders(){this.component.axes=qnt(this)}assembleSelectionTopLevelSignals(e){return BZe(this,e)}assembleSignals(){return[...Dae(this),...IZe(this,[])]}assembleSelectionData(e){return kZe(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return Z8(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!Z2(this.parent))&&(n=nae(this,n)),n.map(this.correctDataNames)}assembleGroupStyle(){const{style:e}=this.view||{};if(e!==void 0)return e;if(this.encoding.x||this.encoding.y)return"cell"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Fd(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ia(n)}typedFieldDef(e){const n=this.fieldDef(e);return To(n)?n:null}}class vP extends gP{constructor(e,n,r,i,s){super(e,"layer",n,r,s,e.resolve,e.view);const o=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});this.children=e.layer.map((u,a)=>{if(jN(u))return new vP(u,this,this.getName(`layer_${a}`),o,s);if(r0(u))return new Ile(u,this,this.getName(`layer_${a}`),o,s);throw new Error(F7(u))})}parseData(){this.component.data=lD(this);for(const e of this.children)e.parseData()}parseLayoutSize(){Fnt(this)}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){znt(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),Dae(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),Z8(this))}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleGroupStyle(){const e=new Set;for(const r of this.children)for(const i of Pe(r.assembleGroupStyle()))e.add(i);const n=Array.from(e);return n.length>1?n:n.length===1?n[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const n of this.children)if(e=n.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return PZe(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),Zae(this))}}function _P(t,e,n,r,i){if(CN(t))return new P3(t,e,n,i);if(jN(t))return new vP(t,e,n,r,i);if(r0(t))return new Ile(t,e,n,r,i);if(TJe(t))return new Pnt(t,e,n,i);throw new Error(F7(t))}var Rrt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Ort(t,e={}){e.logger&&$Ke(e.logger),e.fieldTitle&&Xoe(e.fieldTitle);try{const n=Lue(f5(e.config,t.config)),r=_Ze(t,n),i=_P(r,null,"",void 0,n);return i.parse(),jtt(i.component.data,i),{spec:Drt(i,Nrt(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&BKe(),e.fieldTitle&&WXe()}}function Nrt(t,e,n,r){const i=r.component.layoutSize.get("width"),s=r.component.layoutSize.get("height");if(e===void 0?(e={type:"pad"},r.hasAxisOrientSignalRef()&&(e.resize=!0)):je(e)&&(e={type:e}),i&&s&&NZe(e.type)){if(i==="step"&&s==="step")Te(Xse()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(Xse(cN(o)));const u=o==="width"?"height":"width";e.type=DZe(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),Xue(n,!1)),Xue(t,!0))}function Drt(t,e,n={},r){const i=t.config?MJe(t.config):void 0,s=[].concat(t.assembleSelectionData([]),Rnt(t.component.data,n)),o=t.assembleProjections(),u=t.assembleTitle(),a=t.assembleGroupStyle(),l=t.assembleGroupEncodeEntry(!0);let c=t.assembleLayoutSignals();c=c.filter(h=>(h.name==="width"||h.name==="height")&&h.value!==void 0?(e[h.name]=+h.value,!1):!0);const{params:f}=e,x=Rrt(e,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),x),u?{title:u}:{}),a?{style:a}:{}),l?{encode:{update:l}}:{}),{data:s}),o.length>0?{projections:o}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([]),...bue(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var Frt=Zc("<div>");function wrt(t){let e,n=null;return vD(()=>{n&&n.finalize();const r=t.type==="vega-lite"?Ort(t.spec).spec:t.spec;n=new aie(LVe(r)).initialize(e).renderer("svg").hover(),n.run()}),vD(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=Frt(),i=e;return typeof i=="function"?D0e(i,r):e=r,r})()}function $le(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,En(wrt,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}var fD=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(fD||{}),sr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(sr||{});function Lrt(t){return Object.values(sr).includes(t)}var Ble={exports:{}};(function(t){var e={},n=function(i){i.version="0.11.2";function s(T){for(var D="",B=T.length-1;B>=0;)D+=T.charAt(B--);return D}function o(T,D){for(var B="";B.length<D;)B+=T;return B}function u(T,D){var B=""+T;return B.length>=D?B:o("0",D-B.length)+B}function a(T,D){var B=""+T;return B.length>=D?B:o(" ",D-B.length)+B}function l(T,D){var B=""+T;return B.length>=D?B:B+o(" ",D-B.length)}function c(T,D){var B=""+Math.round(T);return B.length>=D?B:o("0",D-B.length)+B}function f(T,D){var B=""+T;return B.length>=D?B:o("0",D-B.length)+B}var x=Math.pow(2,32);function h(T,D){if(T>x||T<-x)return c(T,D);var B=Math.round(T);return f(B,D)}function p(T,D){return D=D||0,T.length>=7+D&&(T.charCodeAt(D)|32)===103&&(T.charCodeAt(D+1)|32)===101&&(T.charCodeAt(D+2)|32)===110&&(T.charCodeAt(D+3)|32)===101&&(T.charCodeAt(D+4)|32)===114&&(T.charCodeAt(D+5)|32)===97&&(T.charCodeAt(D+6)|32)===108}var m=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],g=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function y(T){T[0]="General",T[1]="0",T[2]="0.00",T[3]="#,##0",T[4]="#,##0.00",T[9]="0%",T[10]="0.00%",T[11]="0.00E+00",T[12]="# ?/?",T[13]="# ??/??",T[14]="m/d/yy",T[15]="d-mmm-yy",T[16]="d-mmm",T[17]="mmm-yy",T[18]="h:mm AM/PM",T[19]="h:mm:ss AM/PM",T[20]="h:mm",T[21]="h:mm:ss",T[22]="m/d/yy h:mm",T[37]="#,##0 ;(#,##0)",T[38]="#,##0 ;[Red](#,##0)",T[39]="#,##0.00;(#,##0.00)",T[40]="#,##0.00;[Red](#,##0.00)",T[45]="mm:ss",T[46]="[h]:mm:ss",T[47]="mmss.0",T[48]="##0.0E+0",T[49]="@",T[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var E={};y(E);var A=[],S=0;for(S=5;S<=8;++S)A[S]=32+S;for(S=23;S<=26;++S)A[S]=0;for(S=27;S<=31;++S)A[S]=14;for(S=50;S<=58;++S)A[S]=14;for(S=59;S<=62;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-58;for(S=72;S<=75;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-57;for(S=76;S<=78;++S)A[S]=S-56;for(S=79;S<=81;++S)A[S]=S-34;var v=[];v[5]=v[63]='"$"#,##0_);\\("$"#,##0\\)',v[6]=v[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',v[7]=v[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',v[8]=v[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',v[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',v[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',v[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',v[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function _(T,D,B){for(var q=T<0?-1:1,L=T*q,U=0,P=1,Y=0,xe=1,re=0,X=0,ae=Math.floor(L);re<D&&(ae=Math.floor(L),Y=ae*P+U,X=ae*re+xe,!(L-ae<5e-8));)L=1/(L-ae),U=P,P=Y,xe=re,re=X;if(X>D&&(re>D?(X=xe,Y=U):(X=re,Y=P)),!B)return[0,q*Y,X];var Be=Math.floor(q*Y/X);return[Be,q*Y-Be*X,X]}function C(T,D,B){if(T>2958465||T<0)return null;var q=T|0,L=Math.floor(86400*(T-q)),U=0,P=[],Y={D:q,T:L,u:86400*(T-q)-L,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(Y.u)<1e-6&&(Y.u=0),D&&D.date1904&&(q+=1462),Y.u>.9999&&(Y.u=0,++L==86400&&(Y.T=L=0,++q,++Y.D)),q===60)P=B?[1317,10,29]:[1900,2,29],U=3;else if(q===0)P=B?[1317,8,29]:[1900,1,0],U=6;else{q>60&&--q;var xe=new Date(1900,0,1);xe.setDate(xe.getDate()+q-1),P=[xe.getFullYear(),xe.getMonth()+1,xe.getDate()],U=xe.getDay(),q<60&&(U=(U+6)%7),B&&(U=Q(xe,P))}return Y.y=P[0],Y.m=P[1],Y.d=P[2],Y.S=L%60,L=Math.floor(L/60),Y.M=L%60,L=Math.floor(L/60),Y.H=L,Y.q=U,Y}i.parse_date_code=C;var b=new Date(1899,11,31,0,0,0),O=b.getTime(),R=new Date(1900,2,1,0,0,0);function I(T,D){var B=T.getTime();return D?B-=1262304e5:T>=R&&(B+=864e5),(B-(O+(T.getTimezoneOffset()-b.getTimezoneOffset())*6e4))/864e5}function M(T){return T.toString(10)}i._general_int=M;var H=function(){var D=/(?:\.0*|(\.\d*[1-9])0+)$/;function B(re){return re.indexOf(".")==-1?re:re.replace(D,"$1")}var q=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,L=/(E[+-])(\d)$/;function U(re){return re.indexOf("E")==-1?re:re.replace(q,"$1E").replace(L,"$10$2")}function P(re){var X=re<0?12:11,ae=B(re.toFixed(12));return ae.length<=X||(ae=re.toPrecision(10),ae.length<=X)?ae:re.toExponential(5)}function Y(re){var X=B(re.toFixed(11));return X.length>(re<0?12:11)||X==="0"||X==="-0"?re.toPrecision(6):X}function xe(re){var X=Math.floor(Math.log(Math.abs(re))*Math.LOG10E),ae;return X>=-4&&X<=-1?ae=re.toPrecision(10+X):Math.abs(X)<=9?ae=P(re):X===10?ae=re.toFixed(10).substr(0,12):ae=Y(re),B(U(ae.toUpperCase()))}return xe}();i._general_num=H;function V(T,D){switch(typeof T){case"string":return T;case"boolean":return T?"TRUE":"FALSE";case"number":return(T|0)===T?T.toString(10):H(T);case"undefined":return"";case"object":if(T==null)return"";if(T instanceof Date)return j(14,I(T,D&&D.date1904),D)}throw new Error("unsupported value in General format: "+T)}i._general=V;function Q(T,D){D[0]-=581;var B=T.getDay();return T<60&&(B=(B+6)%7),B}function ue(T,D,B,q){var L="",U=0,P=0,Y=B.y,xe,re=0;switch(T){case 98:Y=B.y+543;case 121:switch(D.length){case 1:case 2:xe=Y%100,re=2;break;default:xe=Y%1e4,re=4;break}break;case 109:switch(D.length){case 1:case 2:xe=B.m,re=D.length;break;case 3:return g[B.m-1][1];case 5:return g[B.m-1][0];default:return g[B.m-1][2]}break;case 100:switch(D.length){case 1:case 2:xe=B.d,re=D.length;break;case 3:return m[B.q][0];default:return m[B.q][1]}break;case 104:switch(D.length){case 1:case 2:xe=1+(B.H+11)%12,re=D.length;break;default:throw"bad hour format: "+D}break;case 72:switch(D.length){case 1:case 2:xe=B.H,re=D.length;break;default:throw"bad hour format: "+D}break;case 77:switch(D.length){case 1:case 2:xe=B.M,re=D.length;break;default:throw"bad minute format: "+D}break;case 115:if(D!="s"&&D!="ss"&&D!=".0"&&D!=".00"&&D!=".000")throw"bad second format: "+D;return B.u===0&&(D=="s"||D=="ss")?u(B.S,D.length):(q>=2?P=q===3?1e3:100:P=q===1?10:1,U=Math.round(P*(B.S+B.u)),U>=60*P&&(U=0),D==="s"?U===0?"0":""+U/P:(L=u(U,2+q),D==="ss"?L.substr(0,2):"."+L.substr(2,D.length-1)));case 90:switch(D){case"[h]":case"[hh]":xe=B.D*24+B.H;break;case"[m]":case"[mm]":xe=(B.D*24+B.H)*60+B.M;break;case"[s]":case"[ss]":xe=((B.D*24+B.H)*60+B.M)*60+Math.round(B.S+B.u);break;default:throw"bad abstime format: "+D}re=D.length===3?1:2;break;case 101:xe=Y,re=1;break}var X=re>0?u(xe,re):"";return X}function he(T){var D=3;if(T.length<=D)return T;for(var B=T.length%D,q=T.substr(0,B);B!=T.length;B+=D)q+=(q.length>0?",":"")+T.substr(B,D);return q}var le=function(){var D=/%/g;function B(Ae,Z,se){var Me=Z.replace(D,""),W=Z.length-Me.length;return le(Ae,Me,se*Math.pow(10,2*W))+o("%",W)}function q(Ae,Z,se){for(var Me=Z.length-1;Z.charCodeAt(Me-1)===44;)--Me;return le(Ae,Z.substr(0,Me),se/Math.pow(10,3*(Z.length-Me)))}function L(Ae,Z){var se,Me=Ae.indexOf("E")-Ae.indexOf(".")-1;if(Ae.match(/^#+0.0E\+0$/)){if(Z==0)return"0.0E+0";if(Z<0)return"-"+L(Ae,-Z);var W=Ae.indexOf(".");W===-1&&(W=Ae.indexOf("E"));var fe=Math.floor(Math.log(Z)*Math.LOG10E)%W;if(fe<0&&(fe+=W),se=(Z/Math.pow(10,fe)).toPrecision(Me+1+(W+fe)%W),se.indexOf("e")===-1){var we=Math.floor(Math.log(Z)*Math.LOG10E);for(se.indexOf(".")===-1?se=se.charAt(0)+"."+se.substr(1)+"E+"+(we-se.length+fe):se+="E+"+(we-fe);se.substr(0,2)==="0.";)se=se.charAt(0)+se.substr(2,W)+"."+se.substr(2+W),se=se.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");se=se.replace(/\+-/,"-")}se=se.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(W+fe)%W)+"."+rt.substr(fe)+"E"})}else se=Z.toExponential(Me);return Ae.match(/E\+00$/)&&se.match(/e[+-]\d$/)&&(se=se.substr(0,se.length-1)+"0"+se.charAt(se.length-1)),Ae.match(/E\-/)&&se.match(/e\+/)&&(se=se.replace(/e\+/,"e")),se.replace("e","E")}var U=/# (\?+)( ?)\/( ?)(\d+)/;function P(Ae,Z,se){var Me=parseInt(Ae[4],10),W=Math.round(Z*Me),fe=Math.floor(W/Me),we=W-fe*Me,ze=Me;return se+(fe===0?"":""+fe)+" "+(we===0?o(" ",Ae[1].length+1+Ae[4].length):a(we,Ae[1].length)+Ae[2]+"/"+Ae[3]+u(ze,Ae[4].length))}function Y(Ae,Z,se){return se+(Z===0?"":""+Z)+o(" ",Ae[1].length+2+Ae[4].length)}var xe=/^#*0*\.([0#]+)/,re=/\).*[0#]/,X=/\(###\) ###\\?-####/;function ae(Ae){for(var Z="",se,Me=0;Me!=Ae.length;++Me)switch(se=Ae.charCodeAt(Me)){case 35:break;case 63:Z+=" ";break;case 48:Z+="0";break;default:Z+=String.fromCharCode(se)}return Z}function Be(Ae,Z){var se=Math.pow(10,Z);return""+Math.round(Ae*se)/se}function ut(Ae,Z){var se=Ae-Math.floor(Ae),Me=Math.pow(10,Z);return Z<(""+Math.round(se*Me)).length?0:Math.round(se*Me)}function Rt(Ae,Z){return Z<(""+Math.round((Ae-Math.floor(Ae))*Math.pow(10,Z))).length?1:0}function J(Ae){return Ae<2147483647&&Ae>-2147483648?""+(Ae>=0?Ae|0:Ae-1|0):""+Math.floor(Ae)}function oe(Ae,Z,se){if(Ae.charCodeAt(0)===40&&!Z.match(re)){var Me=Z.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return se>=0?oe("n",Me,se):"("+oe("n",Me,-se)+")"}if(Z.charCodeAt(Z.length-1)===44)return q(Ae,Z,se);if(Z.indexOf("%")!==-1)return B(Ae,Z,se);if(Z.indexOf("E")!==-1)return L(Z,se);if(Z.charCodeAt(0)===36)return"$"+oe(Ae,Z.substr(Z.charAt(1)==" "?2:1),se);var W,fe,we,ze,nt=Math.abs(se),yt=se<0?"-":"";if(Z.match(/^00+$/))return yt+h(nt,Z.length);if(Z.match(/^[#?]+$/))return W=h(se,0),W==="0"&&(W=""),W.length>Z.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(U))return P(fe,nt,yt);if(Z.match(/^#+0+$/))return yt+h(nt,Z.length-Z.indexOf("0"));if(fe=Z.match(xe))return W=Be(se,fe[1].length).replace(/^([^\.]+)$/,"$1."+ae(fe[1])).replace(/\.$/,"."+ae(fe[1])).replace(/\.(\d*)$/,function(Qs,U3){return"."+U3+o("0",ae(fe[1]).length-U3.length)}),Z.indexOf("0.")!==-1?W:W.replace(/^0\./,".");if(Z=Z.replace(/^#+([0.])/,"$1"),fe=Z.match(/^(0*)\.(#*)$/))return yt+Be(nt,fe[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,fe[1].length?"0.":".");if(fe=Z.match(/^#{1,3},##0(\.?)$/))return yt+he(h(nt,0));if(fe=Z.match(/^#,##0\.([#0]*0)$/))return se<0?"-"+oe(Ae,Z,-se):he(""+(Math.floor(se)+Rt(se,fe[1].length)))+"."+u(ut(se,fe[1].length),fe[1].length);if(fe=Z.match(/^#,#*,#0/))return oe(Ae,Z.replace(/^#,#*,/,""),se);if(fe=Z.match(/^([0#]+)(\\?-([0#]+))+$/))return W=s(oe(Ae,Z.replace(/[\\-]/g,""),se)),we=0,s(s(Z.replace(/\\/g,"")).replace(/[0#]/g,function(Qs){return we<W.length?W.charAt(we++):Qs==="0"?"0":""}));if(Z.match(X))return W=oe(Ae,"##########",se),"("+W.substr(0,3)+") "+W.substr(3,3)+"-"+W.substr(6);var rt="";if(fe=Z.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(fe[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),W=""+yt,rt=le("n",fe[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),W+=rt+fe[2]+"/"+fe[3],rt=l(ze[2],we),rt.length<fe[4].length&&(rt=ae(fe[4].substr(fe[4].length-rt.length))+rt),W+=rt,W;if(fe=Z.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(fe[1].length,fe[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+fe[2]+"/"+fe[3]+l(ze[2],we):o(" ",2*we+1+fe[2].length+fe[3].length));if(fe=Z.match(/^[#0?]+$/))return W=h(se,0),Z.length<=W.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(/^([#0?]+)\.([#0]+)$/)){W=""+se.toFixed(Math.min(fe[2].length,10)).replace(/([^0])0+$/,"$1"),we=W.indexOf(".");var Tr=Z.indexOf(".")-we,Kc=Z.length-W.length-Tr;return ae(Z.substr(0,Tr)+W+Z.substr(Z.length-Kc))}if(fe=Z.match(/^00,000\.([#0]*0)$/))return we=ut(se,fe[1].length),se<0?"-"+oe(Ae,Z,-se):he(J(se)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Qs){return"00,"+(Qs.length<3?u(0,3-Qs.length):"")+Qs})+"."+u(we,fe[1].length);switch(Z){case"###,##0.00":return oe(Ae,"#,##0.00",se);case"###,###":case"##,###":case"#,###":var j3=he(h(nt,0));return j3!=="0"?yt+j3:"";case"###,###.00":return oe(Ae,"###,##0.00",se).replace(/^0\./,".");case"#,###.00":return oe(Ae,"#,##0.00",se).replace(/^0\./,".")}throw new Error("unsupported format |"+Z+"|")}function Re(Ae,Z,se){for(var Me=Z.length-1;Z.charCodeAt(Me-1)===44;)--Me;return le(Ae,Z.substr(0,Me),se/Math.pow(10,3*(Z.length-Me)))}function He(Ae,Z,se){var Me=Z.replace(D,""),W=Z.length-Me.length;return le(Ae,Me,se*Math.pow(10,2*W))+o("%",W)}function qe(Ae,Z){var se,Me=Ae.indexOf("E")-Ae.indexOf(".")-1;if(Ae.match(/^#+0.0E\+0$/)){if(Z==0)return"0.0E+0";if(Z<0)return"-"+qe(Ae,-Z);var W=Ae.indexOf(".");W===-1&&(W=Ae.indexOf("E"));var fe=Math.floor(Math.log(Z)*Math.LOG10E)%W;if(fe<0&&(fe+=W),se=(Z/Math.pow(10,fe)).toPrecision(Me+1+(W+fe)%W),!se.match(/[Ee]/)){var we=Math.floor(Math.log(Z)*Math.LOG10E);se.indexOf(".")===-1?se=se.charAt(0)+"."+se.substr(1)+"E+"+(we-se.length+fe):se+="E+"+(we-fe),se=se.replace(/\+-/,"-")}se=se.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(W+fe)%W)+"."+rt.substr(fe)+"E"})}else se=Z.toExponential(Me);return Ae.match(/E\+00$/)&&se.match(/e[+-]\d$/)&&(se=se.substr(0,se.length-1)+"0"+se.charAt(se.length-1)),Ae.match(/E\-/)&&se.match(/e\+/)&&(se=se.replace(/e\+/,"e")),se.replace("e","E")}function Ie(Ae,Z,se){if(Ae.charCodeAt(0)===40&&!Z.match(re)){var Me=Z.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return se>=0?Ie("n",Me,se):"("+Ie("n",Me,-se)+")"}if(Z.charCodeAt(Z.length-1)===44)return Re(Ae,Z,se);if(Z.indexOf("%")!==-1)return He(Ae,Z,se);if(Z.indexOf("E")!==-1)return qe(Z,se);if(Z.charCodeAt(0)===36)return"$"+Ie(Ae,Z.substr(Z.charAt(1)==" "?2:1),se);var W,fe,we,ze,nt=Math.abs(se),yt=se<0?"-":"";if(Z.match(/^00+$/))return yt+u(nt,Z.length);if(Z.match(/^[#?]+$/))return W=""+se,se===0&&(W=""),W.length>Z.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(U))return Y(fe,nt,yt);if(Z.match(/^#+0+$/))return yt+u(nt,Z.length-Z.indexOf("0"));if(fe=Z.match(xe))return W=(""+se).replace(/^([^\.]+)$/,"$1."+ae(fe[1])).replace(/\.$/,"."+ae(fe[1])),W=W.replace(/\.(\d*)$/,function(Qs,U3){return"."+U3+o("0",ae(fe[1]).length-U3.length)}),Z.indexOf("0.")!==-1?W:W.replace(/^0\./,".");if(Z=Z.replace(/^#+([0.])/,"$1"),fe=Z.match(/^(0*)\.(#*)$/))return yt+(""+nt).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,fe[1].length?"0.":".");if(fe=Z.match(/^#{1,3},##0(\.?)$/))return yt+he(""+nt);if(fe=Z.match(/^#,##0\.([#0]*0)$/))return se<0?"-"+Ie(Ae,Z,-se):he(""+se)+"."+o("0",fe[1].length);if(fe=Z.match(/^#,#*,#0/))return Ie(Ae,Z.replace(/^#,#*,/,""),se);if(fe=Z.match(/^([0#]+)(\\?-([0#]+))+$/))return W=s(Ie(Ae,Z.replace(/[\\-]/g,""),se)),we=0,s(s(Z.replace(/\\/g,"")).replace(/[0#]/g,function(Qs){return we<W.length?W.charAt(we++):Qs==="0"?"0":""}));if(Z.match(X))return W=Ie(Ae,"##########",se),"("+W.substr(0,3)+") "+W.substr(3,3)+"-"+W.substr(6);var rt="";if(fe=Z.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(fe[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),W=""+yt,rt=le("n",fe[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),W+=rt+fe[2]+"/"+fe[3],rt=l(ze[2],we),rt.length<fe[4].length&&(rt=ae(fe[4].substr(fe[4].length-rt.length))+rt),W+=rt,W;if(fe=Z.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(fe[1].length,fe[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+fe[2]+"/"+fe[3]+l(ze[2],we):o(" ",2*we+1+fe[2].length+fe[3].length));if(fe=Z.match(/^[#0?]+$/))return W=""+se,Z.length<=W.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(/^([#0]+)\.([#0]+)$/)){W=""+se.toFixed(Math.min(fe[2].length,10)).replace(/([^0])0+$/,"$1"),we=W.indexOf(".");var Tr=Z.indexOf(".")-we,Kc=Z.length-W.length-Tr;return ae(Z.substr(0,Tr)+W+Z.substr(Z.length-Kc))}if(fe=Z.match(/^00,000\.([#0]*0)$/))return se<0?"-"+Ie(Ae,Z,-se):he(""+se).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Qs){return"00,"+(Qs.length<3?u(0,3-Qs.length):"")+Qs})+"."+u(0,fe[1].length);switch(Z){case"###,###":case"##,###":case"#,###":var j3=he(""+nt);return j3!=="0"?yt+j3:"";default:if(Z.match(/\.[0#?]*$/))return Ie(Ae,Z.slice(0,Z.lastIndexOf(".")),se)+ae(Z.slice(Z.lastIndexOf(".")))}throw new Error("unsupported format |"+Z+"|")}return function(Z,se,Me){return(Me|0)===Me?Ie(Z,se,Me):oe(Z,se,Me)}}();function ne(T){for(var D=[],B=!1,q=0,L=0;q<T.length;++q)switch(T.charCodeAt(q)){case 34:B=!B;break;case 95:case 42:case 92:++q;break;case 59:D[D.length]=T.substr(L,q-L),L=q+1}if(D[D.length]=T.substr(L),B===!0)throw new Error("Format |"+T+"| unterminated string ");return D}i._split=ne;var ce=/\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;function de(T){for(var D=0,B="",q="";D<T.length;)switch(B=T.charAt(D)){case"G":p(T,D)&&(D+=6),D++;break;case'"':for(;T.charCodeAt(++D)!==34&&D<T.length;);++D;break;case"\\":D+=2;break;case"_":D+=2;break;case"@":++D;break;case"B":case"b":if(T.charAt(D+1)==="1"||T.charAt(D+1)==="2")return!0;case"M":case"D":case"Y":case"H":case"S":case"E":case"m":case"d":case"y":case"h":case"s":case"e":case"g":return!0;case"A":case"a":case"上":if(T.substr(D,3).toUpperCase()==="A/P"||T.substr(D,5).toUpperCase()==="AM/PM"||T.substr(D,5).toUpperCase()==="上午/下午")return!0;++D;break;case"[":for(q=B;T.charAt(D++)!=="]"&&D<T.length;)q+=T.charAt(D);if(q.match(ce))return!0;break;case".":case"0":case"#":for(;D<T.length&&("0#?.,E+-%".indexOf(B=T.charAt(++D))>-1||B=="\\"&&T.charAt(D+1)=="-"&&"0#".indexOf(T.charAt(D+2))>-1););break;case"?":for(;T.charAt(++D)===B;);break;case"*":++D,(T.charAt(D)==" "||T.charAt(D)=="*")&&++D;break;case"(":case")":++D;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;D<T.length&&"0123456789".indexOf(T.charAt(++D))>-1;);break;case" ":++D;break;default:++D;break}return!1}i.is_date=de;function G(T,D,B,q){for(var L=[],U="",P=0,Y="",xe="t",re,X,ae,Be="H";P<T.length;)switch(Y=T.charAt(P)){case"G":if(!p(T,P))throw new Error("unrecognized character "+Y+" in "+T);L[L.length]={t:"G",v:"General"},P+=7;break;case'"':for(U="";(ae=T.charCodeAt(++P))!==34&&P<T.length;)U+=String.fromCharCode(ae);L[L.length]={t:"t",v:U},++P;break;case"\\":var ut=T.charAt(++P),Rt=ut==="("||ut===")"?ut:"t";L[L.length]={t:Rt,v:ut},++P;break;case"_":L[L.length]={t:"t",v:" "},P+=2;break;case"@":L[L.length]={t:"T",v:D},++P;break;case"B":case"b":if(T.charAt(P+1)==="1"||T.charAt(P+1)==="2"){if(re==null&&(re=C(D,B,T.charAt(P+1)==="2"),re==null))return"";L[L.length]={t:"X",v:T.substr(P,2)},xe=Y,P+=2;break}case"M":case"D":case"Y":case"H":case"S":case"E":Y=Y.toLowerCase();case"m":case"d":case"y":case"h":case"s":case"e":case"g":if(D<0||re==null&&(re=C(D,B),re==null))return"";for(U=Y;++P<T.length&&T.charAt(P).toLowerCase()===Y;)U+=Y;Y==="m"&&xe.toLowerCase()==="h"&&(Y="M"),Y==="h"&&(Y=Be),L[L.length]={t:Y,v:U},xe=Y;break;case"A":case"a":case"上":var J={t:Y,v:Y};if(re==null&&(re=C(D,B)),T.substr(P,3).toUpperCase()==="A/P"?(re!=null&&(J.v=re.H>=12?"P":"A"),J.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(re!=null&&(J.v=re.H>=12?"PM":"AM"),J.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(re!=null&&(J.v=re.H>=12?"下午":"上午"),J.t="T",P+=5,Be="h"):(J.t="t",++P),re==null&&J.t==="T")return"";L[L.length]=J,xe=Y;break;case"[":for(U=Y;T.charAt(P++)!=="]"&&P<T.length;)U+=T.charAt(P);if(U.slice(-1)!=="]")throw'unterminated "[" block: |'+U+"|";if(U.match(ce)){if(re==null&&(re=C(D,B),re==null))return"";L[L.length]={t:"Z",v:U.toLowerCase()},xe=U.charAt(1)}else U.indexOf("$")>-1&&(U=(U.match(/\$([^-\[\]]*)/)||[])[1]||"$",de(T)||(L[L.length]={t:"t",v:U}));break;case".":if(re!=null){for(U=Y;++P<T.length&&(Y=T.charAt(P))==="0";)U+=Y;L[L.length]={t:"s",v:U};break}case"0":case"#":for(U=Y;++P<T.length&&"0#?.,E+-%".indexOf(Y=T.charAt(P))>-1;)U+=Y;L[L.length]={t:"n",v:U};break;case"?":for(U=Y;T.charAt(++P)===Y;)U+=Y;L[L.length]={t:Y,v:U},xe=Y;break;case"*":++P,(T.charAt(P)==" "||T.charAt(P)=="*")&&++P;break;case"(":case")":L[L.length]={t:q===1?"t":Y,v:Y},++P;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(U=Y;P<T.length&&"0123456789".indexOf(T.charAt(++P))>-1;)U+=T.charAt(P);L[L.length]={t:"D",v:U};break;case" ":L[L.length]={t:Y,v:Y},++P;break;case"$":L[L.length]={t:"t",v:"$"},++P;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(Y)===-1)throw new Error("unrecognized character "+Y+" in "+T);L[L.length]={t:"t",v:Y},++P;break}var oe=0,Re=0,He;for(P=L.length-1,xe="t";P>=0;--P)switch(L[P].t){case"h":case"H":L[P].t=Be,xe="h",oe<1&&(oe=1);break;case"s":(He=L[P].v.match(/\.0+$/))&&(Re=Math.max(Re,He[0].length-1)),oe<3&&(oe=3);case"d":case"y":case"M":case"e":xe=L[P].t;break;case"m":xe==="s"&&(L[P].t="M",oe<2&&(oe=2));break;case"X":break;case"Z":oe<1&&L[P].v.match(/[Hh]/)&&(oe=1),oe<2&&L[P].v.match(/[Mm]/)&&(oe=2),oe<3&&L[P].v.match(/[Ss]/)&&(oe=3)}switch(oe){case 0:break;case 1:re.u>=.5&&(re.u=0,++re.S),re.S>=60&&(re.S=0,++re.M),re.M>=60&&(re.M=0,++re.H);break;case 2:re.u>=.5&&(re.u=0,++re.S),re.S>=60&&(re.S=0,++re.M);break}var qe="",Ie;for(P=0;P<L.length;++P)switch(L[P].t){case"t":case"T":case" ":case"D":break;case"X":L[P].v="",L[P].t=";";break;case"d":case"m":case"y":case"h":case"H":case"M":case"s":case"e":case"b":case"Z":L[P].v=ue(L[P].t.charCodeAt(0),L[P].v,re,Re),L[P].t="t";break;case"n":case"?":for(Ie=P+1;L[Ie]!=null&&((Y=L[Ie].t)==="?"||Y==="D"||(Y===" "||Y==="t")&&L[Ie+1]!=null&&(L[Ie+1].t==="?"||L[Ie+1].t==="t"&&L[Ie+1].v==="/")||L[P].t==="("&&(Y===" "||Y==="n"||Y===")")||Y==="t"&&(L[Ie].v==="/"||L[Ie].v===" "&&L[Ie+1]!=null&&L[Ie+1].t=="?"));)L[P].v+=L[Ie].v,L[Ie]={v:"",t:";"},++Ie;qe+=L[P].v,P=Ie-1;break;case"G":L[P].t="t",L[P].v=V(D,B);break}var Ae="",Z,se;if(qe.length>0){qe.charCodeAt(0)==40?(Z=D<0&&qe.charCodeAt(0)===45?-D:D,se=le("n",qe,Z)):(Z=D<0&&q>1?-D:D,se=le("n",qe,Z),Z<0&&L[0]&&L[0].t=="t"&&(se=se.substr(1),L[0].v="-"+L[0].v)),Ie=se.length-1;var Me=L.length;for(P=0;P<L.length;++P)if(L[P]!=null&&L[P].t!="t"&&L[P].v.indexOf(".")>-1){Me=P;break}var W=L.length;if(Me===L.length&&se.indexOf("E")===-1){for(P=L.length-1;P>=0;--P)L[P]==null||"n?".indexOf(L[P].t)===-1||(Ie>=L[P].v.length-1?(Ie-=L[P].v.length,L[P].v=se.substr(Ie+1,L[P].v.length)):Ie<0?L[P].v="":(L[P].v=se.substr(0,Ie+1),Ie=-1),L[P].t="t",W=P);Ie>=0&&W<L.length&&(L[W].v=se.substr(0,Ie+1)+L[W].v)}else if(Me!==L.length&&se.indexOf("E")===-1){for(Ie=se.indexOf(".")-1,P=Me;P>=0;--P)if(!(L[P]==null||"n?".indexOf(L[P].t)===-1)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ae=L[P].v.substr(X+1);X>=0;--X)Ie>=0&&(L[P].v.charAt(X)==="0"||L[P].v.charAt(X)==="#")&&(Ae=se.charAt(Ie--)+Ae);L[P].v=Ae,L[P].t="t",W=P}for(Ie>=0&&W<L.length&&(L[W].v=se.substr(0,Ie+1)+L[W].v),Ie=se.indexOf(".")+1,P=Me;P<L.length;++P)if(!(L[P]==null||"n?(".indexOf(L[P].t)===-1&&P!==Me)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ae=L[P].v.substr(0,X);X<L[P].v.length;++X)Ie<se.length&&(Ae+=se.charAt(Ie++));L[P].v=Ae,L[P].t="t",W=P}}}for(P=0;P<L.length;++P)L[P]!=null&&"n?".indexOf(L[P].t)>-1&&(Z=q>1&&D<0&&P>0&&L[P-1].v==="-"?-D:D,L[P].v=le(L[P].t,L[P].v,Z),L[P].t="t");var fe="";for(P=0;P!==L.length;++P)L[P]!=null&&(fe+=L[P].v);return fe}i._eval=G;var F=/\[[=<>]/,k=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function z(T,D){if(D==null)return!1;var B=parseFloat(D[2]);switch(D[1]){case"=":if(T==B)return!0;break;case">":if(T>B)return!0;break;case"<":if(T<B)return!0;break;case"<>":if(T!=B)return!0;break;case">=":if(T>=B)return!0;break;case"<=":if(T<=B)return!0;break}return!1}function K(T,D){var B=ne(T),q=B.length,L=B[q-1].indexOf("@");if(q<4&&L>-1&&--q,B.length>4)throw new Error("cannot find right format for |"+B.join("|")+"|");if(typeof D!="number")return[4,B.length===4||L>-1?B[B.length-1]:"@"];switch(B.length){case 1:B=L>-1?["General","General","General",B[0]]:[B[0],B[0],B[0],"@"];break;case 2:B=L>-1?[B[0],B[0],B[0],B[1]]:[B[0],B[1],B[0],"@"];break;case 3:B=L>-1?[B[0],B[1],B[0],B[2]]:[B[0],B[1],B[2],"@"];break}var U=D>0?B[0]:D<0?B[1]:B[2];if(B[0].indexOf("[")===-1&&B[1].indexOf("[")===-1)return[q,U];if(B[0].match(F)!=null||B[1].match(F)!=null){var P=B[0].match(k),Y=B[1].match(k);return z(D,P)?[q,B[0]]:z(D,Y)?[q,B[1]]:[q,B[P!=null&&Y!=null?2:1]]}return[q,U]}function j(T,D,B){B==null&&(B={});var q="";switch(typeof T){case"string":T=="m/d/yy"&&B.dateNF?q=B.dateNF:q=T;break;case"number":T==14&&B.dateNF?q=B.dateNF:q=(B.table!=null?B.table:E)[T],q==null&&(q=B.table&&B.table[A[T]]||E[A[T]]),q==null&&(q=v[T]||"General");break}if(p(q,0))return V(D,B);D instanceof Date&&(D=I(D,B.date1904));var L=K(q,D);if(p(L[1]))return V(D,B);if(D===!0)D="TRUE";else if(D===!1)D="FALSE";else if(D===""||D==null)return"";return G(L[1],D,B,L[0])}function $(T,D){if(typeof D!="number"){D=+D||-1;for(var B=0;B<392;++B){if(E[B]==null){D<0&&(D=B);continue}if(E[B]==T){D=B;break}}D<0&&(D=391)}return E[D]=T,D}i.load=$,i._table=E,i.get_table=function(){return E},i.load_table=function(D){for(var B=0;B!=392;++B)D[B]!==void 0&&$(D[B],B)},i.init_table=y,i.format=j};n(e),typeof DO_NOT_EXPORT_SSF>"u"&&(t.exports=e)})(Ble);var xD=Ble.exports,Irt=typeof N=="object"&&N&&N.Object===Object&&N,$rt=Irt,Brt=$rt,krt=typeof self=="object"&&self&&self.Object===Object&&self,Prt=Brt||krt||Function("return this")(),Mrt=Prt,jrt=Mrt,Urt=jrt.Symbol,CP=Urt,kle=CP;kle&&kle.toStringTag;var Ple=CP;Ple&&Ple.toStringTag;var Mle=CP,jle=Mle?Mle.prototype:void 0;jle&&jle.toString;function qrt(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function Hrt(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}class Ule{constructor(){this.tagOptionExtractors={}}addExtractor(e,...n){for(const r in n)this.tagOptionExtractors[n[r]]=e}activates(e){return!1}isValidMatch(e){return!0}matches(e){return e.renderer===this.rendererName}parseTagParameters(e){const n={};for(const r in this.tagOptionExtractors){const i=e.tag(r);i&&this.tagOptionExtractors[r](n,i)}return n}}class qle{constructor(e){this.document=e}getText(e){return e.value===null?null:`${e.value}`}async render(e){let n=null;try{n=this.getText(e)}catch(i){return qrt(this.document,i)}if(n===null)return Hrt(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const dD=class dD extends Ule{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new qle(e)}get rendererName(){}};dD.instance=new dD;let Hle=dD;function zle(t,e,n={}){let r=e.toString();return n.terse?r=zrt.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?xD.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const zrt=new Map([[sr.Nanoseconds,"ns"],[sr.Microseconds,"µs"],[sr.Milliseconds,"ms"],[sr.Seconds,"s"],[sr.Minutes,"m"],[sr.Hours,"h"],[sr.Days,"d"]]),Qrt=new Map([[sr.Nanoseconds,1e3],[sr.Microseconds,1e3],[sr.Milliseconds,1e3],[sr.Seconds,60],[sr.Minutes,60],[sr.Hours,24],[sr.Days,Number.MAX_VALUE]]);function Qle(t,e,n){const r=n.durationUnit&&Lrt(n.durationUnit)?n.durationUnit:sr.Seconds,i=t.tagParse().tag,s=i.text("number"),o=i.has("duration","terse");let u=e,a=0,l=[],c=!1;for(const[f,x]of Qrt)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[zle(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):zle(0,r,{numFormat:s,terse:o})}class Grt extends qle{constructor(e,n){super(e),this.options=n}getText(e){if(e.isNull())return null;if(!e.isNumber())throw new Error(`Cannot format field ${e.field.name} as a duration unit since its not a number`);return Qle(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const hD=class hD extends Ule{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??sr.Seconds},this.rendererName)}create(e,n,r,i,s){return new Grt(e,s)}get rendererName(){return"duration"}};hD.instance=new hD;let Gle=hD;function Wle(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case fD.Euros:i="€";break;case fD.Pounds:i="£";break;case fD.Dollars:break}n=xD.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=xD.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??sr.Seconds;return Qle(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=xD.format(r.text("number"),e):n=e.toLocaleString();return n}const Wrt=32,Vrt=384,Vle=12,Yrt=28;function Krt(t){const e={};for(const[n,r]of Object.entries(t.fields)){const i=r.field,s={metadata:r,width:i.isExplore()?0:Xrt(i,t),height:null},{tag:o}=i.tagParse();a5(o,"bar","bar_chart")&&i.isExploreField()?(s.width=r.vegaChartProps.totalWidth,s.height=r.vegaChartProps.totalHeight):!i.isExplore()&&i.isAtomicField()&&(s.height=Yrt),e[n]=s}return e}function Xrt(t,e){const n=bx(t),r=e.fields[n];let i=0;if(t.isAtomicField()){const s="12px Inter, sans-serif",o=hy(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(hy(r.maxString,s),o)+Vle;else if(t.isAtomicField()&&t.isNumber()){const u=r.max===null?"∅":Wle(t,r.max);i=Math.max(hy(u,s),o)+Vle}else i=130;i=bFe(Wrt,Vrt,i)}return i}const Yle=$P(),M3=()=>BP(Yle);var Jrt=Zc("<div class=cell-wrapper><div class=cell-gutter></div><div class=cell-content></div><div class=cell-gutter>"),Zrt=Zc("<th class=column-cell>"),eit=Zc("<td class=column-cell>"),tit=Zc("<div class=sticky-header><div class=sticky-header-content>"),nit=Zc("<div class=malloy-table><table><thead><tr></tr></thead><tbody>"),rit=Zc("<tr>");const Kle=t=>{const e=()=>{const n=M3().layout,r=n[bx(t.field)].width,i=n[bx(t.field)].height;let s="";return t.isHeader||typeof r<"u"&&(s+=`width: ${r}px; min-width: ${r}px; max-width: ${r}px;`,typeof i=="number"&&(s+=`height: ${i}px;`)),s};return(()=>{var n=Jrt(),r=n.firstChild,i=r.nextSibling,s=i.nextSibling;return ja(i,()=>t.value),a0(o=>{var u=!!t.hideStartGutter,a=!!t.isHeader,l=e(),c=!!t.hideEndGutter;return u!==o.e&&r.classList.toggle("hide-gutter-border",o.e=u),a!==o.t&&i.classList.toggle("header",o.t=a),o.a=N0e(i,l,o.a),c!==o.o&&s.classList.toggle("hide-gutter-border",o.o=c),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()},iit=t=>{const e=c5(t.field),n=c5(t.field.parentExplore),r=!t.field.parentExplore.isExploreField(),i=e&&(n||r),s=l5(t.field),o=l5(t.field.parentExplore),u=s&&(o||r);return(()=>{var a=Zrt();return ja(a,En(Kle,{get field(){return t.field},get value(){return t.field.name},hideStartGutter:i,hideEndGutter:u,isHeader:!0})),a0(()=>a.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),a})()},sit=t=>{const e=M3(),n=HW(t.field);let r="";if(e.pinnedHeader)r="";else if(n==="cell"){const i=t.row.cell(t.field).value;UW(t.field,i)?r=Wle(t.field,i):i===null?r="∅":qW(t.field,i)&&(r=i)}else if(n==="chart"){const i=gse();r=En($le,{get field(){return t.field},get data(){return i.getData(t.row.cell(t.field))},metadata:i})}return(()=>{var i=eit();return ja(i,En(GP,{get children(){return[En(TD,{when:n==="table",get children(){return En(bP,{get data(){return t.row.cell(t.field)},get pinnedHeader(){return e.pinnedHeader},get rowLimit(){return e.pinnedHeader?1:1/0}})}}),En(TD,{when:!0,get children(){return En(Kle,{get field(){return t.field},value:r,get hideStartGutter(){return c5(t.field)},get hideEndGutter(){return l5(t.field)}})}})]}})),a0(()=>i.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),i})()},oit=t=>{const e=b0e({rowLimit:1/0,pinnedHeader:!1},t),n=M3(),[r,i]=SD(!1),s=u=>{const a=u.target;i(a.scrollTop>0)},o=Vs(()=>{const u=[];let a=0;for(const l of e.data){if(a>=e.rowLimit)break;u.push(l),a++}return u});return(()=>{var u=nit(),a=u.firstChild,l=a.firstChild,c=l.firstChild,f=l.nextSibling;return u.addEventListener("scroll",s),ja(u,En(QP,{get when(){return n.root},get children(){var x=tit(),h=x.firstChild;return ja(h,En(bP,{get data(){return e.data},rowLimit:1,pinnedHeader:!0})),x}}),a),ja(c,()=>e.data.field.allFields.map(x=>En(iit,{field:x}))),ja(f,En(T0e,{get each(){return o()},children:x=>(()=>{var h=rit();return ja(h,()=>e.data.field.allFields.map(p=>En(sit,{field:p,row:x}))),h})()})),a0(x=>{var h=!!n.root,p=!!n.pinnedHeader,m=!!r();return h!==x.e&&u.classList.toggle("root",x.e=h),p!==x.t&&u.classList.toggle("pinned-header",x.t=p),m!==x.a&&u.classList.toggle("scrolled",x.a=m),x},{e:void 0,t:void 0,a:void 0}),u})()},bP=t=>{const e=gse(),n=!!M3(),r=Vs(()=>{if(n){const i=M3();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:Krt(e)}});return En(Yle.Provider,{get value(){return r()},get children(){return En(oit,t)}})};function uit(t,{element:e}){const n=Vs(()=>t.result?t.result:t.queryResult&&t.modelDef?new VP.Result(t.queryResult,t.modelDef):null);return En(QP,{get when(){return n()},get children(){return En(ait,{get result(){return n()},element:e})}})}function ait(t){const e=Vs(()=>PVe(t.result)),n=()=>{const i=t.result.modelTag,s=t.result.tagParse().tag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};vD(()=>{if(t.element){const i=lit(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>{const i=n().resultTag,s=t.result.resultExplore;return HW(s,i)};return En(pse.Provider,{get value(){return e()},get children(){return En(GP,{get fallback(){return En(bP,{get data(){return t.result.data}})},get children(){return En(TD,{get when(){return r()==="chart"},get children(){return En($le,{get field(){return t.result.resultExplore},get data(){return e().getData(t.result.data)},get metadata(){return e()}})}})}})}})}function Oo(t,...e){let n;for(const r of e)if(n=r==null?void 0:r.text(t),typeof n<"u")break;return n??`var(--malloy-theme--${t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()})`}function lit(t,e){const n={},r=Oo("tableRowHeight",e,t),i=Oo("tableBodyColor",e,t),s=Oo("tableFontSize",e,t),o=Oo("tableHeaderColor",e,t),u=Oo("tableHeaderWeight",e,t),a=Oo("tableBodyWeight",e,t),l=Oo("tableBorder",e,t),c=Oo("tableBackground",e,t),f=Oo("tableGutterSize",e,t),x=Oo("tablePinnedBackground",e,t),h=Oo("tablePinnedBorder",e,t),p=Oo("fontFamily",e,t);return n["--malloy-render--table-row-height"]=r,n["--malloy-render--table-body-color"]=i,n["--malloy-render--table-font-size"]=s,n["--malloy-render--font-family"]=p,n["--malloy-render--table-header-color"]=o,n["--malloy-render--table-header-weight"]=u,n["--malloy-render--table-body-weight"]=a,n["--malloy-render--table-border"]=l,n["--malloy-render--table-background"]=c,n["--malloy-render--table-gutter-size"]=f,n["--malloy-render--table-pinned-background"]=x,n["--malloy-render--table-pinned-border"]=h,n}const cit=`:host {
|
|
1339
|
+
`)}function oie(t){return"["+t.map(uie).join(", ")+"]"}function uie(t){return Ce(t)?"[…]":Qe(t)&&!Ox(t)?"{…}":t}function aie(t,e){const n=this;if(e=e||{},ky.call(n),e.loader&&n.loader(e.loader),e.logger&&n.logger(e.logger),e.logLevel!=null&&n.logLevel(e.logLevel),e.locale||t.locale){const s=ct({},t.locale,e.locale);n.locale(EY(s.number,s.time))}n._el=null,n._elBind=null,n._renderType=e.renderer||nd.Canvas,n._scenegraph=new gZ;const r=n._scenegraph.root;n._renderer=null,n._tooltip=e.tooltip||DQe,n._redraw=!0,n._handler=new cR().scene(r),n._globalCursor=!1,n._preventDefault=!1,n._timers=[],n._eventListeners=[],n._resizeListeners=[],n._eventConfig=Xze(t.eventConfig),n.globalCursor(n._eventConfig.globalCursor);const i=SQe(n,t,e.expr);n._runtime=i,n._signals=i.signals,n._bind=(t.bindings||[]).map(s=>({state:null,param:ct({},s)})),i.root&&i.root.set(r),r.source=i.data.root.input,n.pulse(i.data.root.input,n.changeset().insert(r.items)),n._width=n.width(),n._height=n.height(),n._viewWidth=iie(n,n._width),n._viewHeight=sie(n,n._height),n._origin=[0,0],n._resize=0,n._autosize=1,_Qe(n),jze(n),Uze(n),n.description(t.description),e.hover&&n.hover(),e.container&&n.initialize(e.container,e.bind)}function wO(t,e){return Je(t._signals,e)?t._signals[e]:_e("Unrecognized signal name: "+Fe(e))}function lie(t,e){const n=(t._targets||[]).filter(r=>r._update&&r._update.handler===e);return n.length?n[0]:null}function cie(t,e,n,r){let i=lie(n,r);return i||(i=Mk(t,()=>r(e,n.value)),i.handler=r,t.on(n,null,i)),t}function fie(t,e,n){const r=lie(e,n);return r&&e._targets.remove(r),t}De(aie,ky,{async evaluate(t,e,n){if(await ky.prototype.evaluate.call(this,t,e),this._redraw||this._resize)try{this._renderer&&(this._resize&&(this._resize=0,Qze(this)),await this._renderer.renderAsync(this._scenegraph.root)),this._redraw=!1}catch(r){this.error(r)}return n&&oT(this,n),this},dirty(t){this._redraw=!0,this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;return e!==this._desc&&Qre(this._el,this._desc=e),this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const r=wO(this,t);return arguments.length===1?r.value:this.update(r,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",eie(t)):eie(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){return arguments.length?(dB(t)||_e("Unrecognized renderer type: "+t),t!==this._renderType&&(this._renderType=t,this._resetRenderer()),this):this._renderType},tooltip(t){return arguments.length?(t!==this._tooltip&&(this._tooltip=t,this._resetRenderer()),this):this._tooltip},loader(t){return arguments.length?(t!==this._loader&&(ky.prototype.loader.call(this,t),this._resetRenderer()),this):this._loader},resize(){return this._autosize=1,this.touch(wO(this,"autosize"))},_resetRenderer(){this._renderer&&(this._renderer=null,this.initialize(this._el,this._elBind))},_resizeView:CQe,addEventListener(t,e,n){let r=e;return n&&n.trap===!1||(r=Mk(this,e),r.raw=e),this._handler.on(t,r),this},removeEventListener(t,e){for(var n=this._handler.handlers(t),r=n.length,i,s;--r>=0;)if(s=n[r].type,i=n[r].handler,t===s&&(e===i||e===i.raw)){this._handler.off(s,i);break}return this},addResizeListener(t){const e=this._resizeListeners;return e.indexOf(t)<0&&e.push(t),this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);return n>=0&&e.splice(n,1),this},addSignalListener(t,e){return cie(this,t,wO(this,t),e)},removeSignalListener(t,e){return fie(this,wO(this,t),e)},addDataListener(t,e){return cie(this,t,RO(this,t).values,e)},removeDataListener(t,e){return fie(this,RO(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=Pk(this,null);this._globalCursor=!!t,e&&Pk(this,e)}return this}else return this._globalCursor},preventDefault(t){return arguments.length?(this._preventDefault=t,this):this._preventDefault},timer:NQe,events:Zze,finalize:tQe,hover:eQe,data:qze,change:OO,insert:Hze,remove:zze,scale:vQe,initialize:pQe,toImageURL:mQe,toCanvas:EQe,toSVG:AQe,getState:bQe,setState:OQe});const LQe="view",LO="[",IO="]",xie="{",die="}",IQe=":",hie=",",$Qe="@",BQe=">",kQe=/[[\]{}]/,PQe={"*":1,arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1};let pie,gie;function hd(t,e,n){return pie=e||LQe,gie=n||PQe,mie(t.trim()).map(Hk)}function MQe(t){return gie[t]}function r3(t,e,n,r,i){const s=t.length;let o=0,u;for(;e<s;++e){if(u=t[e],!o&&u===n)return e;i&&i.indexOf(u)>=0?--o:r&&r.indexOf(u)>=0&&++o}return e}function mie(t){const e=[],n=t.length;let r=0,i=0;for(;i<n;)i=r3(t,i,hie,LO+xie,IO+die),e.push(t.substring(r,i).trim()),r=++i;if(e.length===0)throw"Empty event selector: "+t;return e}function Hk(t){return t[0]==="["?jQe(t):UQe(t)}function jQe(t){const e=t.length;let n=1,r;if(n=r3(t,n,IO,LO,IO),n===e)throw"Empty between selector: "+t;if(r=mie(t.substring(1,n)),r.length!==2)throw"Between selector must have two elements: "+t;if(t=t.slice(n+1).trim(),t[0]!==BQe)throw"Expected '>' after between selector: "+t;r=r.map(Hk);const i=Hk(t.slice(1).trim());return i.between?{between:r,stream:i}:(i.between=r,i)}function UQe(t){const e={source:pie},n=[];let r=[0,0],i=0,s=0,o=t.length,u=0,a,l;if(t[o-1]===die){if(u=t.lastIndexOf(xie),u>=0){try{r=qQe(t.substring(u+1,o-1))}catch{throw"Invalid throttle specification: "+t}t=t.slice(0,u).trim(),o=t.length}else throw"Unmatched right brace: "+t;u=0}if(!o)throw t;if(t[0]===$Qe&&(i=++u),a=r3(t,u,IQe),a<o&&(n.push(t.substring(s,a).trim()),s=u=++a),u=r3(t,u,LO),u===o)n.push(t.substring(s,o).trim());else if(n.push(t.substring(s,u).trim()),l=[],s=++u,s===o)throw"Unmatched left bracket: "+t;for(;u<o;){if(u=r3(t,u,IO),u===o)throw"Unmatched left bracket: "+t;if(l.push(t.substring(s,u).trim()),u<o-1&&t[++u]!==LO)throw"Expected left bracket: "+t;s=++u}if(!(o=n.length)||kQe.test(n[o-1]))throw"Invalid event selector: "+t;return o>1?(e.type=n[1],i?e.markname=n[0].slice(1):MQe(n[0])?e.marktype=n[0]:e.source=n[0]):e.type=n[0],e.type.slice(-1)==="!"&&(e.consume=!0,e.type=e.type.slice(0,-1)),l!=null&&(e.filter=l),r[0]&&(e.throttle=r[0]),r[1]&&(e.debounce=r[1]),e}function qQe(t){const e=t.split(hie);if(!t.length||e.length>2)throw t;return e.map(n=>{const r=+n;if(r!==r)throw t;return r})}function HQe(t){return Qe(t)?t:{type:t||"pad"}}const i3=t=>+t||0,zQe=t=>({top:t,bottom:t,left:t,right:t});function QQe(t){return Qe(t)?t.signal?t:{top:i3(t.top),bottom:i3(t.bottom),left:i3(t.left),right:i3(t.right)}:zQe(i3(t))}const Sr=t=>Qe(t)&&!Ce(t)?ct({},t):{value:t};function yie(t,e,n,r){return n!=null?(Qe(n)&&!Ce(n)||Ce(n)&&n.length&&Qe(n[0])?t.update[e]=n:t[r||"enter"][e]={value:n},1):0}function Br(t,e,n){for(const r in e)yie(t,r,e[r]);for(const r in n)yie(t,r,n[r],"update")}function E2(t,e,n){for(const r in e)n&&Je(n,r)||(t[r]=ct(t[r]||{},e[r]));return t}function A2(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const zk="mark",Qk="frame",Gk="scope",GQe="axis",WQe="axis-domain",VQe="axis-grid",YQe="axis-label",KQe="axis-tick",XQe="axis-title",JQe="legend",ZQe="legend-band",eGe="legend-entry",tGe="legend-gradient",Eie="legend-label",nGe="legend-symbol",rGe="legend-title",iGe="title",sGe="title-text",oGe="title-subtitle";function uGe(t,e,n,r,i){const s={},o={};let u,a,l,c;a="lineBreak",e==="text"&&i[a]!=null&&!A2(a,t)&&Wk(s,a,i[a]),(n=="legend"||String(n).startsWith("axis"))&&(n=null),c=n===Qk?i.group:n===zk?ct({},i.mark,i[e]):null;for(a in c)l=A2(a,t)||(a==="fill"||a==="stroke")&&(A2("fill",t)||A2("stroke",t)),l||Wk(s,a,c[a]);Pe(r).forEach(f=>{const x=i.style&&i.style[f];for(const h in x)A2(h,t)||Wk(s,h,x[h])}),t=ct({},t);for(a in s)c=s[a],c.signal?(u=u||{})[a]=c:o[a]=c;return t.enter=ct(o,t.enter),u&&(t.update=ct(u,t.update)),t}function Wk(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Aie=t=>je(t)?Fe(t):t.signal?`(${t.signal})`:Sie(t);function $O(t){if(t.gradient!=null)return lGe(t);let e=t.signal?`(${t.signal})`:t.color?aGe(t.color):t.field!=null?Sie(t.field):t.value!==void 0?Fe(t.value):void 0;return t.scale!=null&&(e=cGe(t,e)),e===void 0&&(e=null),t.exponent!=null&&(e=`pow(${e},${kO(t.exponent)})`),t.mult!=null&&(e+=`*${kO(t.mult)}`),t.offset!=null&&(e+=`+${kO(t.offset)}`),t.round&&(e=`round(${e})`),e}const BO=(t,e,n,r)=>`(${t}(${[e,n,r].map($O).join(",")})+'')`;function aGe(t){return t.c?BO("hcl",t.h,t.c,t.l):t.h||t.s?BO("hsl",t.h,t.s,t.l):t.l||t.a?BO("lab",t.l,t.a,t.b):t.r||t.g||t.b?BO("rgb",t.r,t.g,t.b):null}function lGe(t){const e=[t.start,t.stop,t.count].map(n=>n==null?null:Fe(n));for(;e.length&&_t(e)==null;)e.pop();return e.unshift(Aie(t.gradient)),`gradient(${e.join(",")})`}function kO(t){return Qe(t)?"("+$O(t)+")":t}function Sie(t){return vie(Qe(t)?t:{datum:t})}function vie(t){let e,n,r;if(t.signal)e="datum",r=t.signal;else if(t.group||t.parent){for(n=Math.max(1,t.level||1),e="item";n-- >0;)e+=".mark.group";t.parent?(r=t.parent,e+=".datum"):r=t.group}else t.datum?(e="datum",r=t.datum):_e("Invalid field reference: "+Fe(t));return t.signal||(r=je(r)?yl(r).map(Fe).join("]["):vie(r)),e+"["+r+"]"}function cGe(t,e){const n=Aie(t.scale);return t.range!=null?e=`lerp(_range(${n}), ${+t.range})`:(e!==void 0&&(e=`_scale(${n}, ${e})`),t.band&&(e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band==1?"":"*"+kO(t.band)),t.extra&&(e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`)),e==null&&(e="0")),e}function fGe(t){let e="";return t.forEach(n=>{const r=$O(n);e+=n.test?`(${n.test})?${r}:`:r}),_t(e)===":"&&(e+="null"),e}function _ie(t,e,n,r,i,s){const o={};s=s||{},s.encoders={$encode:o},t=uGe(t,e,n,r,i.config);for(const u in t)o[u]=xGe(t[u],e,s,i);return s}function xGe(t,e,n,r){const i={},s={};for(const o in t)t[o]!=null&&(i[o]=hGe(dGe(t[o]),r,n,s));return{$expr:{marktype:e,channels:i},$fields:Object.keys(s),$output:Object.keys(t)}}function dGe(t){return Ce(t)?fGe(t):$O(t)}function hGe(t,e,n,r){const i=Sa(t,e);return i.$fields.forEach(s=>r[s]=1),ct(n,i.$params),i.$expr}const pGe="outer",gGe=["value","update","init","react","bind"];function Cie(t,e){_e(t+' for "outer" push: '+Fe(e))}function bie(t,e){const n=t.name;if(t.push===pGe)e.signals[n]||Cie("No prior signal definition",n),gGe.forEach(r=>{t[r]!==void 0&&Cie("Invalid property ",r)});else{const r=e.addSignal(n,t.value);t.react===!1&&(r.react=!1),t.bind&&e.addBinding(n,t.bind)}}function Vk(t,e,n,r){this.id=-1,this.type=t,this.value=e,this.params=n,r&&(this.parent=r)}function PO(t,e,n,r){return new Vk(t,e,n,r)}function MO(t,e){return PO("operator",t,e)}function Xe(t){const e={$ref:t.id};return t.id<0&&(t.refs=t.refs||[]).push(e),e}function s3(t,e){return e?{$field:t,$name:e}:{$field:t}}const Yk=s3("key");function Tie(t,e){return{$compare:t,$order:e}}function mGe(t,e){const n={$key:t};return e&&(n.$flat=!0),n}const yGe="ascending",EGe="descending";function AGe(t){return Qe(t)?(t.order===EGe?"-":"+")+jO(t.op,t.field):""}function jO(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const Kk="scope",Xk="view";function nr(t){return t&&t.signal}function SGe(t){return t&&t.expr}function UO(t){if(nr(t))return!0;if(Qe(t)){for(const e in t)if(UO(t[e]))return!0}return!1}function su(t,e){return t??e}function pd(t){return t&&t.signal||t}const Rie="timer";function o3(t,e){return(t.merge?_Ge:t.stream?CGe:t.type?bGe:_e("Invalid stream specification: "+Fe(t)))(t,e)}function vGe(t){return t===Kk?Xk:t||Xk}function _Ge(t,e){const n=t.merge.map(i=>o3(i,e)),r=Jk({merge:n},t,e);return e.addStream(r).id}function CGe(t,e){const n=o3(t.stream,e),r=Jk({stream:n},t,e);return e.addStream(r).id}function bGe(t,e){let n;t.type===Rie?(n=e.event(Rie,t.throttle),t={between:t.between,filter:t.filter}):n=e.event(vGe(t.source),t.type);const r=Jk({stream:n},t,e);return Object.keys(r).length===1?n:e.addStream(r).id}function Jk(t,e,n){let r=e.between;return r&&(r.length!==2&&_e('Stream "between" parameter must have 2 entries: '+Fe(e)),t.between=[o3(r[0],n),o3(r[1],n)]),r=e.filter?[].concat(e.filter):[],(e.marktype||e.markname||e.markrole)&&r.push(TGe(e.marktype,e.markname,e.markrole)),e.source===Kk&&r.push("inScope(event.item)"),r.length&&(t.filter=Sa("("+r.join(")&&(")+")",n).$expr),(r=e.throttle)!=null&&(t.throttle=+r),(r=e.debounce)!=null&&(t.debounce=+r),e.consume&&(t.consume=!0),t}function TGe(t,e,n){const r="event.item";return r+(t&&t!=="*"?"&&"+r+".mark.marktype==='"+t+"'":"")+(n?"&&"+r+".mark.role==='"+n+"'":"")+(e?"&&"+r+".mark.name==='"+e+"'":"")}const RGe={code:"_.$value",ast:{type:"Identifier",value:"value"}};function OGe(t,e,n){const r=t.encode,i={target:n};let s=t.events,o=t.update,u=[];s||_e("Signal update missing events specification."),je(s)&&(s=hd(s,e.isSubscope()?Kk:Xk)),s=Pe(s).filter(a=>a.signal||a.scale?(u.push(a),0):1),u.length>1&&(u=[DGe(u)]),s.length&&u.push(s.length>1?{merge:s}:s[0]),r!=null&&(o&&_e("Signal encode and update are mutually exclusive."),o="encode(item(),"+Fe(r)+")"),i.update=je(o)?Sa(o,e):o.expr!=null?Sa(o.expr,e):o.value!=null?o.value:o.signal!=null?{$expr:RGe,$params:{$value:e.signalRef(o.signal)}}:_e("Invalid signal update specification."),t.force&&(i.options={force:!0}),u.forEach(a=>e.addUpdate(ct(NGe(a,e),i)))}function NGe(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):o3(t,e)}}function DGe(t){return{signal:"["+t.map(e=>e.scale?'scale("'+e.scale+'")':e.signal)+"]"}}function FGe(t,e){const n=e.getSignal(t.name);let r=t.update;t.init&&(r?_e("Signals can not include both init and update expressions."):(r=t.init,n.initonly=!0)),r&&(r=Sa(r,e),n.update=r.$expr,n.params=r.$params),t.on&&t.on.forEach(i=>OGe(i,e,n.id))}const jt=t=>(e,n,r)=>PO(t,n,e||void 0,r),Oie=jt("aggregate"),wGe=jt("axisticks"),Nie=jt("bound"),ou=jt("collect"),Die=jt("compare"),LGe=jt("datajoin"),Fie=jt("encode"),IGe=jt("expression"),$Ge=jt("facet"),BGe=jt("field"),kGe=jt("key"),PGe=jt("legendentries"),MGe=jt("load"),jGe=jt("mark"),UGe=jt("multiextent"),qGe=jt("multivalues"),HGe=jt("overlap"),zGe=jt("params"),wie=jt("prefacet"),QGe=jt("projection"),GGe=jt("proxy"),WGe=jt("relay"),Lie=jt("render"),VGe=jt("scale"),gd=jt("sieve"),YGe=jt("sortitems"),Iie=jt("viewlayout"),KGe=jt("values");let XGe=0;const $ie={min:"min",max:"max",count:"sum"};function JGe(t,e){const n=t.type||"linear";gJ(n)||_e("Unrecognized scale type: "+Fe(n)),e.addScale(t.name,{type:n,domain:void 0})}function ZGe(t,e){const n=e.getScale(t.name).params;let r;n.domain=Bie(t.domain,t,e),t.range!=null&&(n.range=Pie(t,e,n)),t.interpolate!=null&&lWe(t.interpolate,n),t.nice!=null&&(n.nice=aWe(t.nice)),t.bins!=null&&(n.bins=uWe(t.bins,e));for(r in t)Je(n,r)||r==="name"||(n[r]=Ao(t[r],e))}function Ao(t,e){return Qe(t)?t.signal?e.signalRef(t.signal):_e("Unsupported object: "+Fe(t)):t}function qO(t,e){return t.signal?e.signalRef(t.signal):t.map(n=>Ao(n,e))}function HO(t){_e("Can not find data set: "+Fe(t))}function Bie(t,e,n){if(!t){(e.domainMin!=null||e.domainMax!=null)&&_e("No scale domain defined for domainMin/domainMax to override.");return}return t.signal?n.signalRef(t.signal):(Ce(t)?eWe:t.fields?nWe:tWe)(t,e,n)}function eWe(t,e,n){return t.map(r=>Ao(r,n))}function tWe(t,e,n){const r=n.getData(t.data);return r||HO(t.data),Xp(e.type)?r.valuesRef(n,t.field,kie(t.sort,!1)):EJ(e.type)?r.domainRef(n,t.field):r.extentRef(n,t.field)}function nWe(t,e,n){const r=t.data,i=t.fields.reduce((s,o)=>(o=je(o)?{data:r,field:o}:Ce(o)||o.signal?rWe(o,n):o,s.push(o),s),[]);return(Xp(e.type)?iWe:EJ(e.type)?sWe:oWe)(t,n,i)}function rWe(t,e){const n="_:vega:_"+XGe++,r=ou({});if(Ce(t))r.value={$ingest:t};else if(t.signal){const i="setdata("+Fe(n)+","+t.signal+")";r.params.input=e.signalRef(i)}return e.addDataPipeline(n,[r,gd({})]),{data:n,field:"data"}}function iWe(t,e,n){const r=kie(t.sort,!0);let i,s;const o=n.map(l=>{const c=e.getData(l.data);return c||HO(l.data),c.countsRef(e,l.field,r)}),u={groupby:Yk,pulse:o};r&&(i=r.op||"count",s=r.field?jO(i,r.field):"count",u.ops=[$ie[i]],u.fields=[e.fieldRef(s)],u.as=[s]),i=e.add(Oie(u));const a=e.add(ou({pulse:Xe(i)}));return s=e.add(KGe({field:Yk,sort:e.sortRef(r),pulse:Xe(a)})),Xe(s)}function kie(t,e){return t&&(!t.field&&!t.op?Qe(t)?t.field="key":t={field:"key"}:!t.field&&t.op!=="count"?_e("No field provided for sort aggregate op: "+t.op):e&&t.field&&t.op&&!$ie[t.op]&&_e("Multiple domain scales can not be sorted using "+t.op)),t}function sWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||HO(i.data),s.domainRef(e,i.field)});return Xe(e.add(qGe({values:r})))}function oWe(t,e,n){const r=n.map(i=>{const s=e.getData(i.data);return s||HO(i.data),s.extentRef(e,i.field)});return Xe(e.add(UGe({extents:r})))}function uWe(t,e){return t.signal||Ce(t)?qO(t,e):e.objectProperty(t)}function aWe(t){return Qe(t)?{interval:Ao(t.interval),step:Ao(t.step)}:Ao(t)}function lWe(t,e){e.interpolate=Ao(t.type||t),t.gamma!=null&&(e.interpolateGamma=Ao(t.gamma))}function Pie(t,e,n){const r=e.config.range;let i=t.range;if(i.signal)return e.signalRef(i.signal);if(je(i)){if(r&&Je(r,i))return t=ct({},t,{range:r[i]}),Pie(t,e,n);i==="width"?i=[0,{signal:"width"}]:i==="height"?i=Xp(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]:_e("Unrecognized scale range value: "+Fe(i))}else if(i.scheme){n.scheme=Ce(i.scheme)?qO(i.scheme,e):Ao(i.scheme,e),i.extent&&(n.schemeExtent=qO(i.extent,e)),i.count&&(n.schemeCount=Ao(i.count,e));return}else if(i.step){n.rangeStep=Ao(i.step,e);return}else{if(Xp(t.type)&&!Ce(i))return Bie(i,t,e);Ce(i)||_e("Unsupported range type: "+Fe(i))}return i.map(s=>(Ce(s)?qO:Ao)(s,e))}function cWe(t,e){const n=e.config.projection||{},r={};for(const i in t)i!=="name"&&(r[i]=Zk(t[i],i,e));for(const i in n)r[i]==null&&(r[i]=Zk(n[i],i,e));e.addProjection(t.name,r)}function Zk(t,e,n){return Ce(t)?t.map(r=>Zk(r,e,n)):Qe(t)?t.signal?n.signalRef(t.signal):e==="fit"?t:_e("Unsupported parameter object: "+Fe(t)):t}const uu="top",S2="left",v2="right",Nc="bottom",Mie="center",fWe="vertical",xWe="start",dWe="middle",hWe="end",e7="index",t7="label",pWe="offset",_2="perc",gWe="perc2",So="value",u3="guide-label",n7="guide-title",mWe="group-title",yWe="group-subtitle",jie="symbol",zO="gradient",r7="discrete",i7="size",s7=[i7,"shape","fill","stroke","strokeWidth","strokeDash","opacity"],a3={name:1,style:1,interactive:1},Ct={value:0},vo={value:1},QO="group",Uie="rect",o7="rule",EWe="symbol",md="text";function l3(t){return t.type=QO,t.interactive=t.interactive||!1,t}function xs(t,e){const n=(r,i)=>su(t[r],su(e[r],i));return n.isVertical=r=>fWe===su(t.direction,e.direction||(r?e.symbolDirection:e.gradientDirection)),n.gradientLength=()=>su(t.gradientLength,e.gradientLength||e.gradientWidth),n.gradientThickness=()=>su(t.gradientThickness,e.gradientThickness||e.gradientHeight),n.entryColumns=()=>su(t.columns,su(e.columns,+n.isVertical(!0))),n}function qie(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function AWe(t,e,n){const r=e.config.style[n];return r&&r[t]}function GO(t,e,n){return`item.anchor === '${xWe}' ? ${t} : item.anchor === '${hWe}' ? ${e} : ${n}`}const u7=GO(Fe(S2),Fe(v2),Fe(Mie));function SWe(t){const e=t("tickBand");let n=t("tickOffset"),r,i;return e?e.signal?(r={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`},i={signal:`(${e.signal}) === 'extent'`},Qe(n)||(n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`})):e==="extent"?(r=1,i=!0,n=0):(r=.5,i=!1):(r=t("bandPosition"),i=t("tickExtra")),{extra:i,band:r,offset:n}}function Hie(t,e){return e?t?Qe(t)?Object.assign({},t,{offset:Hie(t.offset,e)}):{value:t,offset:e}:e:t}function Us(t,e){return e?(t.name=e.name,t.style=e.style||t.style,t.interactive=!!e.interactive,t.encode=E2(t.encode,e,a3)):t.interactive=!1,t}function vWe(t,e,n,r){const i=xs(t,n),s=i.isVertical(),o=i.gradientThickness(),u=i.gradientLength();let a,l,c,f,x;s?(l=[0,1],c=[0,0],f=o,x=u):(l=[0,0],c=[1,0],f=u,x=o);const h={enter:a={opacity:Ct,x:Ct,y:Ct,width:Sr(f),height:Sr(x)},update:ct({},a,{opacity:vo,fill:{gradient:e,start:l,stop:c}}),exit:{opacity:Ct}};return Br(h,{stroke:i("gradientStrokeColor"),strokeWidth:i("gradientStrokeWidth")},{opacity:i("gradientOpacity")}),Us({type:Uie,role:tGe,encode:h},r)}function _We(t,e,n,r,i){const s=xs(t,n),o=s.isVertical(),u=s.gradientThickness(),a=s.gradientLength();let l,c,f,x,h="";o?(l="y",f="y2",c="x",x="width",h="1-"):(l="x",f="x2",c="y",x="height");const p={opacity:Ct,fill:{scale:e,field:So}};p[l]={signal:h+"datum."+_2,mult:a},p[c]=Ct,p[f]={signal:h+"datum."+gWe,mult:a},p[x]=Sr(u);const m={enter:p,update:ct({},p,{opacity:vo}),exit:{opacity:Ct}};return Br(m,{stroke:s("gradientStrokeColor"),strokeWidth:s("gradientStrokeWidth")},{opacity:s("gradientOpacity")}),Us({type:Uie,role:ZQe,key:So,from:i,encode:m},r)}const CWe=`datum.${_2}<=0?"${S2}":datum.${_2}>=1?"${v2}":"${Mie}"`,bWe=`datum.${_2}<=0?"${Nc}":datum.${_2}>=1?"${uu}":"${dWe}"`;function zie(t,e,n,r){const i=xs(t,e),s=i.isVertical(),o=Sr(i.gradientThickness()),u=i.gradientLength();let a=i("labelOverlap"),l,c,f,x,h="";const p={enter:l={opacity:Ct},update:c={opacity:vo,text:{field:t7}},exit:{opacity:Ct}};return Br(p,{fill:i("labelColor"),fillOpacity:i("labelOpacity"),font:i("labelFont"),fontSize:i("labelFontSize"),fontStyle:i("labelFontStyle"),fontWeight:i("labelFontWeight"),limit:su(t.labelLimit,e.gradientLabelLimit)}),s?(l.align={value:"left"},l.baseline=c.baseline={signal:bWe},f="y",x="x",h="1-"):(l.align=c.align={signal:CWe},l.baseline={value:"top"},f="x",x="y"),l[f]=c[f]={signal:h+"datum."+_2,mult:u},l[x]=c[x]=o,o.offset=su(t.labelOffset,e.gradientLabelOffset)||0,a=a?{separation:i("labelSeparation"),method:a,order:"datum."+e7}:void 0,Us({type:md,role:Eie,style:u3,key:So,from:r,encode:p,overlap:a},n)}function TWe(t,e,n,r,i){const s=xs(t,e),o=n.entries,u=!!(o&&o.interactive),a=o?o.name:void 0,l=s("clipHeight"),c=s("symbolOffset"),f={data:"value"},x=`(${i}) ? datum.${pWe} : datum.${i7}`,h=l?Sr(l):{field:i7},p=`datum.${e7}`,m=`max(1, ${i})`;let g,y,E,A,S;h.mult=.5,g={enter:y={opacity:Ct,x:{signal:x,mult:.5,offset:c},y:h},update:E={opacity:vo,x:y.x,y:y.y},exit:{opacity:Ct}};let v=null,_=null;t.fill||(v=e.symbolBaseFillColor,_=e.symbolBaseStrokeColor),Br(g,{fill:s("symbolFillColor",v),shape:s("symbolType"),size:s("symbolSize"),stroke:s("symbolStrokeColor",_),strokeDash:s("symbolDash"),strokeDashOffset:s("symbolDashOffset"),strokeWidth:s("symbolStrokeWidth")},{opacity:s("symbolOpacity")}),s7.forEach(R=>{t[R]&&(E[R]=y[R]={scale:t[R],field:So})});const C=Us({type:EWe,role:nGe,key:So,from:f,clip:l?!0:void 0,encode:g},n.symbols),b=Sr(c);b.offset=s("labelOffset"),g={enter:y={opacity:Ct,x:{signal:x,offset:b},y:h},update:E={opacity:vo,text:{field:t7},x:y.x,y:y.y},exit:{opacity:Ct}},Br(g,{align:s("labelAlign"),baseline:s("labelBaseline"),fill:s("labelColor"),fillOpacity:s("labelOpacity"),font:s("labelFont"),fontSize:s("labelFontSize"),fontStyle:s("labelFontStyle"),fontWeight:s("labelFontWeight"),limit:s("labelLimit")});const O=Us({type:md,role:Eie,style:u3,key:So,from:f,encode:g},n.labels);return g={enter:{noBound:{value:!l},width:Ct,height:l?Sr(l):Ct,opacity:Ct},exit:{opacity:Ct},update:E={opacity:vo,row:{signal:null},column:{signal:null}}},s.isVertical(!0)?(A=`ceil(item.mark.items.length / ${m})`,E.row.signal=`${p}%${A}`,E.column.signal=`floor(${p} / ${A})`,S={field:["row",p]}):(E.row.signal=`floor(${p} / ${m})`,E.column.signal=`${p} % ${m}`,S={field:p}),E.column.signal=`(${i})?${E.column.signal}:${p}`,r={facet:{data:r,name:"value",groupby:e7}},l3({role:Gk,from:r,encode:E2(g,o,a3),marks:[C,O],name:a,interactive:u,sort:S})}function RWe(t,e){const n=xs(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:!0,column:!1},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const a7='item.orient === "left"',l7='item.orient === "right"',WO=`(${a7} || ${l7})`,OWe=`datum.vgrad && ${WO}`,NWe=GO('"top"','"bottom"','"middle"'),DWe=GO('"right"','"left"','"center"'),FWe=`datum.vgrad && ${l7} ? (${DWe}) : (${WO} && !(datum.vgrad && ${a7})) ? "left" : ${u7}`,wWe=`item._anchor || (${WO} ? "middle" : "start")`,LWe=`${OWe} ? (${a7} ? -90 : 90) : 0`,IWe=`${WO} ? (datum.vgrad ? (${l7} ? "bottom" : "top") : ${NWe}) : "top"`;function $We(t,e,n,r){const i=xs(t,e),s={enter:{opacity:Ct},update:{opacity:vo,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:Ct}};return Br(s,{orient:i("titleOrient"),_anchor:i("titleAnchor"),anchor:{signal:wWe},angle:{signal:LWe},align:{signal:FWe},baseline:{signal:IWe},text:t.title,fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),baseline:i("titleBaseline")}),Us({type:md,role:rGe,style:n7,from:r,encode:s},n)}function BWe(t,e){let n;return Qe(t)&&(t.signal?n=t.signal:t.path?n="pathShape("+Qie(t.path)+")":t.sphere&&(n="geoShape("+Qie(t.sphere)+', {type: "Sphere"})')),n?e.signalRef(n):!!t}function Qie(t){return Qe(t)&&t.signal?t.signal:Fe(t)}function Gie(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===QO?Gk:e||zk}function kWe(t){return{marktype:t.type,name:t.name||void 0,role:t.role||Gie(t),zindex:+t.zindex||void 0,aria:t.aria,description:t.description}}function PWe(t,e){return t&&t.signal?e.signalRef(t.signal):t!==!1}function c7(t,e){const n=O5e(t.type);n||_e("Unrecognized transform type: "+Fe(t.type));const r=PO(n.type.toLowerCase(),null,Wie(n,t,e));return t.signal&&e.addSignal(t.signal,e.proxy(r)),r.metadata=n.metadata||{},r}function Wie(t,e,n){const r={},i=t.params.length;for(let s=0;s<i;++s){const o=t.params[s];r[o.name]=MWe(o,e,n)}return r}function MWe(t,e,n){const r=t.type,i=e[t.name];if(r==="index")return jWe(t,e,n);if(i===void 0){t.required&&_e("Missing required "+Fe(e.type)+" parameter: "+Fe(t.name));return}else{if(r==="param")return UWe(t,e,n);if(r==="projection")return n.projectionRef(e[t.name])}return t.array&&!nr(i)?i.map(s=>Vie(t,s,n)):Vie(t,i,n)}function Vie(t,e,n){const r=t.type;if(nr(e))return Kie(r)?_e("Expression references can not be signals."):f7(r)?n.fieldRef(e):Xie(r)?n.compareRef(e):n.signalRef(e.signal);{const i=t.expr||f7(r);return i&&qWe(e)?n.exprRef(e.expr,e.as):i&&HWe(e)?s3(e.field,e.as):Kie(r)?Sa(e,n):zWe(r)?Xe(n.getData(e).values):f7(r)?s3(e):Xie(r)?n.compareRef(e):e}}function jWe(t,e,n){return je(e.from)||_e('Lookup "from" parameter must be a string literal.'),n.getData(e.from).lookupRef(n,e.key)}function UWe(t,e,n){const r=e[t.name];return t.array?(Ce(r)||_e("Expected an array of sub-parameters. Instead: "+Fe(r)),r.map(i=>Yie(t,i,n))):Yie(t,r,n)}function Yie(t,e,n){const r=t.params.length;let i;for(let o=0;o<r;++o){i=t.params[o];for(const u in i.key)if(i.key[u]!==e[u]){i=null;break}if(i)break}i||_e("Unsupported parameter: "+Fe(e));const s=ct(Wie(i,e,n),i.key);return Xe(n.add(zGe(s)))}const qWe=t=>t&&t.expr,HWe=t=>t&&t.field,zWe=t=>t==="data",Kie=t=>t==="expr",f7=t=>t==="field",Xie=t=>t==="compare";function QWe(t,e,n){let r,i,s,o,u;return t?(r=t.facet)&&(e||_e("Only group marks can be faceted."),r.field!=null?o=u=VO(r,n):(t.data?u=Xe(n.getData(t.data).aggregate):(s=c7(ct({type:"aggregate",groupby:Pe(r.groupby)},r.aggregate),n),s.params.key=n.keyRef(r.groupby),s.params.pulse=VO(r,n),o=u=Xe(n.add(s))),i=n.keyRef(r.groupby,!0))):o=Xe(n.add(ou(null,[{}]))),o||(o=VO(t,n)),{key:i,pulse:o,parent:u}}function VO(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:Xe(e.getData(t.data).output)}function yd(t,e,n,r,i){this.scope=t,this.input=e,this.output=n,this.values=r,this.aggregate=i,this.index={}}yd.fromEntries=function(t,e){const n=e.length,r=e[n-1],i=e[n-2];let s=e[0],o=null,u=1;for(s&&s.type==="load"&&(s=e[1]),t.add(e[0]);u<n;++u)e[u].params.pulse=Xe(e[u-1]),t.add(e[u]),e[u].type==="aggregate"&&(o=e[u]);return new yd(t,s,i,r,o)};function Jie(t){return je(t)?t:null}function Zie(t,e,n){const r=jO(n.op,n.field);let i;if(e.ops){for(let s=0,o=e.as.length;s<o;++s)if(e.as[s]===r)return}else e.ops=["count"],e.fields=[null],e.as=["count"];n.op&&(e.ops.push((i=n.op.signal)?t.signalRef(i):n.op),e.fields.push(t.fieldRef(n.field)),e.as.push(r))}function c3(t,e,n,r,i,s,o){const u=e[n]||(e[n]={}),a=AGe(s);let l=Jie(i),c,f;if(l!=null&&(t=e.scope,l=l+(a?"|"+a:""),c=u[l]),!c){const x=s?{field:Yk,pulse:e.countsRef(t,i,s)}:{field:t.fieldRef(i),pulse:Xe(e.output)};a&&(x.sort=t.sortRef(s)),f=t.add(PO(r,void 0,x)),o&&(e.index[i]=f),c=Xe(f),l!=null&&(u[l]=c)}return c}yd.prototype={countsRef(t,e,n){const r=this,i=r.counts||(r.counts={}),s=Jie(e);let o,u,a;return s!=null&&(t=r.scope,o=i[s]),o?n&&n.field&&Zie(t,o.agg.params,n):(a={groupby:t.fieldRef(e,"key"),pulse:Xe(r.output)},n&&n.field&&Zie(t,a,n),u=t.add(Oie(a)),o=t.add(ou({pulse:Xe(u)})),o={agg:u,ref:Xe(o)},s!=null&&(i[s]=o)),o.ref},tuplesRef(){return Xe(this.values)},extentRef(t,e){return c3(t,this,"extent","extent",e,!1)},domainRef(t,e){return c3(t,this,"domain","values",e,!1)},valuesRef(t,e,n){return c3(t,this,"vals","values",e,n||!0)},lookupRef(t,e){return c3(t,this,"lookup","tupleindex",e,!1)},indataRef(t,e){return c3(t,this,"indata","tupleindex",e,!0,!0)}};function GWe(t,e,n){const r=t.from.facet,i=r.name,s=VO(r,e);let o;r.name||_e("Facet must have a name: "+Fe(r)),r.data||_e("Facet must reference a data set: "+Fe(r)),r.field?o=e.add(wie({field:e.fieldRef(r.field),pulse:s})):r.groupby?o=e.add($Ge({key:e.keyRef(r.groupby),group:Xe(e.proxy(n.parent)),pulse:s})):_e("Facet must specify groupby or field: "+Fe(r));const u=e.fork(),a=u.add(ou()),l=u.add(gd({pulse:Xe(a)}));u.addData(i,new yd(u,a,a,l)),u.addSignal("parent",null),o.params.subflow={$subflow:u.parse(t).toRuntime()}}function WWe(t,e,n){const r=e.add(wie({pulse:n.pulse})),i=e.fork();i.add(gd()),i.addSignal("parent",null),r.params.subflow={$subflow:i.parse(t).toRuntime()}}function ese(t,e,n){const r=t.remove,i=t.insert,s=t.toggle,o=t.modify,u=t.values,a=e.add(MO()),l="if("+t.trigger+',modify("'+n+'",'+[i,r,s,o,u].map(f=>f??"null").join(",")+"),0)",c=Sa(l,e);a.update=c.$expr,a.params=c.$params}function YO(t,e){const n=Gie(t),r=t.type===QO,i=t.from&&t.from.facet,s=t.overlap;let o=t.layout||n===Gk||n===Qk,u,a,l,c,f,x,h;const p=n===zk||o||i,m=QWe(t.from,r,e);a=e.add(LGe({key:m.key||(t.key?s3(t.key):void 0),pulse:m.pulse,clean:!r}));const g=Xe(a);a=l=e.add(ou({pulse:g})),a=e.add(jGe({markdef:kWe(t),interactive:PWe(t.interactive,e),clip:BWe(t.clip,e),context:{$context:!0},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:Xe(a)}));const y=Xe(a);a=c=e.add(Fie(_ie(t.encode,t.type,n,t.style,e,{mod:!1,pulse:y}))),a.params.parent=e.encode(),t.transform&&t.transform.forEach(_=>{const C=c7(_,e),b=C.metadata;(b.generates||b.changes)&&_e("Mark transforms should not generate new data."),b.nomod||(c.params.mod=!0),C.params.pulse=Xe(a),e.add(a=C)}),t.sort&&(a=e.add(YGe({sort:e.compareRef(t.sort),pulse:Xe(a)})));const E=Xe(a);(i||o)&&(o=e.add(Iie({layout:e.objectProperty(t.layout),legends:e.legends,mark:y,pulse:E})),x=Xe(o));const A=e.add(Nie({mark:y,pulse:x||E}));h=Xe(A),r&&(p&&(u=e.operators,u.pop(),o&&u.pop()),e.pushState(E,x||h,g),i?GWe(t,e,m):p?WWe(t,e,m):e.parse(t),e.popState(),p&&(o&&u.push(o),u.push(A))),s&&(h=VWe(s,h,e));const S=e.add(Lie({pulse:h})),v=e.add(gd({pulse:Xe(S)},void 0,e.parent()));t.name!=null&&(f=t.name,e.addData(f,new yd(e,l,S,v)),t.on&&t.on.forEach(_=>{(_.insert||_.remove||_.toggle)&&_e("Marks only support modify triggers."),ese(_,e,f)}))}function VWe(t,e,n){const r=t.method,i=t.bound,s=t.separation,o={separation:nr(s)?n.signalRef(s.signal):s,method:nr(r)?n.signalRef(r.signal):r,pulse:e};if(t.order&&(o.sort=n.compareRef({field:t.order})),i){const u=i.tolerance;o.boundTolerance=nr(u)?n.signalRef(u.signal):+u,o.boundScale=n.scaleRef(i.scale),o.boundOrient=i.orient}return Xe(n.add(HGe(o)))}function YWe(t,e){const n=e.config.legend,r=t.encode||{},i=xs(t,n),s=r.legend||{},o=s.name||void 0,u=s.interactive,a=s.style,l={};let c=0,f,x,h;s7.forEach(A=>t[A]?(l[A]=t[A],c=c||t[A]):0),c||_e("Missing valid scale for legend.");const p=KWe(t,e.scaleType(c)),m={title:t.title!=null,scales:l,type:p,vgrad:p!=="symbol"&&i.isVertical()},g=Xe(e.add(ou(null,[m]))),y={enter:{x:{value:0},y:{value:0}}},E=Xe(e.add(PGe(x={type:p,scale:e.scaleRef(c),count:e.objectProperty(i("tickCount")),limit:e.property(i("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));return p===zO?(h=[vWe(t,c,n,r.gradient),zie(t,n,r.labels,E)],x.count=x.count||e.signalRef(`max(2,2*floor((${pd(i.gradientLength())})/100))`)):p===r7?h=[_We(t,c,n,r.gradient,E),zie(t,n,r.labels,E)]:(f=RWe(t,n),h=[TWe(t,n,r,E,pd(f.columns))],x.size=ZWe(t,e,h[0].marks)),h=[l3({role:eGe,from:g,encode:y,marks:h,layout:f,interactive:u})],m.title&&h.push($We(t,n,r.title,g)),YO(l3({role:JQe,from:g,encode:E2(JWe(i,t,n),s,a3),marks:h,aria:i("aria"),description:i("description"),zindex:i("zindex"),name:o,interactive:u,style:a}),e)}function KWe(t,e){let n=t.type||jie;return!t.type&&XWe(t)===1&&(t.fill||t.stroke)&&(n=S$(e)?zO:v$(e)?r7:jie),n!==zO?n:v$(e)?r7:zO}function XWe(t){return s7.reduce((e,n)=>e+(t[n]?1:0),0)}function JWe(t,e,n){const r={enter:{},update:{}};return Br(r,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType}),r}function ZWe(t,e,n){const r=pd(tse("size",t,n)),i=pd(tse("strokeWidth",t,n)),s=pd(eVe(n[1].encode,e,u3));return Sa(`max(ceil(sqrt(${r})+${i}),${s})`,e)}function tse(t,e,n){return e[t]?`scale("${e[t]}",datum)`:qie(t,n[0].encode)}function eVe(t,e,n){return qie("fontSize",t)||AWe("fontSize",e,n)}const tVe=`item.orient==="${S2}"?-90:item.orient==="${v2}"?90:0`;function nVe(t,e){t=je(t)?{text:t}:t;const n=xs(t,e.config.title),r=t.encode||{},i=r.group||{},s=i.name||void 0,o=i.interactive,u=i.style,a=[],l={},c=Xe(e.add(ou(null,[l])));return a.push(sVe(t,n,rVe(t),c)),t.subtitle&&a.push(oVe(t,n,r.subtitle,c)),YO(l3({role:iGe,from:c,encode:iVe(n,i),marks:a,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:s,interactive:o,style:u}),e)}function rVe(t){const e=t.encode;return e&&e.title||ct({name:t.name,interactive:t.interactive,style:t.style},e)}function iVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:u7},angle:{signal:tVe},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")}),E2(n,e,a3)}function sVe(t,e,n,r){const i={value:0},s=t.text,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Us({type:md,role:sGe,style:mWe,from:r,encode:o},n)}function oVe(t,e,n,r){const i={value:0},s=t.subtitle,o={enter:{opacity:i},update:{opacity:{value:1}},exit:{opacity:i}};return Br(o,{text:s,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")}),Us({type:md,role:oGe,style:yWe,from:r,encode:o},n)}function uVe(t,e){const n=[];t.transform&&t.transform.forEach(r=>{n.push(c7(r,e))}),t.on&&t.on.forEach(r=>{ese(r,e,t.name)}),e.addDataPipeline(t.name,aVe(t,e,n))}function aVe(t,e,n){const r=[];let i=null,s=!1,o=!1,u,a,l,c,f;for(t.values?nr(t.values)||UO(t.format)?(r.push(nse(e,t)),r.push(i=Ed())):r.push(i=Ed({$ingest:t.values,$format:t.format})):t.url?UO(t.url)||UO(t.format)?(r.push(nse(e,t)),r.push(i=Ed())):r.push(i=Ed({$request:t.url,$format:t.format})):t.source&&(i=u=Pe(t.source).map(x=>Xe(e.getData(x).output)),r.push(null)),a=0,l=n.length;a<l;++a)c=n[a],f=c.metadata,!i&&!f.source&&r.push(i=Ed()),r.push(c),f.generates&&(o=!0),f.modifies&&!o&&(s=!0),f.source?i=c:f.changes&&(i=null);return u&&(l=u.length-1,r[0]=WGe({derive:s,pulse:l?u:u[0]}),(s||l)&&r.splice(1,0,Ed())),i||r.push(Ed()),r.push(gd({})),r}function Ed(t){const e=ou({},t);return e.metadata={source:!0},e}function nse(t,e){return MGe({url:e.url?t.property(e.url):void 0,async:e.async?t.property(e.async):void 0,values:e.values?t.property(e.values):void 0,format:t.objectProperty(e.format)})}const rse=t=>t===Nc||t===uu,KO=(t,e,n)=>nr(t)?xVe(t.signal,e,n):t===S2||t===uu?e:n,vr=(t,e,n)=>nr(t)?cVe(t.signal,e,n):rse(t)?e:n,au=(t,e,n)=>nr(t)?fVe(t.signal,e,n):rse(t)?n:e,ise=(t,e,n)=>nr(t)?dVe(t.signal,e,n):t===uu?{value:e}:{value:n},lVe=(t,e,n)=>nr(t)?hVe(t.signal,e,n):t===v2?{value:e}:{value:n},cVe=(t,e,n)=>sse(`${t} === '${uu}' || ${t} === '${Nc}'`,e,n),fVe=(t,e,n)=>sse(`${t} !== '${uu}' && ${t} !== '${Nc}'`,e,n),xVe=(t,e,n)=>x7(`${t} === '${S2}' || ${t} === '${uu}'`,e,n),dVe=(t,e,n)=>x7(`${t} === '${uu}'`,e,n),hVe=(t,e,n)=>x7(`${t} === '${v2}'`,e,n),sse=(t,e,n)=>(e=e!=null?Sr(e):e,n=n!=null?Sr(n):n,ose(e)&&ose(n)?(e=e?e.signal||Fe(e.value):null,n=n?n.signal||Fe(n.value):null,{signal:`${t} ? (${e}) : (${n})`}):[ct({test:t},e)].concat(n||[])),ose=t=>t==null||Object.keys(t).length===1,x7=(t,e,n)=>({signal:`${t} ? (${C2(e)}) : (${C2(n)})`}),pVe=(t,e,n,r,i)=>({signal:(r!=null?`${t} === '${S2}' ? (${C2(r)}) : `:"")+(n!=null?`${t} === '${Nc}' ? (${C2(n)}) : `:"")+(i!=null?`${t} === '${v2}' ? (${C2(i)}) : `:"")+(e!=null?`${t} === '${uu}' ? (${C2(e)}) : `:"")+"(null)"}),C2=t=>nr(t)?t.signal:t==null?null:Fe(t),gVe=(t,e)=>e===0?0:nr(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e},b2=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function T2(t,e,n,r){let i;if(e&&Je(e,t))return e[t];if(Je(n,t))return n[t];if(t.startsWith("title")){switch(t){case"titleColor":i="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":i=t[5].toLowerCase()+t.slice(6)}return r[n7][i]}else if(t.startsWith("label")){switch(t){case"labelColor":i="fill";break;case"labelFont":case"labelFontSize":i=t[5].toLowerCase()+t.slice(6)}return r[u3][i]}return null}function use(t){const e={};for(const n of t)if(n)for(const r in n)e[r]=1;return Object.keys(e)}function mVe(t,e){var n=e.config,r=n.style,i=n.axis,s=e.scaleType(t.scale)==="band"&&n.axisBand,o=t.orient,u,a,l;if(nr(o)){const f=use([n.axisX,n.axisY]),x=use([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);u={};for(l of f)u[l]=vr(o,T2(l,n.axisX,i,r),T2(l,n.axisY,i,r));a={};for(l of x)a[l]=pVe(o.signal,T2(l,n.axisTop,i,r),T2(l,n.axisBottom,i,r),T2(l,n.axisLeft,i,r),T2(l,n.axisRight,i,r))}else u=o===uu||o===Nc?n.axisX:n.axisY,a=n["axis"+o[0].toUpperCase()+o.slice(1)];return u||a||s?ct({},i,u,a,s):i}function yVe(t,e,n,r){const i=xs(t,e),s=t.orient;let o,u;const a={enter:o={opacity:Ct},update:u={opacity:vo},exit:{opacity:Ct}};Br(a,{stroke:i("domainColor"),strokeCap:i("domainCap"),strokeDash:i("domainDash"),strokeDashOffset:i("domainDashOffset"),strokeWidth:i("domainWidth"),strokeOpacity:i("domainOpacity")});const l=ase(t,0),c=ase(t,1);return o.x=u.x=vr(s,l,Ct),o.x2=u.x2=vr(s,c),o.y=u.y=au(s,l,Ct),o.y2=u.y2=au(s,c),Us({type:o7,role:WQe,from:r,encode:a},n)}function ase(t,e){return{scale:t.scale,range:e}}function EVe(t,e,n,r,i){const s=xs(t,e),o=t.orient,u=t.gridScale,a=KO(o,1,-1),l=AVe(t.offset,a);let c,f,x;const h={enter:c={opacity:Ct},update:x={opacity:vo},exit:f={opacity:Ct}};Br(h,{stroke:s("gridColor"),strokeCap:s("gridCap"),strokeDash:s("gridDash"),strokeDashOffset:s("gridDashOffset"),strokeOpacity:s("gridOpacity"),strokeWidth:s("gridWidth")});const p={scale:t.scale,field:So,band:i.band,extra:i.extra,offset:i.offset,round:s("tickRound")},m=vr(o,{signal:"height"},{signal:"width"}),g=u?{scale:u,range:0,mult:a,offset:l}:{value:0,offset:l},y=u?{scale:u,range:1,mult:a,offset:l}:ct(m,{mult:a,offset:l});return c.x=x.x=vr(o,p,g),c.y=x.y=au(o,p,g),c.x2=x.x2=au(o,y),c.y2=x.y2=vr(o,y),f.x=vr(o,p),f.y=au(o,p),Us({type:o7,role:VQe,key:So,from:r,encode:h},n)}function AVe(t,e){if(e!==1)if(!Qe(t))t=nr(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0);else{let n=t=ct({},t);for(;n.mult!=null;)if(Qe(n.mult))n=n.mult=ct({},n.mult);else return n.mult=nr(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e,t;n.mult=e}return t}function SVe(t,e,n,r,i,s){const o=xs(t,e),u=t.orient,a=KO(u,-1,1);let l,c,f;const x={enter:l={opacity:Ct},update:f={opacity:vo},exit:c={opacity:Ct}};Br(x,{stroke:o("tickColor"),strokeCap:o("tickCap"),strokeDash:o("tickDash"),strokeDashOffset:o("tickDashOffset"),strokeOpacity:o("tickOpacity"),strokeWidth:o("tickWidth")});const h=Sr(i);h.mult=a;const p={scale:t.scale,field:So,band:s.band,extra:s.extra,offset:s.offset,round:o("tickRound")};return f.y=l.y=vr(u,Ct,p),f.y2=l.y2=vr(u,h),c.x=vr(u,p),f.x=l.x=au(u,Ct,p),f.x2=l.x2=au(u,h),c.y=au(u,p),Us({type:o7,role:KQe,key:So,from:r,encode:x},n)}function d7(t,e,n,r,i){return{signal:'flush(range("'+t+'"), scale("'+t+'", datum.value), '+e+","+n+","+r+","+i+")"}}function vVe(t,e,n,r,i,s){const o=xs(t,e),u=t.orient,a=t.scale,l=KO(u,-1,1),c=pd(o("labelFlush")),f=pd(o("labelFlushOffset")),x=o("labelAlign"),h=o("labelBaseline");let p=c===0||!!c,m;const g=Sr(i);g.mult=l,g.offset=Sr(o("labelPadding")||0),g.offset.mult=l;const y={scale:a,field:So,band:.5,offset:Hie(s.offset,o("labelOffset"))},E=vr(u,p?d7(a,c,'"left"','"right"','"center"'):{value:"center"},lVe(u,"left","right")),A=vr(u,ise(u,"bottom","top"),p?d7(a,c,'"top"','"bottom"','"middle"'):{value:"middle"}),S=d7(a,c,`-(${f})`,f,0);p=p&&f;const v={opacity:Ct,x:vr(u,y,g),y:au(u,y,g)},_={enter:v,update:m={opacity:vo,text:{field:t7},x:v.x,y:v.y,align:E,baseline:A},exit:{opacity:Ct,x:v.x,y:v.y}};Br(_,{dx:!x&&p?vr(u,S):null,dy:!h&&p?au(u,S):null}),Br(_,{angle:o("labelAngle"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontWeight:o("labelFontWeight"),fontStyle:o("labelFontStyle"),limit:o("labelLimit"),lineHeight:o("labelLineHeight")},{align:x,baseline:h});const C=o("labelBound");let b=o("labelOverlap");return b=b||C?{separation:o("labelSeparation"),method:b,order:"datum.index",bound:C?{scale:a,orient:u,tolerance:C}:null}:void 0,m.align!==E&&(m.align=b2(m.align,E)),m.baseline!==A&&(m.baseline=b2(m.baseline,A)),Us({type:md,role:YQe,style:u3,key:So,from:r,encode:_,overlap:b},n)}function _Ve(t,e,n,r){const i=xs(t,e),s=t.orient,o=KO(s,-1,1);let u,a;const l={enter:u={opacity:Ct,anchor:Sr(i("titleAnchor",null)),align:{signal:u7}},update:a=ct({},u,{opacity:vo,text:Sr(t.title)}),exit:{opacity:Ct}},c={signal:`lerp(range("${t.scale}"), ${GO(0,1,.5)})`};return a.x=vr(s,c),a.y=au(s,c),u.angle=vr(s,Ct,gVe(o,90)),u.baseline=vr(s,ise(s,Nc,uu),{value:Nc}),a.angle=u.angle,a.baseline=u.baseline,Br(l,{fill:i("titleColor"),fillOpacity:i("titleOpacity"),font:i("titleFont"),fontSize:i("titleFontSize"),fontStyle:i("titleFontStyle"),fontWeight:i("titleFontWeight"),limit:i("titleLimit"),lineHeight:i("titleLineHeight")},{align:i("titleAlign"),angle:i("titleAngle"),baseline:i("titleBaseline")}),CVe(i,s,l,n),l.update.align=b2(l.update.align,u.align),l.update.angle=b2(l.update.angle,u.angle),l.update.baseline=b2(l.update.baseline,u.baseline),Us({type:md,role:XQe,style:n7,from:r,encode:l},n)}function CVe(t,e,n,r){const i=(u,a)=>u!=null?(n.update[a]=b2(Sr(u),n.update[a]),!1):!A2(a,r),s=i(t("titleX"),"x"),o=i(t("titleY"),"y");n.enter.auto=o===s?Sr(o):vr(e,Sr(o),Sr(s))}function bVe(t,e){const n=mVe(t,e),r=t.encode||{},i=r.axis||{},s=i.name||void 0,o=i.interactive,u=i.style,a=xs(t,n),l=SWe(a),c={scale:t.scale,ticks:!!a("ticks"),labels:!!a("labels"),grid:!!a("grid"),domain:!!a("domain"),title:t.title!=null},f=Xe(e.add(ou({},[c]))),x=Xe(e.add(wGe({scale:e.scaleRef(t.scale),extra:e.property(l.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)}))),h=[];let p;return c.grid&&h.push(EVe(t,n,r.grid,x,l)),c.ticks&&(p=a("tickSize"),h.push(SVe(t,n,r.ticks,x,p,l))),c.labels&&(p=c.ticks?p:0,h.push(vVe(t,n,r.labels,x,p,l))),c.domain&&h.push(yVe(t,n,r.domain,f)),c.title&&h.push(_Ve(t,n,r.title,f)),YO(l3({role:GQe,from:f,encode:E2(TVe(a,t),i,a3),marks:h,aria:a("aria"),description:a("description"),zindex:a("zindex"),name:s,interactive:o,style:u}),e)}function TVe(t,e){const n={enter:{},update:{}};return Br(n,{orient:t("orient"),offset:t("offset")||0,position:su(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType}),n}function lse(t,e,n){const r=Pe(t.signals),i=Pe(t.scales);return n||r.forEach(s=>bie(s,e)),Pe(t.projections).forEach(s=>cWe(s,e)),i.forEach(s=>JGe(s,e)),Pe(t.data).forEach(s=>uVe(s,e)),i.forEach(s=>ZGe(s,e)),(n||r).forEach(s=>FGe(s,e)),Pe(t.axes).forEach(s=>bVe(s,e)),Pe(t.marks).forEach(s=>YO(s,e)),Pe(t.legends).forEach(s=>YWe(s,e)),t.title&&nVe(t.title,e),e.parseLambdas(),e}const RVe=t=>E2({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function OVe(t,e){const n=e.config,r=Xe(e.root=e.add(MO())),i=NVe(t,n);i.forEach(l=>bie(l,e)),e.description=t.description||n.description,e.eventConfig=n.events,e.legends=e.objectProperty(n.legend&&n.legend.layout),e.locale=n.locale;const s=e.add(ou()),o=e.add(Fie(_ie(RVe(t.encode),QO,Qk,t.style,e,{pulse:Xe(s)}))),u=e.add(Iie({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:r,pulse:Xe(o)}));e.operators.pop(),e.pushState(Xe(o),Xe(u),null),lse(t,e,i),e.operators.push(u);let a=e.add(Nie({mark:r,pulse:Xe(u)}));return a=e.add(Lie({pulse:Xe(a)})),a=e.add(gd({pulse:Xe(a)})),e.addData("root",new yd(e,s,s,a)),e}function f3(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function NVe(t,e){const n=o=>su(t[o],e[o]),r=[f3("background",n("background")),f3("autosize",HQe(n("autosize"))),f3("padding",QQe(n("padding"))),f3("width",n("width")||0),f3("height",n("height")||0)],i=r.reduce((o,u)=>(o[u.name]=u,o),{}),s={};return Pe(t.signals).forEach(o=>{Je(i,o.name)?o=ct(i[o.name],o):r.push(o),s[o.name]=o}),Pe(e.signals).forEach(o=>{!Je(s,o.name)&&!Je(i,o.name)&&r.push(o)}),r}function cse(t,e){this.config=t||{},this.options=e||{},this.bindings=[],this.field={},this.signals={},this.lambdas={},this.scales={},this.events={},this.data={},this.streams=[],this.updates=[],this.operators=[],this.eventConfig=null,this.locale=null,this._id=0,this._subid=0,this._nextsub=[0],this._parent=[],this._encode=[],this._lookup=[],this._markpath=[]}function fse(t){this.config=t.config,this.options=t.options,this.legends=t.legends,this.field=Object.create(t.field),this.signals=Object.create(t.signals),this.lambdas=Object.create(t.lambdas),this.scales=Object.create(t.scales),this.events=Object.create(t.events),this.data=Object.create(t.data),this.streams=[],this.updates=[],this.operators=[],this._id=0,this._subid=++t._nextsub[0],this._nextsub=t._nextsub,this._parent=t._parent.slice(),this._encode=t._encode.slice(),this._lookup=t._lookup.slice(),this._markpath=t._markpath}cse.prototype=fse.prototype={parse(t){return lse(t,this)},fork(){return new fse(this)},isSubscope(){return this._subid>0},toRuntime(){return this.finish(),{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){return this.operators.push(t),t.id=this.id(),t.refs&&(t.refs.forEach(e=>{e.$ref=t.id}),t.refs=null),t},proxy(t){const e=t instanceof Vk?Xe(t):t;return this.add(GGe({value:e}))},addStream(t){return this.streams.push(t),t.id=this.id(),t},addUpdate(t){return this.updates.push(t),t},finish(){let t,e;this.root&&(this.root.root=!0);for(t in this.signals)this.signals[t].signal=t;for(t in this.scales)this.scales[t].scale=t;function n(r,i,s){let o,u;r&&(o=r.data||(r.data={}),u=o[i]||(o[i]=[]),u.push(s))}for(t in this.data){e=this.data[t],n(e.input,t,"input"),n(e.output,t,"output"),n(e.values,t,"values");for(const r in e.index)n(e.index[r],t,"index:"+r)}return this},pushState(t,e,n){this._encode.push(Xe(this.add(gd({pulse:t})))),this._parent.push(e),this._lookup.push(n?Xe(this.proxy(n)):null),this._markpath.push(-1)},popState(){this._encode.pop(),this._parent.pop(),this._lookup.pop(),this._markpath.pop()},parent(){return _t(this._parent)},encode(){return _t(this._encode)},lookup(){return _t(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if(je(t))return s3(t,e);t.signal||_e("Unsupported field reference: "+Fe(t));const n=t.signal;let r=this.field[n];if(!r){const i={name:this.signalRef(n)};e&&(i.as=e),this.field[n]=r=Xe(this.add(BGe(i)))}return r},compareRef(t){let e=!1;const n=s=>nr(s)?(e=!0,this.signalRef(s.signal)):SGe(s)?(e=!0,this.exprRef(s.expr)):s,r=Pe(t.field).map(n),i=Pe(t.order).map(n);return e?Xe(this.add(Die({fields:r,orders:i}))):Tie(r,i)},keyRef(t,e){let n=!1;const r=s=>nr(s)?(n=!0,Xe(i[s.signal])):s,i=this.signals;return t=Pe(t).map(r),n?Xe(this.add(kGe({fields:t,flat:e}))):mGe(t,e)},sortRef(t){if(!t)return t;const e=jO(t.op,t.field),n=t.order||yGe;return n.signal?Xe(this.add(Die({fields:e,orders:this.signalRef(n.signal)}))):Tie(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const r=this.id();this.streams.push({id:r,source:t,type:e}),this.events[n]=r}return this.events[n]},hasOwnSignal(t){return Je(this.signals,t)},addSignal(t,e){this.hasOwnSignal(t)&&_e("Duplicate signal name: "+Fe(t));const n=e instanceof Vk?e:this.add(MO(e));return this.signals[t]=n},getSignal(t){return this.signals[t]||_e("Unrecognized signal name: "+Fe(t)),this.signals[t]},signalRef(t){return this.signals[t]?Xe(this.signals[t]):(Je(this.lambdas,t)||(this.lambdas[t]=this.add(MO(null))),Xe(this.lambdas[t]))},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const r=t[e],i=Sa(r,this),s=this.lambdas[r];s.params=i.$params,s.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!Qe(t)?t:this.signalRef(t.signal||h7(t))},exprRef(t,e){const n={expr:Sa(t,this)};return e&&(n.expr.$name=e),Xe(this.add(IGe(n)))},addBinding(t,e){this.bindings||_e("Nested signals do not support binding: "+Fe(t)),this.bindings.push(ct({signal:t},e))},addScaleProj(t,e){Je(this.scales,t)&&_e("Duplicate scale or projection name: "+Fe(t)),this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,VGe(e))},addProjection(t,e){this.addScaleProj(t,QGe(e))},getScale(t){return this.scales[t]||_e("Unrecognized scale name: "+Fe(t)),this.scales[t]},scaleRef(t){return Xe(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){return Je(this.data,t)&&_e("Duplicate data set name: "+Fe(t)),this.data[t]=e},getData(t){return this.data[t]||_e("Undefined data set name: "+Fe(t)),this.data[t]},addDataPipeline(t,e){return Je(this.data,t)&&_e("Duplicate data set name: "+Fe(t)),this.addData(t,yd.fromEntries(this,e))}};function h7(t){return(Ce(t)?DVe:FVe)(t)}function DVe(t){const e=t.length;let n="[";for(let r=0;r<e;++r){const i=t[r];n+=(r>0?",":"")+(Qe(i)?i.signal||h7(i):Fe(i))}return n+"]"}function FVe(t){let e="{",n=0,r,i;for(r in t)i=t[r],e+=(++n>1?",":"")+Fe(r)+":"+(Qe(i)?i.signal||h7(i):Fe(i));return e+"}"}function wVe(){const t="sans-serif",r="#4c78a8",i="#000",s="#888",o="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:r},area:{fill:r},image:null,line:{stroke:r,strokeWidth:2},path:{stroke:r},rect:{fill:r},rule:{stroke:i},shape:{stroke:r},symbol:{fill:r,size:64},text:{fill:i,font:t,fontSize:11},trail:{fill:r,size:2},style:{"guide-label":{fill:i,font:t,fontSize:10},"guide-title":{fill:i,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:i,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:i,font:t,fontSize:12},point:{size:30,strokeWidth:2,shape:"circle"},circle:{size:30,strokeWidth:2},square:{size:30,strokeWidth:2,shape:"square"},cell:{fill:"transparent",stroke:o},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:!0,domainWidth:1,domainColor:s,grid:!1,gridWidth:1,gridColor:o,labels:!0,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:!0,tickColor:s,tickOffset:0,tickRound:!0,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:o,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:!0,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:s,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function LVe(t,e,n){return Qe(t)||_e("Input Vega specification must be an object."),e=f5(wVe(),e,t.config),OVe(t,new cse(e,n)).toRuntime()}ct(My,kIe,h8e,M8e,CMe,y9e,Qje,Cje,Wje,gUe,TUe,LUe);const IVe={spark:[180,1],xs:[170,2],sm:[216,3],md:[256,4],lg:[472,7],xl:[508,10],"2xl":[730,14]},XO=28;function $Ve(t,e){const n=t.allFields.at(0),r=t.allFields.at(1),{tag:i}=t.tagParse();let s=0,o=0;const u=i.numeric("size","width"),a=i.numeric("size","height");let l=i.text("size");u&&a?(s=u,o=a):(l=l||"md",[s,o]=IVe[l],o=o*XO);let c=0,f=0,x=-90,h="right",p="middle",m=0,g=0;const y=l!=="spark",E=l!=="spark",A=e.fields[bx(t)];let S=l!=="spark"?XO-1:0,v;const _=bx(r),C=e.fields[_].max,b=Dt("linear")().domain([0,C]).nice().range([o,0]),O=b.domain();if(E){const H=b.domain().at(1),Q=EY().format(",")(H);f=hy(Q,"Inter, sans-serif 12px")+5+31;const le=Math.ceil(o/40),ne=b.ticks(le);if(ne.at(-1)<H){const ce=(H-ne.at(-1))/H,de=o/(1-ce);S=S-(de-o),o=de,v=le}}if(y){const H=bx(n),V=e.fields[H].maxString,Q=hy(V,"Inter, sans-serif 12px"),ue=.3;g=22+15,c=Math.min(Q,ue*o),m=c;const le=(s-f)/A.maxRecordCt;le>c&&(x=0,m=le,h=void 0,p="top")}const R=o+c+g,I=Math.ceil(R/XO)*XO;g+=I-R;const M=i.text("size")==="spark";return{plotWidth:s,plotHeight:o,xAxis:{labelAngle:x,labelAlign:h,labelBaseline:p,labelSize:m,height:c,titleSize:g,hidden:M},yAxis:{width:f,tickCount:v,hidden:M},yScale:{domain:O},padding:M?{top:0,left:0,bottom:0,right:0}:{top:S+1,left:f,bottom:c+g,right:0},xField:n,yField:r,get totalWidth(){return this.plotWidth+this.padding.left+this.padding.right},get totalHeight(){return this.plotHeight+this.padding.top+this.padding.bottom}}}const JO="#727883",ZO="#E5E7EB";function BVe(t,e){const n=$Ve(e.field,e.metadata),r={$schema:"https://vega.github.io/schema/vega/v5.json",width:n.plotWidth,height:n.plotHeight,config:{axisY:{gridColor:ZO,tickColor:ZO,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelColor:JO,labelPadding:5,titleColor:JO,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10,labelOverlap:!1},axisX:{gridColor:ZO,tickColor:ZO,tickSize:0,domain:!1,labelFont:"Inter, sans-serif",labelFontSize:10,labelFontWeight:"normal",labelPadding:5,labelColor:JO,titleColor:JO,titleFont:"Inter, sans-serif",titleFontSize:12,titleFontWeight:"bold",titlePadding:10},view:{strokeWidth:0}},data:[{name:"table",values:[]}],marks:[],scales:[],legends:[],axes:[],autosize:{type:"none",resize:!0,contains:"content"},padding:n.padding},i={name:"xscale",type:t.x.type==="nominal"?"band":"linear",domain:{data:"table",field:t.x.fields.at(0)},range:"width"};i.type==="band"&&(i.paddingInner=.1,i.paddingOuter=.05,i.round=!0);const s={name:"yscale",type:t.y.type==="nominal"?"band":"linear",domain:n.yScale.domain??{data:"table",fields:t.y.fields},range:"height"};s.type==="linear"&&(s.nice=!0),r.scales.push(i),r.scales.push(s);for(const o of t.marks){const u={},a={name:o.id,source:"table",transform:[]};if(r.data.push(a),o.type==="bar_y"){u.type="rect",u.from={data:o.id};const l=o.x??t.x.fields.at(0),c=o.y??t.y.fields.at(0);u.encode={enter:{x:{scale:"xscale",field:l,band:.1},width:{scale:"xscale",band:.8},y:{scale:"yscale",field:c},y2:{scale:"yscale",value:0},fill:{value:"#53B2C8"}}},r.marks.push(u)}}return n.xAxis.hidden||r.axes.push({orient:"bottom",scale:"xscale",title:t.x.fields.join(", "),labelAngle:n.xAxis.labelAngle,labelLimit:n.xAxis.labelSize,labelAlign:n.xAxis.labelAlign,labelBaseline:n.xAxis.labelBaseline,maxExtent:n.xAxis.height}),n.yAxis.hidden||r.axes.push({orient:"left",scale:"yscale",grid:!0,maxExtent:n.yAxis.width,labelLimit:n.yAxis.width+10,tickCount:n.yAxis.tickCount??{signal:"ceil(height/40)"},title:[...new Set(s.domain.fields)].filter(o=>typeof o=="string").join(", ")}),{spec:r,plotWidth:n.plotWidth,plotHeight:n.plotHeight,totalWidth:n.totalWidth,totalHeight:n.totalHeight}}function kVe(){const t=new WeakMap;return{get:e=>{if(!t.has(e)&&e.isArray()){const n=[];for(const r of e)n.push(r.toObject());t.set(e,n)}return t.get(e)}}}function PVe(t){const e=new WeakMap,n=u=>{if(e.has(u))return e.get(u);const a=bx(u);return e.set(u,a),a},r=kVe(),i={fields:{},fieldKeyMap:e,getFieldKey:n,field:u=>i.fields[n(u)],getData:r.get},s=t.data.field,o=i.getFieldKey(s);return i.fields[o]={field:s,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},xse(t.data.field,i),dse(t.data,i),Object.values(i.fields).forEach(u=>{const a=u.field;a.isExploreField()?hse(a,a.tagParse().tag,i):a.isExplore()&&hse(a,t.tagParse().tag,i)}),i}function xse(t,e){for(const n of t.allFields){const r=e.getFieldKey(n);e.fields[r]={field:n,min:null,max:null,minString:null,maxString:null,values:new Set,maxRecordCt:null},n.isExploreField()&&xse(n,e)}}const dse=(t,e)=>{let n=0;for(const s of t){n++;for(const o of t.field.allFields){const u=o.isAtomicField()?s.cell(o).value:void 0,a=e.field(o);if(UW(o,u)){const l=u;a.min=Math.min(a.min??l,l),a.max=Math.max(a.max??l,l)}else if(qW(o,u)){const l=u;a.values.add(l),(!a.minString||a.minString.length>l.length)&&(a.minString=l),(!a.maxString||a.maxString.length<l.length)&&(a.maxString=l)}else if(o.isExploreField()){const l=s.cell(o);dse(l,e)}}}const r=t.field,i=e.field(r);i.maxRecordCt=Math.max(i.maxRecordCt??n,n)};function hse(t,e,n){const r=n.field(t);if(a5(e,"bar","bar_chart")){const i=RFe(t,e);r.vegaChartProps=BVe(i,{field:t,metadata:n})}}const pse=$P(),gse=()=>{const t=BP(pse);if(!t)throw Error("useResultContext must be used within a ResultContext.Provider");return t};function Nit(t){return t}function Dit(t){return t}Array.prototype.flat||Object.defineProperty(Array.prototype,"flat",{configurable:!0,value:function t(){var e=isNaN(arguments[0])?1:Number(arguments[0]);return e?Array.prototype.reduce.call(this,function(n,r){return Array.isArray(r)?n.push.apply(n,t.call(r,e-1)):n.push(r),n},[]):Array.prototype.slice.call(this)},writable:!0}),Array.prototype.flatMap||Object.defineProperty(Array.prototype,"flatMap",{configurable:!0,value:function(t){return Array.prototype.map.apply(this,arguments).flat()},writable:!0});var mse={exports:{}};(function(t){var e=function(){function n(x,h){return h!=null&&x instanceof h}var r;try{r=Map}catch{r=function(){}}var i;try{i=Set}catch{i=function(){}}var s;try{s=Promise}catch{s=function(){}}function o(x,h,p,m,g){typeof h=="object"&&(p=h.depth,m=h.prototype,g=h.includeNonEnumerable,h=h.circular);var y=[],E=[],A=typeof Buffer<"u";typeof h>"u"&&(h=!0),typeof p>"u"&&(p=1/0);function S(v,_){if(v===null)return null;if(_===0)return v;var C,b;if(typeof v!="object")return v;if(n(v,r))C=new r;else if(n(v,i))C=new i;else if(n(v,s))C=new s(function(he,le){v.then(function(ne){he(S(ne,_-1))},function(ne){le(S(ne,_-1))})});else if(o.__isArray(v))C=[];else if(o.__isRegExp(v))C=new RegExp(v.source,f(v)),v.lastIndex&&(C.lastIndex=v.lastIndex);else if(o.__isDate(v))C=new Date(v.getTime());else{if(A&&Buffer.isBuffer(v))return Buffer.allocUnsafe?C=Buffer.allocUnsafe(v.length):C=new Buffer(v.length),v.copy(C),C;n(v,Error)?C=Object.create(v):typeof m>"u"?(b=Object.getPrototypeOf(v),C=Object.create(b)):(C=Object.create(m),b=m)}if(h){var O=y.indexOf(v);if(O!=-1)return E[O];y.push(v),E.push(C)}n(v,r)&&v.forEach(function(he,le){var ne=S(le,_-1),ce=S(he,_-1);C.set(ne,ce)}),n(v,i)&&v.forEach(function(he){var le=S(he,_-1);C.add(le)});for(var R in v){var I;b&&(I=Object.getOwnPropertyDescriptor(b,R)),!(I&&I.set==null)&&(C[R]=S(v[R],_-1))}if(Object.getOwnPropertySymbols)for(var M=Object.getOwnPropertySymbols(v),R=0;R<M.length;R++){var H=M[R],V=Object.getOwnPropertyDescriptor(v,H);V&&!V.enumerable&&!g||(C[H]=S(v[H],_-1),V.enumerable||Object.defineProperty(C,H,{enumerable:!1}))}if(g)for(var Q=Object.getOwnPropertyNames(v),R=0;R<Q.length;R++){var ue=Q[R],V=Object.getOwnPropertyDescriptor(v,ue);V&&V.enumerable||(C[ue]=S(v[ue],_-1),Object.defineProperty(C,ue,{enumerable:!1}))}return C}return S(x,p)}o.clonePrototype=function(h){if(h===null)return null;var p=function(){};return p.prototype=h,new p};function u(x){return Object.prototype.toString.call(x)}o.__objToStr=u;function a(x){return typeof x=="object"&&u(x)==="[object Date]"}o.__isDate=a;function l(x){return typeof x=="object"&&u(x)==="[object Array]"}o.__isArray=l;function c(x){return typeof x=="object"&&u(x)==="[object RegExp]"}o.__isRegExp=c;function f(x){var h="";return x.global&&(h+="g"),x.ignoreCase&&(h+="i"),x.multiline&&(h+="m"),h}return o.__getRegExpFlags=f,o}();t.exports&&(t.exports=e)})(mse);var MVe=mse.exports;const jVe=OD(MVe);var UVe=function t(e,n){if(e===n)return!0;if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var r,i,s;if(Array.isArray(e)){if(r=e.length,r!=n.length)return!1;for(i=r;i--!==0;)if(!t(e[i],n[i]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(s=Object.keys(e),r=s.length,r!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,s[i]))return!1;for(i=r;i--!==0;){var o=s[i];if(!t(e[o],n[o]))return!1}return!0}return e!==e&&n!==n};const qVe=OD(UVe);var HVe=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var n=typeof e.cycles=="boolean"?e.cycles:!1,r=e.cmp&&function(s){return function(o){return function(u,a){var l={key:u,value:o[u]},c={key:a,value:o[a]};return s(l,c)}}}(e.cmp),i=[];return function s(o){if(o&&o.toJSON&&typeof o.toJSON=="function"&&(o=o.toJSON()),o!==void 0){if(typeof o=="number")return isFinite(o)?""+o:"null";if(typeof o!="object")return JSON.stringify(o);var u,a;if(Array.isArray(o)){for(a="[",u=0;u<o.length;u++)u&&(a+=","),a+=s(o[u])||"null";return a+"]"}if(o===null)return"null";if(i.indexOf(o)!==-1){if(n)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}var l=i.push(o)-1,c=Object.keys(o).sort(r&&r(o));for(a="",u=0;u<c.length;u++){var f=c[u],x=s(o[f]);x&&(a&&(a+=","),a+=JSON.stringify(f)+":"+x)}return i.splice(l,1),"{"+a+"}"}}(t)};const p7=OD(HVe);function g7(t){return!!t.or}function m7(t){return!!t.and}function y7(t){return!!t.not}function eN(t,e){if(y7(t))eN(t.not,e);else if(m7(t))for(const n of t.and)eN(n,e);else if(g7(t))for(const n of t.or)eN(n,e);else e(t)}function R2(t,e){return y7(t)?{not:R2(t.not,e)}:m7(t)?{and:t.and.map(n=>R2(n,e))}:g7(t)?{or:t.or.map(n=>R2(n,e))}:e(t)}const Ql=qVe,ot=jVe;function zVe(t){throw new Error(t)}function x3(t,e){const n={};for(const r of e)Je(t,r)&&(n[r]=t[r]);return n}function _o(t,e){const n=Object.assign({},t);for(const r of e)delete n[r];return n}Set.prototype.toJSON=function(){return`Set(${[...this].map(t=>p7(t)).join(",")})`};const sn=p7;function bt(t){if(nn(t))return t;const e=je(t)?t:p7(t);if(e.length<250)return e;let n=0;for(let r=0;r<e.length;r++){const i=e.charCodeAt(r);n=(n<<5)-n+i,n=n&n}return n}function yse(t){return t===!1||t===null}function Tt(t,e){return t.includes(e)}function O2(t,e){let n=0;for(const[r,i]of t.entries())if(e(i,r,n++))return!0;return!1}function Ese(t,e){let n=0;for(const[r,i]of t.entries())if(!e(i,r,n++))return!1;return!0}function QVe(t,...e){for(const n of e)GVe(t,n??{});return t}function GVe(t,e){for(const n of be(e))Pb(t,n,e[n],!0)}function Gl(t,e){const n=[],r={};let i;for(const s of t)i=e(s),!(i in r)&&(r[i]=1,n.push(s));return n}function WVe(t,e){if(t.size!==e.size)return!1;for(const n of t)if(!e.has(n))return!1;return!0}function Ase(t,e){for(const n of t)if(e.has(n))return!0;return!1}function Sse(t){const e=new Set;for(const n of t){const i=yl(n).map((o,u)=>u===0?o:`[${o}]`),s=i.map((o,u)=>i.slice(0,u+1).join(""));for(const o of s)e.add(o)}return e}function vse(t,e){return t===void 0||e===void 0?!0:Ase(Sse(t),Sse(e))}function Wt(t){return be(t).length===0}const be=Object.keys,Pi=Object.values,Ad=Object.entries;function tN(t){return t===!0||t===!1}function mn(t){const e=t.replace(/\W/g,"_");return(t.match(/^\d+/)?"_":"")+e}function nN(t,e){return y7(t)?`!(${nN(t.not,e)})`:m7(t)?`(${t.and.map(n=>nN(n,e)).join(") && (")})`:g7(t)?`(${t.or.map(n=>nN(n,e)).join(") || (")})`:e(t)}function E7(t,e){if(e.length===0)return!0;const n=e.shift();return n in t&&E7(t[n],e)&&delete t[n],Wt(t)}function rN(t){return t.charAt(0).toUpperCase()+t.substr(1)}function _se(t,e="datum"){const n=yl(t),r=[];for(let i=1;i<=n.length;i++){const s=`[${n.slice(0,i).map(Fe).join("][")}]`;r.push(`${e}${s}`)}return r.join(" && ")}function VVe(t,e="datum"){return`${e}[${Fe(yl(t).join("."))}]`}function YVe(t){return t.replace(/(\[|\]|\.|'|")/g,"\\$1")}function lu(t){return`${yl(t).map(YVe).join("\\.")}`}function N2(t,e,n){return t.replace(new RegExp(e.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"g"),n)}function Cse(t){return`${yl(t).join(".")}`}function d3(t){return t?yl(t).length:0}function rr(...t){for(const e of t)if(e!==void 0)return e}let KVe=42;function XVe(t){const e=++KVe;return t?String(t)+e:e}function JVe(t){return ZVe(t)?t:`__${t}`}function ZVe(t){return t.startsWith("__")}function iN(t){if(t!==void 0)return(t%360+360)%360}function A7(t){return nn(t)?!0:!isNaN(t)&&!isNaN(parseFloat(t))}var h3=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const Wl="row",Vl="column",sN="facet",yn="x",_r="y",cu="x2",va="y2",Dc="xOffset",D2="yOffset",_a="radius",Yl="radius2",fu="theta",Kl="theta2",Ca="latitude",ba="longitude",xu="latitude2",Co="longitude2",ds="color",Ta="fill",Ra="stroke",hs="shape",Xl="size",Sd="angle",Jl="opacity",Fc="fillOpacity",wc="strokeOpacity",Lc="strokeWidth",Ic="strokeDash",p3="text",g3="order",m3="detail",oN="key",vd="tooltip",uN="href",aN="url",lN="description",eYe={x:1,y:1,x2:1,y2:1},bse={theta:1,theta2:1,radius:1,radius2:1};function Tse(t){return t in bse}const S7={longitude:1,longitude2:1,latitude:1,latitude2:1};function tYe(t){switch(t){case Ca:return"y";case xu:return"y2";case ba:return"x";case Co:return"x2"}}function nYe(t){return t in S7}const rYe=be(S7),v7=Object.assign(Object.assign(Object.assign(Object.assign({},eYe),bse),S7),{xOffset:1,yOffset:1,color:1,fill:1,stroke:1,opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1,strokeDash:1,size:1,angle:1,shape:1,order:1,text:1,detail:1,key:1,tooltip:1,href:1,url:1,description:1});function F2(t){return t===ds||t===Ta||t===Ra}const Rse={row:1,column:1,facet:1},bo=be(Rse),_7=Object.assign(Object.assign({},v7),Rse),iYe=be(_7),sYe=h3(_7,["order","detail","tooltip"]),oYe=h3(sYe,["row","column","facet"]);function uYe(t){return!!oYe[t]}function Ose(t){return!!_7[t]}const aYe=[cu,va,xu,Co,Kl,Yl];function Nse(t){return _d(t)!==t}function _d(t){switch(t){case cu:return yn;case va:return _r;case xu:return Ca;case Co:return ba;case Kl:return fu;case Yl:return _a}return t}function $c(t){if(Tse(t))switch(t){case fu:return"startAngle";case Kl:return"endAngle";case _a:return"outerRadius";case Yl:return"innerRadius"}return t}function Zl(t){switch(t){case yn:return cu;case _r:return va;case Ca:return xu;case ba:return Co;case fu:return Kl;case _a:return Yl}}function ps(t){switch(t){case yn:case cu:return"width";case _r:case va:return"height"}}function lYe(t){switch(t){case yn:return"xOffset";case _r:return"yOffset";case cu:return"x2Offset";case va:return"y2Offset";case fu:return"thetaOffset";case _a:return"radiusOffset";case Kl:return"theta2Offset";case Yl:return"radius2Offset"}}function Dse(t){switch(t){case yn:return"xOffset";case _r:return"yOffset"}}function Fse(t){switch(t){case"xOffset":return"x";case"yOffset":return"y"}}const cYe=be(v7),C7=h3(v7,["x","y","x2","y2","xOffset","yOffset","latitude","longitude","latitude2","longitude2","theta","theta2","radius","radius2"]),fYe=be(C7),b7={x:1,y:1},Oa=be(b7);function kr(t){return t in b7}const T7={theta:1,radius:1},xYe=be(T7);function cN(t){return t==="width"?yn:_r}const wse={xOffset:1,yOffset:1};function w2(t){return t in wse}const Lse=h3(C7,["text","tooltip","href","url","description","detail","key","order"]),dYe=be(Lse);function hYe(t){return!!C7[t]}function pYe(t){switch(t){case ds:case Ta:case Ra:case Xl:case hs:case Jl:case Lc:case Ic:return!0;case Fc:case wc:case Sd:return!1}}const Ise=Object.assign(Object.assign(Object.assign(Object.assign({},b7),T7),wse),Lse),fN=be(Ise);function Bc(t){return!!Ise[t]}function gYe(t,e){return yYe(t)[e]}const $se={arc:"always",area:"always",bar:"always",circle:"always",geoshape:"always",image:"always",line:"always",rule:"always",point:"always",rect:"always",square:"always",trail:"always",text:"always",tick:"always"},mYe=h3($se,["geoshape"]);function yYe(t){switch(t){case ds:case Ta:case Ra:case lN:case m3:case oN:case vd:case uN:case g3:case Jl:case Fc:case wc:case Lc:case sN:case Wl:case Vl:return $se;case yn:case _r:case Dc:case D2:case Ca:case ba:return mYe;case cu:case va:case xu:case Co:return{area:"always",bar:"always",image:"always",rect:"always",rule:"always",circle:"binned",point:"binned",square:"binned",tick:"binned",line:"binned",trail:"binned"};case Xl:return{point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",text:"always",line:"always",trail:"always"};case Ic:return{line:"always",point:"always",tick:"always",rule:"always",circle:"always",square:"always",bar:"always",geoshape:"always"};case hs:return{point:"always",geoshape:"always"};case p3:return{text:"always"};case Sd:return{point:"always",square:"always",text:"always"};case aN:return{image:"always"};case fu:return{text:"always",arc:"always"};case _a:return{text:"always",arc:"always"};case Kl:case Yl:return{arc:"always"}}}function R7(t){switch(t){case yn:case _r:case fu:case _a:case Dc:case D2:case Xl:case Sd:case Lc:case Jl:case Fc:case wc:case cu:case va:case Kl:case Yl:return;case sN:case Wl:case Vl:case hs:case Ic:case p3:case vd:case uN:case aN:case lN:return"discrete";case ds:case Ta:case Ra:return"flexible";case Ca:case ba:case xu:case Co:case m3:case oN:case g3:return}}const EYe={argmax:1,argmin:1,average:1,count:1,distinct:1,product:1,max:1,mean:1,median:1,min:1,missing:1,q1:1,q3:1,ci0:1,ci1:1,stderr:1,stdev:1,stdevp:1,sum:1,valid:1,values:1,variance:1,variancep:1},AYe={count:1,min:1,max:1};function e0(t){return!!t&&!!t.argmin}function kc(t){return!!t&&!!t.argmax}function O7(t){return je(t)&&!!EYe[t]}const SYe=new Set(["count","valid","missing","distinct"]);function Bse(t){return je(t)&&SYe.has(t)}function vYe(t){return je(t)&&Tt(["min","max"],t)}const _Ye=new Set(["count","sum","distinct","valid","missing"]),CYe=new Set(["mean","average","median","q1","q3","min","max"]);function kse(t){return Fp(t)&&(t=DN(t,void 0)),"bin"+be(t).map(e=>xN(t[e])?mn(`_${e}_${Ad(t[e])}`):mn(`_${e}_${t[e]}`)).join("")}function Xt(t){return t===!0||Cd(t)&&!t.binned}function Mi(t){return t==="binned"||Cd(t)&&t.binned===!0}function Cd(t){return Qe(t)}function xN(t){return t==null?void 0:t.param}function Pse(t){switch(t){case Wl:case Vl:case Xl:case ds:case Ta:case Ra:case Lc:case Jl:case Fc:case wc:case hs:return 6;case Ic:return 4;default:return 10}}function y3(t){return t&&!!t.expr}function gs(t){const e=be(t||{}),n={};for(const r of e)n[r]=qs(t[r]);return n}var bYe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Mse(t){const{anchor:e,frame:n,offset:r,orient:i,angle:s,limit:o,color:u,subtitleColor:a,subtitleFont:l,subtitleFontSize:c,subtitleFontStyle:f,subtitleFontWeight:x,subtitleLineHeight:h,subtitlePadding:p}=t,m=bYe(t,["anchor","frame","offset","orient","angle","limit","color","subtitleColor","subtitleFont","subtitleFontSize","subtitleFontStyle","subtitleFontWeight","subtitleLineHeight","subtitlePadding"]),g=Object.assign(Object.assign({},m),u?{fill:u}:{}),y=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e?{anchor:e}:{}),n?{frame:n}:{}),r?{offset:r}:{}),i?{orient:i}:{}),s!==void 0?{angle:s}:{}),o!==void 0?{limit:o}:{}),E=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},a?{subtitleColor:a}:{}),l?{subtitleFont:l}:{}),c?{subtitleFontSize:c}:{}),f?{subtitleFontStyle:f}:{}),x?{subtitleFontWeight:x}:{}),h?{subtitleLineHeight:h}:{}),p?{subtitlePadding:p}:{}),A=x3(t,["align","baseline","dx","dy","limit"]);return{titleMarkConfig:g,subtitleMarkConfig:A,nonMarkTitleProperties:y,subtitle:E}}function Pc(t){return je(t)||Ce(t)&&je(t[0])}function Ye(t){return t&&!!t.signal}function Mc(t){return!!t.step}function TYe(t){return Ce(t)?!1:"fields"in t&&!("data"in t)}function RYe(t){return Ce(t)?!1:"fields"in t&&"data"in t}function t0(t){return Ce(t)?!1:"field"in t&&"data"in t}const OYe=be({aria:1,description:1,ariaRole:1,ariaRoleDescription:1,blend:1,opacity:1,fill:1,fillOpacity:1,stroke:1,strokeCap:1,strokeWidth:1,strokeOpacity:1,strokeDash:1,strokeDashOffset:1,strokeJoin:1,strokeOffset:1,strokeMiterLimit:1,startAngle:1,endAngle:1,padAngle:1,innerRadius:1,outerRadius:1,size:1,shape:1,interpolate:1,tension:1,orient:1,align:1,baseline:1,text:1,dir:1,dx:1,dy:1,ellipsis:1,limit:1,radius:1,theta:1,angle:1,font:1,fontSize:1,fontWeight:1,fontStyle:1,lineBreak:1,lineHeight:1,cursor:1,href:1,tooltip:1,cornerRadius:1,cornerRadiusTopLeft:1,cornerRadiusTopRight:1,cornerRadiusBottomLeft:1,cornerRadiusBottomRight:1,aspect:1,width:1,height:1,url:1,smooth:1}),NYe={arc:1,area:1,group:1,image:1,line:1,path:1,rect:1,rule:1,shape:1,symbol:1,text:1,trail:1},N7=["cornerRadius","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight"];var D7=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function jse(t){const e=Ce(t.condition)?t.condition.map(Use):Use(t.condition);return Object.assign(Object.assign({},qs(t)),{condition:e})}function qs(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return t}function Use(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return t}function on(t){if(y3(t)){const{expr:e}=t,n=D7(t,["expr"]);return Object.assign({signal:e},n)}return Ye(t)?t:t!==void 0?{value:t}:void 0}function DYe(t){return Ye(t)?t.signal:Fe(t)}function qse(t){return Ye(t)?t.signal:Fe(t.value)}function n0(t){return Ye(t)?t.signal:t==null?null:Fe(t)}function FYe(t,e,n){for(const r of n){const i=bd(r,e.markDef,e.config);i!==void 0&&(t[r]=on(i))}return t}function Hse(t){var e;return[].concat(t.type,(e=t.style)!==null&&e!==void 0?e:[])}function kt(t,e,n,r={}){const{vgChannel:i,ignoreVgConfig:s}=r;return i&&e[i]!==void 0?e[i]:e[t]!==void 0?e[t]:s&&(!i||i===t)?void 0:bd(t,e,n,r)}function bd(t,e,n,{vgChannel:r}={}){return rr(r?dN(t,e,n.style):void 0,dN(t,e,n.style),r?n[e.type][r]:void 0,n[e.type][t],r?n.mark[r]:n.mark[t])}function dN(t,e,n){return zse(t,Hse(e),n)}function zse(t,e,n){e=Pe(e);let r;for(const i of e){const s=n[i];s&&s[t]!==void 0&&(r=s[t])}return r}function Qse(t,e){return Pe(t).reduce((n,r)=>{var i;return n.field.push($e(r,e)),n.order.push((i=r.sort)!==null&&i!==void 0?i:"ascending"),n},{field:[],order:[]})}function Gse(t,e){const n=[...t];return e.forEach(r=>{for(const i of n)if(Ql(i,r))return;n.push(r)}),n}function Wse(t,e){return Ql(t,e)||!e?t:t?[...Pe(t),...Pe(e)].join(", "):e}function Vse(t,e){const n=t.value,r=e.value;if(n==null||r===null)return{explicit:t.explicit,value:null};if((Pc(n)||Ye(n))&&(Pc(r)||Ye(r)))return{explicit:t.explicit,value:Wse(n,r)};if(Pc(n)||Ye(n))return{explicit:t.explicit,value:n};if(Pc(r)||Ye(r))return{explicit:t.explicit,value:r};if(!Pc(n)&&!Ye(n)&&!Pc(r)&&!Ye(r))return{explicit:t.explicit,value:Gse(n,r)};throw new Error("It should never reach here")}function F7(t){return`Invalid specification ${sn(t)}. Make sure the specification includes at least one of the following properties: "mark", "layer", "facet", "hconcat", "vconcat", "concat", or "repeat".`}const wYe='Autosize "fit" only works for single views and layered views.';function Yse(t){return`${t=="width"?"Width":"Height"} "container" only works for single views and layered views.`}function Kse(t){const e=t=="width"?"Width":"Height",n=t=="width"?"x":"y";return`${e} "container" only works well with autosize "fit" or "fit-${n}".`}function Xse(t){return t?`Dropping "fit-${t}" because spec has discrete ${ps(t)}.`:'Dropping "fit" because spec has discrete size.'}function w7(t){return`Unknown field for ${t}. Cannot calculate view size.`}function Jse(t){return`Cannot project a selection on encoding channel "${t}", which has no field.`}function LYe(t,e){return`Cannot project a selection on encoding channel "${t}" as it uses an aggregate function ("${e}").`}function IYe(t){return`The "nearest" transform is not supported for ${t} marks.`}function Zse(t){return`Selection not supported for ${t} yet.`}function $Ye(t){return`Cannot find a selection named "${t}".`}const BYe="Scale bindings are currently only supported for scales with unbinned, continuous domains.",kYe="Legend bindings are only supported for selections over an individual field or encoding channel.";function PYe(t){return`Lookups can only be performed on selection parameters. "${t}" is a variable parameter.`}function MYe(t){return`Cannot define and lookup the "${t}" selection in the same view. Try moving the lookup into a second, layered view?`}const jYe="The same selection must be used to override scale domains in a layered view.",UYe='Interval selections should be initialized using "x" and/or "y" keys.';function qYe(t){return`Unknown repeated value "${t}".`}function eoe(t){return`The "columns" property cannot be used when "${t}" has nested row/column.`}const HYe="Axes cannot be shared in concatenated or repeated views yet (https://github.com/vega/vega-lite/issues/2415).";function zYe(t){return`Unrecognized parse "${t}".`}function toe(t,e,n){return`An ancestor parsed field "${t}" as ${n} but a child wants to parse the field as ${e}.`}const QYe="Attempt to add the same child twice.";function GYe(t){return`Ignoring an invalid transform: ${sn(t)}.`}const WYe='If "from.fields" is not specified, "as" has to be a string that specifies the key to be used for the data from the secondary source.';function noe(t){return`Config.customFormatTypes is not true, thus custom format type and format for channel ${t} are dropped.`}function VYe(t){const{parentProjection:e,projection:n}=t;return`Layer's shared projection ${sn(e)} is overridden by a child projection ${sn(n)}.`}const YYe="Arc marks uses theta channel rather than angle, replacing angle with theta.";function KYe(t){return`${t}Offset dropped because ${t} is continuous`}function XYe(t){return`There is no ${t} encoding. Replacing ${t}Offset encoding as ${t}.`}function JYe(t,e,n){return`Channel ${t} is a ${e}. Converted to {value: ${sn(n)}}.`}function roe(t){return`Invalid field type "${t}".`}function ZYe(t,e){return`Invalid field type "${t}" for aggregate: "${e}", using "quantitative" instead.`}function eKe(t){return`Invalid aggregation operator "${t}".`}function ioe(t,e){const{fill:n,stroke:r}=e;return`Dropping color ${t} as the plot also has ${n&&r?"fill and stroke":n?"fill":"stroke"}.`}function tKe(t){return`Position range does not support relative band size for ${t}.`}function L7(t,e){return`Dropping ${sn(t)} from channel "${e}" since it does not contain any data field, datum, value, or signal.`}const nKe="Line marks cannot encode size with a non-groupby field. You may want to use trail marks instead.";function hN(t,e,n){return`${t} dropped as it is incompatible with "${e}"${n?` when ${n}`:""}.`}function rKe(t){return`${t} encoding has no scale, so specified scale is ignored.`}function iKe(t){return`${t}-encoding is dropped as ${t} is not a valid encoding channel.`}function sKe(t){return`${t} encoding should be discrete (ordinal / nominal / binned).`}function oKe(t){return`${t} encoding should be discrete (ordinal / nominal / binned) or use a discretizing scale (e.g. threshold).`}function uKe(t){return`Facet encoding dropped as ${t.join(" and ")} ${t.length>1?"are":"is"} also specified.`}function I7(t,e){return`Using discrete channel "${t}" to encode "${e}" field can be misleading as it does not encode ${e==="ordinal"?"order":"magnitude"}.`}function aKe(t){return`The ${t} for range marks cannot be an expression`}function lKe(t,e){return`Line mark is for continuous lines and thus cannot be used with ${t&&e?"x2 and y2":t?"x2":"y2"}. We will use the rule mark (line segments) instead.`}function cKe(t,e){return`Specified orient "${t}" overridden with "${e}".`}function fKe(t){return`Cannot use the scale property "${t}" with non-color channel.`}function xKe(t){return`Cannot use the relative band size with ${t} scale.`}function dKe(t){return`Using unaggregated domain with raw field has no effect (${sn(t)}).`}function hKe(t){return`Unaggregated domain not applicable for "${t}" since it produces values outside the origin domain of the source data.`}function pKe(t){return`Unaggregated domain is currently unsupported for log scale (${sn(t)}).`}function gKe(t){return`Cannot apply size to non-oriented mark "${t}".`}function mKe(t,e,n){return`Channel "${t}" does not work with "${e}" scale. We are using "${n}" scale instead.`}function yKe(t,e){return`FieldDef does not work with "${t}" scale. We are using "${e}" scale instead.`}function soe(t,e,n){return`${n}-scale's "${e}" is dropped as it does not work with ${t} scale.`}function ooe(t){return`The step for "${t}" is dropped because the ${t==="width"?"x":"y"} is continuous.`}function EKe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using ${sn(n)}.`}function AKe(t,e,n,r){return`Conflicting ${e.toString()} property "${t.toString()}" (${sn(n)} and ${sn(r)}). Using the union of the two domains.`}function SKe(t){return`Setting the scale to be independent for "${t}" means we also have to set the guide (axis or legend) to be independent.`}function vKe(t){return`Dropping sort property ${sn(t)} as unioned domains only support boolean or op "count", "min", and "max".`}const uoe="Domains that should be unioned has conflicting sort properties. Sort will be set to true.",_Ke="Detected faceted independent scales that union domain of multiple fields from different data sources. We will use the first field. The result view size may be incorrect.",CKe="Detected faceted independent scales that union domain of the same fields from different source. We will assume that this is the same field from a different fork of the same data source. However, if this is not the case, the result view size may be incorrect.",bKe="Detected faceted independent scales that union domain of multiple fields from the same data source. We will use the first field. The result view size may be incorrect.";function TKe(t){return`Cannot stack "${t}" if there is already "${t}2".`}function RKe(t){return`Cannot stack non-linear scale (${t}).`}function OKe(t){return`Stacking is applied even though the aggregate function is non-summative ("${t}").`}function pN(t,e){return`Invalid ${t}: ${sn(e)}.`}function NKe(t){return`Dropping day from datetime ${sn(t)} as day cannot be combined with other units.`}function DKe(t,e){return`${e?"extent ":""}${e&&t?"and ":""}${t?"center ":""}${e&&t?"are ":"is "}not needed when data are aggregated.`}function FKe(t,e,n){return`${t} is not usually used with ${e} for ${n}.`}function wKe(t,e){return`Continuous axis should not have customized aggregation function ${t}; ${e} already agregates the axis.`}function aoe(t){return`1D error band does not support ${t}.`}function loe(t){return`Channel ${t} is required for "binned" bin.`}function LKe(t){return`Channel ${t} should not be used with "binned" bin.`}function IKe(t){return`Domain for ${t} is required for threshold scale.`}const coe=YW(VW);let L2=coe;function $Ke(t){return L2=t,L2}function BKe(){return L2=coe,L2}function Te(...t){L2.warn(...t)}function kKe(...t){L2.debug(...t)}function Td(t){if(t&&Qe(t)){for(const e of B7)if(e in t)return!0}return!1}const foe=["january","february","march","april","may","june","july","august","september","october","november","december"],PKe=foe.map(t=>t.substr(0,3)),xoe=["sunday","monday","tuesday","wednesday","thursday","friday","saturday"],MKe=xoe.map(t=>t.substr(0,3));function jKe(t){if(A7(t)&&(t=+t),nn(t))return t>4&&Te(pN("quarter",t)),t-1;throw new Error(pN("quarter",t))}function UKe(t){if(A7(t)&&(t=+t),nn(t))return t-1;{const e=t.toLowerCase(),n=foe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=PKe.indexOf(r);if(i!==-1)return i;throw new Error(pN("month",t))}}function qKe(t){if(A7(t)&&(t=+t),nn(t))return t%7;{const e=t.toLowerCase(),n=xoe.indexOf(e);if(n!==-1)return n;const r=e.substr(0,3),i=MKe.indexOf(r);if(i!==-1)return i;throw new Error(pN("day",t))}}function $7(t,e){const n=[];if(e&&t.day!==void 0&&be(t).length>1&&(Te(NKe(t)),t=ot(t),delete t.day),t.year!==void 0?n.push(t.year):n.push(2012),t.month!==void 0){const r=e?UKe(t.month):t.month;n.push(r)}else if(t.quarter!==void 0){const r=e?jKe(t.quarter):t.quarter;n.push(nn(r)?r*3:`${r}*3`)}else n.push(0);if(t.date!==void 0)n.push(t.date);else if(t.day!==void 0){const r=e?qKe(t.day):t.day;n.push(nn(r)?r+1:`${r}+1`)}else n.push(1);for(const r of["hours","minutes","seconds","milliseconds"]){const i=t[r];n.push(typeof i>"u"?0:i)}return n}function E3(t){const n=$7(t,!0).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function HKe(t){const n=$7(t,!1).join(", ");return t.utc?`utc(${n})`:`datetime(${n})`}function zKe(t){const e=$7(t,!0);return t.utc?+new Date(Date.UTC(...e)):+new Date(...e)}var QKe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const doe={year:1,quarter:1,month:1,week:1,day:1,dayofyear:1,date:1,hours:1,minutes:1,seconds:1,milliseconds:1},B7=be(doe);function GKe(t){return!!doe[t]}function k7(t){return t.startsWith("utc")}function WKe(t){return t.substr(3)}const VKe={"year-month":"%b %Y ","year-month-date":"%b %d, %Y "};function P7(t){return B7.filter(e=>hoe(t,e))}function hoe(t,e){const n=t.indexOf(e);return!(n<0||n>0&&e==="seconds"&&t.charAt(n-1)==="i"||t.length>n+3&&e==="day"&&t.charAt(n+3)==="o"||n>0&&e==="year"&&t.charAt(n-1)==="f")}function YKe(t,e,{end:n}={end:!1}){const r=_se(e),i=k7(t)?"utc":"";function s(a){return a==="quarter"?`(${i}quarter(${r})-1)`:`${i}${a}(${r})`}let o;const u={};for(const a of B7)hoe(t,a)&&(u[a]=s(a),o=a);return n&&(u[o]+="+1"),HKe(u)}function poe(t){if(!t)return;const e=P7(t);return`timeUnitSpecifier(${sn(e)}, ${sn(VKe)})`}function KKe(t,e,n){if(!t)return;const r=poe(t);return`${n||k7(t)?"utc":"time"}Format(${e}, ${r})`}function ji(t){if(!t)return;let e;return je(t)?e={unit:t}:Qe(t)&&(e=Object.assign(Object.assign({},t),t.unit?{unit:t.unit}:{})),k7(e.unit)&&(e.utc=!0,e.unit=WKe(e.unit)),e}function XKe(t){const e=ji(t),{utc:n}=e,r=QKe(e,["utc"]);return r.unit?(n?"utc":"")+be(r).map(i=>mn(`${i==="unit"?"":`_${i}_`}${r[i]}`)).join(""):(n?"utc":"")+"timeunit"+be(r).map(i=>mn(`_${i}_${r[i]}`)).join("")}function JKe(t){return t==null?void 0:t.param}function M7(t){return t&&!!t.field&&t.equal!==void 0}function j7(t){return t&&!!t.field&&t.lt!==void 0}function U7(t){return t&&!!t.field&&t.lte!==void 0}function q7(t){return t&&!!t.field&&t.gt!==void 0}function H7(t){return t&&!!t.field&&t.gte!==void 0}function z7(t){if(t!=null&&t.field){if(Ce(t.range)&&t.range.length===2)return!0;if(Ye(t.range))return!0}return!1}function Q7(t){return t&&!!t.field&&(Ce(t.oneOf)||Ce(t.in))}function ZKe(t){return t&&!!t.field&&t.valid!==void 0}function goe(t){return Q7(t)||M7(t)||z7(t)||j7(t)||q7(t)||U7(t)||H7(t)}function Na(t,e){return FN(t,{timeUnit:e,wrapTime:!0})}function eXe(t,e){return t.map(n=>Na(n,e))}function moe(t,e=!0){var n;const{field:r}=t,i=(n=ji(t.timeUnit))===null||n===void 0?void 0:n.unit,s=i?`time(${YKe(i,r)})`:$e(t,{expr:"datum"});if(M7(t))return`${s}===${Na(t.equal,i)}`;if(j7(t)){const o=t.lt;return`${s}<${Na(o,i)}`}else if(q7(t)){const o=t.gt;return`${s}>${Na(o,i)}`}else if(U7(t)){const o=t.lte;return`${s}<=${Na(o,i)}`}else if(H7(t)){const o=t.gte;return`${s}>=${Na(o,i)}`}else{if(Q7(t))return`indexof([${eXe(t.oneOf,i).join(",")}], ${s}) !== -1`;if(ZKe(t))return G7(s,t.valid);if(z7(t)){const{range:o}=t,u=Ye(o)?{signal:`${o.signal}[0]`}:o[0],a=Ye(o)?{signal:`${o.signal}[1]`}:o[1];if(u!==null&&a!==null&&e)return"inrange("+s+", ["+Na(u,i)+", "+Na(a,i)+"])";const l=[];return u!==null&&l.push(`${s} >= ${Na(u,i)}`),a!==null&&l.push(`${s} <= ${Na(a,i)}`),l.length>0?l.join(" && "):"true"}}throw new Error(`Invalid field predicate: ${sn(t)}`)}function G7(t,e=!0){return e?`isValid(${t}) && isFinite(+${t})`:`!isValid(${t}) || !isFinite(+${t})`}function tXe(t){var e;return goe(t)&&t.timeUnit?Object.assign(Object.assign({},t),{timeUnit:(e=ji(t.timeUnit))===null||e===void 0?void 0:e.unit}):t}const A3={quantitative:"quantitative",ordinal:"ordinal",temporal:"temporal",nominal:"nominal",geojson:"geojson"};function nXe(t){return t==="quantitative"||t==="temporal"}function yoe(t){return t==="ordinal"||t==="nominal"}const Rd=A3.quantitative,W7=A3.ordinal,I2=A3.temporal,V7=A3.nominal,$2=A3.geojson;function rXe(t){if(t)switch(t=t.toLowerCase(),t){case"q":case Rd:return"quantitative";case"t":case I2:return"temporal";case"o":case W7:return"ordinal";case"n":case V7:return"nominal";case $2:return"geojson"}}var iXe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const ms={LINEAR:"linear",LOG:"log",POW:"pow",SQRT:"sqrt",SYMLOG:"symlog",IDENTITY:"identity",SEQUENTIAL:"sequential",TIME:"time",UTC:"utc",QUANTILE:"quantile",QUANTIZE:"quantize",THRESHOLD:"threshold",BIN_ORDINAL:"bin-ordinal",ORDINAL:"ordinal",POINT:"point",BAND:"band"},Y7={linear:"numeric",log:"numeric",pow:"numeric",sqrt:"numeric",symlog:"numeric",identity:"numeric",sequential:"numeric",time:"time",utc:"time",ordinal:"ordinal","bin-ordinal":"bin-ordinal",point:"ordinal-position",band:"ordinal-position",quantile:"discretizing",quantize:"discretizing",threshold:"discretizing"};function sXe(t,e){const n=Y7[t],r=Y7[e];return n===r||n==="ordinal-position"&&r==="time"||r==="ordinal-position"&&n==="time"}const oXe={linear:0,log:1,pow:1,sqrt:1,symlog:1,identity:1,sequential:1,time:0,utc:0,point:10,band:11,ordinal:0,"bin-ordinal":0,quantile:0,quantize:0,threshold:0};function Eoe(t){return oXe[t]}const Aoe=new Set(["linear","log","pow","sqrt","symlog"]),Soe=new Set([...Aoe,"time","utc"]);function voe(t){return Aoe.has(t)}const _oe=new Set(["quantile","quantize","threshold"]),uXe=new Set([...Soe,..._oe,"sequential","identity"]),aXe=new Set(["ordinal","bin-ordinal","point","band"]);function Cr(t){return aXe.has(t)}function Hs(t){return uXe.has(t)}function du(t){return Soe.has(t)}function B2(t){return _oe.has(t)}const lXe={pointPadding:.5,barBandPaddingInner:.1,rectBandPaddingInner:0,bandWithNestedOffsetPaddingInner:.2,bandWithNestedOffsetPaddingOuter:.2,minBandSize:2,minFontSize:8,maxFontSize:40,minOpacity:.3,maxOpacity:.8,minSize:9,minStrokeWidth:1,maxStrokeWidth:4,quantileCount:4,quantizeCount:4};function cXe(t){return!je(t)&&!!t.name}function Coe(t){return t==null?void 0:t.param}function fXe(t){return t&&t.unionWith}function xXe(t){return Qe(t)&&"field"in t}const dXe=iXe({type:1,domain:1,domainMax:1,domainMin:1,domainMid:1,align:1,range:1,rangeMax:1,rangeMin:1,scheme:1,bins:1,reverse:1,round:1,clamp:1,nice:1,base:1,exponent:1,constant:1,interpolate:1,zero:1,padding:1,paddingInner:1,paddingOuter:1},["type","domain","range","rangeMax","rangeMin","scheme"]),hXe=be(dXe);function K7(t,e){switch(e){case"type":case"domain":case"reverse":case"range":return!0;case"scheme":case"interpolate":return!["point","band","identity"].includes(t);case"bins":return!["point","band","identity","ordinal"].includes(t);case"round":return du(t)||t==="band"||t==="point";case"padding":case"rangeMin":case"rangeMax":return du(t)||["point","band"].includes(t);case"paddingOuter":case"align":return["point","band"].includes(t);case"paddingInner":return t==="band";case"domainMax":case"domainMid":case"domainMin":case"clamp":return du(t);case"nice":return du(t)||t==="quantize"||t==="threshold";case"exponent":return t==="pow";case"base":return t==="log";case"constant":return t==="symlog";case"zero":return Hs(t)&&!Tt(["log","time","utc","threshold","quantile"],t)}}function boe(t,e){switch(e){case"interpolate":case"scheme":case"domainMid":return F2(t)?void 0:fKe(t);case"align":case"type":case"bins":case"domain":case"domainMax":case"domainMin":case"range":case"base":case"exponent":case"constant":case"nice":case"padding":case"paddingInner":case"paddingOuter":case"rangeMax":case"rangeMin":case"reverse":case"round":case"clamp":case"zero":return}}function pXe(t,e){return Tt([W7,V7],e)?t===void 0||Cr(t):e===I2?Tt([ms.TIME,ms.UTC,void 0],t):e===Rd?voe(t)||B2(t)||t===void 0:!0}function gXe(t,e,n=!1){if(!Bc(t))return!1;switch(t){case yn:case _r:case Dc:case D2:case fu:case _a:return du(e)||e==="band"?!0:e==="point"?!n:!1;case Xl:case Lc:case Jl:case Fc:case wc:case Sd:return du(e)||B2(e)||Tt(["band","point","ordinal"],e);case ds:case Ta:case Ra:return e!=="band";case Ic:case hs:return e==="ordinal"||B2(e)}}const Ui={arc:"arc",area:"area",bar:"bar",image:"image",line:"line",point:"point",rect:"rect",rule:"rule",text:"text",tick:"tick",trail:"trail",circle:"circle",square:"square",geoshape:"geoshape"},Toe=Ui.arc,gN=Ui.area,mN=Ui.bar,mXe=Ui.image,yN=Ui.line,EN=Ui.point,yXe=Ui.rect,AN=Ui.rule,Roe=Ui.text,X7=Ui.tick,EXe=Ui.trail,J7=Ui.circle,Z7=Ui.square,Ooe=Ui.geoshape;function jc(t){return["line","area","trail"].includes(t)}function Noe(t){return["rect","bar","image","arc"].includes(t)}const AXe=new Set(be(Ui));function Da(t){return t.type}const SXe=["stroke","strokeWidth","strokeDash","strokeDashOffset","strokeOpacity","strokeJoin","strokeMiterLimit"],vXe=["fill","fillOpacity"],_Xe=[...SXe,...vXe],Doe=be({color:1,filled:1,invalid:1,order:1,radius2:1,theta2:1,timeUnitBandSize:1,timeUnitBandPosition:1}),CXe={area:["line","point"],bar:["binSpacing","continuousBandSize","discreteBandSize"],rect:["binSpacing","continuousBandSize","discreteBandSize"],line:["point"],tick:["bandSize","thickness"]},bXe={color:"#4c78a8",invalid:"filter",timeUnitBandSize:1},Foe=be({mark:1,arc:1,area:1,bar:1,circle:1,image:1,line:1,point:1,rect:1,rule:1,square:1,text:1,tick:1,trail:1,geoshape:1});function k2(t){return t&&t.band!=null}const TXe={horizontal:["cornerRadiusTopRight","cornerRadiusBottomRight"],vertical:["cornerRadiusTopLeft","cornerRadiusTopRight"]},woe=5,RXe={binSpacing:1,continuousBandSize:woe,timeUnitBandPosition:.5},OXe={binSpacing:0,continuousBandSize:woe,timeUnitBandPosition:.5},NXe={thickness:1};function DXe(t){return Da(t)?t.type:t}function e8(t){const{channel:e,channelDef:n,markDef:r,scale:i,config:s}=t,o=n8(t);return Le(n)&&!Bse(n.aggregate)&&i&&du(i.get("type"))?FXe({fieldDef:n,channel:e,markDef:r,ref:o,config:s}):o}function FXe({fieldDef:t,channel:e,markDef:n,ref:r,config:i}){return jc(n.type)?r:kt("invalid",n,i)===null?[wXe(t,e),r]:r}function wXe(t,e){const n=t8(t,!0),i=_d(e)==="y"?{field:{group:"height"}}:{value:0};return Object.assign({test:n},i)}function t8(t,e=!0){return G7(je(t)?t:$e(t,{expr:"datum"}),!e)}function LXe(t){const{datum:e}=t;return Td(e)?E3(e):`${sn(e)}`}function Od(t,e,n,r){const i={};if(e&&(i.scale=e),wa(t)){const{datum:s}=t;Td(s)?i.signal=E3(s):Ye(s)?i.signal=s.signal:y3(s)?i.signal=s.expr:i.value=s}else i.field=$e(t,n);if(r){const{offset:s,band:o}=r;s&&(i.offset=s),o&&(i.band=o)}return i}function SN({scaleName:t,fieldOrDatumDef:e,fieldOrDatumDef2:n,offset:r,startSuffix:i,bandPosition:s=.5}){const o=0<s&&s<1?"datum":void 0,u=$e(e,{expr:o,suffix:i}),a=n!==void 0?$e(n,{expr:o}):$e(e,{suffix:"end",expr:o}),l={};if(s===0||s===1){l.scale=t;const c=s===0?u:a;l.field=c}else{const c=Ye(s)?`${s.signal} * ${u} + (1-${s.signal}) * ${a}`:`${s} * ${u} + ${1-s} * ${a}`;l.signal=`scale("${t}", ${c})`}return r&&(l.offset=r),l}function n8({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l,bandPosition:c}){var f;if(e){if(it(e)){const x=o==null?void 0:o.get("type");if(To(e)){c??(c=zoe({fieldDef:e,fieldDef2:n,markDef:r,config:i}));const{bin:h,timeUnit:p,type:m}=e;if(Xt(h)||c&&p&&m===I2)return u!=null&&u.impute?Od(e,s,{binSuffix:"mid"},{offset:a}):c&&!Cr(x)?SN({scaleName:s,fieldOrDatumDef:e,bandPosition:c,offset:a}):Od(e,s,C3(e,t)?{binSuffix:"range"}:{},{offset:a});if(Mi(h)){if(Le(n))return SN({scaleName:s,fieldOrDatumDef:e,fieldOrDatumDef2:n,bandPosition:c,offset:a});Te(loe(t===yn?cu:va))}}return Od(e,s,Cr(x)?{binSuffix:"range"}:{},{offset:a,band:x==="band"?(f=c??e.bandPosition)!==null&&f!==void 0?f:.5:void 0})}else if(hu(e)){const x=e.value,h=a?{offset:a}:{};return Object.assign(Object.assign({},S3(t,x)),h)}}return lt(l)&&(l=l()),l&&Object.assign(Object.assign({},l),a?{offset:a}:{})}function S3(t,e){return Tt(["x","x2"],t)&&e==="width"?{field:{group:"width"}}:Tt(["y","y2"],t)&&e==="height"?{field:{group:"height"}}:on(e)}function Nd(t){return t&&t!=="number"&&t!=="time"}function Loe(t,e,n){return`${t}(${e}${n?`, ${sn(n)}`:""})`}const IXe=" – ";function r8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s}){var o,u;if(Nd(n))return i8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,config:s});const a=Ioe(t,r,i);if(j2(t)){const l=BXe(a,Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0,e,s.timeFormat,Dd(t)&&((u=t.scale)===null||u===void 0?void 0:u.type)===ms.UTC);return l?{signal:l}:void 0}if(e=koe(a8(t),e,s),Le(t)&&Xt(t.bin)){const l=$e(t,{expr:r,binSuffix:"end"});return{signal:vN(a,l,e,n,s)}}else return e||a8(t)==="quantitative"?{signal:`${Poe(a,e)}`}:{signal:`isValid(${a}) ? ${a} : ""+${a}`}}function Ioe(t,e,n){return Le(t)?n?`${$e(t,{expr:e,suffix:"end"})}-${$e(t,{expr:e,suffix:"start"})}`:$e(t,{expr:e}):LXe(t)}function i8({fieldOrDatumDef:t,format:e,formatType:n,expr:r,normalizeStack:i,config:s,field:o}){if(o??(o=Ioe(t,r,i)),Le(t)&&Xt(t.bin)){const u=$e(t,{expr:r,binSuffix:"end"});return{signal:vN(o,u,e,n,s)}}return{signal:Loe(n,o,e)}}function $oe(t,e,n,r,i,s){var o;if(!Nd(r)){if(j2(t)){const u=Le(t)?(o=ji(t.timeUnit))===null||o===void 0?void 0:o.unit:void 0;return $Xe(n,u,i,s)}return koe(e,n,i)}}function Boe(t,e,n){if(t&&(Ye(t)||t==="number"||t==="time"))return t;if(j2(e)&&n!=="time"&&n!=="utc")return"time"}function koe(t,e,n){if(je(e))return e;if(t===Rd)return n.numberFormat}function $Xe(t,e,n,r){return t||(e?{signal:poe(e)}:r?void 0:n.timeFormat)}function Poe(t,e){return`format(${t}, "${e||""}")`}function Moe(t,e,n,r){var i;return Nd(n)?Loe(n,t,e):Poe(t,(i=je(e)?e:void 0)!==null&&i!==void 0?i:r.numberFormat)}function vN(t,e,n,r,i){const s=Moe(t,n,r,i),o=Moe(e,n,r,i);return`${G7(t,!1)} ? "null" : ${s} + "${IXe}" + ${o}`}function BXe(t,e,n,r,i){return!e||n?(n=je(n)?n:r,`${i?"utc":"time"}Format(${t}, '${n}')`):KKe(e,t,i)}const _N="min",kXe={x:1,y:1,color:1,fill:1,stroke:1,strokeWidth:1,size:1,shape:1,fillOpacity:1,strokeOpacity:1,opacity:1,text:1};function joe(t){return t in kXe}function Uoe(t){return!!t&&!!t.encoding}function Fa(t){return!!t&&(t.op==="count"||!!t.field)}function qoe(t){return!!t&&Ce(t)}function v3(t){return"row"in t||"column"in t}function s8(t){return!!t&&"header"in t}function CN(t){return"facet"in t}var o8=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function PXe(t){return t.param}function MXe(t){return t&&!je(t)&&"repeat"in t}function Hoe(t){const{field:e,timeUnit:n,bin:r,aggregate:i}=t;return Object.assign(Object.assign(Object.assign(Object.assign({},n?{timeUnit:n}:{}),r?{bin:r}:{}),i?{aggregate:i}:{}),{field:e})}function u8(t){return"sort"in t}function zoe({fieldDef:t,fieldDef2:e,markDef:n,config:r}){if(it(t)&&t.bandPosition!==void 0)return t.bandPosition;if(Le(t)){const{timeUnit:i,bin:s}=t;if(i&&!e)return Noe(n.type)?0:bd("timeUnitBandPosition",n,r);if(Xt(s))return .5}}function Qoe({channel:t,fieldDef:e,fieldDef2:n,markDef:r,config:i,scaleType:s,useVlSizeChannel:o}){var u,a,l;const c=ps(t),f=kt(o?"size":c,r,i,{vgChannel:c});if(f!==void 0)return f;if(Le(e)){const{timeUnit:x,bin:h}=e;if(x&&!n)return{band:bd("timeUnitBandSize",r,i)};if(Xt(h)&&!Cr(s))return{band:1}}if(Noe(r.type))return s?Cr(s)?((u=i[r.type])===null||u===void 0?void 0:u.discreteBandSize)||{band:1}:(a=i[r.type])===null||a===void 0?void 0:a.continuousBandSize:(l=i[r.type])===null||l===void 0?void 0:l.discreteBandSize}function Goe(t,e,n,r){return Xt(t.bin)||t.timeUnit&&To(t)&&t.type==="temporal"?zoe({fieldDef:t,fieldDef2:e,markDef:n,config:r})!==void 0:!1}function bN(t){return t&&"condition"in t}function TN(t){const e=t&&t.condition;return!!e&&!Ce(e)&&Le(e)}function _3(t){const e=t&&t.condition;return!!e&&!Ce(e)&&it(e)}function jXe(t){const e=t&&t.condition;return!!e&&(Ce(e)||hu(e))}function Le(t){return t&&(!!t.field||t.aggregate==="count")}function a8(t){return t&&t.type}function wa(t){return t&&"datum"in t}function La(t){return To(t)&&!RN(t)||l8(t)}function l8(t){return wa(t)&&nn(t.datum)}function it(t){return Le(t)||wa(t)}function To(t){return t&&("field"in t||t.aggregate==="count")&&"type"in t}function hu(t){return t&&"value"in t&&"value"in t}function Dd(t){return t&&("scale"in t||"sort"in t)}function c8(t){return t&&("axis"in t||"stack"in t||"impute"in t)}function Woe(t){return t&&"legend"in t}function Voe(t){return t&&("format"in t||"formatType"in t)}function UXe(t){return _o(t,["legend","axis","header","scale"])}function qXe(t){return"op"in t}function $e(t,e={}){var n,r,i;let s=t.field;const o=e.prefix;let u=e.suffix,a="";if(zXe(t))s=JVe("count");else{let l;if(!e.nofn)if(qXe(t))l=t.op;else{const{bin:c,aggregate:f,timeUnit:x}=t;Xt(c)?(l=kse(c),u=((n=e.binSuffix)!==null&&n!==void 0?n:"")+((r=e.suffix)!==null&&r!==void 0?r:"")):f?kc(f)?(a=`["${s}"]`,s=`argmax_${f.argmax}`):e0(f)?(a=`["${s}"]`,s=`argmin_${f.argmin}`):l=String(f):x&&(l=XKe(x),u=(!["range","mid"].includes(e.binSuffix)&&e.binSuffix||"")+((i=e.suffix)!==null&&i!==void 0?i:""))}l&&(s=s?`${l}_${s}`:l)}return u&&(s=`${s}_${u}`),o&&(s=`${o}_${s}`),e.forAs?Cse(s):e.expr?VVe(s,e.expr)+a:lu(s)+a}function RN(t){switch(t.type){case"nominal":case"ordinal":case"geojson":return!0;case"quantitative":return Le(t)&&!!t.bin;case"temporal":return!1}throw new Error(roe(t.type))}function HXe(t){var e;return Dd(t)&&B2((e=t.scale)===null||e===void 0?void 0:e.type)}function zXe(t){return t.aggregate==="count"}function QXe(t,e){var n;const{field:r,bin:i,timeUnit:s,aggregate:o}=t;if(o==="count")return e.countTitle;if(Xt(i))return`${r} (binned)`;if(s){const u=(n=ji(s))===null||n===void 0?void 0:n.unit;if(u)return`${r} (${P7(u).join("-")})`}else if(o)return kc(o)?`${r} for max ${o.argmax}`:e0(o)?`${r} for min ${o.argmin}`:`${rN(o)} of ${r}`;return r}function GXe(t){const{aggregate:e,bin:n,timeUnit:r,field:i}=t;if(kc(e))return`${i} for argmax(${e.argmax})`;if(e0(e))return`${i} for argmin(${e.argmin})`;const s=ji(r),o=e||(s==null?void 0:s.unit)||(s==null?void 0:s.maxbins)&&"timeunit"||Xt(n)&&"bin";return o?`${o.toUpperCase()}(${i})`:i}const Yoe=(t,e)=>{switch(e.fieldTitle){case"plain":return t.field;case"functional":return GXe(t);default:return QXe(t,e)}};let Koe=Yoe;function Xoe(t){Koe=t}function WXe(){Xoe(Yoe)}function P2(t,e,{allowDisabling:n,includeDefault:r=!0}){var i,s;const o=(i=f8(t))===null||i===void 0?void 0:i.title;if(!Le(t))return o??t.title;const u=t,a=r?x8(u,e):void 0;return n?rr(o,u.title,a):(s=o??u.title)!==null&&s!==void 0?s:a}function f8(t){if(c8(t)&&t.axis)return t.axis;if(Woe(t)&&t.legend)return t.legend;if(s8(t)&&t.header)return t.header}function x8(t,e){return Koe(t,e)}function ON(t){var e;if(Voe(t)){const{format:n,formatType:r}=t;return{format:n,formatType:r}}else{const n=(e=f8(t))!==null&&e!==void 0?e:{},{format:r,formatType:i}=n;return{format:r,formatType:i}}}function VXe(t,e){var n;switch(e){case"latitude":case"longitude":return"quantitative";case"row":case"column":case"facet":case"shape":case"strokeDash":return"nominal";case"order":return"ordinal"}if(u8(t)&&Ce(t.sort))return"ordinal";const{aggregate:r,bin:i,timeUnit:s}=t;if(s)return"temporal";if(i||r&&!kc(r)&&!e0(r))return"quantitative";if(Dd(t)&&(!((n=t.scale)===null||n===void 0)&&n.type))switch(Y7[t.scale.type]){case"numeric":case"discretizing":return"quantitative";case"time":return"temporal"}return"nominal"}function Ia(t){if(Le(t))return t;if(TN(t))return t.condition}function ir(t){if(it(t))return t;if(_3(t))return t.condition}function Joe(t,e,n,r={}){if(je(t)||nn(t)||Fp(t)){const i=je(t)?"string":nn(t)?"number":"boolean";return Te(JYe(e,i,t)),{value:t}}return it(t)?NN(t,e,n,r):_3(t)?Object.assign(Object.assign({},t),{condition:NN(t.condition,e,n,r)}):t}function NN(t,e,n,r){if(Voe(t)){const{format:i,formatType:s}=t,o=o8(t,["format","formatType"]);if(Nd(s)&&!n.customFormatTypes)return Te(noe(e)),NN(o,e,n,r)}else{const i=c8(t)?"axis":Woe(t)?"legend":s8(t)?"header":null;if(i&&t[i]){const s=t[i],{format:o,formatType:u}=s,a=o8(s,["format","formatType"]);if(Nd(u)&&!n.customFormatTypes)return Te(noe(e)),NN(Object.assign(Object.assign({},t),{[i]:a}),e,n,r)}}return Le(t)?d8(t,e,r):YXe(t)}function YXe(t){let e=t.type;if(e)return t;const{datum:n}=t;return e=nn(n)?"quantitative":je(n)?"nominal":Td(n)?"temporal":void 0,Object.assign(Object.assign({},t),{type:e})}function d8(t,e,{compositeMark:n=!1}={}){const{aggregate:r,timeUnit:i,bin:s,field:o}=t,u=Object.assign({},t);if(!n&&r&&!O7(r)&&!kc(r)&&!e0(r)&&(Te(eKe(r)),delete u.aggregate),i&&(u.timeUnit=ji(i)),o&&(u.field=`${o}`),Xt(s)&&(u.bin=DN(s,e)),Mi(s)&&!kr(e)&&Te(LKe(e)),To(u)){const{type:a}=u,l=rXe(a);a!==l&&(u.type=l),a!=="quantitative"&&Bse(r)&&(Te(ZYe(a,r)),u.type="quantitative")}else if(!Nse(e)){const a=VXe(u,e);u.type=a}if(To(u)){const{compatible:a,warning:l}=KXe(u,e)||{};a===!1&&Te(l)}if(u8(u)&&je(u.sort)){const{sort:a}=u;if(joe(a))return Object.assign(Object.assign({},u),{sort:{encoding:a}});const l=a.substr(1);if(a.charAt(0)==="-"&&joe(l))return Object.assign(Object.assign({},u),{sort:{encoding:l,order:"descending"}})}if(s8(u)){const{header:a}=u;if(a){const{orient:l}=a,c=o8(a,["orient"]);if(l)return Object.assign(Object.assign({},u),{header:Object.assign(Object.assign({},c),{labelOrient:a.labelOrient||l,titleOrient:a.titleOrient||l})})}}return u}function DN(t,e){return Fp(t)?{maxbins:Pse(e)}:t==="binned"?{binned:!0}:!t.maxbins&&!t.step?Object.assign(Object.assign({},t),{maxbins:Pse(e)}):t}const M2={compatible:!0};function KXe(t,e){const n=t.type;if(n==="geojson"&&e!=="shape")return{compatible:!1,warning:`Channel ${e} should not be used with a geojson data.`};switch(e){case Wl:case Vl:case sN:return RN(t)?M2:{compatible:!1,warning:sKe(e)};case yn:case _r:case Dc:case D2:case ds:case Ta:case Ra:case p3:case m3:case oN:case vd:case uN:case aN:case Sd:case fu:case _a:case lN:return M2;case ba:case Co:case Ca:case xu:return n!==Rd?{compatible:!1,warning:`Channel ${e} should be used with a quantitative field only, not ${t.type} field.`}:M2;case Jl:case Fc:case wc:case Lc:case Xl:case Kl:case Yl:case cu:case va:return n==="nominal"&&!t.sort?{compatible:!1,warning:`Channel ${e} should not be used with an unsorted discrete field.`}:M2;case hs:case Ic:return!RN(t)&&!HXe(t)?{compatible:!1,warning:oKe(e)}:M2;case g3:return t.type==="nominal"&&!("sort"in t)?{compatible:!1,warning:"Channel order is inappropriate for nominal field, which has no inherent order."}:M2}}function j2(t){const{formatType:e}=ON(t);return e==="time"||!e&&XXe(t)}function XXe(t){return t&&(t.type==="temporal"||Le(t)&&!!t.timeUnit)}function FN(t,{timeUnit:e,type:n,wrapTime:r,undefinedIfExprNotRequired:i}){var s;const o=e&&((s=ji(e))===null||s===void 0?void 0:s.unit);let u=o||n==="temporal",a;return y3(t)?a=t.expr:Ye(t)?a=t.signal:Td(t)?(u=!0,a=E3(t)):(je(t)||nn(t))&&u&&(a=`datetime(${sn(t)})`,GKe(o)&&(nn(t)&&t<1e4||je(t)&&isNaN(Date.parse(t)))&&(a=E3({[o]:t}))),a?r&&u?`time(${a})`:a:i?void 0:sn(t)}function Zoe(t,e){const{type:n}=t;return e.map(r=>{const i=FN(r,{timeUnit:Le(t)?t.timeUnit:void 0,type:n,undefinedIfExprNotRequired:!0});return i!==void 0?{signal:i}:r})}function C3(t,e){return Xt(t.bin)?Bc(e)&&["ordinal","nominal"].includes(t.type):(console.warn("Only call this method for binned field defs."),!1)}const eue={labelAlign:{part:"labels",vgProp:"align"},labelBaseline:{part:"labels",vgProp:"baseline"},labelColor:{part:"labels",vgProp:"fill"},labelFont:{part:"labels",vgProp:"font"},labelFontSize:{part:"labels",vgProp:"fontSize"},labelFontStyle:{part:"labels",vgProp:"fontStyle"},labelFontWeight:{part:"labels",vgProp:"fontWeight"},labelOpacity:{part:"labels",vgProp:"opacity"},labelOffset:null,labelPadding:null,gridColor:{part:"grid",vgProp:"stroke"},gridDash:{part:"grid",vgProp:"strokeDash"},gridDashOffset:{part:"grid",vgProp:"strokeDashOffset"},gridOpacity:{part:"grid",vgProp:"opacity"},gridWidth:{part:"grid",vgProp:"strokeWidth"},tickColor:{part:"ticks",vgProp:"stroke"},tickDash:{part:"ticks",vgProp:"strokeDash"},tickDashOffset:{part:"ticks",vgProp:"strokeDashOffset"},tickOpacity:{part:"ticks",vgProp:"opacity"},tickSize:null,tickWidth:{part:"ticks",vgProp:"strokeWidth"}};function b3(t){return t&&t.condition}const tue=["domain","grid","labels","ticks","title"],JXe={grid:"grid",gridCap:"grid",gridColor:"grid",gridDash:"grid",gridDashOffset:"grid",gridOpacity:"grid",gridScale:"grid",gridWidth:"grid",orient:"main",bandPosition:"both",aria:"main",description:"main",domain:"main",domainCap:"main",domainColor:"main",domainDash:"main",domainDashOffset:"main",domainOpacity:"main",domainWidth:"main",format:"main",formatType:"main",labelAlign:"main",labelAngle:"main",labelBaseline:"main",labelBound:"main",labelColor:"main",labelFlush:"main",labelFlushOffset:"main",labelFont:"main",labelFontSize:"main",labelFontStyle:"main",labelFontWeight:"main",labelLimit:"main",labelLineHeight:"main",labelOffset:"main",labelOpacity:"main",labelOverlap:"main",labelPadding:"main",labels:"main",labelSeparation:"main",maxExtent:"main",minExtent:"main",offset:"both",position:"main",tickCap:"main",tickColor:"main",tickDash:"main",tickDashOffset:"main",tickMinStep:"both",tickOffset:"both",tickOpacity:"main",tickRound:"both",ticks:"main",tickSize:"main",tickWidth:"both",title:"main",titleAlign:"main",titleAnchor:"main",titleAngle:"main",titleBaseline:"main",titleColor:"main",titleFont:"main",titleFontSize:"main",titleFontStyle:"main",titleFontWeight:"main",titleLimit:"main",titleLineHeight:"main",titleOpacity:"main",titlePadding:"main",titleX:"main",titleY:"main",encode:"both",scale:"both",tickBand:"both",tickCount:"both",tickExtra:"both",translate:"both",values:"both",zindex:"both"},nue={orient:1,aria:1,bandPosition:1,description:1,domain:1,domainCap:1,domainColor:1,domainDash:1,domainDashOffset:1,domainOpacity:1,domainWidth:1,format:1,formatType:1,grid:1,gridCap:1,gridColor:1,gridDash:1,gridDashOffset:1,gridOpacity:1,gridWidth:1,labelAlign:1,labelAngle:1,labelBaseline:1,labelBound:1,labelColor:1,labelFlush:1,labelFlushOffset:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelLineHeight:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labels:1,labelSeparation:1,maxExtent:1,minExtent:1,offset:1,position:1,tickBand:1,tickCap:1,tickColor:1,tickCount:1,tickDash:1,tickDashOffset:1,tickExtra:1,tickMinStep:1,tickOffset:1,tickOpacity:1,tickRound:1,ticks:1,tickSize:1,tickWidth:1,title:1,titleAlign:1,titleAnchor:1,titleAngle:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titlePadding:1,titleX:1,titleY:1,translate:1,values:1,zindex:1},ZXe=Object.assign(Object.assign({},nue),{style:1,labelExpr:1,encoding:1});function rue(t){return!!ZXe[t]}const iue=be({axis:1,axisBand:1,axisBottom:1,axisDiscrete:1,axisLeft:1,axisPoint:1,axisQuantitative:1,axisRight:1,axisTemporal:1,axisTop:1,axisX:1,axisXBand:1,axisXDiscrete:1,axisXPoint:1,axisXQuantitative:1,axisXTemporal:1,axisY:1,axisYBand:1,axisYDiscrete:1,axisYPoint:1,axisYQuantitative:1,axisYTemporal:1});function r0(t){return"mark"in t}class wN{constructor(e,n){this.name=e,this.run=n}hasMatchingType(e){return r0(e)?DXe(e.mark)===this.name:!1}}var eJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Fd(t,e){const n=t&&t[e];return n?Ce(n)?O2(n,r=>!!r.field):Le(n)||TN(n):!1}function sue(t,e){const n=t&&t[e];return n?Ce(n)?O2(n,r=>!!r.field):Le(n)||wa(n)||_3(n):!1}function h8(t,e){if(kr(e)){const n=t[e];if((Le(n)||wa(n))&&yoe(n.type)){const r=Dse(e);return sue(t,r)}}return!1}function p8(t){return O2(iYe,e=>{if(Fd(t,e)){const n=t[e];if(Ce(n))return O2(n,r=>!!r.aggregate);{const r=Ia(n);return r&&!!r.aggregate}}return!1})}function oue(t,e){const n=[],r=[],i=[],s=[],o={};return g8(t,(u,a)=>{if(Le(u)){const{field:l,aggregate:c,bin:f,timeUnit:x}=u,h=eJe(u,["field","aggregate","bin","timeUnit"]);if(c||x||f){const p=f8(u),m=p==null?void 0:p.title;let g=$e(u,{forAs:!0});const y=Object.assign(Object.assign(Object.assign({},m?[]:{title:P2(u,e,{allowDisabling:!0})}),h),{field:g});if(c){let E;if(kc(c)?(E="argmax",g=$e({op:"argmax",field:c.argmax},{forAs:!0}),y.field=`${g}.${l}`):e0(c)?(E="argmin",g=$e({op:"argmin",field:c.argmin},{forAs:!0}),y.field=`${g}.${l}`):c!=="boxplot"&&c!=="errorbar"&&c!=="errorband"&&(E=c),E){const A={op:E,as:g};l&&(A.field=l),s.push(A)}}else if(n.push(g),To(u)&&Xt(f)){if(r.push({bin:f,field:l,as:g}),n.push($e(u,{binSuffix:"end"})),C3(u,a)&&n.push($e(u,{binSuffix:"range"})),kr(a)){const E={field:`${g}_end`};o[`${a}2`]=E}y.bin="binned",Nse(a)||(y.type=Rd)}else if(x){i.push({timeUnit:x,field:l,as:g});const E=To(u)&&u.type!==I2&&"time";E&&(a===p3||a===vd?y.formatType=E:hYe(a)?y.legend=Object.assign({formatType:E},y.legend):kr(a)&&(y.axis=Object.assign({formatType:E},y.axis)))}o[a]=y}else n.push(l),o[a]=t[a]}else o[a]=t[a]}),{bins:r,timeUnits:i,aggregate:s,groupby:n,encoding:o}}function tJe(t,e,n){const r=gYe(e,n);if(r){if(r==="binned"){const i=t[e===cu?yn:_r];return!!(Le(i)&&Le(t[e])&&Mi(i.bin))}}else return!1;return!0}function nJe(t,e,n,r){const i={};for(const s of be(t))Ose(s)||Te(iKe(s));for(let s of cYe){if(!t[s])continue;const o=t[s];if(w2(s)){const u=Fse(s),a=i[u];if(Le(a)){if(nXe(a.type)&&Le(o)){Te(KYe(u));continue}}else s=u,Te(XYe(u))}if(s==="angle"&&e==="arc"&&!t.theta&&(Te(YYe),s=fu),!tJe(t,s,e)){Te(hN(s,e));continue}if(s===Xl&&e==="line"){const u=Ia(t[s]);if(u!=null&&u.aggregate){Te(nKe);continue}}if(s===ds&&(n?"fill"in t:"stroke"in t)){Te(ioe("encoding",{fill:"fill"in t,stroke:"stroke"in t}));continue}if(s===m3||s===g3&&!Ce(o)&&!hu(o)||s===vd&&Ce(o))o&&(i[s]=Pe(o).reduce((u,a)=>(Le(a)?u.push(d8(a,s)):Te(L7(a,s)),u),[]));else{if(s===vd&&o===null)i[s]=null;else if(!Le(o)&&!wa(o)&&!hu(o)&&!bN(o)&&!Ye(o)){Te(L7(o,s));continue}i[s]=Joe(o,s,r)}}return i}function LN(t,e){const n={};for(const r of be(t)){const i=Joe(t[r],r,e,{compositeMark:!0});n[r]=i}return n}function rJe(t){const e=[];for(const n of be(t))if(Fd(t,n)){const r=t[n],i=Pe(r);for(const s of i)Le(s)?e.push(s):TN(s)&&e.push(s.condition)}return e}function g8(t,e,n){if(t)for(const r of be(t)){const i=t[r];if(Ce(i))for(const s of i)e.call(n,s,r);else e.call(n,i,r)}}function iJe(t,e,n,r){return t?be(t).reduce((i,s)=>{const o=t[s];return Ce(o)?o.reduce((u,a)=>e.call(r,u,a,s),i):e.call(r,i,o,s)},n):n}function uue(t,e){return be(e).reduce((n,r)=>{switch(r){case yn:case _r:case uN:case lN:case aN:case cu:case va:case Dc:case D2:case fu:case Kl:case _a:case Yl:case Ca:case ba:case xu:case Co:case p3:case hs:case Sd:case vd:return n;case g3:if(t==="line"||t==="trail")return n;case m3:case oN:{const i=e[r];if(Ce(i)||Le(i))for(const s of Pe(i))s.aggregate||n.push($e(s,{}));return n}case Xl:if(t==="trail")return n;case ds:case Ta:case Ra:case Jl:case Fc:case wc:case Ic:case Lc:{const i=Ia(e[r]);return i&&!i.aggregate&&n.push($e(i,{})),n}}},[])}var aue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function sJe(t){const{tooltip:e}=t,n=aue(t,["tooltip"]);if(!e)return{filteredEncoding:n};let r,i;if(Ce(e)){for(const s of e)s.aggregate?(r||(r=[]),r.push(s)):(i||(i=[]),i.push(s));r&&(n.tooltip=r)}else e.aggregate?n.tooltip=e:i=e;return Ce(i)&&i.length===1&&(i=i[0]),{customTooltipWithoutAggregatedField:i,filteredEncoding:n}}function m8(t,e,n,r=!0){if("tooltip"in n)return{tooltip:n.tooltip};const i=t.map(({fieldPrefix:o,titlePrefix:u})=>{const a=r?` of ${y8(e)}`:"";return{field:o+e.field,type:e.type,title:Ye(u)?{signal:`${u}"${escape(a)}"`}:u+a}}),s=rJe(n).map(UXe);return{tooltip:[...i,...Gl(s,bt)]}}function y8(t){const{title:e,field:n}=t;return rr(e,n)}function E8(t,e,n,r,i){const{scale:s,axis:o}=n;return({partName:u,mark:a,positionPrefix:l,endPositionPrefix:c=void 0,extraEncoding:f={}})=>{const x=y8(n);return lue(t,u,i,{mark:a,encoding:Object.assign(Object.assign(Object.assign({[e]:Object.assign(Object.assign(Object.assign({field:`${l}_${n.field}`,type:n.type},x!==void 0?{title:x}:{}),s!==void 0?{scale:s}:{}),o!==void 0?{axis:o}:{})},je(c)?{[`${e}2`]:{field:`${c}_${n.field}`}}:{}),r),f)})}}function lue(t,e,n,r){const{clip:i,color:s,opacity:o}=t,u=t.type;return t[e]||t[e]===void 0&&n[e]?[Object.assign(Object.assign({},r),{mark:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},n[e]),i?{clip:i}:{}),s?{color:s}:{}),o?{opacity:o}:{}),Da(r.mark)?r.mark:{type:r.mark}),{style:`${u}-${e}`}),Fp(t[e])?{}:t[e])})]:[]}function cue(t,e,n){const{encoding:r}=t,i=e==="vertical"?"y":"x",s=r[i],o=r[`${i}2`],u=r[`${i}Error`],a=r[`${i}Error2`];return{continuousAxisChannelDef:IN(s,n),continuousAxisChannelDef2:IN(o,n),continuousAxisChannelDefError:IN(u,n),continuousAxisChannelDefError2:IN(a,n),continuousAxis:i}}function IN(t,e){if(t!=null&&t.aggregate){const{aggregate:n}=t,r=aue(t,["aggregate"]);return n!==e&&Te(wKe(n,e)),r}else return t}function fue(t,e){const{mark:n,encoding:r}=t,{x:i,y:s}=r;if(Da(n)&&n.orient)return n.orient;if(La(i)){if(La(s)){const o=Le(i)&&i.aggregate,u=Le(s)&&s.aggregate;if(!o&&u===e)return"vertical";if(!u&&o===e)return"horizontal";if(o===e&&u===e)throw new Error("Both x and y cannot have aggregate");return j2(s)&&!j2(i)?"horizontal":"vertical"}return"horizontal"}else{if(La(s))return"vertical";throw new Error(`Need a valid continuous axis for ${e}s`)}}var $N=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const BN="boxplot",oJe=["box","median","outliers","rule","ticks"],uJe=new wN(BN,due);function xue(t){return nn(t)?"tukey":t}function due(t,{config:e}){var n,r;t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{mark:i,encoding:s,params:o,projection:u}=t,a=$N(t,["mark","encoding","params","projection"]),l=Da(i)?i:{type:i};o&&Te(Zse("boxplot"));const c=(n=l.extent)!==null&&n!==void 0?n:e.boxplot.extent,f=kt("size",l,e),x=xue(c),{bins:h,timeUnits:p,transform:m,continuousAxisChannelDef:g,continuousAxis:y,groupby:E,aggregate:A,encodingWithoutContinuousAxis:S,ticksOrient:v,boxOrient:_,customTooltipWithoutAggregatedField:C}=aJe(t,c,e),{color:b,size:O}=S,R=$N(S,["color","size"]),I=Y=>E8(l,y,g,Y,e.boxplot),M=I(R),H=I(S),V=I(Object.assign(Object.assign({},R),O?{size:O}:{})),Q=m8([{fieldPrefix:x==="min-max"?"upper_whisker_":"max_",titlePrefix:"Max"},{fieldPrefix:"upper_box_",titlePrefix:"Q3"},{fieldPrefix:"mid_box_",titlePrefix:"Median"},{fieldPrefix:"lower_box_",titlePrefix:"Q1"},{fieldPrefix:x==="min-max"?"lower_whisker_":"min_",titlePrefix:"Min"}],g,S),ue={type:"tick",color:"black",opacity:1,orient:v,invalid:null,aria:!1},he=x==="min-max"?Q:m8([{fieldPrefix:"upper_whisker_",titlePrefix:"Upper Whisker"},{fieldPrefix:"lower_whisker_",titlePrefix:"Lower Whisker"}],g,S),le=[...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"lower_whisker",endPositionPrefix:"lower_box",extraEncoding:he}),...M({partName:"rule",mark:{type:"rule",invalid:null,aria:!1},positionPrefix:"upper_box",endPositionPrefix:"upper_whisker",extraEncoding:he}),...M({partName:"ticks",mark:ue,positionPrefix:"lower_whisker",extraEncoding:he}),...M({partName:"ticks",mark:ue,positionPrefix:"upper_whisker",extraEncoding:he})],ne=[...x!=="tukey"?le:[],...H({partName:"box",mark:Object.assign(Object.assign({type:"bar"},f?{size:f}:{}),{orient:_,invalid:null,ariaRoleDescription:"box"}),positionPrefix:"lower_box",endPositionPrefix:"upper_box",extraEncoding:Q}),...V({partName:"median",mark:Object.assign(Object.assign(Object.assign({type:"tick",invalid:null},Qe(e.boxplot.median)&&e.boxplot.median.color?{color:e.boxplot.median.color}:{}),f?{size:f}:{}),{orient:v,aria:!1}),positionPrefix:"mid_box",extraEncoding:Q})];if(x==="min-max")return Object.assign(Object.assign({},a),{transform:((r=a.transform)!==null&&r!==void 0?r:[]).concat(m),layer:ne});const ce=`datum["lower_box_${g.field}"]`,de=`datum["upper_box_${g.field}"]`,G=`(${de} - ${ce})`,F=`${ce} - ${c} * ${G}`,k=`${de} + ${c} * ${G}`,z=`datum["${g.field}"]`,K={joinaggregate:hue(g.field),groupby:E},j={transform:[{filter:`(${F} <= ${z}) && (${z} <= ${k})`},{aggregate:[{op:"min",field:g.field,as:`lower_whisker_${g.field}`},{op:"max",field:g.field,as:`upper_whisker_${g.field}`},{op:"min",field:`lower_box_${g.field}`,as:`lower_box_${g.field}`},{op:"max",field:`upper_box_${g.field}`,as:`upper_box_${g.field}`},...A],groupby:E}],layer:le},$=$N(R,["tooltip"]),{scale:T,axis:D}=g,B=y8(g),q=_o(D,["title"]),L=lue(l,"outliers",e.boxplot,{transform:[{filter:`(${z} < ${F}) || (${z} > ${k})`}],mark:"point",encoding:Object.assign(Object.assign(Object.assign({[y]:Object.assign(Object.assign(Object.assign({field:g.field,type:g.type},B!==void 0?{title:B}:{}),T!==void 0?{scale:T}:{}),Wt(q)?{}:{axis:q})},$),b?{color:b}:{}),C?{tooltip:C}:{})})[0];let U;const P=[...h,...p,K];return L?U={transform:P,layer:[L,j]}:(U=j,U.transform.unshift(...P)),Object.assign(Object.assign({},a),{layer:[U,{transform:m,layer:ne}]})}function hue(t){return[{op:"q1",field:t,as:`lower_box_${t}`},{op:"q3",field:t,as:`upper_box_${t}`}]}function aJe(t,e,n){const r=fue(t,BN),{continuousAxisChannelDef:i,continuousAxis:s}=cue(t,r,BN),o=i.field,u=xue(e),a=[...hue(o),{op:"median",field:o,as:`mid_box_${o}`},{op:"min",field:o,as:(u==="min-max"?"lower_whisker_":"min_")+o},{op:"max",field:o,as:(u==="min-max"?"upper_whisker_":"max_")+o}],l=u==="min-max"||u==="tukey"?[]:[{calculate:`datum["upper_box_${o}"] - datum["lower_box_${o}"]`,as:`iqr_${o}`},{calculate:`min(datum["upper_box_${o}"] + datum["iqr_${o}"] * ${e}, datum["max_${o}"])`,as:`upper_whisker_${o}`},{calculate:`max(datum["lower_box_${o}"] - datum["iqr_${o}"] * ${e}, datum["min_${o}"])`,as:`lower_whisker_${o}`}],c=t.encoding,f=s;c[f];const x=$N(c,[typeof f=="symbol"?f:f+""]),{customTooltipWithoutAggregatedField:h,filteredEncoding:p}=sJe(x),{bins:m,timeUnits:g,aggregate:y,groupby:E,encoding:A}=oue(p,n),S=r==="vertical"?"horizontal":"vertical",v=r,_=[...m,...g,{aggregate:[...y,...a],groupby:E},...l];return{bins:m,timeUnits:g,transform:_,groupby:E,aggregate:y,continuousAxisChannelDef:i,continuousAxis:s,encodingWithoutContinuousAxis:A,ticksOrient:S,boxOrient:v,customTooltipWithoutAggregatedField:h}}var pue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const A8="errorbar",lJe=["ticks","rule"],cJe=new wN(A8,gue);function gue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,ticksOrient:o,markDef:u,outerSpec:a,tooltipEncoding:l}=mue(t,A8,e);delete s.size;const c=E8(u,i,r,s,e.errorbar),f=u.thickness,x=u.size,h=Object.assign(Object.assign({type:"tick",orient:o,aria:!1},f!==void 0?{thickness:f}:{}),x!==void 0?{size:x}:{}),p=[...c({partName:"ticks",mark:h,positionPrefix:"lower",extraEncoding:l}),...c({partName:"ticks",mark:h,positionPrefix:"upper",extraEncoding:l}),...c({partName:"rule",mark:Object.assign({type:"rule",ariaRoleDescription:"errorbar"},f!==void 0?{size:f}:{}),positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:l})];return Object.assign(Object.assign(Object.assign({},a),{transform:n}),p.length>1?{layer:p}:Object.assign({},p[0]))}function fJe(t,e){const{encoding:n}=t;if(xJe(n))return{orient:fue(t,e),inputType:"raw"};const r=dJe(n),i=hJe(n),s=n.x,o=n.y;if(r){if(i)throw new Error(`${e} cannot be both type aggregated-upper-lower and aggregated-error`);const u=n.x2,a=n.y2;if(it(u)&&it(a))throw new Error(`${e} cannot have both x2 and y2`);if(it(u)){if(La(s))return{orient:"horizontal",inputType:"aggregated-upper-lower"};throw new Error(`Both x and x2 have to be quantitative in ${e}`)}else if(it(a)){if(La(o))return{orient:"vertical",inputType:"aggregated-upper-lower"};throw new Error(`Both y and y2 have to be quantitative in ${e}`)}throw new Error("No ranged axis")}else{const u=n.xError,a=n.xError2,l=n.yError,c=n.yError2;if(it(a)&&!it(u))throw new Error(`${e} cannot have xError2 without xError`);if(it(c)&&!it(l))throw new Error(`${e} cannot have yError2 without yError`);if(it(u)&&it(l))throw new Error(`${e} cannot have both xError and yError with both are quantiative`);if(it(u)){if(La(s))return{orient:"horizontal",inputType:"aggregated-error"};throw new Error("All x, xError, and xError2 (if exist) have to be quantitative")}else if(it(l)){if(La(o))return{orient:"vertical",inputType:"aggregated-error"};throw new Error("All y, yError, and yError2 (if exist) have to be quantitative")}throw new Error("No ranged axis")}}function xJe(t){return(it(t.x)||it(t.y))&&!it(t.x2)&&!it(t.y2)&&!it(t.xError)&&!it(t.xError2)&&!it(t.yError)&&!it(t.yError2)}function dJe(t){return it(t.x2)||it(t.y2)}function hJe(t){return it(t.xError)||it(t.xError2)||it(t.yError)||it(t.yError2)}function mue(t,e,n){var r;const{mark:i,encoding:s,params:o,projection:u}=t,a=pue(t,["mark","encoding","params","projection"]),l=Da(i)?i:{type:i};o&&Te(Zse(e));const{orient:c,inputType:f}=fJe(t,e),{continuousAxisChannelDef:x,continuousAxisChannelDef2:h,continuousAxisChannelDefError:p,continuousAxisChannelDefError2:m,continuousAxis:g}=cue(t,c,e),{errorBarSpecificAggregate:y,postAggregateCalculates:E,tooltipSummary:A,tooltipTitleWithFieldName:S}=pJe(l,x,h,p,m,f,e,n),v=s,_=g;v[_];const C=g==="x"?"x2":"y2";v[C];const b=g==="x"?"xError":"yError";v[b];const O=g==="x"?"xError2":"yError2";v[O];const R=pue(v,[typeof _=="symbol"?_:_+"",typeof C=="symbol"?C:C+"",typeof b=="symbol"?b:b+"",typeof O=="symbol"?O:O+""]),{bins:I,timeUnits:M,aggregate:H,groupby:V,encoding:Q}=oue(R,n),ue=[...H,...y],he=f!=="raw"?[]:V,le=m8(A,x,Q,S);return{transform:[...(r=a.transform)!==null&&r!==void 0?r:[],...I,...M,...ue.length===0?[]:[{aggregate:ue,groupby:he}],...E],groupby:he,continuousAxisChannelDef:x,continuousAxis:g,encodingWithoutContinuousAxis:Q,ticksOrient:c==="vertical"?"horizontal":"vertical",markDef:l,outerSpec:a,tooltipEncoding:le}}function pJe(t,e,n,r,i,s,o,u){let a=[],l=[];const c=e.field;let f,x=!1;if(s==="raw"){const h=t.center?t.center:t.extent?t.extent==="iqr"?"median":"mean":u.errorbar.center,p=t.extent?t.extent:h==="mean"?"stderr":"iqr";if(h==="median"!=(p==="iqr")&&Te(FKe(h,p,o)),p==="stderr"||p==="stdev")a=[{op:p,field:c,as:`extent_${c}`},{op:h,field:c,as:`center_${c}`}],l=[{calculate:`datum["center_${c}"] + datum["extent_${c}"]`,as:`upper_${c}`},{calculate:`datum["center_${c}"] - datum["extent_${c}"]`,as:`lower_${c}`}],f=[{fieldPrefix:"center_",titlePrefix:rN(h)},{fieldPrefix:"upper_",titlePrefix:yue(h,p,"+")},{fieldPrefix:"lower_",titlePrefix:yue(h,p,"-")}],x=!0;else{let m,g,y;p==="ci"?(m="mean",g="ci0",y="ci1"):(m="median",g="q1",y="q3"),a=[{op:g,field:c,as:`lower_${c}`},{op:y,field:c,as:`upper_${c}`},{op:m,field:c,as:`center_${c}`}],f=[{fieldPrefix:"upper_",titlePrefix:P2({field:c,aggregate:y,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"lower_",titlePrefix:P2({field:c,aggregate:g,type:"quantitative"},u,{allowDisabling:!1})},{fieldPrefix:"center_",titlePrefix:P2({field:c,aggregate:m,type:"quantitative"},u,{allowDisabling:!1})}]}}else{(t.center||t.extent)&&Te(DKe(t.center,t.extent)),s==="aggregated-upper-lower"?(f=[],l=[{calculate:`datum["${n.field}"]`,as:`upper_${c}`},{calculate:`datum["${c}"]`,as:`lower_${c}`}]):s==="aggregated-error"&&(f=[{fieldPrefix:"",titlePrefix:c}],l=[{calculate:`datum["${c}"] + datum["${r.field}"]`,as:`upper_${c}`}],i?l.push({calculate:`datum["${c}"] + datum["${i.field}"]`,as:`lower_${c}`}):l.push({calculate:`datum["${c}"] - datum["${r.field}"]`,as:`lower_${c}`}));for(const h of l)f.push({fieldPrefix:h.as.substring(0,6),titlePrefix:N2(N2(h.calculate,'datum["',""),'"]',"")})}return{postAggregateCalculates:l,errorBarSpecificAggregate:a,tooltipSummary:f,tooltipTitleWithFieldName:x}}function yue(t,e,n){return`${rN(t)} ${n} ${e}`}const S8="errorband",gJe=["band","borders"],mJe=new wN(S8,Eue);function Eue(t,{config:e}){t=Object.assign(Object.assign({},t),{encoding:LN(t.encoding,e)});const{transform:n,continuousAxisChannelDef:r,continuousAxis:i,encodingWithoutContinuousAxis:s,markDef:o,outerSpec:u,tooltipEncoding:a}=mue(t,S8,e),l=o,c=E8(l,i,r,s,e.errorband),f=t.encoding.x!==void 0&&t.encoding.y!==void 0;let x={type:f?"area":"rect"},h={type:f?"line":"rule"};const p=Object.assign(Object.assign({},l.interpolate?{interpolate:l.interpolate}:{}),l.tension&&l.interpolate?{tension:l.tension}:{});return f?(x=Object.assign(Object.assign(Object.assign({},x),p),{ariaRoleDescription:"errorband"}),h=Object.assign(Object.assign(Object.assign({},h),p),{aria:!1})):l.interpolate?Te(aoe("interpolate")):l.tension&&Te(aoe("tension")),Object.assign(Object.assign({},u),{transform:n,layer:[...c({partName:"band",mark:x,positionPrefix:"lower",endPositionPrefix:"upper",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"lower",extraEncoding:a}),...c({partName:"borders",mark:h,positionPrefix:"upper",extraEncoding:a})]})}const Aue={};function v8(t,e,n){const r=new wN(t,e);Aue[t]={normalizer:r,parts:n}}function yJe(){return be(Aue)}v8(BN,due,oJe),v8(A8,gue,lJe),v8(S8,Eue,gJe);const EJe=["gradientHorizontalMaxLength","gradientHorizontalMinLength","gradientVerticalMaxLength","gradientVerticalMinLength","unselectedOpacity"],Sue={titleAlign:"align",titleAnchor:"anchor",titleAngle:"angle",titleBaseline:"baseline",titleColor:"color",titleFont:"font",titleFontSize:"fontSize",titleFontStyle:"fontStyle",titleFontWeight:"fontWeight",titleLimit:"limit",titleLineHeight:"lineHeight",titleOrient:"orient",titlePadding:"offset"},vue={labelAlign:"align",labelAnchor:"anchor",labelAngle:"angle",labelBaseline:"baseline",labelColor:"color",labelFont:"font",labelFontSize:"fontSize",labelFontStyle:"fontStyle",labelFontWeight:"fontWeight",labelLimit:"limit",labelLineHeight:"lineHeight",labelOrient:"orient",labelPadding:"offset"},AJe=be(Sue),SJe=be(vue),_ue=be({header:1,headerRow:1,headerColumn:1,headerFacet:1}),Cue=["size","shape","fill","stroke","strokeDash","strokeWidth","opacity"],vJe={gradientHorizontalMaxLength:200,gradientHorizontalMinLength:100,gradientVerticalMaxLength:200,gradientVerticalMinLength:64,unselectedOpacity:.35},_Je={aria:1,clipHeight:1,columnPadding:1,columns:1,cornerRadius:1,description:1,direction:1,fillColor:1,format:1,formatType:1,gradientLength:1,gradientOpacity:1,gradientStrokeColor:1,gradientStrokeWidth:1,gradientThickness:1,gridAlign:1,labelAlign:1,labelBaseline:1,labelColor:1,labelFont:1,labelFontSize:1,labelFontStyle:1,labelFontWeight:1,labelLimit:1,labelOffset:1,labelOpacity:1,labelOverlap:1,labelPadding:1,labelSeparation:1,legendX:1,legendY:1,offset:1,orient:1,padding:1,rowPadding:1,strokeColor:1,symbolDash:1,symbolDashOffset:1,symbolFillColor:1,symbolLimit:1,symbolOffset:1,symbolOpacity:1,symbolSize:1,symbolStrokeColor:1,symbolStrokeWidth:1,symbolType:1,tickCount:1,tickMinStep:1,title:1,titleAlign:1,titleAnchor:1,titleBaseline:1,titleColor:1,titleFont:1,titleFontSize:1,titleFontStyle:1,titleFontWeight:1,titleLimit:1,titleLineHeight:1,titleOpacity:1,titleOrient:1,titlePadding:1,type:1,values:1,zindex:1},T3="_vgsid_",CJe={point:{on:"click",fields:[T3],toggle:"event.shiftKey",resolve:"global",clear:"dblclick"},interval:{on:"[mousedown, window:mouseup] > window:mousemove!",encodings:["x","y"],translate:"[mousedown, window:mouseup] > window:mousemove!",zoom:"wheel!",mark:{fill:"#333",fillOpacity:.125,stroke:"white"},resolve:"global",clear:"dblclick"}};function _8(t){return!!t&&(t==="legend"||!!t.legend)}function C8(t){return _8(t)&&Qe(t)}function b8(t){return!!t.select}var bJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function bue(t){const e=[];for(const n of t||[]){if(b8(n))continue;const{expr:r,bind:i}=n,s=bJe(n,["expr","bind"]);if(i&&r){const o=Object.assign(Object.assign({},s),{bind:i,init:r});e.push(o)}else{const o=Object.assign(Object.assign(Object.assign({},s),r?{update:r}:{}),i?{bind:i}:{});e.push(o)}}return e}function TJe(t){return kN(t)||R8(t)||T8(t)}function T8(t){return"concat"in t}function kN(t){return"vconcat"in t}function R8(t){return"hconcat"in t}function Tue({step:t,offsetIsDiscrete:e}){var n;return e?(n=t.for)!==null&&n!==void 0?n:"offset":"position"}function $a(t){return Qe(t)&&t.step!==void 0}function Rue(t){return t.view||t.width||t.height}const Oue=20,RJe=be({align:1,bounds:1,center:1,columns:1,spacing:1});function OJe(t,e,n){var r,i;const s=n[e],o={},{spacing:u,columns:a}=s;u!==void 0&&(o.spacing=u),a!==void 0&&(CN(t)&&!v3(t.facet)||T8(t))&&(o.columns=a),kN(t)&&(o.columns=1);for(const l of RJe)if(t[l]!==void 0)if(l==="spacing"){const c=t[l];o[l]=nn(c)?c:{row:(r=c.row)!==null&&r!==void 0?r:u,column:(i=c.column)!==null&&i!==void 0?i:u}}else o[l]=t[l];return o}var NJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function O8(t,e){var n;return(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"continuousWidth":"continuousHeight"]}function PN(t,e){const n=MN(t,e);return $a(n)?n.step:Nue}function MN(t,e){var n;const r=(n=t[e])!==null&&n!==void 0?n:t[e==="width"?"discreteWidth":"discreteHeight"];return rr(r,{step:t.step})}const Nue=20,DJe={background:"white",padding:5,timeFormat:"%b %d, %Y",countTitle:"Count of Records",view:{continuousWidth:200,continuousHeight:200,step:Nue},mark:bXe,arc:{},area:{},bar:RXe,circle:{},geoshape:{},image:{},line:{},point:{},rect:OXe,rule:{color:"black"},square:{},text:{color:"black"},tick:NXe,trail:{},boxplot:{size:14,extent:1.5,box:{},median:{color:"white"},outliers:{},rule:{},ticks:null},errorbar:{center:"mean",rule:!0,ticks:!1},errorband:{band:{opacity:.3},borders:!1},scale:lXe,projection:{},legend:vJe,header:{titlePadding:10,labelPadding:10},headerColumn:{},headerRow:{},headerFacet:{},selection:CJe,style:{},title:{},facet:{spacing:Oue},concat:{spacing:Oue}},i0=["#4c78a8","#f58518","#e45756","#72b7b2","#54a24b","#eeca3b","#b279a2","#ff9da6","#9d755d","#bab0ac"],Due={text:11,guideLabel:10,guideTitle:11,groupTitle:13,groupSubtitle:12},Fue={blue:i0[0],orange:i0[1],red:i0[2],teal:i0[3],green:i0[4],yellow:i0[5],purple:i0[6],pink:i0[7],brown:i0[8],gray0:"#000",gray1:"#111",gray2:"#222",gray3:"#333",gray4:"#444",gray5:"#555",gray6:"#666",gray7:"#777",gray8:"#888",gray9:"#999",gray10:"#aaa",gray11:"#bbb",gray12:"#ccc",gray13:"#ddd",gray14:"#eee",gray15:"#fff"};function FJe(t={}){return{signals:[{name:"color",value:Qe(t)?Object.assign(Object.assign({},Fue),t):Fue}],mark:{color:{signal:"color.blue"}},rule:{color:{signal:"color.gray0"}},text:{color:{signal:"color.gray0"}},style:{"guide-label":{fill:{signal:"color.gray0"}},"guide-title":{fill:{signal:"color.gray0"}},"group-title":{fill:{signal:"color.gray0"}},"group-subtitle":{fill:{signal:"color.gray0"}},cell:{stroke:{signal:"color.gray8"}}},axis:{domainColor:{signal:"color.gray13"},gridColor:{signal:"color.gray8"},tickColor:{signal:"color.gray13"}},range:{category:[{signal:"color.blue"},{signal:"color.orange"},{signal:"color.red"},{signal:"color.teal"},{signal:"color.green"},{signal:"color.yellow"},{signal:"color.purple"},{signal:"color.pink"},{signal:"color.brown"},{signal:"color.grey8"}]}}}function wJe(t){return{signals:[{name:"fontSize",value:Qe(t)?Object.assign(Object.assign({},Due),t):Due}],text:{fontSize:{signal:"fontSize.text"}},style:{"guide-label":{fontSize:{signal:"fontSize.guideLabel"}},"guide-title":{fontSize:{signal:"fontSize.guideTitle"}},"group-title":{fontSize:{signal:"fontSize.groupTitle"}},"group-subtitle":{fontSize:{signal:"fontSize.groupSubtitle"}}}}}function LJe(t){return{text:{font:t},style:{"guide-label":{font:t},"guide-title":{font:t},"group-title":{font:t},"group-subtitle":{font:t}}}}function wue(t){const e=be(t||{}),n={};for(const r of e){const i=t[r];n[r]=b3(i)?jse(i):qs(i)}return n}function IJe(t){const e=be(t),n={};for(const r of e)n[r]=wue(t[r]);return n}const $Je=[...Foe,...iue,..._ue,"background","padding","legend","lineBreak","scale","style","title","view"];function Lue(t={}){const{color:e,font:n,fontSize:r,selection:i}=t,s=NJe(t,["color","font","fontSize","selection"]),o=f5({},ot(DJe),n?LJe(n):{},e?FJe(e):{},r?wJe(r):{},s||{});i&&Pb(o,"selection",i,!0);const u=_o(o,$Je);for(const a of["background","lineBreak","padding"])o[a]&&(u[a]=qs(o[a]));for(const a of Foe)o[a]&&(u[a]=gs(o[a]));for(const a of iue)o[a]&&(u[a]=wue(o[a]));for(const a of _ue)o[a]&&(u[a]=gs(o[a]));return o.legend&&(u.legend=gs(o.legend)),o.scale&&(u.scale=gs(o.scale)),o.style&&(u.style=IJe(o.style)),o.title&&(u.title=gs(o.title)),o.view&&(u.view=gs(o.view)),u}const BJe=new Set(["view",...AXe]),kJe=["color","fontSize","background","padding","facet","concat","numberFormat","timeFormat","countTitle","header","axisQuantitative","axisTemporal","axisDiscrete","axisPoint","axisXBand","axisXPoint","axisXDiscrete","axisXQuantitative","axisXTemporal","axisYBand","axisYPoint","axisYDiscrete","axisYQuantitative","axisYTemporal","scale","selection","overlay"],PJe=Object.assign({view:["continuousWidth","continuousHeight","discreteWidth","discreteHeight","step"]},CXe);function MJe(t){t=ot(t);for(const e of kJe)delete t[e];if(t.axis)for(const e in t.axis)b3(t.axis[e])&&delete t.axis[e];if(t.legend)for(const e of EJe)delete t.legend[e];if(t.mark){for(const e of Doe)delete t.mark[e];t.mark.tooltip&&Qe(t.mark.tooltip)&&delete t.mark.tooltip}t.params&&(t.signals=(t.signals||[]).concat(bue(t.params)),delete t.params);for(const e of BJe){for(const r of Doe)delete t[e][r];const n=PJe[e];if(n)for(const r of n)delete t[e][r];UJe(t,e)}for(const e of yJe())delete t[e];jJe(t);for(const e in t)Qe(t[e])&&Wt(t[e])&&delete t[e];return Wt(t)?void 0:t}function jJe(t){const{titleMarkConfig:e,subtitleMarkConfig:n,subtitle:r}=Mse(t.title);Wt(e)||(t.style["group-title"]=Object.assign(Object.assign({},t.style["group-title"]),e)),Wt(n)||(t.style["group-subtitle"]=Object.assign(Object.assign({},t.style["group-subtitle"]),n)),Wt(r)?delete t.title:t.title=r}function UJe(t,e,n,r){const i=r?t[e][r]:t[e];e==="view"&&(n="cell");const s=Object.assign(Object.assign({},i),t.style[n??e]);Wt(s)||(t.style[n??e]=s),r||delete t[e]}function jN(t){return"layer"in t}function qJe(t){return"repeat"in t}function HJe(t){return!Ce(t.repeat)&&t.repeat.layer}var zJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class N8{map(e,n){return CN(e)?this.mapFacet(e,n):qJe(e)?this.mapRepeat(e,n):R8(e)?this.mapHConcat(e,n):kN(e)?this.mapVConcat(e,n):T8(e)?this.mapConcat(e,n):this.mapLayerOrUnit(e,n)}mapLayerOrUnit(e,n){if(jN(e))return this.mapLayer(e,n);if(r0(e))return this.mapUnit(e,n);throw new Error(F7(e))}mapLayer(e,n){return Object.assign(Object.assign({},e),{layer:e.layer.map(r=>this.mapLayerOrUnit(r,n))})}mapHConcat(e,n){return Object.assign(Object.assign({},e),{hconcat:e.hconcat.map(r=>this.map(r,n))})}mapVConcat(e,n){return Object.assign(Object.assign({},e),{vconcat:e.vconcat.map(r=>this.map(r,n))})}mapConcat(e,n){const{concat:r}=e,i=zJe(e,["concat"]);return Object.assign(Object.assign({},i),{concat:r.map(s=>this.map(s,n))})}mapFacet(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}mapRepeat(e,n){return Object.assign(Object.assign({},e),{spec:this.map(e.spec,n)})}}const QJe={zero:1,center:1,normalize:1};function GJe(t){return t in QJe}const WJe=new Set([Toe,mN,gN,AN,EN,J7,Z7,yN,Roe,X7]),VJe=new Set([mN,gN,Toe]);function U2(t){return Le(t)&&a8(t)==="quantitative"&&!t.bin}function Iue(t,e){var n,r;const i=e==="x"?"y":"radius",s=t[e],o=t[i];if(Le(s)&&Le(o))if(U2(s)&&U2(o)){if(s.stack)return e;if(o.stack)return i;const u=Le(s)&&!!s.aggregate,a=Le(o)&&!!o.aggregate;if(u!==a)return u?e:i;{const l=(n=s.scale)===null||n===void 0?void 0:n.type,c=(r=o.scale)===null||r===void 0?void 0:r.type;if(l&&l!=="linear")return i;if(c&&c!=="linear")return e}}else{if(U2(s))return e;if(U2(o))return i}else{if(U2(s))return e;if(U2(o))return i}}function YJe(t){switch(t){case"x":return"y";case"y":return"x";case"theta":return"radius";case"radius":return"theta"}}function $ue(t,e,n={}){var r,i;const s=Da(t)?t.type:t;if(!WJe.has(s))return null;const o=Iue(e,"x")||Iue(e,"theta");if(!o)return null;const u=e[o],a=Le(u)?$e(u,{}):void 0,l=YJe(o),c=[],f=new Set;if(e[l]){const p=e[l],m=Le(p)?$e(p,{}):void 0;m&&m!==a&&(c.push(l),f.add(m));const g=l==="x"?"xOffset":"yOffset",y=e[g],E=Le(y)?$e(y,{}):void 0;E&&E!==a&&(c.push(g),f.add(E))}const x=fYe.reduce((p,m)=>{if(m!=="tooltip"&&Fd(e,m)){const g=e[m];for(const y of Pe(g)){const E=Ia(y);if(E.aggregate)continue;const A=$e(E,{});(!A||!f.has(A))&&p.push({channel:m,fieldDef:E})}}return p},[]);let h;if(u.stack!==void 0?Fp(u.stack)?h=u.stack?"zero":null:h=u.stack:VJe.has(s)&&(h="zero"),!h||!GJe(h)||p8(e)&&x.length===0)return null;if(!((r=u==null?void 0:u.scale)===null||r===void 0)&&r.type&&((i=u==null?void 0:u.scale)===null||i===void 0?void 0:i.type)!==ms.LINEAR){if(n.disallowNonLinearStack)return null;Te(RKe(u.scale.type))}return it(e[Zl(o)])?(u.stack!==void 0&&Te(TKe(o)),null):(Le(u)&&u.aggregate&&!_Ye.has(u.aggregate)&&Te(OKe(u.aggregate)),{groupbyChannels:c,groupbyFields:f,fieldChannel:o,impute:u.impute===null?!1:jc(s),stackBy:x,offset:h})}var Bue=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function KJe(t){const e=Bue(t,["point","line"]);return be(e).length>1?e:e.type}function XJe(t){for(const e of["line","area","rule","trail"])t[e]&&(t=Object.assign(Object.assign({},t),{[e]:_o(t[e],["point","line"])}));return t}function D8(t,e={},n){return t.point==="transparent"?{opacity:0}:t.point?Qe(t.point)?t.point:{}:t.point!==void 0?null:e.point||n.shape?Qe(e.point)?e.point:{}:void 0}function kue(t,e={}){return t.line?t.line===!0?{}:t.line:t.line!==void 0?null:e.line?e.line===!0?{}:e.line:void 0}class JJe{constructor(){this.name="path-overlay"}hasMatchingType(e,n){if(r0(e)){const{mark:r,encoding:i}=e,s=Da(r)?r:{type:r};switch(s.type){case"line":case"rule":case"trail":return!!D8(s,n[s.type],i);case"area":return!!D8(s,n[s.type],i)||!!kue(s,n[s.type])}}return!1}run(e,n,r){const{config:i}=n,{params:s,projection:o,mark:u,encoding:a}=e,l=Bue(e,["params","projection","mark","encoding"]),c=LN(a,i),f=Da(u)?u:{type:u},x=D8(f,i[f.type],c),h=f.type==="area"&&kue(f,i[f.type]),p=[Object.assign(Object.assign({},s?{params:s}:{}),{mark:KJe(Object.assign(Object.assign({},f.type==="area"&&f.opacity===void 0&&f.fillOpacity===void 0?{opacity:.7}:{}),f)),encoding:_o(c,["shape"])})],m=$ue(f,c);let g=c;if(m){const{fieldChannel:y,offset:E}=m;g=Object.assign(Object.assign({},c),{[y]:Object.assign(Object.assign({},c[y]),E?{stack:E}:{})})}return h&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"line"},x3(f,["clip","interpolate","tension","tooltip"])),h),encoding:g})),x&&p.push(Object.assign(Object.assign({},o?{projection:o}:{}),{mark:Object.assign(Object.assign({type:"point",opacity:1,filled:!0},x3(f,["clip","tooltip"])),x),encoding:g})),r(Object.assign(Object.assign({},l),{layer:p}),Object.assign(Object.assign({},n),{config:XJe(i)}))}}var ZJe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function eZe(t,e){return e?v3(t)?Uue(t,e):Pue(t,e):t}function F8(t,e){return e?Uue(t,e):t}function w8(t,e,n){const r=e[t];if(MXe(r)){if(r.repeat in n)return Object.assign(Object.assign({},e),{[t]:n[r.repeat]});Te(qYe(r.repeat));return}return e}function Pue(t,e){if(t=w8("field",t,e),t!==void 0){if(t===null)return null;if(u8(t)&&Fa(t.sort)){const n=w8("field",t.sort,e);t=Object.assign(Object.assign({},t),n?{sort:n}:{})}return t}}function Mue(t,e){if(Le(t))return Pue(t,e);{const n=w8("datum",t,e);return n!==t&&!n.type&&(n.type="nominal"),n}}function jue(t,e){if(it(t)){const n=Mue(t,e);if(n)return n;if(bN(t))return{condition:t.condition}}else{if(_3(t)){const n=Mue(t.condition,e);return n?Object.assign(Object.assign({},t),{condition:n}):ZJe(t,["condition"])}return t}}function Uue(t,e){const n={};for(const r in t)if(Je(t,r)){const i=t[r];if(Ce(i))n[r]=i.map(s=>jue(s,e)).filter(s=>s);else{const s=jue(i,e);s!==void 0&&(n[r]=s)}}return n}class tZe{constructor(){this.name="RuleForRangedLine"}hasMatchingType(e){if(r0(e)){const{encoding:n,mark:r}=e;if(r==="line"||Da(r)&&r.type==="line")for(const i of aYe){const s=_d(i),o=n[s];if(n[i]&&(Le(o)&&!Mi(o.bin)||wa(o)))return!0}}return!1}run(e,n,r){const{encoding:i,mark:s}=e;return Te(lKe(!!i.x2,!!i.y2)),r(Object.assign(Object.assign({},e),{mark:Qe(s)?Object.assign(Object.assign({},s),{type:"rule"}):"rule"}),n)}}var Uc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class nZe extends N8{constructor(){super(...arguments),this.nonFacetUnitNormalizers=[uJe,cJe,mJe,new JJe,new tZe]}map(e,n){if(r0(e)){const r=Fd(e.encoding,Wl),i=Fd(e.encoding,Vl),s=Fd(e.encoding,sN);if(r||i||s)return this.mapFacetedUnit(e,n)}return super.map(e,n)}mapUnit(e,n){const{parentEncoding:r,parentProjection:i}=n,s=F8(e.encoding,n.repeater),o=Object.assign(Object.assign({},e),s?{encoding:s}:{});if(r||i)return this.mapUnitWithParentEncodingOrProjection(o,n);const u=this.mapLayerOrUnit.bind(this);for(const a of this.nonFacetUnitNormalizers)if(a.hasMatchingType(o,n.config))return a.run(o,n,u);return o}mapRepeat(e,n){return HJe(e)?this.mapLayerRepeat(e,n):this.mapNonLayerRepeat(e,n)}mapLayerRepeat(e,n){const{repeat:r,spec:i}=e,s=Uc(e,["repeat","spec"]),{row:o,column:u,layer:a}=r,{repeater:l={},repeaterPrefix:c=""}=n;return o||u?this.mapRepeat(Object.assign(Object.assign({},e),{repeat:Object.assign(Object.assign({},o?{row:o}:{}),u?{column:u}:{}),spec:{repeat:{layer:a},spec:i}}),n):Object.assign(Object.assign({},s),{layer:a.map(f=>{const x=Object.assign(Object.assign({},l),{layer:f}),h=`${(i.name||"")+c}child__layer_${mn(f)}`,p=this.mapLayerOrUnit(i,Object.assign(Object.assign({},n),{repeater:x,repeaterPrefix:h}));return p.name=h,p})})}mapNonLayerRepeat(e,n){var r;const{repeat:i,spec:s,data:o}=e,u=Uc(e,["repeat","spec","data"]);!Ce(i)&&e.columns&&(e=_o(e,["columns"]),Te(eoe("repeat")));const a=[],{repeater:l={},repeaterPrefix:c=""}=n,f=!Ce(i)&&i.row||[l?l.row:null],x=!Ce(i)&&i.column||[l?l.column:null],h=Ce(i)&&i||[l?l.repeat:null];for(const m of h)for(const g of f)for(const y of x){const E={repeat:m,row:g,column:y,layer:l.layer},A=(s.name||"")+c+"child__"+(Ce(i)?`${mn(m)}`:(i.row?`row_${mn(g)}`:"")+(i.column?`column_${mn(y)}`:"")),S=this.map(s,Object.assign(Object.assign({},n),{repeater:E,repeaterPrefix:A}));S.name=A,a.push(_o(S,["data"]))}const p=Ce(i)?e.columns:i.column?i.column.length:1;return Object.assign(Object.assign({data:(r=s.data)!==null&&r!==void 0?r:o,align:"all"},u),{columns:p,concat:a})}mapFacet(e,n){const{facet:r}=e;return v3(r)&&e.columns&&(e=_o(e,["columns"]),Te(eoe("facet"))),super.mapFacet(e,n)}mapUnitWithParentEncodingOrProjection(e,n){const{encoding:r,projection:i}=e,{parentEncoding:s,parentProjection:o,config:u}=n,a=Hue({parentProjection:o,projection:i}),l=que({parentEncoding:s,encoding:F8(r,n.repeater)});return this.mapUnit(Object.assign(Object.assign(Object.assign({},e),a?{projection:a}:{}),l?{encoding:l}:{}),{config:u})}mapFacetedUnit(e,n){const r=e.encoding,{row:i,column:s,facet:o}=r,u=Uc(r,["row","column","facet"]),{mark:a,width:l,projection:c,height:f,view:x,params:h,encoding:p}=e,m=Uc(e,["mark","width","projection","height","view","params","encoding"]),{facetMapping:g,layout:y}=this.getFacetMappingAndLayout({row:i,column:s,facet:o},n),E=F8(u,n.repeater);return this.mapFacet(Object.assign(Object.assign(Object.assign({},m),y),{facet:g,spec:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},l?{width:l}:{}),f?{height:f}:{}),x?{view:x}:{}),c?{projection:c}:{}),{mark:a,encoding:E}),h?{params:h}:{})}),n)}getFacetMappingAndLayout(e,n){var r;const{row:i,column:s,facet:o}=e;if(i||s){o&&Te(uKe([...i?[Wl]:[],...s?[Vl]:[]]));const u={},a={};for(const l of[Wl,Vl]){const c=e[l];if(c){const f=Uc(c,["align","center","spacing","columns"]);u[l]=f;for(const x of["align","center","spacing"])c[x]!==void 0&&((r=a[x])!==null&&r!==void 0||(a[x]={}),a[x][l]=c[x])}}return{facetMapping:u,layout:a}}else{const{align:u,center:a,spacing:l,columns:c}=o,f=Uc(o,["align","center","spacing","columns"]);return{facetMapping:eZe(f,n.repeater),layout:Object.assign(Object.assign(Object.assign(Object.assign({},u?{align:u}:{}),a?{center:a}:{}),l?{spacing:l}:{}),c?{columns:c}:{})}}}mapLayer(e,n){var{parentEncoding:r,parentProjection:i}=n,s=Uc(n,["parentEncoding","parentProjection"]);const{encoding:o,projection:u}=e,a=Uc(e,["encoding","projection"]),l=Object.assign(Object.assign({},s),{parentEncoding:que({parentEncoding:r,encoding:o,layer:!0}),parentProjection:Hue({parentProjection:i,projection:u})});return super.mapLayer(a,l)}}function que({parentEncoding:t,encoding:e={},layer:n}){let r={};if(t){const i=new Set([...be(t),...be(e)]);for(const s of i){const o=e[s],u=t[s];if(it(o)){const a=Object.assign(Object.assign({},u),o);r[s]=a}else _3(o)?r[s]=Object.assign(Object.assign({},o),{condition:Object.assign(Object.assign({},u),o.condition)}):o||o===null?r[s]=o:(n||hu(u)||Ye(u)||it(u)||Ce(u))&&(r[s]=u)}}else r=e;return!r||Wt(r)?void 0:r}function Hue(t){const{parentProjection:e,projection:n}=t;return e&&n&&Te(VYe({parentProjection:e,projection:n})),n??e}function L8(t){return"filter"in t}function rZe(t){return(t==null?void 0:t.stop)!==void 0}function zue(t){return"lookup"in t}function iZe(t){return"data"in t}function sZe(t){return"param"in t}function oZe(t){return"pivot"in t}function uZe(t){return"density"in t}function aZe(t){return"quantile"in t}function lZe(t){return"regression"in t}function cZe(t){return"loess"in t}function fZe(t){return"sample"in t}function xZe(t){return"window"in t}function dZe(t){return"joinaggregate"in t}function hZe(t){return"flatten"in t}function pZe(t){return"calculate"in t}function Que(t){return"bin"in t}function gZe(t){return"impute"in t}function mZe(t){return"timeUnit"in t}function yZe(t){return"aggregate"in t}function EZe(t){return"stack"in t}function AZe(t){return"fold"in t}function SZe(t){return t.map(e=>L8(e)?{filter:R2(e.filter,tXe)}:e)}var qc=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class vZe extends N8{map(e,n){var r,i;return(r=n.emptySelections)!==null&&r!==void 0||(n.emptySelections={}),(i=n.selectionPredicates)!==null&&i!==void 0||(n.selectionPredicates={}),e=Gue(e,n),super.map(e,n)}mapLayerOrUnit(e,n){if(e=Gue(e,n),e.encoding){const r={};for(const[i,s]of Ad(e.encoding))r[i]=Wue(s,n);e=Object.assign(Object.assign({},e),{encoding:r})}return super.mapLayerOrUnit(e,n)}mapUnit(e,n){const r=e,{selection:i}=r,s=qc(r,["selection"]);return i?Object.assign(Object.assign({},s),{params:Ad(i).map(([o,u])=>{var a;const l=u,{init:c,bind:f,empty:x}=l,h=qc(l,["init","bind","empty"]);h.type==="single"?(h.type="point",h.toggle=!1):h.type==="multi"&&(h.type="point"),n.emptySelections[o]=x!=="none";for(const p of Pi((a=n.selectionPredicates[o])!==null&&a!==void 0?a:{}))p.empty=x!=="none";return{name:o,value:c,select:h,bind:f}})}):e}}function Gue(t,e){const{transform:n}=t,r=qc(t,["transform"]);if(n){const i=n.map(s=>{if(L8(s))return{filter:I8(s,e)};if(Que(s)&&Cd(s.bin))return Object.assign(Object.assign({},s),{bin:Vue(s.bin)});if(zue(s)){const o=s.from,{selection:u}=o,a=qc(o,["selection"]);return u?Object.assign(Object.assign({},s),{from:Object.assign({param:u},a)}):s}return s});return Object.assign(Object.assign({},r),{transform:i})}return t}function Wue(t,e){var n,r;const i=ot(t);if(Le(i)&&Cd(i.bin)&&(i.bin=Vue(i.bin)),Dd(i)&&(!((r=(n=i.scale)===null||n===void 0?void 0:n.domain)===null||r===void 0)&&r.selection)){const s=i.scale.domain,{selection:o}=s,u=qc(s,["selection"]);i.scale.domain=Object.assign(Object.assign({},u),o?{param:o}:{})}if(bN(i))if(Ce(i.condition))i.condition=i.condition.map(s=>{const{selection:o,param:u,test:a}=s,l=qc(s,["selection","param","test"]);return u?s:Object.assign(Object.assign({},l),{test:I8(s,e)})});else{const s=Wue(i.condition,e),{selection:o,param:u,test:a}=s,l=qc(s,["selection","param","test"]);i.condition=u?i.condition:Object.assign(Object.assign({},l),{test:I8(i.condition,e)})}return i}function Vue(t){const e=t.extent;if(e!=null&&e.selection){const{selection:n}=e,r=qc(e,["selection"]);return Object.assign(Object.assign({},t),{extent:Object.assign(Object.assign({},r),{param:n})})}return t}function I8(t,e){const n=r=>R2(r,i=>{var s,o,u;const a=(s=e.emptySelections[i])!==null&&s!==void 0?s:!0,l={param:i,empty:a};return(o=(u=e.selectionPredicates)[i])!==null&&o!==void 0||(u[i]=[]),e.selectionPredicates[i].push(l),l});return t.selection?n(t.selection):R2(t.test||t.filter,r=>r.selection?n(r.selection):r)}class $8 extends N8{map(e,n){var r;const i=(r=n.selections)!==null&&r!==void 0?r:[];if(e.params&&!r0(e)){const s=[];for(const o of e.params)b8(o)?i.push(o):s.push(o);e.params=s}return n.selections=i,super.map(e,Yue(e,n))}mapUnit(e,n){var r;const i=n.selections;if(!i||!i.length)return e;const s=((r=n.path)!==null&&r!==void 0?r:[]).concat(e.name),o=[];for(const u of i)if(!u.views||!u.views.length)o.push(u);else for(const a of u.views)(je(a)&&(a===e.name||s.indexOf(a)>=0)||Ce(a)&&a.map(l=>s.indexOf(l)).every((l,c,f)=>l!==-1&&(c===0||l>f[c-1])))&&o.push(u);return o.length&&(e.params=o),e}}for(const t of["mapFacet","mapRepeat","mapHConcat","mapVConcat","mapLayer"]){const e=$8.prototype[t];$8.prototype[t]=function(n,r){return e.call(this,n,Yue(n,r))}}function Yue(t,e){var n;return t.name?Object.assign(Object.assign({},e),{path:((n=e.path)!==null&&n!==void 0?n:[]).concat(t.name)}):e}function _Ze(t,e){e===void 0&&(e=Lue(t.config));const n=RZe(t,e),{width:r,height:i}=t,s=OZe(n,{width:r,height:i,autosize:t.autosize},e);return Object.assign(Object.assign({},n),s?{autosize:s}:{})}const CZe=new nZe,bZe=new vZe,TZe=new $8;function RZe(t,e={}){const n={config:e};return TZe.map(CZe.map(bZe.map(t,n),n),n)}function Kue(t){return je(t)?{type:t}:t??{}}function OZe(t,e,n){let{width:r,height:i}=e;const s=r0(t)||jN(t),o={};s?r=="container"&&i=="container"?(o.type="fit",o.contains="padding"):r=="container"?(o.type="fit-x",o.contains="padding"):i=="container"&&(o.type="fit-y",o.contains="padding"):(r=="container"&&(Te(Yse("width")),r=void 0),i=="container"&&(Te(Yse("height")),i=void 0));const u=Object.assign(Object.assign(Object.assign({type:"pad"},o),n?Kue(n.autosize):{}),Kue(t.autosize));if(u.type==="fit"&&!s&&(Te(wYe),u.type="pad"),r=="container"&&!(u.type=="fit"||u.type=="fit-x")&&Te(Kse("width")),i=="container"&&!(u.type=="fit"||u.type=="fit-y")&&Te(Kse("height")),!Ql(u,{type:"pad"}))return u}function NZe(t){return t==="fit"||t==="fit-x"||t==="fit-y"}function DZe(t){return t?`fit-${cN(t)}`:"fit"}const FZe=["background","padding"];function Xue(t,e){const n={};for(const r of FZe)t&&t[r]!==void 0&&(n[r]=qs(t[r]));return e&&(n.params=t.params),n}class s0{constructor(e={},n={}){this.explicit=e,this.implicit=n}clone(){return new s0(ot(this.explicit),ot(this.implicit))}combine(){return Object.assign(Object.assign({},this.explicit),this.implicit)}get(e){return rr(this.explicit[e],this.implicit[e])}getWithExplicit(e){return this.explicit[e]!==void 0?{explicit:!0,value:this.explicit[e]}:this.implicit[e]!==void 0?{explicit:!1,value:this.implicit[e]}:{explicit:!1,value:void 0}}setWithExplicit(e,{value:n,explicit:r}){n!==void 0&&this.set(e,n,r)}set(e,n,r){return delete this[r?"implicit":"explicit"][e],this[r?"explicit":"implicit"][e]=n,this}copyKeyFromSplit(e,{explicit:n,implicit:r}){n[e]!==void 0?this.set(e,n[e],!0):r[e]!==void 0&&this.set(e,r[e],!1)}copyKeyFromObject(e,n){n[e]!==void 0&&this.set(e,n[e],!0)}copyAll(e){for(const n of be(e.combine())){const r=e.getWithExplicit(n);this.setWithExplicit(n,r)}}}function Ba(t){return{explicit:!0,value:t}}function zs(t){return{explicit:!1,value:t}}function Jue(t){return(e,n,r,i)=>{const s=t(e.value,n.value);return s>0?e:s<0?n:UN(e,n,r,i)}}function UN(t,e,n,r){return t.explicit&&e.explicit&&Te(EKe(n,r,t.value,e.value)),t}function Hc(t,e,n,r,i=UN){return t===void 0||t.value===void 0?e:t.explicit&&!e.explicit?t:e.explicit&&!t.explicit?e:Ql(t.value,e.value)?t:i(t,e,n,r)}class wZe extends s0{constructor(e={},n={},r=!1){super(e,n),this.explicit=e,this.implicit=n,this.parseNothing=r}clone(){const e=super.clone();return e.parseNothing=this.parseNothing,e}}function q2(t){return"url"in t}function R3(t){return"values"in t}function Zue(t){return"name"in t&&!q2(t)&&!R3(t)&&!zc(t)}function zc(t){return t&&(eae(t)||tae(t)||B8(t))}function eae(t){return"sequence"in t}function tae(t){return"sphere"in t}function B8(t){return"graticule"in t}var Jt;(function(t){t[t.Raw=0]="Raw",t[t.Main=1]="Main",t[t.Row=2]="Row",t[t.Column=3]="Column",t[t.Lookup=4]="Lookup"})(Jt||(Jt={}));var LZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function H2(t,e=!0,n=Ai){if(Ce(t)){const r=t.map(i=>H2(i,e,n));return e?`[${r.join(", ")}]`:r}else if(Td(t))return n(e?E3(t):zKe(t));return e?n(sn(t)):t}function IZe(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const i=r.name;let s=`${i}${Wc}, ${r.resolve==="global"?"true":`{unit: ${G2(t)}}`}`;for(const o of GN)o.defined(r)&&(o.signals&&(e=o.signals(t,r,e)),o.modifyExpr&&(s=o.modifyExpr(t,r,s)));e.push({name:i+het,on:[{events:{signal:r.name+Wc},update:`modify(${Fe(r.name+wd)}, ${s})`}]})}return k8(e)}function $Ze(t,e){if(t.component.selection&&be(t.component.selection).length){const n=Fe(t.getName("cell"));e.unshift({name:"facet",value:{},on:[{events:hd("mousemove","scope"),update:`isTuple(facet) ? facet : group(${n}).datum`}]})}return k8(e)}function BZe(t,e){var n;let r=!1;for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=i.name,o=Fe(s+wd);if(e.filter(a=>a.name===s).length===0){const a=i.resolve==="global"?"union":i.resolve,l=i.type==="point"?", true, true)":")";e.push({name:i.name,update:`${Cae}(${o}, ${Fe(a)}${l}`})}r=!0;for(const a of GN)a.defined(i)&&a.topLevelSignals&&(e=a.topLevelSignals(t,i,e))}return r&&e.filter(s=>s.name==="unit").length===0&&e.unshift({name:"unit",value:{},on:[{events:"mousemove",update:"isTuple(group()) ? group() : unit"}]}),k8(e)}function kZe(t,e){var n;const r=[...e];for(const i of Pi((n=t.component.selection)!==null&&n!==void 0?n:{})){const s={name:i.name+wd};if(i.init){const u=i.project.items.map(a=>LZe(a,["signals"]));s.values=i.init.map(a=>({unit:G2(t,{escape:!1}),fields:u,values:H2(a,!1)}))}r.filter(u=>u.name===i.name+wd).length||r.push(s)}return r}function nae(t,e){var n;for(const r of Pi((n=t.component.selection)!==null&&n!==void 0?n:{}))for(const i of GN)i.defined(r)&&i.marks&&(e=i.marks(t,r,e));return e}function PZe(t,e){for(const n of t.children)Qn(n)&&(e=nae(n,e));return e}function MZe(t,e,n,r){const i=Nae(t,e.param,e);return{signal:Hs(n.get("type"))&&Ce(r)&&r[0]>r[1]?`isValid(${i}) && reverse(${i})`:i}}function k8(t){return t.map(e=>(e.on&&!e.on.length&&delete e.on,e))}class Ut{constructor(e,n){this.debugName=n,this._children=[],this._parent=null,e&&(this.parent=e)}clone(){throw new Error("Cannot clone node")}get parent(){return this._parent}set parent(e){this._parent=e,e&&e.addChild(this)}get children(){return this._children}numChildren(){return this._children.length}addChild(e,n){if(this._children.includes(e)){Te(QYe);return}n!==void 0?this._children.splice(n,0,e):this._children.push(e)}removeChild(e){const n=this._children.indexOf(e);return this._children.splice(n,1),n}remove(){let e=this._parent.removeChild(this);for(const n of this._children)n._parent=this._parent,this._parent.addChild(n,e++)}insertAsParentOf(e){const n=e.parent;n.removeChild(this),this.parent=n,e.parent=this}swapWithParent(){const e=this._parent,n=e.parent;for(const r of this._children)r.parent=e;this._children=[],e.removeChild(this),e.parent.removeChild(e),this.parent=n,e.parent=this}}class qi extends Ut{constructor(e,n,r,i){super(e,n),this.type=r,this.refCounts=i,this._source=this._name=n,this.refCounts&&!(this._name in this.refCounts)&&(this.refCounts[this._name]=0)}clone(){const e=new this.constructor;return e.debugName=`clone_${this.debugName}`,e._source=this._source,e._name=`clone_${this._name}`,e.type=this.type,e.refCounts=this.refCounts,e.refCounts[e._name]=0,e}dependentFields(){return new Set}producedFields(){return new Set}hash(){return this._hash===void 0&&(this._hash=`Output ${XVe()}`),this._hash}getSource(){return this.refCounts[this._name]++,this._source}isRequired(){return!!this.refCounts[this._name]}setSource(e){this._source=e}}var rae=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class ka extends Ut{constructor(e,n){super(e),this.formula=n}clone(){return new ka(null,ot(this.formula))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s)=>{const{field:o,timeUnit:u}=s;if(u){const a=$e(s,{forAs:!0});i[bt({as:a,field:o,timeUnit:u})]={as:a,field:o,timeUnit:u}}return i},{});return Wt(r)?null:new ka(e,r)}static makeFromTransform(e,n){const r=Object.assign({},n),{timeUnit:i}=r,s=rae(r,["timeUnit"]),o=ji(i),u=Object.assign(Object.assign({},s),{timeUnit:o});return new ka(e,{[bt(u)]:u})}merge(e){this.formula=Object.assign({},this.formula);for(const n in e.formula)this.formula[n]||(this.formula[n]=e.formula[n]);for(const n of e.children)e.removeChild(n),n.parent=this;e.remove()}removeFormulas(e){const n={};for(const[r,i]of Ad(this.formula))e.has(i.as)||(n[r]=i);this.formula=n}producedFields(){return new Set(Pi(this.formula).map(e=>e.as))}dependentFields(){return new Set(Pi(this.formula).map(e=>e.field))}hash(){return`TimeUnit ${bt(this.formula)}`}assemble(){const e=[];for(const n of Pi(this.formula)){const{field:r,as:i,timeUnit:s}=n,o=ji(s),{unit:u,utc:a}=o,l=rae(o,["unit","utc"]);e.push(Object.assign(Object.assign(Object.assign(Object.assign({field:lu(r),type:"timeunit"},u?{units:P7(u)}:{}),a?{timezone:"utc"}:{}),l),{as:[i,`${i}_end`]}))}return e}}var jZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const O3="_tuple_fields";class UZe{constructor(...e){this.items=e,this.hasChannel={},this.hasField={}}}const qZe={defined:()=>!0,parse:(t,e,n)=>{var r;const i=e.name,s=(r=e.project)!==null&&r!==void 0?r:e.project=new UZe,o={},u={},a=new Set,l=(m,g)=>{const y=g==="visual"?m.channel:m.field;let E=mn(`${i}_${y}`);for(let A=1;a.has(E);A++)E=mn(`${i}_${y}_${A}`);return a.add(E),{[g]:E}},c=e.type,f=t.config.selection[c],x=n.value!==void 0?Pe(n.value):null;let{fields:h,encodings:p}=Qe(n.select)?n.select:{};if(!h&&!p&&x){for(const m of x)if(Qe(m))for(const g of be(m))uYe(g)?(p||(p=[])).push(g):c==="interval"?(Te(UYe),p=f.encodings):(h||(h=[])).push(g)}!h&&!p&&(p=f.encodings,"fields"in f&&(h=f.fields));for(const m of p??[]){const g=t.fieldDef(m);if(g){let y=g.field;if(g.aggregate){Te(LYe(m,g.aggregate));continue}else if(!y){Te(Jse(m));continue}if(g.timeUnit){y=t.vgField(m);const E={timeUnit:g.timeUnit,as:y,field:g.field};u[bt(E)]=E}if(!o[y]){let E="E";if(c==="interval"){const S=t.getScaleComponent(m).get("type");Hs(S)&&(E="R")}else g.bin&&(E="R-RE");const A={field:y,channel:m,type:E};A.signals=Object.assign(Object.assign({},l(A,"data")),l(A,"visual")),s.items.push(o[y]=A),s.hasField[y]=s.hasChannel[m]=o[y]}}else Te(Jse(m))}for(const m of h??[]){if(s.hasField[m])continue;const g={type:"E",field:m};g.signals=Object.assign({},l(g,"data")),s.items.push(g),s.hasField[m]=g}x&&(e.init=x.map(m=>s.items.map(g=>Qe(m)?m[g.channel]!==void 0?m[g.channel]:m[g.field]:m))),Wt(u)||(s.timeUnit=new ka(null,u))},signals:(t,e,n)=>{const r=e.name+O3;return n.filter(s=>s.name===r).length>0?n:n.concat({name:r,value:e.project.items.map(s=>{const o=jZe(s,["signals","hasLegend"]);return o.field=lu(o.field),o})})}},Qc={defined:t=>t.type==="interval"&&t.resolve==="global"&&t.bind&&t.bind==="scales",parse:(t,e)=>{const n=e.scales=[];for(const r of e.project.items){const i=r.channel;if(!Bc(i))continue;const s=t.getScaleComponent(i),o=s?s.get("type"):void 0;if(!s||!Hs(o)){Te(BYe);continue}s.set("selectionExtent",{param:e.name,field:r.field},!0),n.push(r)}},topLevelSignals:(t,e,n)=>{const r=e.scales.filter(o=>n.filter(u=>u.name===o.signals.data).length===0);if(!t.parent||M8(t)||r.length===0)return n;const i=n.filter(o=>o.name===e.name)[0];let s=i.update;if(s.indexOf(Cae)>=0)i.update=`{${r.map(o=>`${Fe(lu(o.field))}: ${o.signals.data}`).join(", ")}}`;else{for(const o of r){const u=`${Fe(lu(o.field))}: ${o.signals.data}`;s.includes(u)||(s=`${s.substring(0,s.length-1)}, ${u}}`)}i.update=s}return n.concat(r.map(o=>({name:o.signals.data})))},signals:(t,e,n)=>{if(t.parent&&!M8(t))for(const r of e.scales){const i=n.filter(s=>s.name===r.signals.data)[0];i.push="outer",delete i.value,delete i.update}return n}};function P8(t,e){return`domain(${Fe(t.scaleName(e))})`}function M8(t){var e;return t.parent&&Z2(t.parent)&&((e=!t.parent.parent)!==null&&e!==void 0?e:M8(t.parent.parent))}var HZe=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};const z2="_brush",j8="_scale_trigger",zZe={defined:t=>t.type==="interval",signals:(t,e,n)=>{const r=e.name,i=r+O3,s=Qc.defined(e),o=e.init?e.init[0]:null,u=[],a=[];if(e.translate&&!s){const c=`!event.item || event.item.mark.name !== ${Fe(r+z2)}`;iae(e,(f,x)=>{var h,p;const m=Pe((h=(p=x.between[0]).filter)!==null&&h!==void 0?h:p.filter=[]);return m.includes(c)||m.push(c),f})}e.project.items.forEach((c,f)=>{const x=c.channel;if(x!==yn&&x!==_r){Te("Interval selections only support x and y encoding channels.");return}const h=o?o[f]:null,p=QZe(t,e,c,h),m=c.signals.data,g=c.signals.visual,y=Fe(t.scaleName(x)),E=t.getScaleComponent(x).get("type"),A=Hs(E)?"+":"";n.push(...p),u.push(m),a.push({scaleName:t.scaleName(x),expr:`(!isArray(${m}) || (${A}invert(${y}, ${g})[0] === ${A}${m}[0] && ${A}invert(${y}, ${g})[1] === ${A}${m}[1]))`})}),!s&&a.length&&n.push({name:r+j8,value:{},on:[{events:a.map(c=>({scale:c.scaleName})),update:`${a.map(c=>c.expr).join(" && ")} ? ${r+j8} : {}`}]});const l=`unit: ${G2(t)}, fields: ${i}, values`;return n.concat(Object.assign(Object.assign({name:r+Wc},o?{init:`{${l}: ${H2(o)}}`}:{}),u.length?{on:[{events:[{signal:u.join(" || ")}],update:`${u.join(" && ")} ? {${l}: [${u}]} : null`}]}:{}))},marks:(t,e,n)=>{const r=e.name,{x:i,y:s}=e.project.hasChannel,o=i==null?void 0:i.signals.visual,u=s==null?void 0:s.signals.visual,a=`data(${Fe(e.name+wd)})`;if(Qc.defined(e)||!i&&!s)return n;const l={x:i!==void 0?{signal:`${o}[0]`}:{value:0},y:s!==void 0?{signal:`${u}[0]`}:{value:0},x2:i!==void 0?{signal:`${o}[1]`}:{field:{group:"width"}},y2:s!==void 0?{signal:`${u}[1]`}:{field:{group:"height"}}};if(e.resolve==="global")for(const g of be(l))l[g]=[Object.assign({test:`${a}.length && ${a}[0].unit === ${G2(t)}`},l[g]),{value:0}];const c=e.mark,{fill:f,fillOpacity:x,cursor:h}=c,p=HZe(c,["fill","fillOpacity","cursor"]),m=be(p).reduce((g,y)=>(g[y]=[{test:[i!==void 0&&`${o}[0] !== ${o}[1]`,s!==void 0&&`${u}[0] !== ${u}[1]`].filter(E=>E).join(" && "),value:p[y]},{value:null}],g),{});return[{name:`${r+z2}_bg`,type:"rect",clip:!0,encode:{enter:{fill:{value:f},fillOpacity:{value:x}},update:l}},...n,{name:r+z2,type:"rect",clip:!0,encode:{enter:Object.assign(Object.assign({},h?{cursor:{value:h}}:{}),{fill:{value:"transparent"}}),update:Object.assign(Object.assign({},l),m)}}]}};function QZe(t,e,n,r){const i=n.channel,s=n.signals.visual,o=n.signals.data,u=Qc.defined(e),a=Fe(t.scaleName(i)),l=t.getScaleComponent(i),c=l?l.get("type"):void 0,f=m=>`scale(${a}, ${m})`,x=t.getSizeSignalRef(i===yn?"width":"height").signal,h=`${i}(unit)`,p=iae(e,(m,g)=>[...m,{events:g.between[0],update:`[${h}, ${h}]`},{events:g,update:`[${s}[0], clamp(${h}, 0, ${x})]`}]);return p.push({events:{signal:e.name+j8},update:Hs(c)?`[${f(`${o}[0]`)}, ${f(`${o}[1]`)}]`:"[0, 0]"}),u?[{name:o,on:[]}]:[Object.assign(Object.assign({name:s},r?{init:H2(r,!0,f)}:{value:[]}),{on:p}),Object.assign(Object.assign({name:o},r?{init:H2(r)}:{}),{on:[{events:{signal:s},update:`${s}[0] === ${s}[1] ? null : invert(${a}, ${s})`}]})]}function iae(t,e){return t.events.reduce((n,r)=>r.between?e(n,r):(Te(`${r} is not an ordered event stream for interval selections.`),n),[])}const GZe={defined:t=>t.type==="point",signals:(t,e,n)=>{var r;const i=e.name,s=i+O3,o=e.project,u="(item().isVoronoi ? datum.datum : datum)",a=o.items.map(h=>{const p=t.fieldDef(h.channel);return p!=null&&p.bin?`[${u}[${Fe(t.vgField(h.channel,{}))}], ${u}[${Fe(t.vgField(h.channel,{binSuffix:"end"}))}]]`:`${u}[${Fe(h.field)}]`}).join(", "),l=`unit: ${G2(t)}, fields: ${s}, values`,c=e.events,f=Pi((r=t.component.selection)!==null&&r!==void 0?r:{}).reduce((h,p)=>p.type==="interval"?h.concat(p.name+z2):h,[]).map(h=>`indexof(item().mark.name, '${h}') < 0`).join(" && "),x=`datum && item().mark.marktype !== 'group'${f?` && ${f}`:""}`;return n.concat([{name:i+Wc,on:c?[{events:c,update:`${x} ? {${l}: [${a}]} : null`,force:!0}]:[]}])}};function Q2(t,e,n,r){const i=bN(e)&&e.condition,s=r(e);if(i){const u=Pe(i).map(a=>{const l=r(a);if(PXe(a)){const{param:c,empty:f}=a,x=Oae(t,{param:c,empty:f});return Object.assign({test:x},l)}else{const c=WN(t,a.test);return Object.assign({test:c},l)}});return{[n]:[...u,...s!==void 0?[s]:[]]}}else return s!==void 0?{[n]:s}:{}}function U8(t,e="text"){const n=t.encoding[e];return Q2(t,n,e,r=>qN(r,t.config))}function qN(t,e,n="datum"){if(t){if(hu(t))return on(t.value);if(it(t)){const{format:r,formatType:i}=ON(t);return r8({fieldOrDatumDef:t,format:r,formatType:i,expr:n,config:e})}}}function sae(t,e={}){const{encoding:n,markDef:r,config:i,stack:s}=t,o=n.tooltip;if(Ce(o))return{tooltip:uae({tooltip:o},s,i,e)};{const u=e.reactiveGeom?"datum.datum":"datum";return Q2(t,o,"tooltip",a=>{const l=qN(a,i,u);if(l)return l;if(a===null)return;let c=kt("tooltip",r,i);if(c===!0&&(c={content:"encoding"}),je(c))return{value:c};if(Qe(c))return Ye(c)?c:c.content==="encoding"?uae(n,s,i,e):{signal:u}})}}function oae(t,e,n,{reactiveGeom:r}={}){const i={},s=r?"datum.datum":"datum",o=[];function u(l,c){const f=_d(c),x=To(l)?l:Object.assign(Object.assign({},l),{type:t[f].type}),h=x.title||x8(x,n),p=Pe(h).join(", ");let m;if(kr(c)){const g=c==="x"?"x2":"y2",y=Ia(t[g]);if(Mi(x.bin)&&y){const E=$e(x,{expr:s}),A=$e(y,{expr:s}),{format:S,formatType:v}=ON(x);m=vN(E,A,S,v,n),i[g]=!0}else if(e&&e.fieldChannel===c&&e.offset==="normalize"){const{format:E,formatType:A}=ON(x);m=r8({fieldOrDatumDef:x,format:E,formatType:A,expr:s,config:n,normalizeStack:!0}).signal}}m??(m=qN(x,n,s).signal),o.push({channel:c,key:p,value:m})}g8(t,(l,c)=>{Le(l)?u(l,c):TN(l)&&u(l.condition,c)});const a={};for(const{channel:l,key:c,value:f}of o)!i[l]&&!a[c]&&(a[c]=f);return a}function uae(t,e,n,{reactiveGeom:r}={}){const i=oae(t,e,n,{reactiveGeom:r}),s=Ad(i).map(([o,u])=>`"${o}": ${u}`);return s.length>0?{signal:`{${s.join(", ")}}`}:void 0}function WZe(t){const{markDef:e,config:n}=t,r=kt("aria",e,n);return r===!1?{}:Object.assign(Object.assign(Object.assign({},r?{aria:r}:{}),VZe(t)),YZe(t))}function VZe(t){const{mark:e,markDef:n,config:r}=t;if(r.aria===!1)return{};const i=kt("ariaRoleDescription",n,r);return i!=null?{ariaRoleDescription:{value:i}}:e in NYe?{}:{ariaRoleDescription:{value:e}}}function YZe(t){const{encoding:e,markDef:n,config:r,stack:i}=t,s=e.description;if(s)return Q2(t,s,"description",a=>qN(a,t.config));const o=kt("description",n,r);if(o!=null)return{description:on(o)};if(r.aria===!1)return{};const u=oae(e,i,r);if(!Wt(u))return{description:{signal:Ad(u).map(([a,l],c)=>`"${c>0?"; ":""}${a}: " + (${l})`).join(" + ")}}}function br(t,e,n={}){const{markDef:r,encoding:i,config:s}=e,{vgChannel:o}=n;let{defaultRef:u,defaultValue:a}=n;u===void 0&&(a??(a=kt(t,r,s,{vgChannel:o,ignoreVgConfig:!0})),a!==void 0&&(u=on(a)));const l=i[t];return Q2(e,l,o??t,c=>n8({channel:t,channelDef:c,markDef:r,config:s,scaleName:e.scaleName(t),scale:e.getScaleComponent(t),stack:null,defaultRef:u}))}function aae(t,e={filled:void 0}){var n,r,i,s;const{markDef:o,encoding:u,config:a}=t,{type:l}=o,c=(n=e.filled)!==null&&n!==void 0?n:kt("filled",o,a),f=Tt(["bar","point","circle","square","geoshape"],l)?"transparent":void 0,x=(i=(r=kt(c===!0?"color":void 0,o,a,{vgChannel:"fill"}))!==null&&r!==void 0?r:a.mark[c===!0&&"color"])!==null&&i!==void 0?i:f,h=(s=kt(c===!1?"color":void 0,o,a,{vgChannel:"stroke"}))!==null&&s!==void 0?s:a.mark[c===!1&&"color"],p=c?"fill":"stroke",m=Object.assign(Object.assign({},x?{fill:on(x)}:{}),h?{stroke:on(h)}:{});return o.color&&(c?o.fill:o.stroke)&&Te(ioe("property",{fill:"fill"in o,stroke:"stroke"in o})),Object.assign(Object.assign(Object.assign(Object.assign({},m),br("color",t,{vgChannel:p,defaultValue:c?x:h})),br("fill",t,{defaultValue:u.fill?x:void 0})),br("stroke",t,{defaultValue:u.stroke?h:void 0}))}function KZe(t){const{encoding:e,mark:n}=t,r=e.order;return!jc(n)&&hu(r)?Q2(t,r,"zindex",i=>on(i.value)):{}}function N3({channel:t,markDef:e,encoding:n={},model:r,bandPosition:i}){const s=`${t}Offset`,o=e[s],u=n[s];if((s==="xOffset"||s==="yOffset")&&u)return{offsetType:"encoding",offset:n8({channel:s,channelDef:u,markDef:e,config:r==null?void 0:r.config,scaleName:r.scaleName(s),scale:r.getScaleComponent(s),stack:null,defaultRef:on(o),bandPosition:i})};const a=e[s];return a?{offsetType:"visual",offset:a}:{}}function ai(t,e,{defaultPos:n,vgChannel:r}){const{encoding:i,markDef:s,config:o,stack:u}=e,a=i[t],l=i[Zl(t)],c=e.scaleName(t),f=e.getScaleComponent(t),{offset:x,offsetType:h}=N3({channel:t,markDef:s,encoding:i,model:e,bandPosition:.5}),p=q8({model:e,defaultPos:n,channel:t,scaleName:c,scale:f}),m=!a&&kr(t)&&(i.latitude||i.longitude)?{field:e.getName(t)}:XZe({channel:t,channelDef:a,channel2Def:l,markDef:s,config:o,scaleName:c,scale:f,stack:u,offset:x,defaultRef:p,bandPosition:h==="encoding"?0:void 0});return m?{[r||t]:m}:void 0}function XZe(t){const{channel:e,channelDef:n,scaleName:r,stack:i,offset:s,markDef:o}=t;if(it(n)&&i&&e===i.fieldChannel){if(Le(n)){let u=n.bandPosition;if(u===void 0&&o.type==="text"&&(e==="radius"||e==="theta")&&(u=.5),u!==void 0)return SN({scaleName:r,fieldOrDatumDef:n,startSuffix:"start",bandPosition:u,offset:s})}return Od(n,r,{suffix:"end"},{offset:s})}return e8(t)}function q8({model:t,defaultPos:e,channel:n,scaleName:r,scale:i}){const{markDef:s,config:o}=t;return()=>{const u=_d(n),a=$c(n),l=kt(n,s,o,{vgChannel:a});if(l!==void 0)return S3(n,l);switch(e){case"zeroOrMin":case"zeroOrMax":if(r){const c=i.get("type");if(!Tt([ms.LOG,ms.TIME,ms.UTC],c)){if(i.domainDefinitelyIncludesZero())return{scale:r,value:0}}}if(e==="zeroOrMin")return u==="y"?{field:{group:"height"}}:{value:0};switch(u){case"radius":return{signal:`min(${t.width.signal},${t.height.signal})/2`};case"theta":return{signal:"2*PI"};case"x":return{field:{group:"width"}};case"y":return{value:0}}break;case"mid":{const c=t[ps(n)];return Object.assign(Object.assign({},c),{mult:.5})}}}}const JZe={left:"x",center:"xc",right:"x2"},ZZe={top:"y",middle:"yc",bottom:"y2"};function lae(t,e,n,r="middle"){if(t==="radius"||t==="theta")return $c(t);const i=t==="x"?"align":"baseline",s=kt(i,e,n);let o;return Ye(s)?(Te(aKe(i)),o=void 0):o=s,t==="x"?JZe[o||(r==="top"?"left":"center")]:ZZe[o||r]}function HN(t,e,{defaultPos:n,defaultPos2:r,range:i}){return i?cae(t,e,{defaultPos:n,defaultPos2:r}):ai(t,e,{defaultPos:n})}function cae(t,e,{defaultPos:n,defaultPos2:r}){const{markDef:i,config:s}=e,o=Zl(t),u=ps(t),a=eet(e,r,o),l=a[u]?lae(t,i,s):$c(t);return Object.assign(Object.assign({},ai(t,e,{defaultPos:n,vgChannel:l})),a)}function eet(t,e,n){const{encoding:r,mark:i,markDef:s,stack:o,config:u}=t,a=_d(n),l=ps(n),c=$c(n),f=r[a],x=t.scaleName(a),h=t.getScaleComponent(a),{offset:p}=n in r||n in s?N3({channel:n,markDef:s,encoding:r,model:t}):N3({channel:a,markDef:s,encoding:r,model:t});if(!f&&(n==="x2"||n==="y2")&&(r.latitude||r.longitude)){const g=ps(n),y=t.markDef[g];return y!=null?{[g]:{value:y}}:{[c]:{field:t.getName(n)}}}const m=tet({channel:n,channelDef:f,channel2Def:r[n],markDef:s,config:u,scaleName:x,scale:h,stack:o,offset:p,defaultRef:void 0});return m!==void 0?{[c]:m}:zN(n,s)||zN(n,{[n]:dN(n,s,u.style),[l]:dN(l,s,u.style)})||zN(n,u[i])||zN(n,u.mark)||{[c]:q8({model:t,defaultPos:e,channel:n,scaleName:x,scale:h})()}}function tet({channel:t,channelDef:e,channel2Def:n,markDef:r,config:i,scaleName:s,scale:o,stack:u,offset:a,defaultRef:l}){return it(e)&&u&&t.charAt(0)===u.fieldChannel.charAt(0)?Od(e,s,{suffix:"start"},{offset:a}):e8({channel:t,channelDef:n,scaleName:s,scale:o,stack:u,markDef:r,config:i,offset:a,defaultRef:l})}function zN(t,e){const n=ps(t),r=$c(t);if(e[r]!==void 0)return{[r]:S3(t,e[r])};if(e[t]!==void 0)return{[r]:S3(t,e[t])};if(e[n]){const i=e[n];if(k2(i))Te(tKe(n));else return{[n]:S3(t,i)}}}function Gc(t,e){var n,r;const{config:i,encoding:s,markDef:o}=t,u=o.type,a=Zl(e),l=ps(e),c=s[e],f=s[a],x=t.getScaleComponent(e),h=x?x.get("type"):void 0,p=o.orient,m=(r=(n=s[l])!==null&&n!==void 0?n:s.size)!==null&&r!==void 0?r:kt("size",o,i,{vgChannel:l}),g=u==="bar"&&(e==="x"?p==="vertical":p==="horizontal");return Le(c)&&(Xt(c.bin)||Mi(c.bin)||c.timeUnit&&!f)&&!(m&&!k2(m))&&!Cr(h)?iet({fieldDef:c,fieldDef2:f,channel:e,model:t}):(it(c)&&Cr(h)||g)&&!f?ret(c,e,t):cae(e,t,{defaultPos:"zeroOrMax",defaultPos2:"zeroOrMin"})}function net(t,e,n,r,i){if(k2(i))if(n){const o=n.get("type");if(o==="band")return{scale:e,band:i.band};i.band!==1&&(Te(xKe(o)),i=void 0)}else return{mult:i.band,field:{group:t}};else{if(Ye(i))return i;if(i)return{value:i}}if(n){const o=n.get("range");if(Mc(o)&&nn(o.step))return{value:o.step-2}}return{value:PN(r.view,t)-2}}function ret(t,e,n){const{markDef:r,encoding:i,config:s,stack:o}=n,u=r.orient,a=n.scaleName(e),l=n.getScaleComponent(e),c=ps(e),f=Zl(e),x=lYe(e),h=n.scaleName(x),p=u==="horizontal"&&e==="y"||u==="vertical"&&e==="x";let m;(i.size||r.size)&&(p?m=br("size",n,{vgChannel:c,defaultRef:on(r.size)}):Te(gKe(r.type)));const g=Qoe({channel:e,fieldDef:t,markDef:r,config:s,scaleType:l==null?void 0:l.get("type"),useVlSizeChannel:p});m=m||{[c]:net(c,h||a,l,s,g)};const y=(l==null?void 0:l.get("type"))!=="band"||!("band"in m[c])?"middle":"top",E=lae(e,r,s,y),A=E==="xc"||E==="yc",{offset:S,offsetType:v}=N3({channel:e,markDef:r,encoding:i,model:n,bandPosition:A?.5:0}),_=e8({channel:e,channelDef:t,markDef:r,config:s,scaleName:a,scale:l,stack:o,offset:S,defaultRef:q8({model:n,defaultPos:"mid",channel:e,scaleName:a,scale:l}),bandPosition:A?v==="encoding"?0:.5:Ye(g)?{signal:`(1-${g})/2`}:k2(g)?(1-g.band)/2:0});if(c)return Object.assign({[E]:_},m);{const C=$c(f),b=m[c],O=S?Object.assign(Object.assign({},b),{offset:S}):b;return{[E]:_,[C]:Ce(_)?[_[0],Object.assign(Object.assign({},_[1]),{offset:O})]:Object.assign(Object.assign({},_),{offset:O})}}}function D3(t,e,n,r,i){if(Tse(t))return 0;const s=t==="x"||t==="y2"?-e/2:e/2;if(Ye(n)||Ye(i)||Ye(r)){const o=n0(n),u=n0(i),a=n0(r),l=a?`${a} + `:"",c=o?`(${o} ? -1 : 1) * `:"",f=u?`(${u} + ${s})`:s;return{signal:l+c+f}}else return i=i||0,r+(n?-i-s:+i+s)}function iet({fieldDef:t,fieldDef2:e,channel:n,model:r}){var i,s,o;const{config:u,markDef:a,encoding:l}=r,c=r.getScaleComponent(n),f=r.scaleName(n),x=c?c.get("type"):void 0,h=c.get("reverse"),p=Qoe({channel:n,fieldDef:t,markDef:a,config:u,scaleType:x}),m=(i=r.component.axes[n])===null||i===void 0?void 0:i[0],g=(s=m==null?void 0:m.get("translate"))!==null&&s!==void 0?s:.5,y=kr(n)&&(o=kt("binSpacing",a,u))!==null&&o!==void 0?o:0,E=Zl(n),A=$c(n),S=$c(E),{offset:v}=N3({channel:n,markDef:a,encoding:l,model:r,bandPosition:0}),_=Ye(p)?{signal:`(1-${p.signal})/2`}:k2(p)?(1-p.band)/2:.5;if(Xt(t.bin)||t.timeUnit)return{[S]:fae({fieldDef:t,scaleName:f,bandPosition:_,offset:D3(E,y,h,g,v)}),[A]:fae({fieldDef:t,scaleName:f,bandPosition:Ye(_)?{signal:`1-${_.signal}`}:1-_,offset:D3(n,y,h,g,v)})};if(Mi(t.bin)){const C=Od(t,f,{},{offset:D3(E,y,h,g,v)});if(Le(e))return{[S]:C,[A]:Od(e,f,{},{offset:D3(n,y,h,g,v)})};if(Cd(t.bin)&&t.bin.step)return{[S]:C,[A]:{signal:`scale("${f}", ${$e(t,{expr:"datum"})} + ${t.bin.step})`,offset:D3(n,y,h,g,v)}}}Te(loe(E))}function fae({fieldDef:t,scaleName:e,bandPosition:n,offset:r}){return SN({scaleName:e,fieldOrDatumDef:t,bandPosition:n,offset:r})}const set=new Set(["aria","width","height"]);function Ro(t,e){const{fill:n=void 0,stroke:r=void 0}=e.color==="include"?aae(t):{};return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},oet(t.markDef,e)),xae(t,"fill",n)),xae(t,"stroke",r)),br("opacity",t)),br("fillOpacity",t)),br("strokeOpacity",t)),br("strokeWidth",t)),br("strokeDash",t)),KZe(t)),sae(t)),U8(t,"href")),WZe(t))}function xae(t,e,n){const{config:r,mark:i,markDef:s}=t;if(kt("invalid",s,r)==="hide"&&n&&!jc(i)){const u=uet(t,{invalid:!0,channels:fN});if(u)return{[e]:[{test:u,value:null},...Pe(n)]}}return n?{[e]:n}:{}}function oet(t,e){return OYe.reduce((n,r)=>(!set.has(r)&&t[r]!==void 0&&e[r]!=="ignore"&&(n[r]=on(t[r])),n),{})}function uet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&Hs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>t8(o,e)).join(` ${s} `)}}function H8(t){const{config:e,markDef:n}=t;if(kt("invalid",n,e)){const i=aet(t,{channels:Oa});if(i)return{defined:{signal:i}}}return{}}function aet(t,{invalid:e=!1,channels:n}){const r=n.reduce((s,o)=>{const u=t.getScaleComponent(o);if(u){const a=u.get("type"),l=t.vgField(o,{expr:"datum"});l&&Hs(a)&&(s[l]=!0)}return s},{}),i=be(r);if(i.length>0){const s=e?"||":"&&";return i.map(o=>t8(o,e)).join(` ${s} `)}}function dae(t,e){if(e!==void 0)return{[t]:on(e)}}const z8="voronoi",hae={defined:t=>t.type==="point"&&t.nearest,parse:(t,e)=>{if(e.events)for(const n of e.events)n.markname=t.getName(z8)},marks:(t,e,n)=>{const{x:r,y:i}=e.project.hasChannel,s=t.mark;if(jc(s))return Te(IYe(s)),n;const o={name:t.getName(z8),type:"path",interactive:!0,from:{data:t.getName("marks")},encode:{update:Object.assign({fill:{value:"transparent"},strokeWidth:{value:.35},stroke:{value:"transparent"},isVoronoi:{value:!0}},sae(t,{reactiveGeom:!0}))},transform:[{type:"voronoi",x:{expr:r||!i?"datum.datum.x || 0":"0"},y:{expr:i||!r?"datum.datum.y || 0":"0"},size:[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]}]};let u=0,a=!1;return n.forEach((l,c)=>{var f;const x=(f=l.name)!==null&&f!==void 0?f:"";x===t.component.mark[0].name?u=c:x.indexOf(z8)>=0&&(a=!0)}),a||n.splice(u+1,0,o),n}},pae={defined:t=>t.type==="point"&&t.resolve==="global"&&t.bind&&t.bind!=="scales"&&!_8(t.bind),parse:(t,e,n)=>bae(e,n),topLevelSignals:(t,e,n)=>{const r=e.name,i=e.project,s=e.bind,o=e.init&&e.init[0],u=hae.defined(e)?"(item().isVoronoi ? datum.datum : datum)":"datum";return i.items.forEach((a,l)=>{var c,f;const x=mn(`${r}_${a.field}`);n.filter(p=>p.name===x).length||n.unshift(Object.assign(Object.assign({name:x},o?{init:H2(o[l])}:{value:null}),{on:e.events?[{events:e.events,update:`datum && item().mark.marktype !== 'group' ? ${u}[${Fe(a.field)}] : null`}]:[],bind:(f=(c=s[a.field])!==null&&c!==void 0?c:s[a.channel])!==null&&f!==void 0?f:s}))}),n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.filter(l=>l.name===r+Wc)[0],o=r+O3,u=i.items.map(l=>mn(`${r}_${l.field}`)),a=u.map(l=>`${l} !== null`).join(" && ");return u.length&&(s.update=`${a} ? {fields: ${o}, values: [${u.join(", ")}]} : null`),delete s.value,delete s.on,n}},QN="_toggle",gae={defined:t=>t.type==="point"&&!!t.toggle,signals:(t,e,n)=>n.concat({name:e.name+QN,value:!1,on:[{events:e.events,update:e.toggle}]}),modifyExpr:(t,e)=>{const n=e.name+Wc,r=e.name+QN;return`${r} ? null : ${n}, `+(e.resolve==="global"?`${r} ? null : true, `:`${r} ? null : {unit: ${G2(t)}}, `)+`${r} ? ${n} : null`}},cet={defined:t=>t.clear!==void 0&&t.clear!==!1,parse:(t,e)=>{e.clear&&(e.clear=je(e.clear)?hd(e.clear,"view"):e.clear)},topLevelSignals:(t,e,n)=>{if(pae.defined(e))for(const r of e.project.items){const i=n.findIndex(s=>s.name===mn(`${e.name}_${r.field}`));i!==-1&&n[i].on.push({events:e.clear,update:"null"})}return n},signals:(t,e,n)=>{function r(i,s){i!==-1&&n[i].on&&n[i].on.push({events:e.clear,update:s})}if(e.type==="interval")for(const i of e.project.items){const s=n.findIndex(o=>o.name===i.signals.visual);if(r(s,"[0, 0]"),s===-1){const o=n.findIndex(u=>u.name===i.signals.data);r(o,"null")}}else{let i=n.findIndex(s=>s.name===e.name+Wc);r(i,"null"),gae.defined(e)&&(i=n.findIndex(s=>s.name===e.name+QN),r(i,"false"))}return n}},mae={defined:t=>{const e=t.resolve==="global"&&t.bind&&_8(t.bind),n=t.project.items.length===1&&t.project.items[0].field!==T3;return e&&!n&&Te(kYe),e&&n},parse:(t,e,n)=>{var r;const i=ot(n);if(i.select=je(i.select)?{type:i.select,toggle:e.toggle}:Object.assign(Object.assign({},i.select),{toggle:e.toggle}),bae(e,i),Qe(n.select)&&(n.select.on||n.select.clear)){const u='event.item && indexof(event.item.mark.role, "legend") < 0';for(const a of e.events)a.filter=Pe((r=a.filter)!==null&&r!==void 0?r:[]),a.filter.includes(u)||a.filter.push(u)}const s=C8(e.bind)?e.bind.legend:"click",o=je(s)?hd(s,"view"):Pe(s);e.bind={legend:{merge:o}}},topLevelSignals:(t,e,n)=>{const r=e.name,i=C8(e.bind)&&e.bind.legend,s=o=>u=>{const a=ot(u);return a.markname=o,a};for(const o of e.project.items){if(!o.hasLegend)continue;const u=`${mn(o.field)}_legend`,a=`${r}_${u}`;if(n.filter(c=>c.name===a).length===0){const c=i.merge.map(s(`${u}_symbols`)).concat(i.merge.map(s(`${u}_labels`))).concat(i.merge.map(s(`${u}_entries`)));n.unshift(Object.assign(Object.assign({name:a},e.init?{}:{value:null}),{on:[{events:c,update:"datum.value || item().items[0].items[0].datum.value",force:!0},{events:i.merge,update:`!event.item || !datum ? null : ${a}`,force:!0}]}))}}return n},signals:(t,e,n)=>{const r=e.name,i=e.project,s=n.find(x=>x.name===r+Wc),o=r+O3,u=i.items.filter(x=>x.hasLegend).map(x=>mn(`${r}_${mn(x.field)}_legend`)),l=`${u.map(x=>`${x} !== null`).join(" && ")} ? {fields: ${o}, values: [${u.join(", ")}]} : null`;e.events&&u.length>0?s.on.push({events:u.map(x=>({signal:x})),update:l}):u.length>0&&(s.update=l,delete s.value,delete s.on);const c=n.find(x=>x.name===r+QN),f=C8(e.bind)&&e.bind.legend;return c&&(e.events?c.on.push(Object.assign(Object.assign({},c.on[0]),{events:f})):c.on[0].events=f),n}};function fet(t,e,n){var r,i,s,o;const u=(r=t.fieldDef(e))===null||r===void 0?void 0:r.field;for(const a of Pi((i=t.component.selection)!==null&&i!==void 0?i:{})){const l=(s=a.project.hasField[u])!==null&&s!==void 0?s:a.project.hasChannel[e];if(l&&mae.defined(a)){const c=(o=n.get("selections"))!==null&&o!==void 0?o:[];c.push(a.name),n.set("selections",c,!1),l.hasLegend=!0}}}const yae="_translate_anchor",Eae="_translate_delta",xet={defined:t=>t.type==="interval"&&t.translate,signals:(t,e,n)=>{const r=e.name,i=Qc.defined(e),s=r+yae,{x:o,y:u}=e.project.hasChannel;let a=hd(e.translate,"scope");return i||(a=a.map(l=>(l.between[0].markname=r+z2,l))),n.push({name:s,value:{},on:[{events:a.map(l=>l.between[0]),update:"{x: x(unit), y: y(unit)"+(o!==void 0?`, extent_x: ${i?P8(t,yn):`slice(${o.signals.visual})`}`:"")+(u!==void 0?`, extent_y: ${i?P8(t,_r):`slice(${u.signals.visual})`}`:"")+"}"}]},{name:r+Eae,value:{},on:[{events:a,update:`{x: ${s}.x - x(unit), y: ${s}.y - y(unit)}`}]}),o!==void 0&&Aae(t,e,o,"width",n),u!==void 0&&Aae(t,e,u,"height",n),n}};function Aae(t,e,n,r,i){var s,o;const u=e.name,a=u+yae,l=u+Eae,c=n.channel,f=Qc.defined(e),x=i.filter(C=>C.name===n.signals[f?"data":"visual"])[0],h=t.getSizeSignalRef(r).signal,p=t.getScaleComponent(c),m=p.get("type"),g=p.get("reverse"),y=f?c===yn?g?"":"-":g?"-":"":"",E=`${a}.extent_${c}`,A=`${y}${l}.${c} / ${f?`${h}`:`span(${E})`}`,S=f?m==="log"?"panLog":m==="symlog"?"panSymlog":m==="pow"?"panPow":"panLinear":"panLinear",v=f?m==="pow"?`, ${(s=p.get("exponent"))!==null&&s!==void 0?s:1}`:m==="symlog"?`, ${(o=p.get("constant"))!==null&&o!==void 0?o:1}`:"":"",_=`${S}(${E}, ${A}${v})`;x.on.push({events:{signal:l},update:f?_:`clampRange(${_}, 0, ${h})`})}const Sae="_zoom_anchor",vae="_zoom_delta",det={defined:t=>t.type==="interval"&&t.zoom,signals:(t,e,n)=>{const r=e.name,i=Qc.defined(e),s=r+vae,{x:o,y:u}=e.project.hasChannel,a=Fe(t.scaleName(yn)),l=Fe(t.scaleName(_r));let c=hd(e.zoom,"scope");return i||(c=c.map(f=>(f.markname=r+z2,f))),n.push({name:r+Sae,on:[{events:c,update:i?"{"+[a?`x: invert(${a}, x(unit))`:"",l?`y: invert(${l}, y(unit))`:""].filter(f=>!!f).join(", ")+"}":"{x: x(unit), y: y(unit)}"}]},{name:s,on:[{events:c,force:!0,update:"pow(1.001, event.deltaY * pow(16, event.deltaMode))"}]}),o!==void 0&&_ae(t,e,o,"width",n),u!==void 0&&_ae(t,e,u,"height",n),n}};function _ae(t,e,n,r,i){var s,o;const u=e.name,a=n.channel,l=Qc.defined(e),c=i.filter(S=>S.name===n.signals[l?"data":"visual"])[0],f=t.getSizeSignalRef(r).signal,x=t.getScaleComponent(a),h=x.get("type"),p=l?P8(t,a):c.name,m=u+vae,g=`${u}${Sae}.${a}`,y=l?h==="log"?"zoomLog":h==="symlog"?"zoomSymlog":h==="pow"?"zoomPow":"zoomLinear":"zoomLinear",E=l?h==="pow"?`, ${(s=x.get("exponent"))!==null&&s!==void 0?s:1}`:h==="symlog"?`, ${(o=x.get("constant"))!==null&&o!==void 0?o:1}`:"":"",A=`${y}(${p}, ${g}, ${m}${E})`;c.on.push({events:{signal:m},update:l?A:`clampRange(${A}, 0, ${f})`})}const wd="_store",Wc="_tuple",het="_modify",Cae="vlSelectionResolve",GN=[GZe,zZe,qZe,gae,pae,Qc,mae,cet,xet,det,hae];function pet(t){let e=t.parent;for(;e&&!mu(e);)e=e.parent;return e}function G2(t,{escape:e}={escape:!0}){let n=e?Fe(t.name):t.name;const r=pet(t);if(r){const{facet:i}=r;for(const s of bo)i[s]&&(n+=` + '__facet_${s}_' + (facet[${Fe(r.vgField(s))}])`)}return n}function Q8(t){var e;return Pi((e=t.component.selection)!==null&&e!==void 0?e:{}).reduce((n,r)=>n||r.project.items.some(i=>i.field===T3),!1)}function bae(t,e){(je(e.select)||!e.select.on)&&delete t.events,(je(e.select)||!e.select.clear)&&delete t.clear,(je(e.select)||!e.select.toggle)&&delete t.toggle}function G8(t){const e=[];return t.type==="Identifier"?[t.name]:t.type==="Literal"?[t.value]:(t.type==="MemberExpression"&&(e.push(...G8(t.object)),e.push(...G8(t.property))),e)}function Tae(t){return t.object.type==="MemberExpression"?Tae(t.object):t.object.name==="datum"}function Rae(t){const e=Ere(t),n=new Set;return e.visit(r=>{r.type==="MemberExpression"&&Tae(r)&&n.add(G8(r).slice(1).join("."))}),n}class W2 extends Ut{constructor(e,n,r){super(e),this.model=n,this.filter=r,this.expr=WN(this.model,this.filter,this),this._dependentFields=Rae(this.expr)}clone(){return new W2(null,this.model,ot(this.filter))}dependentFields(){return this._dependentFields}producedFields(){return new Set}assemble(){return{type:"filter",expr:this.expr}}hash(){return`Filter ${this.expr}`}}function get(t,e){var n;const r={},i=t.config.selection;if(!e||!e.length)return r;for(const s of e){const o=mn(s.name),u=s.select,a=je(u)?u:u.type,l=Qe(u)?ot(u):{type:a},c=i[a];for(const x in c)x==="fields"||x==="encodings"||(x==="mark"&&(l[x]=Object.assign(Object.assign({},c[x]),l[x])),(l[x]===void 0||l[x]===!0)&&(l[x]=(n=c[x])!==null&&n!==void 0?n:l[x]));const f=r[o]=Object.assign(Object.assign({},l),{name:o,type:a,init:s.value,bind:s.bind,events:je(l.on)?hd(l.on,"scope"):Pe(ot(l.on))});for(const x of GN)x.defined(f)&&x.parse&&x.parse(t,f,s)}return r}function Oae(t,e,n,r="datum"){const i=je(e)?e:e.param,s=mn(i),o=Fe(s+wd);let u;try{u=t.getSelectionComponent(s,i)}catch{return`!!${s}`}if(u.project.timeUnit){const c=n??t.component.data.raw,f=u.project.timeUnit.clone();c.parent?f.insertAsParentOf(c):c.parent=f}const a=`vlSelectionTest(${o}, ${r}${u.resolve==="global"?")":`, ${Fe(u.resolve)})`}`,l=`length(data(${o}))`;return e.empty===!1?`${l} && ${a}`:`!${l} || ${a}`}function Nae(t,e,n){const r=mn(e),i=n.encoding;let s=n.field,o;try{o=t.getSelectionComponent(r,e)}catch{return r}if(!i&&!s)s=o.project.items[0].field,o.project.items.length>1&&Te(`A "field" or "encoding" must be specified when using a selection as a scale domain. Using "field": ${Fe(s)}.`);else if(i&&!s){const u=o.project.items.filter(a=>a.channel===i);!u.length||u.length>1?(s=o.project.items[0].field,Te((u.length?"Multiple ":"No ")+`matching ${Fe(i)} encoding found for selection ${Fe(n.param)}. Using "field": ${Fe(s)}.`)):s=u[0].field}return`${o.name}[${Fe(lu(s))}]`}function met(t,e){var n;for(const[r,i]of Ad((n=t.component.selection)!==null&&n!==void 0?n:{})){const s=t.getName(`lookup_${r}`);t.component.data.outputNodes[s]=i.materialized=new qi(new W2(e,t,{param:r}),s,Jt.Lookup,t.component.data.outputNodeRefCounts)}}function WN(t,e,n){return nN(e,r=>je(r)?r:JKe(r)?Oae(t,r,n):moe(r))}var VN=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function yet(t,e){if(t)return Ce(t)&&!Pc(t)?t.map(n=>x8(n,e)).join(", "):t}function W8(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function F3(t,e,n,r={header:!1}){var i,s;const o=t.combine(),{disable:u,orient:a,scale:l,labelExpr:c,title:f,zindex:x}=o,h=VN(o,["disable","orient","scale","labelExpr","title","zindex"]);if(!u){for(const p in h){const m=JXe[p],g=h[p];if(m&&m!==e&&m!=="both")delete h[p];else if(b3(g)){const{condition:y}=g,E=VN(g,["condition"]),A=Pe(y),S=eue[p];if(S){const{vgProp:v,part:_}=S,C=[...A.map(b=>{const{test:O}=b,R=VN(b,["test"]);return Object.assign({test:WN(null,O)},R)}),E];W8(h,_,v,C),delete h[p]}else if(S===null){const v={signal:A.map(_=>{const{test:C}=_,b=VN(_,["test"]);return`${WN(null,C)} ? ${qse(b)} : `}).join("")+qse(E)};h[p]=v}}else if(Ye(g)){const y=eue[p];if(y){const{vgProp:E,part:A}=y;W8(h,A,E,g),delete h[p]}}Tt(["labelAlign","labelBaseline"],p)&&h[p]===null&&delete h[p]}if(e==="grid"){if(!h.grid)return;if(h.encode){const{grid:p}=h.encode;h.encode=Object.assign({},p?{grid:p}:{}),Wt(h.encode)&&delete h.encode}return Object.assign(Object.assign({scale:l,orient:a},h),{domain:!1,labels:!1,aria:!1,maxExtent:0,minExtent:0,ticks:!1,zindex:rr(x,0)})}else{if(!r.header&&t.mainExtracted)return;if(c!==void 0){let m=c;!((s=(i=h.encode)===null||i===void 0?void 0:i.labels)===null||s===void 0)&&s.update&&Ye(h.encode.labels.update.text)&&(m=N2(c,"datum.label",h.encode.labels.update.text.signal)),W8(h,"labels","text",{signal:m})}if(h.labelAlign===null&&delete h.labelAlign,h.encode){for(const m of tue)t.hasAxisPart(m)||delete h.encode[m];Wt(h.encode)&&delete h.encode}const p=yet(f,n);return Object.assign(Object.assign(Object.assign(Object.assign({scale:l,orient:a,grid:!1},p?{title:p}:{}),h),n.aria===!1?{aria:!1}:{}),{zindex:rr(x,0)})}}}function Dae(t){const{axes:e}=t.component,n=[];for(const r of Oa)if(e[r]){for(const i of e[r])if(!i.get("disable")&&!i.get("gridScale")){const s=r==="x"?"height":"width",o=t.getSizeSignalRef(s).signal;s!==o&&n.push({name:s,update:o})}}return n}function Eet(t,e){const{x:n=[],y:r=[]}=t;return[...n.map(i=>F3(i,"grid",e)),...r.map(i=>F3(i,"grid",e)),...n.map(i=>F3(i,"main",e)),...r.map(i=>F3(i,"main",e))].filter(i=>i)}function Fae(t,e,n,r){return Object.assign.apply(null,[{},...t.map(i=>{if(i==="axisOrient"){const s=n==="x"?"bottom":"left",o=e[n==="x"?"axisBottom":"axisLeft"]||{},u=e[n==="x"?"axisTop":"axisRight"]||{},a=new Set([...be(o),...be(u)]),l={};for(const c of a.values())l[c]={signal:`${r.signal} === "${s}" ? ${n0(o[c])} : ${n0(u[c])}`};return l}return e[i]})])}function Aet(t,e,n,r){const i=e==="band"?["axisDiscrete","axisBand"]:e==="point"?["axisDiscrete","axisPoint"]:voe(e)?["axisQuantitative"]:e==="time"||e==="utc"?["axisTemporal"]:[],s=t==="x"?"axisX":"axisY",o=Ye(n)?"axisOrient":`axis${rN(n)}`,u=[...i,...i.map(l=>s+l.substr(4))],a=["axis",o,s];return{vlOnlyAxisConfig:Fae(u,r,t,n),vgAxisConfig:Fae(a,r,t,n),axisConfigStyle:vet([...a,...u],r)}}function vet(t,e){var n;const r=[{}];for(const i of t){let s=(n=e[i])===null||n===void 0?void 0:n.style;if(s){s=Pe(s);for(const o of s)r.push(e.style[o])}}return Object.assign.apply(null,r)}function V8(t,e,n,r={}){var i;const s=zse(t,n,e);if(s!==void 0)return{configFrom:"style",configValue:s};for(const o of["vlOnlyAxisConfig","vgAxisConfig","axisConfigStyle"])if(((i=r[o])===null||i===void 0?void 0:i[t])!==void 0)return{configFrom:o,configValue:r[o][t]};return{}}const wae={scale:({model:t,channel:e})=>t.scaleName(e),format:({fieldOrDatumDef:t,config:e,axis:n})=>{const{format:r,formatType:i}=n;return $oe(t,t.type,r,i,e,!0)},formatType:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Boe(r,e,n)},grid:({fieldOrDatumDef:t,axis:e,scaleType:n})=>{var r;return(r=e.grid)!==null&&r!==void 0?r:_et(n,t)},gridScale:({model:t,channel:e})=>Cet(t,e),labelAlign:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelAlign||Iae(e,n,r),labelAngle:({labelAngle:t})=>t,labelBaseline:({axis:t,labelAngle:e,orient:n,channel:r})=>t.labelBaseline||Lae(e,n,r),labelFlush:({axis:t,fieldOrDatumDef:e,channel:n})=>{var r;return(r=t.labelFlush)!==null&&r!==void 0?r:Tet(e.type,n)},labelOverlap:({axis:t,fieldOrDatumDef:e,scaleType:n})=>{var r;return(r=t.labelOverlap)!==null&&r!==void 0?r:Ret(e.type,n,Le(e)&&!!e.timeUnit,Le(e)?e.sort:void 0)},orient:({orient:t})=>t,tickCount:({channel:t,model:e,axis:n,fieldOrDatumDef:r,scaleType:i})=>{var s;const o=t==="x"?"width":t==="y"?"height":void 0,u=o?e.getSizeSignalRef(o):void 0;return(s=n.tickCount)!==null&&s!==void 0?s:Net({fieldOrDatumDef:r,scaleType:i,size:u,values:n.values})},title:({axis:t,model:e,channel:n})=>{if(t.title!==void 0)return t.title;const r=$ae(e,n);if(r!==void 0)return r;const i=e.typedFieldDef(n),s=n==="x"?"x2":"y2",o=e.fieldDef(s);return Gse(i?[Hoe(i)]:[],Le(o)?[Hoe(o)]:[])},values:({axis:t,fieldOrDatumDef:e})=>Det(t,e),zindex:({axis:t,fieldOrDatumDef:e,mark:n})=>{var r;return(r=t.zindex)!==null&&r!==void 0?r:Fet(n,e)}};function _et(t,e){return!Cr(t)&&Le(e)&&!Xt(e==null?void 0:e.bin)&&!Mi(e==null?void 0:e.bin)}function Cet(t,e){const n=e==="x"?"y":"x";if(t.getScaleComponent(n))return t.scaleName(n)}function bet(t,e,n,r,i){const s=e==null?void 0:e.labelAngle;if(s!==void 0)return Ye(s)?s:iN(s);{const{configValue:o}=V8("labelAngle",r,e==null?void 0:e.style,i);return o!==void 0?iN(o):n===yn&&Tt([V7,W7],t.type)&&!(Le(t)&&t.timeUnit)?270:void 0}}function Y8(t){return`(((${t.signal} % 360) + 360) % 360)`}function Lae(t,e,n,r){if(t!==void 0)if(n==="x"){if(Ye(t)){const i=Y8(t),s=Ye(e)?`(${e.signal} === "top")`:e==="top";return{signal:`(45 < ${i} && ${i} < 135) || (225 < ${i} && ${i} < 315) ? "middle" :(${i} <= 45 || 315 <= ${i}) === ${s} ? "bottom" : "top"`}}if(45<t&&t<135||225<t&&t<315)return"middle";if(Ye(e)){const i=t<=45||315<=t?"===":"!==";return{signal:`${e.signal} ${i} "top" ? "bottom" : "top"`}}return(t<=45||315<=t)==(e==="top")?"bottom":"top"}else{if(Ye(t)){const i=Y8(t),s=Ye(e)?`(${e.signal} === "left")`:e==="left";return{signal:`${i} <= 45 || 315 <= ${i} || (135 <= ${i} && ${i} <= 225) ? ${r?'"middle"':"null"} : (45 <= ${i} && ${i} <= 135) === ${s} ? "top" : "bottom"`}}if(t<=45||315<=t||135<=t&&t<=225)return r?"middle":null;if(Ye(e)){const i=45<=t&&t<=135?"===":"!==";return{signal:`${e.signal} ${i} "left" ? "top" : "bottom"`}}return(45<=t&&t<=135)==(e==="left")?"top":"bottom"}}function Iae(t,e,n){if(t===void 0)return;const r=n==="x",i=r?0:90,s=r?"bottom":"left";if(Ye(t)){const o=Y8(t),u=Ye(e)?`(${e.signal} === "${s}")`:e===s;return{signal:`(${i?`(${o} + 90)`:o} % 180 === 0) ? ${r?null:'"center"'} :(${i} < ${o} && ${o} < ${180+i}) === ${u} ? "left" : "right"`}}if((t+i)%180===0)return r?null:"center";if(Ye(e)){const o=i<t&&t<180+i?"===":"!==";return{signal:`${`${e.signal} ${o} "${s}"`} ? "left" : "right"`}}return(i<t&&t<180+i)==(e===s)?"left":"right"}function Tet(t,e){if(e==="x"&&Tt(["quantitative","temporal"],t))return!0}function Ret(t,e,n,r){if(n&&!Qe(r)||t!=="nominal"&&t!=="ordinal")return e==="log"||e==="symlog"?"greedy":!0}function Oet(t){return t==="x"?"bottom":"left"}function Net({fieldOrDatumDef:t,scaleType:e,size:n,values:r}){var i;if(!r&&!Cr(e)&&e!=="log"){if(Le(t)){if(Xt(t.bin))return{signal:`ceil(${n.signal}/10)`};if(t.timeUnit&&Tt(["month","hours","day","quarter"],(i=ji(t.timeUnit))===null||i===void 0?void 0:i.unit))return}return{signal:`ceil(${n.signal}/40)`}}}function $ae(t,e){const n=e==="x"?"x2":"y2",r=t.fieldDef(e),i=t.fieldDef(n),s=r?r.title:void 0,o=i?i.title:void 0;if(s&&o)return Wse(s,o);if(s)return s;if(o)return o;if(s!==void 0)return s;if(o!==void 0)return o}function Det(t,e){const n=t.values;if(Ce(n))return Zoe(e,n);if(Ye(n))return n}function Fet(t,e){return t==="rect"&&RN(e)?1:0}class V2 extends Ut{constructor(e,n){super(e),this.transform=n,this._dependentFields=Rae(this.transform.calculate)}clone(){return new V2(null,ot(this.transform))}static parseAllForSortIndex(e,n){return n.forEachFieldDef((r,i)=>{if(Dd(r)&&qoe(r.sort)){const{field:s,timeUnit:o}=r,u=r.sort,a=u.map((l,c)=>`${moe({field:s,timeUnit:o,equal:l})} ? ${c} : `).join("")+u.length;e=new V2(e,{calculate:a,as:Y2(r,i,{forAs:!0})})}}),e}producedFields(){return new Set([this.transform.as])}dependentFields(){return this._dependentFields}assemble(){return{type:"formula",expr:this.transform.calculate,as:this.transform.as}}hash(){return`Calculate ${bt(this.transform)}`}}function Y2(t,e,n){return $e(t,Object.assign({prefix:e,suffix:"sort_index"},n??{}))}function YN(t,e){return Tt(["top","bottom"],e)?"column":Tt(["left","right"],e)||t==="row"?"row":"column"}function K2(t,e,n,r){const i=r==="row"?n.headerRow:r==="column"?n.headerColumn:n.headerFacet;return rr((e||{})[t],i[t],n.header[t])}function KN(t,e,n,r){const i={};for(const s of t){const o=K2(s,e||{},n,r);o!==void 0&&(i[s]=o)}return i}const K8=["row","column"],X8=["header","footer"];function wet(t,e){const n=t.component.layoutHeaders[e].title,r=t.config?t.config:void 0,i=t.component.layoutHeaders[e].facetFieldDef?t.component.layoutHeaders[e].facetFieldDef:void 0,{titleAnchor:s,titleAngle:o,titleOrient:u}=KN(["titleAnchor","titleAngle","titleOrient"],i.header,r,e),a=YN(e,u),l=iN(o);return{name:`${e}-title`,type:"group",role:`${a}-title`,title:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:n},e==="row"?{orient:"left"}:{}),{style:"guide-title"}),kae(l,a)),Bae(a,l,s)),Pae(r,i,e,AJe,Sue))}}function Bae(t,e,n="middle"){switch(n){case"start":return{align:"left"};case"end":return{align:"right"}}const r=Iae(e,t==="row"?"left":"top",t==="row"?"y":"x");return r?{align:r}:{}}function kae(t,e){const n=Lae(t,e==="row"?"left":"top",e==="row"?"y":"x",!0);return n?{baseline:n}:{}}function Let(t,e){const n=t.component.layoutHeaders[e],r=[];for(const i of X8)if(n[i])for(const s of n[i]){const o=$et(t,e,i,n,s);o!=null&&r.push(o)}return r}function Iet(t,e){var n;const{sort:r}=t;return Fa(r)?{field:$e(r,{expr:"datum"}),order:(n=r.order)!==null&&n!==void 0?n:"ascending"}:Ce(r)?{field:Y2(t,e,{expr:"datum"}),order:"ascending"}:{field:$e(t,{expr:"datum"}),order:r??"ascending"}}function J8(t,e,n){const{format:r,formatType:i,labelAngle:s,labelAnchor:o,labelOrient:u,labelExpr:a}=KN(["format","formatType","labelAngle","labelAnchor","labelOrient","labelExpr"],t.header,n,e),l=r8({fieldOrDatumDef:t,format:r,formatType:i,expr:"parent",config:n}).signal,c=YN(e,u);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({text:{signal:a?N2(N2(a,"datum.label",l),"datum.value",$e(t,{expr:"parent"})):l}},e==="row"?{orient:"left"}:{}),{style:"guide-label",frame:"group"}),kae(s,c)),Bae(c,s,o)),Pae(n,t,e,SJe,vue))}function $et(t,e,n,r,i){if(i){let s=null;const{facetFieldDef:o}=r,u=t.config?t.config:void 0;if(o&&i.labels){const{labelOrient:f}=KN(["labelOrient"],o.header,u,e);(e==="row"&&!Tt(["top","bottom"],f)||e==="column"&&!Tt(["left","right"],f))&&(s=J8(o,e,u))}const a=mu(t)&&!v3(t.facet),l=i.axes,c=(l==null?void 0:l.length)>0;if(s||c){const f=e==="row"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName(`${e}_${n}`),type:"group",role:`${e}-${n}`},r.facetFieldDef?{from:{data:t.getName(`${e}_domain`)},sort:Iet(o,e)}:{}),c&&a?{from:{data:t.getName(`facet_domain_${e}`)}}:{}),s?{title:s}:{}),i.sizeSignal?{encode:{update:{[f]:i.sizeSignal}}}:{}),c?{axes:l}:{})}}return null}const Bet={column:{start:0,end:1},row:{start:1,end:0}};function ket(t,e){return Bet[e][t]}function Pet(t,e){const n={};for(const r of bo){const i=t[r];if(i!=null&&i.facetFieldDef){const{titleAnchor:s,titleOrient:o}=KN(["titleAnchor","titleOrient"],i.facetFieldDef.header,e,r),u=YN(r,o),a=ket(s,u);a!==void 0&&(n[u]=a)}}return Wt(n)?void 0:n}function Pae(t,e,n,r,i){const s={};for(const o of r){if(!i[o])continue;const u=K2(o,e==null?void 0:e.header,t,n);u!==void 0&&(s[i[o]]=u)}return s}function Z8(t){return[...XN(t,"width"),...XN(t,"height"),...XN(t,"childWidth"),...XN(t,"childHeight")]}function XN(t,e){const n=e==="width"?"x":"y",r=t.component.layoutSize.get(e);if(!r||r==="merged")return[];const i=t.getSizeSignalRef(e).signal;if(r==="step"){const s=t.getScaleComponent(n);if(s){const o=s.get("type"),u=s.get("range");if(Cr(o)&&Mc(u)){const a=t.scaleName(n);return mu(t.parent)&&t.parent.component.resolve.scale[n]==="independent"?[Mae(a,u)]:[Mae(a,u),{name:i,update:jae(a,s,`domain('${a}').length`)}]}}throw new Error("layout size is step although width/height is not step.")}else if(r=="container"){const s=i.endsWith("width"),o=s?"containerSize()[0]":"containerSize()[1]",u=O8(t.config.view,s?"width":"height"),a=`isFinite(${o}) ? ${o} : ${u}`;return[{name:i,init:a,on:[{update:a,events:"window:resize"}]}]}else return[{name:i,value:r}]}function Mae(t,e){const n=`${t}_step`;return Ye(e.step)?{name:n,update:e.step.signal}:{name:n,value:e.step}}function jae(t,e,n){const r=e.get("type"),i=e.get("padding"),s=rr(e.get("paddingOuter"),i);let o=e.get("paddingInner");return o=r==="band"?o!==void 0?o:i:1,`bandspace(${n}, ${n0(o)}, ${n0(s)}) * ${t}_step`}function Uae(t){return t==="childWidth"?"width":t==="childHeight"?"height":t}function qae(t,e){return be(t).reduce((n,r)=>{const i=t[r];return Object.assign(Object.assign({},n),Q2(e,i,r,s=>on(s.value)))},{})}function Hae(t,e){if(mu(e))return t==="theta"?"independent":"shared";if(Z2(e))return"shared";if(pP(e))return kr(t)||t==="theta"||t==="radius"?"independent":"shared";throw new Error("invalid model type for resolve")}function eP(t,e){const n=t.scale[e],r=kr(e)?"axis":"legend";return n==="independent"?(t[r][e]==="shared"&&Te(SKe(e)),"independent"):t[r][e]||"shared"}const Met=Object.assign(Object.assign({},_Je),{disable:1,labelExpr:1,selections:1,opacity:1,shape:1,stroke:1,fill:1,size:1,strokeWidth:1,strokeDash:1,encode:1}),zae=be(Met);class jet extends s0{}const Qae={symbols:Uet,gradient:qet,labels:Het,entries:zet};function Uet(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i,legendType:s}){var o,u,a,l,c,f,x,h;if(s!=="symbol")return;const{markDef:p,encoding:m,config:g,mark:y}=n,E=p.filled&&y!=="trail";let A=Object.assign(Object.assign({},FYe({},n,_Xe)),aae(n,{filled:E}));const S=(o=i.get("symbolOpacity"))!==null&&o!==void 0?o:g.legend.symbolOpacity,v=(u=i.get("symbolFillColor"))!==null&&u!==void 0?u:g.legend.symbolFillColor,_=(a=i.get("symbolStrokeColor"))!==null&&a!==void 0?a:g.legend.symbolStrokeColor,C=S===void 0?(l=Gae(m.opacity))!==null&&l!==void 0?l:p.opacity:void 0;if(A.fill){if(r==="fill"||E&&r===ds)delete A.fill;else if(A.fill.field)v?delete A.fill:(A.fill=on((c=g.legend.symbolBaseFillColor)!==null&&c!==void 0?c:"black"),A.fillOpacity=on(C??1));else if(Ce(A.fill)){const b=(h=(x=tP((f=m.fill)!==null&&f!==void 0?f:m.color))!==null&&x!==void 0?x:p.fill)!==null&&h!==void 0?h:E&&p.color;b&&(A.fill=on(b))}}if(A.stroke){if(r==="stroke"||!E&&r===ds)delete A.stroke;else if(A.stroke.field||_)delete A.stroke;else if(Ce(A.stroke)){const b=rr(tP(m.stroke||m.color),p.stroke,E?p.color:void 0);b&&(A.stroke={value:b})}}if(r!==Jl){const b=Le(e)&&Vae(n,i,e);b?A.opacity=[Object.assign({test:b},on(C??1)),on(g.legend.unselectedOpacity)]:C&&(A.opacity=on(C))}return A=Object.assign(Object.assign({},A),t),Wt(A)?void 0:A}function qet(t,{model:e,legendType:n,legendCmpt:r}){var i;if(n!=="gradient")return;const{config:s,markDef:o,encoding:u}=e;let a={};const c=((i=r.get("gradientOpacity"))!==null&&i!==void 0?i:s.legend.gradientOpacity)===void 0?Gae(u.opacity)||o.opacity:void 0;return c&&(a.opacity=on(c)),a=Object.assign(Object.assign({},a),t),Wt(a)?void 0:a}function Het(t,{fieldOrDatumDef:e,model:n,channel:r,legendCmpt:i}){const s=n.legend(r)||{},o=n.config,u=Le(e)?Vae(n,i,e):void 0,a=u?[{test:u,value:1},{value:o.legend.unselectedOpacity}]:void 0,{format:l,formatType:c}=s,f=Nd(c)?i8({fieldOrDatumDef:e,field:"datum.value",format:l,formatType:c,config:o}):void 0,x=Object.assign(Object.assign(Object.assign({},a?{opacity:a}:{}),f?{text:f}:{}),t);return Wt(x)?void 0:x}function zet(t,{legendCmpt:e}){const n=e.get("selections");return n!=null&&n.length?Object.assign(Object.assign({},t),{fill:{value:"transparent"}}):t}function Gae(t){return Wae(t,(e,n)=>Math.max(e,n.value))}function tP(t){return Wae(t,(e,n)=>rr(e,n.value))}function Wae(t,e){if(jXe(t))return Pe(t.condition).reduce(e,t.value);if(hu(t))return t.value}function Vae(t,e,n){const r=e.get("selections");if(!(r!=null&&r.length))return;const i=Fe(n.field);return r.map(s=>`(!length(data(${Fe(mn(s)+wd)})) || (${s}[${i}] && indexof(${s}[${i}], datum.value) >= 0))`).join(" || ")}const Yae={direction:({direction:t})=>t,format:({fieldOrDatumDef:t,legend:e,config:n})=>{const{format:r,formatType:i}=e;return $oe(t,t.type,r,i,n,!1)},formatType:({legend:t,fieldOrDatumDef:e,scaleType:n})=>{const{formatType:r}=t;return Boe(r,e,n)},gradientLength:t=>{var e,n;const{legend:r,legendConfig:i}=t;return(n=(e=r.gradientLength)!==null&&e!==void 0?e:i.gradientLength)!==null&&n!==void 0?n:Xet(t)},labelOverlap:({legend:t,legendConfig:e,scaleType:n})=>{var r,i;return(i=(r=t.labelOverlap)!==null&&r!==void 0?r:e.labelOverlap)!==null&&i!==void 0?i:Jet(n)},symbolType:({legend:t,markDef:e,channel:n,encoding:r})=>{var i;return(i=t.symbolType)!==null&&i!==void 0?i:Get(e.type,n,r.shape,e.shape)},title:({fieldOrDatumDef:t,config:e})=>P2(t,e,{allowDisabling:!0}),type:({legendType:t,scaleType:e,channel:n})=>{if(F2(n)&&du(e)){if(t==="gradient")return}else if(t==="symbol")return;return t},values:({fieldOrDatumDef:t,legend:e})=>Qet(e,t)};function Qet(t,e){const n=t.values;if(Ce(n))return Zoe(e,n);if(Ye(n))return n}function Get(t,e,n,r){var i;if(e!=="shape"){const s=(i=tP(n))!==null&&i!==void 0?i:r;if(s)return s}switch(t){case"bar":case"rect":case"image":case"square":return"square";case"line":case"trail":case"rule":return"stroke";case"arc":case"point":case"circle":case"tick":case"geoshape":case"area":case"text":return"circle"}}function Wet(t){const{legend:e}=t;return rr(e.type,Vet(t))}function Vet({channel:t,timeUnit:e,scaleType:n}){if(F2(t)){if(Tt(["quarter","month","day"],e))return"symbol";if(du(n))return"gradient"}return"symbol"}function Yet({legendConfig:t,legendType:e,orient:n,legend:r}){var i,s;return(s=(i=r.direction)!==null&&i!==void 0?i:t[e?"gradientDirection":"symbolDirection"])!==null&&s!==void 0?s:Ket(n,e)}function Ket(t,e){switch(t){case"top":case"bottom":return"horizontal";case"left":case"right":case"none":case void 0:return;default:return e==="gradient"?"horizontal":void 0}}function Xet({legendConfig:t,model:e,direction:n,orient:r,scaleType:i}){const{gradientHorizontalMaxLength:s,gradientHorizontalMinLength:o,gradientVerticalMaxLength:u,gradientVerticalMinLength:a}=t;if(du(i))return n==="horizontal"?r==="top"||r==="bottom"?Kae(e,"width",o,s):o:Kae(e,"height",a,u)}function Kae(t,e,n,r){return{signal:`clamp(${t.getSizeSignalRef(e).signal}, ${n}, ${r})`}}function Jet(t){if(Tt(["quantile","threshold","log","symlog"],t))return"greedy"}function Xae(t){const e=Qn(t)?Zet(t):rtt(t);return t.component.legends=e,e}function Zet(t){const{encoding:e}=t,n={};for(const r of[ds,...Cue]){const i=ir(e[r]);!i||!t.getScaleComponent(r)||r===hs&&Le(i)&&i.type===$2||(n[r]=ntt(t,r))}return n}function ett(t,e){const n=t.scaleName(e);if(t.mark==="trail"){if(e==="color")return{stroke:n};if(e==="size")return{strokeWidth:n}}return e==="color"?t.markDef.filled?{fill:n}:{stroke:n}:{[e]:n}}function ttt(t,e,n,r){switch(e){case"disable":return n!==void 0;case"values":return!!(n!=null&&n.values);case"title":if(e==="title"&&t===(r==null?void 0:r.title))return!0}return t===(n||{})[e]}function ntt(t,e){var n,r,i;let s=t.legend(e);const{markDef:o,encoding:u,config:a}=t,l=a.legend,c=new jet({},ett(t,e));fet(t,e,c);const f=s!==void 0?!s:l.disable;if(c.set("disable",f,s!==void 0),f)return c;s=s||{};const x=t.getScaleComponent(e).get("type"),h=ir(u[e]),p=Le(h)?(n=ji(h.timeUnit))===null||n===void 0?void 0:n.unit:void 0,m=s.orient||a.legend.orient||"right",g=Wet({legend:s,channel:e,timeUnit:p,scaleType:x}),y=Yet({legend:s,legendType:g,orient:m,legendConfig:l}),E={legend:s,channel:e,model:t,markDef:o,encoding:u,fieldOrDatumDef:h,legendConfig:l,config:a,scaleType:x,orient:m,legendType:g,direction:y};for(const C of zae){if(g==="gradient"&&C.startsWith("symbol")||g==="symbol"&&C.startsWith("gradient"))continue;const b=C in Yae?Yae[C](E):s[C];if(b!==void 0){const O=ttt(b,C,s,t.fieldDef(e));(O||a.legend[C]===void 0)&&c.set(C,b,O)}}const A=(r=s==null?void 0:s.encoding)!==null&&r!==void 0?r:{},S=c.get("selections"),v={},_={fieldOrDatumDef:h,model:t,channel:e,legendCmpt:c,legendType:g};for(const C of["labels","legend","title","symbols","gradient","entries"]){const b=qae((i=A[C])!==null&&i!==void 0?i:{},t),O=C in Qae?Qae[C](b,_):b;O!==void 0&&!Wt(O)&&(v[C]=Object.assign(Object.assign(Object.assign({},S!=null&&S.length&&Le(h)?{name:`${mn(h.field)}_legend_${C}`}:{}),S!=null&&S.length?{interactive:!!S}:{}),{update:O}))}return Wt(v)||c.set("encode",v,!!(s!=null&&s.encoding)),c}function rtt(t){const{legends:e,resolve:n}=t.component;for(const r of t.children){Xae(r);for(const i of be(r.component.legends))n.legend[i]=eP(t.component.resolve,i),n.legend[i]==="shared"&&(e[i]=Jae(e[i],r.component.legends[i]),e[i]||(n.legend[i]="independent",delete e[i]))}for(const r of be(e))for(const i of t.children)i.component.legends[r]&&n.legend[r]==="shared"&&delete i.component.legends[r];return e}function Jae(t,e){var n,r,i,s;if(!t)return e.clone();const o=t.getWithExplicit("orient"),u=e.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;let a=!1;for(const l of zae){const c=Hc(t.getWithExplicit(l),e.getWithExplicit(l),l,"legend",(f,x)=>{switch(l){case"symbolType":return itt(f,x);case"title":return Vse(f,x);case"type":return a=!0,zs("symbol")}return UN(f,x,l,"legend")});t.setWithExplicit(l,c)}return a&&(!((r=(n=t.implicit)===null||n===void 0?void 0:n.encode)===null||r===void 0)&&r.gradient&&E7(t.implicit,["encode","gradient"]),!((s=(i=t.explicit)===null||i===void 0?void 0:i.encode)===null||s===void 0)&&s.gradient&&E7(t.explicit,["encode","gradient"])),t}function itt(t,e){return e.value==="circle"?e:t}var stt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function ott(t,e,n,r){var i,s,o,u,a;(i=t.encode)!==null&&i!==void 0||(t.encode={}),(s=(u=t.encode)[e])!==null&&s!==void 0||(u[e]={}),(o=(a=t.encode[e]).update)!==null&&o!==void 0||(a.update={}),t.encode[e].update[n]=r}function Zae(t){const e=t.component.legends,n={};for(const i of be(e)){const s=t.getScaleComponent(i),o=sn(s.get("domains"));if(n[o])for(const u of n[o])Jae(u,e[i])||n[o].push(e[i]);else n[o]=[e[i].clone()]}return Pi(n).flat().map(i=>utt(i,t.config)).filter(i=>i!==void 0)}function utt(t,e){var n,r,i;const s=t.combine(),{disable:o,labelExpr:u,selections:a}=s,l=stt(s,["disable","labelExpr","selections"]);if(!o){if(e.aria===!1&&l.aria==null&&(l.aria=!1),!((n=l.encode)===null||n===void 0)&&n.symbols){const c=l.encode.symbols.update;c.fill&&c.fill.value!=="transparent"&&!c.stroke&&!l.stroke&&(c.stroke={value:"transparent"});for(const f of Cue)l[f]&&delete c[f]}if(l.title||delete l.title,u!==void 0){let c=u;!((i=(r=l.encode)===null||r===void 0?void 0:r.labels)===null||i===void 0)&&i.update&&Ye(l.encode.labels.update.text)&&(c=N2(u,"datum.label",l.encode.labels.update.text.signal)),ott(l,"labels","text",{signal:c})}return l}}function att(t){return Z2(t)||pP(t)?ltt(t):ele(t)}function ltt(t){return t.children.reduce((e,n)=>e.concat(n.assembleProjections()),ele(t))}function ele(t){const e=t.component.projection;if(!e||e.merged)return[];const n=e.combine(),{name:r}=n;if(e.data){const i={signal:`[${e.size.map(o=>o.signal).join(", ")}]`},s=e.data.reduce((o,u)=>{const a=Ye(u)?u.signal:`data('${t.lookupDataSource(u)}')`;return Tt(o,a)||o.push(a),o},[]);if(s.length<=0)throw new Error("Projection's fit didn't find any data sources");return[Object.assign({name:r,size:i,fit:{signal:s.length>1?`[${s.join(", ")}]`:s[0]}},n)]}else return[Object.assign(Object.assign({name:r},{translate:{signal:"[width / 2, height / 2]"}}),n)]}const ctt=["type","clipAngle","clipExtent","center","rotate","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];class tle extends s0{constructor(e,n,r,i){super(Object.assign({},n),{name:e}),this.specifiedProjection=n,this.size=r,this.data=i,this.merged=!1}get isFit(){return!!this.data}}function nle(t){t.component.projection=Qn(t)?ftt(t):htt(t)}function ftt(t){var e;if(t.hasProjection){const n=gs(t.specifiedProjection),r=!(n&&(n.scale!=null||n.translate!=null)),i=r?[t.getSizeSignalRef("width"),t.getSizeSignalRef("height")]:void 0,s=r?xtt(t):void 0,o=new tle(t.projectionName(!0),Object.assign(Object.assign({},(e=gs(t.config.projection))!==null&&e!==void 0?e:{}),n??{}),i,s);return o.get("type")||o.set("type","equalEarth",!1),o}}function xtt(t){const e=[],{encoding:n}=t;for(const r of[[ba,Ca],[Co,xu]])(ir(n[r[0]])||ir(n[r[1]]))&&e.push({signal:t.getName(`geojson_${e.length}`)});return t.channelHasField(hs)&&t.typedFieldDef(hs).type===$2&&e.push({signal:t.getName(`geojson_${e.length}`)}),e.length===0&&e.push(t.requestDataName(Jt.Main)),e}function dtt(t,e){const n=Ese(ctt,i=>!!(!Je(t.explicit,i)&&!Je(e.explicit,i)||Je(t.explicit,i)&&Je(e.explicit,i)&&Ql(t.get(i),e.get(i))));if(Ql(t.size,e.size)){if(n)return t;if(Ql(t.explicit,{}))return e;if(Ql(e.explicit,{}))return t}return null}function htt(t){if(t.children.length===0)return;let e;for(const r of t.children)nle(r);const n=Ese(t.children,r=>{const i=r.component.projection;if(i)if(e){const s=dtt(e,i);return s&&(e=s),!!s}else return e=i,!0;else return!0});if(e&&n){const r=t.projectionName(!0),i=new tle(r,e.specifiedProjection,e.size,ot(e.data));for(const s of t.children){const o=s.component.projection;o&&(o.isFit&&i.data.push(...s.component.projection.data),s.renameProjection(o.get("name"),r),o.merged=!0)}return i}}var ptt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function gtt(t,e,n,r){var i,s;if(C3(e,n)){const o=Qn(t)?(s=(i=t.axis(n))!==null&&i!==void 0?i:t.legend(n))!==null&&s!==void 0?s:{}:{},u=$e(e,{expr:"datum"}),a=$e(e,{expr:"datum",binSuffix:"end"});return{formulaAs:$e(e,{binSuffix:"range",forAs:!0}),formula:vN(u,a,o.format,o.formatType,r)}}return{}}function rle(t,e){return`${kse(t)}_${e}`}function mtt(t,e){return{signal:t.getName(`${e}_bins`),extentSignal:t.getName(`${e}_extent`)}}function nP(t,e,n){var r;const i=(r=DN(n,void 0))!==null&&r!==void 0?r:{},s=rle(i,e);return t.getName(`${s}_bins`)}function ytt(t){return"as"in t}function ile(t,e,n){let r,i;ytt(t)?r=je(t.as)?[t.as,`${t.as}_end`]:[t.as[0],t.as[1]]:r=[$e(t,{forAs:!0}),$e(t,{binSuffix:"end",forAs:!0})];const s=Object.assign({},DN(e,void 0)),o=rle(s,t.field),{signal:u,extentSignal:a}=mtt(n,o);if(xN(s.extent)){const c=s.extent;i=Nae(n,c.param,c),delete s.extent}const l=Object.assign(Object.assign(Object.assign({bin:s,field:t.field,as:[r]},u?{signal:u}:{}),a?{extentSignal:a}:{}),i?{span:i}:{});return{key:o,binComponent:l}}class Pa extends Ut{constructor(e,n){super(e),this.bins=n}clone(){return new Pa(null,ot(this.bins))}static makeFromEncoding(e,n){const r=n.reduceFieldDef((i,s,o)=>{if(To(s)&&Xt(s.bin)){const{key:u,binComponent:a}=ile(s,s.bin,n);i[u]=Object.assign(Object.assign(Object.assign({},a),i[u]),gtt(n,s,o,n.config))}return i},{});return Wt(r)?null:new Pa(e,r)}static makeFromTransform(e,n,r){const{key:i,binComponent:s}=ile(n,n.bin,r);return new Pa(e,{[i]:s})}merge(e,n){for(const r of be(e.bins))r in this.bins?(n(e.bins[r].signal,this.bins[r].signal),this.bins[r].as=Gl([...this.bins[r].as,...e.bins[r].as],bt)):this.bins[r]=e.bins[r];for(const r of e.children)e.removeChild(r),r.parent=this;e.remove()}producedFields(){return new Set(Pi(this.bins).map(e=>e.as).flat(2))}dependentFields(){return new Set(Pi(this.bins).map(e=>e.field))}hash(){return`Bin ${bt(this.bins)}`}assemble(){return Pi(this.bins).flatMap(e=>{const n=[],[r,...i]=e.as,s=e.bin,{extent:o}=s,u=ptt(s,["extent"]),a=Object.assign(Object.assign(Object.assign({type:"bin",field:lu(e.field),as:r,signal:e.signal},xN(o)?{extent:null}:{extent:o}),e.span?{span:{signal:`span(${e.span})`}}:{}),u);!o&&e.extentSignal&&(n.push({type:"extent",field:lu(e.field),signal:e.extentSignal}),a.extent={signal:e.extentSignal}),n.push(a);for(const l of i)for(let c=0;c<2;c++)n.push({type:"formula",expr:$e({field:r[c]},{expr:"datum"}),as:l[c]});return e.formula&&n.push({type:"formula",expr:e.formula,as:e.formulaAs}),n})}}function Ett(t,e,n,r){var i;const s=Qn(r)?r.encoding[Zl(e)]:void 0;if(To(n)&&Qn(r)&&Goe(n,s,r.markDef,r.config))t.add($e(n,{})),t.add($e(n,{suffix:"end"})),n.bin&&C3(n,e)&&t.add($e(n,{binSuffix:"range"}));else if(nYe(e)){const o=tYe(e);t.add(r.getName(o))}else t.add($e(n));return Dd(n)&&xXe((i=n.scale)===null||i===void 0?void 0:i.range)&&t.add(n.scale.range.field),t}function Att(t,e){var n;for(const r of be(e)){const i=e[r];for(const s of be(i))r in t?t[r][s]=new Set([...(n=t[r][s])!==null&&n!==void 0?n:[],...i[s]]):t[r]={[s]:i[s]}}}class pu extends Ut{constructor(e,n,r){super(e),this.dimensions=n,this.measures=r}clone(){return new pu(null,new Set(this.dimensions),ot(this.measures))}get groupBy(){return this.dimensions}static makeFromEncoding(e,n){let r=!1;n.forEachFieldDef(o=>{o.aggregate&&(r=!0)});const i={},s=new Set;return!r||(n.forEachFieldDef((o,u)=>{var a,l,c,f;const{aggregate:x,field:h}=o;if(x)if(x==="count")(a=i["*"])!==null&&a!==void 0||(i["*"]={}),i["*"].count=new Set([$e(o,{forAs:!0})]);else{if(e0(x)||kc(x)){const p=e0(x)?"argmin":"argmax",m=x[p];(l=i[m])!==null&&l!==void 0||(i[m]={}),i[m][p]=new Set([$e({op:p,field:m},{forAs:!0})])}else(c=i[h])!==null&&c!==void 0||(i[h]={}),i[h][x]=new Set([$e(o,{forAs:!0})]);Bc(u)&&n.scaleDomain(u)==="unaggregated"&&((f=i[h])!==null&&f!==void 0||(i[h]={}),i[h].min=new Set([$e({field:h,aggregate:"min"},{forAs:!0})]),i[h].max=new Set([$e({field:h,aggregate:"max"},{forAs:!0})]))}else Ett(s,u,o,n)}),s.size+be(i).length===0)?null:new pu(e,s,i)}static makeFromTransform(e,n){var r,i,s;const o=new Set,u={};for(const a of n.aggregate){const{op:l,field:c,as:f}=a;l&&(l==="count"?((r=u["*"])!==null&&r!==void 0||(u["*"]={}),u["*"].count=new Set([f||$e(a,{forAs:!0})])):((i=u[c])!==null&&i!==void 0||(u[c]={}),u[c][l]=new Set([f||$e(a,{forAs:!0})])))}for(const a of(s=n.groupby)!==null&&s!==void 0?s:[])o.add(a);return o.size+be(u).length===0?null:new pu(e,o,u)}merge(e){return WVe(this.dimensions,e.dimensions)?(Att(this.measures,e.measures),!0):(kKe("different dimensions, cannot merge"),!1)}addDimensions(e){e.forEach(this.dimensions.add,this.dimensions)}dependentFields(){return new Set([...this.dimensions,...be(this.measures)])}producedFields(){const e=new Set;for(const n of be(this.measures))for(const r of be(this.measures[n])){const i=this.measures[n][r];i.size===0?e.add(`${r}_${n}`):i.forEach(e.add,e)}return e}hash(){return`Aggregate ${bt({dimensions:this.dimensions,measures:this.measures})}`}assemble(){const e=[],n=[],r=[];for(const s of be(this.measures))for(const o of be(this.measures[s]))for(const u of this.measures[s][o])r.push(u),e.push(o),n.push(s==="*"?null:lu(s));return{type:"aggregate",groupby:[...this.dimensions].map(lu),ops:e,fields:n,as:r}}}class X2 extends Ut{constructor(e,n,r,i){super(e),this.model=n,this.name=r,this.data=i;for(const s of bo){const o=n.facet[s];if(o){const{bin:u,sort:a}=o;this[s]=Object.assign({name:n.getName(`${s}_domain`),fields:[$e(o),...Xt(u)?[$e(o,{binSuffix:"end"})]:[]]},Fa(a)?{sortField:a}:Ce(a)?{sortIndexField:Y2(o,s)}:{})}}this.childModel=n.child}hash(){let e="Facet";for(const n of bo)this[n]&&(e+=` ${n.charAt(0)}:${bt(this[n])}`);return e}get fields(){var e;const n=[];for(const r of bo)!((e=this[r])===null||e===void 0)&&e.fields&&n.push(...this[r].fields);return n}dependentFields(){const e=new Set(this.fields);for(const n of bo)this[n]&&(this[n].sortField&&e.add(this[n].sortField.field),this[n].sortIndexField&&e.add(this[n].sortIndexField));return e}producedFields(){return new Set}getSource(){return this.name}getChildIndependentFieldsWithStep(){const e={};for(const n of Oa){const r=this.childModel.component.scales[n];if(r&&!r.merged){const i=r.get("type"),s=r.get("range");if(Cr(i)&&Mc(s)){const o=ZN(this.childModel,n),u=xP(o);u?e[n]=u:Te(w7(n))}}}return e}assembleRowColumnHeaderData(e,n,r){const i={row:"y",column:"x",facet:void 0}[e],s=[],o=[],u=[];i&&r&&r[i]&&(n?(s.push(`distinct_${r[i]}`),o.push("max")):(s.push(r[i]),o.push("distinct")),u.push(`distinct_${r[i]}`));const{sortField:a,sortIndexField:l}=this[e];if(a){const{op:c=_N,field:f}=a;s.push(f),o.push(c),u.push($e(a,{forAs:!0}))}else l&&(s.push(l),o.push("max"),u.push(l));return{name:this[e].name,source:n??this.data,transform:[Object.assign({type:"aggregate",groupby:this[e].fields},s.length?{fields:s,ops:o,as:u}:{})]}}assembleFacetHeaderData(e){var n,r;const{columns:i}=this.model.layout,{layoutHeaders:s}=this.model.component,o=[],u={};for(const c of K8){for(const f of X8){const x=(n=s[c]&&s[c][f])!==null&&n!==void 0?n:[];for(const h of x)if(((r=h.axes)===null||r===void 0?void 0:r.length)>0){u[c]=!0;break}}if(u[c]){const f=`length(data("${this.facet.name}"))`,x=c==="row"?i?{signal:`ceil(${f} / ${i})`}:1:i?{signal:`min(${f}, ${i})`}:{signal:f};o.push({name:`${this.facet.name}_${c}`,transform:[{type:"sequence",start:0,stop:x}]})}}const{row:a,column:l}=u;return(a||l)&&o.unshift(this.assembleRowColumnHeaderData("facet",null,e)),o}assemble(){var e,n;const r=[];let i=null;const s=this.getChildIndependentFieldsWithStep(),{column:o,row:u,facet:a}=this;if(o&&u&&(s.x||s.y)){i=`cross_${this.column.name}_${this.row.name}`;const l=[].concat((e=s.x)!==null&&e!==void 0?e:[],(n=s.y)!==null&&n!==void 0?n:[]),c=l.map(()=>"distinct");r.push({name:i,source:this.data,transform:[{type:"aggregate",groupby:this.fields,fields:l,ops:c}]})}for(const l of[Vl,Wl])this[l]&&r.push(this.assembleRowColumnHeaderData(l,i,s));if(a){const l=this.assembleFacetHeaderData(s);l&&r.push(...l)}return r}}function sle(t){return t.startsWith("'")&&t.endsWith("'")||t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function Stt(t,e){const n=_se(t);if(e==="number")return`toNumber(${n})`;if(e==="boolean")return`toBoolean(${n})`;if(e==="string")return`toString(${n})`;if(e==="date")return`toDate(${n})`;if(e==="flatten")return n;if(e.startsWith("date:")){const r=sle(e.slice(5,e.length));return`timeParse(${n},'${r}')`}else if(e.startsWith("utc:")){const r=sle(e.slice(4,e.length));return`utcParse(${n},'${r}')`}else return Te(zYe(e)),null}function vtt(t){const e={};return eN(t.filter,n=>{var r;if(goe(n)){let i=null;M7(n)?i=qs(n.equal):U7(n)?i=qs(n.lte):j7(n)?i=qs(n.lt):q7(n)?i=qs(n.gt):H7(n)?i=qs(n.gte):z7(n)?i=n.range[0]:Q7(n)&&(i=((r=n.oneOf)!==null&&r!==void 0?r:n.in)[0]),i&&(Td(i)?e[n.field]="date":nn(i)?e[n.field]="number":je(i)&&(e[n.field]="string")),n.timeUnit&&(e[n.field]="date")}}),e}function _tt(t){const e={};function n(r){j2(r)?e[r.field]="date":r.type==="quantitative"&&vYe(r.aggregate)?e[r.field]="number":d3(r.field)>1?r.field in e||(e[r.field]="flatten"):Dd(r)&&Fa(r.sort)&&d3(r.sort.field)>1&&(r.sort.field in e||(e[r.sort.field]="flatten"))}if((Qn(t)||mu(t))&&t.forEachFieldDef((r,i)=>{if(To(r))n(r);else{const s=_d(i),o=t.fieldDef(s);n(Object.assign(Object.assign({},r),{type:o.type}))}}),Qn(t)){const{mark:r,markDef:i,encoding:s}=t;if(jc(r)&&!t.encoding.order){const o=i.orient==="horizontal"?"y":"x",u=s[o];Le(u)&&u.type==="quantitative"&&!(u.field in e)&&(e[u.field]="number")}}return e}function Ctt(t){const e={};if(Qn(t)&&t.component.selection)for(const n of be(t.component.selection)){const r=t.component.selection[n];for(const i of r.project.items)!i.channel&&d3(i.field)>1&&(e[i.field]="flatten")}return e}class li extends Ut{constructor(e,n){super(e),this._parse=n}clone(){return new li(null,ot(this._parse))}hash(){return`Parse ${bt(this._parse)}`}static makeExplicit(e,n,r){var i;let s={};const o=n.data;return!zc(o)&&(!((i=o==null?void 0:o.format)===null||i===void 0)&&i.parse)&&(s=o.format.parse),this.makeWithAncestors(e,s,{},r)}static makeWithAncestors(e,n,r,i){for(const u of be(r)){const a=i.getWithExplicit(u);a.value!==void 0&&(a.explicit||a.value===r[u]||a.value==="derived"||r[u]==="flatten"?delete r[u]:Te(toe(u,r[u],a.value)))}for(const u of be(n)){const a=i.get(u);a!==void 0&&(a===n[u]?delete n[u]:Te(toe(u,n[u],a)))}const s=new s0(n,r);i.copyAll(s);const o={};for(const u of be(s.combine())){const a=s.get(u);a!==null&&(o[u]=a)}return be(o).length===0||i.parseNothing?null:new li(e,o)}get parse(){return this._parse}merge(e){this._parse=Object.assign(Object.assign({},this._parse),e.parse),e.remove()}assembleFormatParse(){const e={};for(const n of be(this._parse)){const r=this._parse[n];d3(n)===1&&(e[n]=r)}return e}producedFields(){return new Set(be(this._parse))}dependentFields(){return new Set(be(this._parse))}assembleTransforms(e=!1){return be(this._parse).filter(n=>e?d3(n)>1:!0).map(n=>{const r=Stt(n,this._parse[n]);return r?{type:"formula",expr:r,as:Cse(n)}:null}).filter(n=>n!==null)}}class Vc extends Ut{clone(){return new Vc(null)}constructor(e){super(e)}dependentFields(){return new Set}producedFields(){return new Set([T3])}hash(){return"Identifier"}assemble(){return{type:"identifier",as:T3}}}class w3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new w3(null,this.params)}dependentFields(){return new Set}producedFields(){}hash(){return`Graticule ${bt(this.params)}`}assemble(){return Object.assign({type:"graticule"},this.params===!0?{}:this.params)}}class L3 extends Ut{constructor(e,n){super(e),this.params=n}clone(){return new L3(null,this.params)}dependentFields(){return new Set}producedFields(){var e;return new Set([(e=this.params.as)!==null&&e!==void 0?e:"data"])}hash(){return`Hash ${bt(this.params)}`}assemble(){return Object.assign({type:"sequence"},this.params)}}class Ld extends Ut{constructor(e){super(null),e??(e={name:"source"});let n;if(zc(e)||(n=e.format?Object.assign({},_o(e.format,["parse"])):{}),R3(e))this._data={values:e.values};else if(q2(e)){if(this._data={url:e.url},!n.type){let r=/(?:\.([^.]+))?$/.exec(e.url)[1];Tt(["json","csv","tsv","dsv","topojson"],r)||(r="json"),n.type=r}}else tae(e)?this._data={values:[{type:"Sphere"}]}:(Zue(e)||zc(e))&&(this._data={});this._generator=zc(e),e.name&&(this._name=e.name),n&&!Wt(n)&&(this._data.format=n)}dependentFields(){return new Set}producedFields(){}get data(){return this._data}hasName(){return!!this._name}get isGenerator(){return this._generator}get dataName(){return this._name}set dataName(e){this._name=e}set parent(e){throw new Error("Source nodes have to be roots.")}remove(){throw new Error("Source nodes are roots and cannot be removed.")}hash(){throw new Error("Cannot hash sources")}assemble(){return Object.assign(Object.assign({name:this._name},this._data),{transform:[]})}}var ole=function(t,e,n,r,i){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?i.call(t,n):i?i.value=n:e.set(t,n),n},btt=function(t,e,n,r){if(n==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?r:n==="a"?r.call(t):r?r.value:e.get(t)},I3;function rP(t){return t instanceof Ld||t instanceof w3||t instanceof L3}class iP{constructor(){I3.set(this,void 0),ole(this,I3,!1,"f")}setModified(){ole(this,I3,!0,"f")}get modifiedFlag(){return btt(this,I3,"f")}}I3=new WeakMap;class Id extends iP{getNodeDepths(e,n,r){r.set(e,n);for(const i of e.children)this.getNodeDepths(i,n+1,r);return r}optimize(e){const r=[...this.getNodeDepths(e,0,new Map).entries()].sort((i,s)=>s[1]-i[1]);for(const i of r)this.run(i[0]);return this.modifiedFlag}}class sP extends iP{optimize(e){this.run(e);for(const n of e.children)this.optimize(n);return this.modifiedFlag}}class Ttt extends sP{mergeNodes(e,n){const r=n.shift();for(const i of n)e.removeChild(i),i.parent=r,i.remove()}run(e){const n=e.children.map(i=>i.hash()),r={};for(let i=0;i<n.length;i++)r[n[i]]===void 0?r[n[i]]=[e.children[i]]:r[n[i]].push(e.children[i]);for(const i of be(r))r[i].length>1&&(this.setModified(),this.mergeNodes(e,r[i]))}}class Rtt extends sP{constructor(e){super(),this.requiresSelectionId=e&&Q8(e)}run(e){e instanceof Vc&&(this.requiresSelectionId&&(rP(e.parent)||e.parent instanceof pu||e.parent instanceof li)||(this.setModified(),e.remove()))}}class Ott extends iP{optimize(e){return this.run(e,new Set),this.modifiedFlag}run(e,n){let r=new Set;e instanceof ka&&(r=e.producedFields(),Ase(r,n)&&(this.setModified(),e.removeFormulas(n),e.producedFields.length===0&&e.remove()));for(const i of e.children)this.run(i,new Set([...n,...r]))}}class Ntt extends sP{constructor(){super()}run(e){e instanceof qi&&!e.isRequired()&&(this.setModified(),e.remove())}}class Dtt extends Id{run(e){if(!rP(e)&&!(e.numChildren()>1)){for(const n of e.children)if(n instanceof li)if(e instanceof li)this.setModified(),e.merge(n);else{if(vse(e.producedFields(),n.dependentFields()))continue;this.setModified(),n.swapWithParent()}}}}class Ftt extends Id{run(e){const n=[...e.children],r=e.children.filter(i=>i instanceof li);if(e.numChildren()>1&&r.length>=1){const i={},s=new Set;for(const o of r){const u=o.parse;for(const a of be(u))a in i?i[a]!==u[a]&&s.add(a):i[a]=u[a]}for(const o of s)delete i[o];if(!Wt(i)){this.setModified();const o=new li(e,i);for(const u of n){if(u instanceof li)for(const a of be(i))delete u.parse[a];e.removeChild(u),u.parent=o,u instanceof li&&be(u.parse).length===0&&u.remove()}}}}}class wtt extends Id{run(e){e instanceof qi||e.numChildren()>0||e instanceof X2||e instanceof Ld||(this.setModified(),e.remove())}}class Ltt extends Id{run(e){const n=e.children.filter(i=>i instanceof ka),r=n.pop();for(const i of n)this.setModified(),r.merge(i)}}class Itt extends Id{run(e){const n=e.children.filter(i=>i instanceof pu),r={};for(const i of n){const s=bt(i.groupBy);s in r||(r[s]=[]),r[s].push(i)}for(const i of be(r)){const s=r[i];if(s.length>1){const o=s.pop();for(const u of s)o.merge(u)&&(e.removeChild(u),u.parent=o,u.remove(),this.setModified())}}}}class $tt extends Id{constructor(e){super(),this.model=e}run(e){const n=!(rP(e)||e instanceof W2||e instanceof li||e instanceof Vc),r=[],i=[];for(const s of e.children)s instanceof Pa&&(n&&!vse(e.producedFields(),s.dependentFields())?r.push(s):i.push(s));if(r.length>0){const s=r.pop();for(const o of r)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified(),e instanceof Pa?e.merge(s,this.model.renameSignal.bind(this.model)):s.swapWithParent()}if(i.length>1){const s=i.pop();for(const o of i)s.merge(o,this.model.renameSignal.bind(this.model));this.setModified()}}}class Btt extends Id{run(e){const n=[...e.children];if(!O2(n,o=>o instanceof qi)||e.numChildren()<=1)return;const i=[];let s;for(const o of n)if(o instanceof qi){let u=o;for(;u.numChildren()===1;){const[a]=u.children;if(a instanceof qi)u=a;else break}i.push(...u.children),s?(e.removeChild(o),o.parent=s.parent,s.parent.removeChild(s),s.parent=u,this.setModified()):s=u}else i.push(o);if(i.length){this.setModified();for(const o of i)o.parent.removeChild(o),o.parent=s}}}class $d extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new $d(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Gl(this.transform.groupby.concat(e),n=>n)}dependentFields(){const e=new Set;return this.transform.groupby&&this.transform.groupby.forEach(e.add,e),this.transform.joinaggregate.map(n=>n.field).filter(n=>n!==void 0).forEach(e.add,e),e}producedFields(){return new Set(this.transform.joinaggregate.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`JoinAggregateTransform ${bt(this.transform)}`}assemble(){const e=[],n=[],r=[];for(const s of this.transform.joinaggregate)n.push(s.op),r.push(this.getDefaultName(s)),e.push(s.field===void 0?null:s.field);const i=this.transform.groupby;return Object.assign({type:"joinaggregate",as:r,ops:n,fields:e},i!==void 0?{groupby:i}:{})}}function ktt(t){return t.stack.stackBy.reduce((e,n)=>{const r=n.fieldDef,i=$e(r);return i&&e.push(i),e},[])}function Ptt(t){return Ce(t)&&t.every(e=>je(e))&&t.length>1}class o0 extends Ut{constructor(e,n){super(e),this._stack=n}clone(){return new o0(null,ot(this._stack))}static makeFromTransform(e,n){const{stack:r,groupby:i,as:s,offset:o="zero"}=n,u=[],a=[];if(n.sort!==void 0)for(const f of n.sort)u.push(f.field),a.push(rr(f.order,"ascending"));const l={field:u,order:a};let c;return Ptt(s)?c=s:je(s)?c=[s,`${s}_end`]:c=[`${n.stack}_start`,`${n.stack}_end`],new o0(e,{dimensionFieldDefs:[],stackField:r,groupby:i,offset:o,sort:l,facetby:[],as:c})}static makeFromEncoding(e,n){const r=n.stack,{encoding:i}=n;if(!r)return null;const{groupbyChannels:s,fieldChannel:o,offset:u,impute:a}=r,l=s.map(h=>{const p=i[h];return Ia(p)}).filter(h=>!!h),c=ktt(n),f=n.encoding.order;let x;return Ce(f)||Le(f)?x=Qse(f):x=c.reduce((h,p)=>(h.field.push(p),h.order.push(o==="y"?"descending":"ascending"),h),{field:[],order:[]}),new o0(e,{dimensionFieldDefs:l,stackField:n.vgField(o),facetby:[],stackby:c,sort:x,offset:u,impute:a,as:[n.vgField(o,{suffix:"start",forAs:!0}),n.vgField(o,{suffix:"end",forAs:!0})]})}get stack(){return this._stack}addDimensions(e){this._stack.facetby.push(...e)}dependentFields(){const e=new Set;return e.add(this._stack.stackField),this.getGroupbyFields().forEach(e.add,e),this._stack.facetby.forEach(e.add,e),this._stack.sort.field.forEach(e.add,e),e}producedFields(){return new Set(this._stack.as)}hash(){return`Stack ${bt(this._stack)}`}getGroupbyFields(){const{dimensionFieldDefs:e,impute:n,groupby:r}=this._stack;return e.length>0?e.map(i=>i.bin?n?[$e(i,{binSuffix:"mid"})]:[$e(i,{}),$e(i,{binSuffix:"end"})]:[$e(i)]).flat():r??[]}assemble(){const e=[],{facetby:n,dimensionFieldDefs:r,stackField:i,stackby:s,sort:o,offset:u,impute:a,as:l}=this._stack;if(a)for(const c of r){const{bandPosition:f=.5,bin:x}=c;if(x){const h=$e(c,{expr:"datum"}),p=$e(c,{expr:"datum",binSuffix:"end"});e.push({type:"formula",expr:`${f}*${h}+${1-f}*${p}`,as:$e(c,{binSuffix:"mid",forAs:!0})})}e.push({type:"impute",field:i,groupby:[...s,...n],key:$e(c,{binSuffix:"mid"}),method:"value",value:0})}return e.push({type:"stack",groupby:[...this.getGroupbyFields(),...n],field:i,sort:o,as:l,offset:u}),e}}class J2 extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new J2(null,ot(this.transform))}addDimensions(e){this.transform.groupby=Gl(this.transform.groupby.concat(e),n=>n)}dependentFields(){var e,n;const r=new Set;return((e=this.transform.groupby)!==null&&e!==void 0?e:[]).forEach(r.add,r),((n=this.transform.sort)!==null&&n!==void 0?n:[]).forEach(i=>r.add(i.field)),this.transform.window.map(i=>i.field).filter(i=>i!==void 0).forEach(r.add,r),r}producedFields(){return new Set(this.transform.window.map(this.getDefaultName))}getDefaultName(e){var n;return(n=e.as)!==null&&n!==void 0?n:$e(e)}hash(){return`WindowTransform ${bt(this.transform)}`}assemble(){var e;const n=[],r=[],i=[],s=[];for(const x of this.transform.window)r.push(x.op),i.push(this.getDefaultName(x)),s.push(x.param===void 0?null:x.param),n.push(x.field===void 0?null:x.field);const o=this.transform.frame,u=this.transform.groupby;if(o&&o[0]===null&&o[1]===null&&r.every(x=>O7(x)))return Object.assign({type:"joinaggregate",as:i,ops:r,fields:n},u!==void 0?{groupby:u}:{});const a=[],l=[];if(this.transform.sort!==void 0)for(const x of this.transform.sort)a.push(x.field),l.push((e=x.order)!==null&&e!==void 0?e:"ascending");const c={field:a,order:l},f=this.transform.ignorePeers;return Object.assign(Object.assign(Object.assign({type:"window",params:s,as:i,ops:r,fields:n,sort:c},f!==void 0?{ignorePeers:f}:{}),u!==void 0?{groupby:u}:{}),o!==void 0?{frame:o}:{})}}function Mtt(t){function e(n){if(!(n instanceof X2)){const r=n.clone();if(r instanceof qi){const i=uP+r.getSource();r.setSource(i),t.model.component.data.outputNodes[i]=r}else(r instanceof pu||r instanceof o0||r instanceof J2||r instanceof $d)&&r.addDimensions(t.fields);for(const i of n.children.flatMap(e))i.parent=r;return[r]}return n.children.flatMap(e)}return e}function oP(t){if(t instanceof X2)if(t.numChildren()===1&&!(t.children[0]instanceof qi)){const e=t.children[0];(e instanceof pu||e instanceof o0||e instanceof J2||e instanceof $d)&&e.addDimensions(t.fields),e.swapWithParent(),oP(t)}else{const e=t.model.component.data.main;ule(e);const n=Mtt(t),r=t.children.map(n).flat();for(const i of r)i.parent=e}else t.children.map(oP)}function ule(t){if(t instanceof qi&&t.type===Jt.Main&&t.numChildren()===1){const e=t.children[0];e instanceof X2||(e.swapWithParent(),ule(t))}}const uP="scale_",JN=5;function aP(t){for(const e of t){for(const n of e.children)if(n.parent!==e)return!1;if(!aP(e.children))return!1}return!0}function gu(t,e){let n=!1;for(const r of e)n=t.optimize(r)||n;return n}function ale(t,e,n){let r=t.sources,i=!1;return i=gu(new Ntt,r)||i,i=gu(new Rtt(e),r)||i,r=r.filter(s=>s.numChildren()>0),i=gu(new wtt,r)||i,r=r.filter(s=>s.numChildren()>0),n||(i=gu(new Dtt,r)||i,i=gu(new $tt(e),r)||i,i=gu(new Ott,r)||i,i=gu(new Ftt,r)||i,i=gu(new Itt,r)||i,i=gu(new Ltt,r)||i,i=gu(new Ttt,r)||i,i=gu(new Btt,r)||i),t.sources=r,i}function jtt(t,e){aP(t.sources);let n=0,r=0;for(let i=0;i<JN&&ale(t,e,!0);i++)n++;t.sources.map(oP);for(let i=0;i<JN&&ale(t,e,!1);i++)r++;aP(t.sources),Math.max(n,r)===JN&&Te(`Maximum optimization runs(${JN}) reached.`)}class ys{constructor(e){Object.defineProperty(this,"signal",{enumerable:!0,get:e})}static fromName(e,n){return new ys(()=>e(n))}}var Utt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function lle(t){Qn(t)?qtt(t):Htt(t)}function qtt(t){const e=t.component.scales;for(const n of be(e)){const r=Qtt(t,n);if(e[n].setWithExplicit("domains",r),Wtt(t,n),t.component.data.isFaceted){let s=t;for(;!mu(s)&&s.parent;)s=s.parent;if(s.component.resolve.scale[n]==="shared")for(const u of r.value)t0(u)&&(u.data=uP+u.data.replace(uP,""))}}}function Htt(t){for(const n of t.children)lle(n);const e=t.component.scales;for(const n of be(e)){let r,i=null;for(const s of t.children){const o=s.component.scales[n];if(o){r===void 0?r=o.getWithExplicit("domains"):r=Hc(r,o.getWithExplicit("domains"),"domains","scale",fP);const u=o.get("selectionExtent");i&&u&&i.param!==u.param&&Te(jYe),i=u}}e[n].setWithExplicit("domains",r),i&&e[n].set("selectionExtent",i,!0)}}function ztt(t,e,n,r){if(t==="unaggregated"){const{valid:i,reason:s}=cle(e,n);if(!i){Te(s);return}}else if(t===void 0&&r.useUnaggregatedDomain){const{valid:i}=cle(e,n);if(i)return"unaggregated"}return t}function Qtt(t,e){const n=t.getScaleComponent(e).get("type"),{encoding:r}=t,i=ztt(t.scaleDomain(e),t.typedFieldDef(e),n,t.config.scale);return i!==t.scaleDomain(e)&&(t.specifiedScales[e]=Object.assign(Object.assign({},t.specifiedScales[e]),{domain:i})),e==="x"&&ir(r.x2)?ir(r.x)?Hc(Yc(n,i,t,"x"),Yc(n,i,t,"x2"),"domain","scale",fP):Yc(n,i,t,"x2"):e==="y"&&ir(r.y2)?ir(r.y)?Hc(Yc(n,i,t,"y"),Yc(n,i,t,"y2"),"domain","scale",fP):Yc(n,i,t,"y2"):Yc(n,i,t,e)}function Gtt(t,e,n){return t.map(r=>({signal:`{data: ${FN(r,{timeUnit:n,type:e})}}`}))}function lP(t,e,n){var r;const i=(r=ji(n))===null||r===void 0?void 0:r.unit;return e==="temporal"||i?Gtt(t,e,i):[t]}function Yc(t,e,n,r){const{encoding:i}=n,s=ir(i[r]),{type:o}=s,u=s.timeUnit;if(fXe(e)){const f=Yc(t,void 0,n,r),x=lP(e.unionWith,o,u);return Ba([...f.value,...x])}else{if(Ye(e))return Ba([e]);if(e&&e!=="unaggregated"&&!Coe(e))return Ba(lP(e,o,u))}const a=n.stack;if(a&&r===a.fieldChannel){if(a.offset==="normalize")return zs([[0,1]]);const f=n.requestDataName(Jt.Main);return zs([{data:f,field:n.vgField(r,{suffix:"start"})},{data:f,field:n.vgField(r,{suffix:"end"})}])}const l=Bc(r)&&Le(s)?Vtt(n,r,t):void 0;if(wa(s)){const f=lP([s.datum],o,u);return zs(f)}const c=s;if(e==="unaggregated"){const f=n.requestDataName(Jt.Main),{field:x}=s;return zs([{data:f,field:$e({field:x,aggregate:"min"})},{data:f,field:$e({field:x,aggregate:"max"})}])}else if(Xt(c.bin)){if(Cr(t))return zs(t==="bin-ordinal"?[]:[{data:tN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r,C3(c,r)?{binSuffix:"range"}:{}),sort:l===!0||!Qe(l)?{field:n.vgField(r,{}),op:"min"}:l}]);{const{bin:f}=c;if(Xt(f)){const x=nP(n,c.field,f);return zs([new ys(()=>{const h=n.getSignalName(x);return`[${h}.start, ${h}.stop]`})])}else return zs([{data:n.requestDataName(Jt.Main),field:n.vgField(r,{})}])}}else if(c.timeUnit&&Tt(["time","utc"],t)&&Goe(c,Qn(n)?n.encoding[Zl(r)]:void 0,n.markDef,n.config)){const f=n.requestDataName(Jt.Main);return zs([{data:f,field:n.vgField(r)},{data:f,field:n.vgField(r,{suffix:"end"})}])}else return zs(l?[{data:tN(l)?n.requestDataName(Jt.Main):n.requestDataName(Jt.Raw),field:n.vgField(r),sort:l}]:[{data:n.requestDataName(Jt.Main),field:n.vgField(r)}])}function cP(t,e){const{op:n,field:r,order:i}=t;return Object.assign(Object.assign({op:n??(e?"sum":_N)},r?{field:lu(r)}:{}),i?{order:i}:{})}function Wtt(t,e){var n;const r=t.component.scales[e],i=t.specifiedScales[e].domain,s=(n=t.fieldDef(e))===null||n===void 0?void 0:n.bin,o=Coe(i)&&i,u=Cd(s)&&xN(s.extent)&&s.extent;(o||u)&&r.set("selectionExtent",o??u,!0)}function Vtt(t,e,n){if(!Cr(n))return;const r=t.fieldDef(e),i=r.sort;if(qoe(i))return{op:"min",field:Y2(r,e),order:"ascending"};const{stack:s}=t,o=s?new Set([...s.groupbyFields,...s.stackBy.map(u=>u.fieldDef.field)]):void 0;if(Fa(i)){const u=s&&!o.has(i.field);return cP(i,u)}else if(Uoe(i)){const{encoding:u,order:a}=i,l=t.fieldDef(u),{aggregate:c,field:f}=l,x=s&&!o.has(f);if(e0(c)||kc(c))return cP({field:$e(l),order:a},x);if(O7(c)||!c)return cP({op:c,field:f,order:a},x)}else{if(i==="descending")return{op:"min",field:t.vgField(e),order:"descending"};if(Tt(["ascending",void 0],i))return!0}}function cle(t,e){const{aggregate:n,type:r}=t;return n?je(n)&&!CYe.has(n)?{valid:!1,reason:hKe(n)}:r==="quantitative"&&e==="log"?{valid:!1,reason:pKe(t)}:{valid:!0}:{valid:!1,reason:dKe(t)}}function fP(t,e,n,r){return t.explicit&&e.explicit&&Te(AKe(n,r,t.value,e.value)),{explicit:t.explicit,value:[...t.value,...e.value]}}function Ytt(t){const e=Gl(t.map(o=>t0(o)?Utt(o,["sort"]):o),bt),n=Gl(t.map(o=>{if(t0(o)){const u=o.sort;return u!==void 0&&!tN(u)&&("op"in u&&u.op==="count"&&delete u.field,u.order==="ascending"&&delete u.order),u}}).filter(o=>o!==void 0),bt);if(e.length===0)return;if(e.length===1){const o=t[0];if(t0(o)&&n.length>0){let u=n[0];if(n.length>1)Te(uoe),u=!0;else if(Qe(u)&&"field"in u){const a=u.field;o.field===a&&(u=u.order?{order:u.order}:!0)}return Object.assign(Object.assign({},o),{sort:u})}return o}const r=Gl(n.map(o=>tN(o)||!("op"in o)||je(o.op)&&o.op in AYe?o:(Te(vKe(o)),!0)),bt);let i;r.length===1?i=r[0]:r.length>1&&(Te(uoe),i=!0);const s=Gl(t.map(o=>t0(o)?o.data:null),o=>o);return s.length===1&&s[0]!==null?Object.assign({data:s[0],fields:e.map(u=>u.field)},i?{sort:i}:{}):Object.assign({fields:e},i?{sort:i}:{})}function xP(t){if(t0(t)&&je(t.field))return t.field;if(TYe(t)){let e;for(const n of t.fields)if(t0(n)&&je(n.field)){if(!e)e=n.field;else if(e!==n.field)return Te(_Ke),e}return Te(CKe),e}else if(RYe(t)){Te(bKe);const e=t.fields[0];return je(e)?e:void 0}}function ZN(t,e){const r=t.component.scales[e].get("domains").map(i=>(t0(i)&&(i.data=t.lookupDataSource(i.data)),i));return Ytt(r)}var Ktt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function fle(t){return Z2(t)||pP(t)?t.children.reduce((e,n)=>e.concat(fle(n)),xle(t)):xle(t)}function xle(t){return be(t.component.scales).reduce((e,n)=>{const r=t.component.scales[n];if(r.merged)return e;const i=r.combine(),{name:s,type:o,selectionExtent:u,domains:a,range:l,reverse:c}=i,f=Ktt(i,["name","type","selectionExtent","domains","range","reverse"]),x=Xtt(i.range,s,n,t),h=ZN(t,n),p=u?MZe(t,u,r,h):null;return e.push(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:s,type:o},h?{domain:h}:{}),p?{domainRaw:p}:{}),{range:x}),c!==void 0?{reverse:c}:{}),f)),e},[])}function Xtt(t,e,n,r){if(kr(n)){if(Mc(t))return{step:{signal:`${e}_step`}}}else if(Qe(t)&&t0(t))return Object.assign(Object.assign({},t),{data:r.lookupDataSource(t.data)});return t}class dle extends s0{constructor(e,n){super({},{name:e}),this.merged=!1,this.setWithExplicit("type",n)}domainDefinitelyIncludesZero(){return this.get("zero")!==!1?!0:O2(this.get("domains"),e=>Ce(e)&&e.length===2&&e[0]<=0&&e[1]>=0)}}const Jtt=["range","scheme"];function Ztt(t){const e=t.component.scales;for(const n of fN){const r=e[n];if(!r)continue;const i=ent(n,t);r.setWithExplicit("range",i)}}function hle(t,e){const n=t.fieldDef(e);if(n!=null&&n.bin){const{bin:r,field:i}=n,s=ps(e),o=t.getName(s);if(Qe(r)&&r.binned&&r.step!==void 0)return new ys(()=>{const u=t.scaleName(e),a=`(domain("${u}")[1] - domain("${u}")[0]) / ${r.step}`;return`${t.getSignalName(o)} / (${a})`});if(Xt(r)){const u=nP(t,i,r);return new ys(()=>{const a=t.getSignalName(u),l=`(${a}.stop - ${a}.start) / ${a}.step`;return`${t.getSignalName(o)} / (${l})`})}}}function ent(t,e){const n=e.specifiedScales[t],{size:r}=e,s=e.getScaleComponent(t).get("type");for(const f of Jtt)if(n[f]!==void 0){const x=K7(s,f),h=boe(t,f);if(!x)Te(soe(s,f,t));else if(h)Te(h);else switch(f){case"range":{const p=n.range;if(Ce(p)){if(kr(t))return Ba(p.map(m=>{if(m==="width"||m==="height"){const g=e.getName(m),y=e.getSignalName.bind(e);return ys.fromName(y,g)}return m}))}else if(Qe(p))return Ba({data:e.requestDataName(Jt.Main),field:p.field,sort:{op:"min",field:e.vgField(t)}});return Ba(p)}case"scheme":return Ba(tnt(n[f]))}}const o=t===yn||t==="xOffset"?"width":"height",u=r[o];if($a(u)){if(kr(t))if(Cr(s)){const f=ple(u,e,t);if(f)return Ba({step:f})}else Te(ooe(o));else if(w2(t)){const f=t===Dc?"x":"y";if(e.getScaleComponent(f).get("type")==="band"){const p=gle(u,s);if(p)return Ba(p)}}}const{rangeMin:a,rangeMax:l}=n,c=nnt(t,e);return(a!==void 0||l!==void 0)&&K7(s,"rangeMin")&&Ce(c)&&c.length===2?Ba([a??c[0],l??c[1]]):zs(c)}function tnt(t){return cXe(t)?Object.assign({scheme:t.name},_o(t,["name"])):{scheme:t}}function nnt(t,e){const{size:n,config:r,mark:i,encoding:s}=e,o=e.getSignalName.bind(e),{type:u}=ir(s[t]),l=e.getScaleComponent(t).get("type"),{domain:c,domainMid:f}=e.specifiedScales[t];switch(t){case yn:case _r:{if(Tt(["point","band"],l)){const p=mle(t,n,r.view);if($a(p))return{step:ple(p,e,t)}}const x=ps(t),h=e.getName(x);return t===_r&&Hs(l)?[ys.fromName(o,h),0]:[0,ys.fromName(o,h)]}case Dc:case D2:return rnt(t,e,l);case Xl:{const x=e.component.scales[t].get("zero"),h=yle(i,x,r),p=ont(i,n,e,r);return B2(l)?snt(h,p,int(l,r,c,t)):[h,p]}case fu:return[0,Math.PI*2];case Sd:return[0,360];case _a:return[0,new ys(()=>{const x=e.getSignalName("width"),h=e.getSignalName("height");return`min(${x},${h})/2`})];case Lc:return[r.scale.minStrokeWidth,r.scale.maxStrokeWidth];case Ic:return[[1,0],[4,2],[2,1],[1,1],[1,2,4,2]];case hs:return"symbol";case ds:case Ta:case Ra:return l==="ordinal"?u==="nominal"?"category":"ordinal":f!==void 0?"diverging":i==="rect"||i==="geoshape"?"heatmap":"ramp";case Jl:case Fc:case wc:return[r.scale.minOpacity,r.scale.maxOpacity]}}function ple(t,e,n){var r,i,s,o,u;const{encoding:a}=e,l=e.getScaleComponent(n),c=Dse(n),f=a[c];if(Tue({step:t,offsetIsDiscrete:it(f)&&yoe(f.type)})==="offset"&&sue(a,c)){const h=e.getScaleComponent(c);let m=`domain('${e.scaleName(c)}').length`;if(h.get("type")==="band"){const y=(i=(r=h.get("paddingInner"))!==null&&r!==void 0?r:h.get("padding"))!==null&&i!==void 0?i:0,E=(o=(s=h.get("paddingOuter"))!==null&&s!==void 0?s:h.get("padding"))!==null&&o!==void 0?o:0;m=`bandspace(${m}, ${y}, ${E})`}const g=(u=l.get("paddingInner"))!==null&&u!==void 0?u:l.get("padding");return{signal:`${t.step} * ${m} / (1-${DYe(g)})`}}else return t.step}function gle(t,e){if(Tue({step:t,offsetIsDiscrete:Cr(e)})==="offset")return{step:t.step}}function rnt(t,e,n){const r=t===Dc?"x":"y",s=e.getScaleComponent(r).get("type"),o=e.scaleName(r);if(s==="band"){const u=mle(r,e.size,e.config.view);if($a(u)){const a=gle(u,n);if(a)return a}return[0,{signal:`bandwidth('${o}')`}]}else return zVe(`Cannot use ${t} scale if ${r} scale is not discrete.`)}function mle(t,e,n){const r=t===yn?"width":"height",i=e[r];return i||MN(n,r)}function int(t,e,n,r){switch(t){case"quantile":return e.scale.quantileCount;case"quantize":return e.scale.quantizeCount;case"threshold":return n!==void 0&&Ce(n)?n.length+1:(Te(IKe(r)),3)}}function snt(t,e,n){const r=()=>{const i=n0(e),s=n0(t),o=`(${i} - ${s}) / (${n} - 1)`;return`sequence(${s}, ${i} + ${o}, ${o})`};return Ye(e)?new ys(r):{signal:r()}}function yle(t,e,n){if(e)return Ye(e)?{signal:`${e.signal} ? 0 : ${yle(t,!1,n)}`}:0;switch(t){case"bar":case"tick":return n.scale.minBandSize;case"line":case"trail":case"rule":return n.scale.minStrokeWidth;case"text":return n.scale.minFontSize;case"point":case"square":case"circle":return n.scale.minSize}throw new Error(hN("size",t))}const Ele=.95;function ont(t,e,n,r){const i={x:hle(n,"x"),y:hle(n,"y")};switch(t){case"bar":case"tick":{if(r.scale.maxBandSize!==void 0)return r.scale.maxBandSize;const s=Ale(e,i,r.view);return nn(s)?s-1:new ys(()=>`${s.signal} - 1`)}case"line":case"trail":case"rule":return r.scale.maxStrokeWidth;case"text":return r.scale.maxFontSize;case"point":case"square":case"circle":{if(r.scale.maxSize)return r.scale.maxSize;const s=Ale(e,i,r.view);return nn(s)?Math.pow(Ele*s,2):new ys(()=>`pow(${Ele} * ${s.signal}, 2)`)}}throw new Error(hN("size",t))}function Ale(t,e,n){const r=$a(t.width)?t.width.step:PN(n,"width"),i=$a(t.height)?t.height.step:PN(n,"height");return e.x||e.y?new ys(()=>`min(${[e.x?e.x.signal:r,e.y?e.y.signal:i].join(", ")})`):Math.min(r,i)}function Sle(t,e){Qn(t)?unt(t,e):Cle(t,e)}function unt(t,e){const n=t.component.scales,{config:r,encoding:i,markDef:s,specifiedScales:o}=t;for(const u of be(n)){const a=o[u],l=n[u],c=t.getScaleComponent(u),f=ir(i[u]),x=a[e],h=c.get("type"),p=c.get("padding"),m=c.get("paddingInner"),g=K7(h,e),y=boe(u,e);if(x!==void 0&&(g?y&&Te(y):Te(soe(h,e,u))),g&&y===void 0)if(x!==void 0){const E=f.timeUnit,A=f.type;switch(e){case"domainMax":case"domainMin":Td(a[e])||A==="temporal"||E?l.set(e,{signal:FN(a[e],{type:A,timeUnit:E})},!0):l.set(e,a[e],!0);break;default:l.copyKeyFromObject(e,a)}}else{const E=e in vle?vle[e]({model:t,channel:u,fieldOrDatumDef:f,scaleType:h,scalePadding:p,scalePaddingInner:m,domain:a.domain,domainMin:a.domainMin,domainMax:a.domainMax,markDef:s,config:r,hasNestedOffsetScale:h8(i,u)}):r.scale[e];E!==void 0&&l.set(e,E,!1)}}}const vle={bins:({model:t,fieldOrDatumDef:e})=>Le(e)?ant(t,e):void 0,interpolate:({channel:t,fieldOrDatumDef:e})=>lnt(t,e.type),nice:({scaleType:t,channel:e,domain:n,domainMin:r,domainMax:i,fieldOrDatumDef:s})=>cnt(t,e,n,r,i,s),padding:({channel:t,scaleType:e,fieldOrDatumDef:n,markDef:r,config:i})=>fnt(t,e,i.scale,n,r,i.bar),paddingInner:({scalePadding:t,channel:e,markDef:n,scaleType:r,config:i,hasNestedOffsetScale:s})=>xnt(t,e,n.type,r,i.scale,s),paddingOuter:({scalePadding:t,channel:e,scaleType:n,scalePaddingInner:r,config:i,hasNestedOffsetScale:s})=>dnt(t,e,n,r,i.scale,s),reverse:({fieldOrDatumDef:t,scaleType:e,channel:n,config:r})=>{const i=Le(t)?t.sort:void 0;return hnt(e,i,n,r.scale)},zero:({channel:t,fieldOrDatumDef:e,domain:n,markDef:r,scaleType:i})=>pnt(t,e,n,r,i)};function _le(t){Qn(t)?Ztt(t):Cle(t,"range")}function Cle(t,e){const n=t.component.scales;for(const r of t.children)e==="range"?_le(r):Sle(r,e);for(const r of be(n)){let i;for(const s of t.children){const o=s.component.scales[r];if(o){const u=o.getWithExplicit(e);i=Hc(i,u,e,"scale",Jue((a,l)=>{switch(e){case"range":return a.step&&l.step?a.step-l.step:0}return 0}))}}n[r].setWithExplicit(e,i)}}function ant(t,e){const n=e.bin;if(Xt(n)){const r=nP(t,e.field,n);return new ys(()=>t.getSignalName(r))}else if(Mi(n)&&Cd(n)&&n.step!==void 0)return{step:n.step}}function lnt(t,e){if(Tt([ds,Ta,Ra],t)&&e!=="nominal")return"hcl"}function cnt(t,e,n,r,i,s){var o;if(!(!((o=Ia(s))===null||o===void 0)&&o.bin||Ce(n)||i!=null||r!=null||Tt([ms.TIME,ms.UTC],t)))return kr(e)?!0:void 0}function fnt(t,e,n,r,i,s){if(kr(t)){if(du(e)){if(n.continuousPadding!==void 0)return n.continuousPadding;const{type:o,orient:u}=i;if(o==="bar"&&!(Le(r)&&(r.bin||r.timeUnit))&&(u==="vertical"&&t==="x"||u==="horizontal"&&t==="y"))return s.continuousBandSize}if(e===ms.POINT)return n.pointPadding}}function xnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingInner:o,barBandPaddingInner:u,rectBandPaddingInner:a,bandWithNestedOffsetPaddingInner:l}=i;return s?l:rr(o,n==="bar"?u:a)}else if(w2(e)&&r===ms.BAND)return i.offsetBandPaddingInner}}function dnt(t,e,n,r,i,s=!1){if(t===void 0){if(kr(e)){const{bandPaddingOuter:o,bandWithNestedOffsetPaddingOuter:u}=i;if(s)return u;if(n===ms.BAND)return rr(o,Ye(r)?{signal:`${r.signal}/2`}:r/2)}else if(w2(e)){if(n===ms.POINT)return .5;if(n===ms.BAND)return i.offsetBandPaddingOuter}}}function hnt(t,e,n,r){if(n==="x"&&r.xReverse!==void 0)return Hs(t)&&e==="descending"?Ye(r.xReverse)?{signal:`!${r.xReverse.signal}`}:!r.xReverse:r.xReverse;if(Hs(t)&&e==="descending")return!0}function pnt(t,e,n,r,i){if(!!n&&n!=="unaggregated"&&Hs(i)){if(Ce(n)){const o=n[0],u=n[n.length-1];if(o<=0&&u>=0)return!0}return!1}if(t==="size"&&e.type==="quantitative"&&!B2(i))return!0;if(!(Le(e)&&e.bin)&&Tt([...Oa,...xYe],t)){const{orient:o,type:u}=r;return!(Tt(["bar","area","line","trail"],u)&&(o==="horizontal"&&t==="y"||o==="vertical"&&t==="x"))}return!1}function gnt(t,e,n,r,i=!1){const s=mnt(e,n,r,i),{type:o}=t;return Bc(e)?o!==void 0?gXe(e,o)?Le(n)&&!pXe(o,n.type)?(Te(yKe(o,s)),s):o:(Te(mKe(e,o,s)),s):s:null}function mnt(t,e,n,r){var i;switch(e.type){case"nominal":case"ordinal":{if(F2(t)||R7(t)==="discrete")return t==="shape"&&e.type==="ordinal"&&Te(I7(t,"ordinal")),"ordinal";if(kr(t)||w2(t)){if(Tt(["rect","bar","image","rule"],n.type)||r)return"band"}else if(n.type==="arc"&&t in T7)return"band";const s=n[ps(t)];return k2(s)||c8(e)&&(!((i=e.axis)===null||i===void 0)&&i.tickBand)?"band":"point"}case"temporal":return F2(t)?"time":R7(t)==="discrete"?(Te(I7(t,"temporal")),"ordinal"):Le(e)&&e.timeUnit&&ji(e.timeUnit).utc?"utc":"time";case"quantitative":return F2(t)?Le(e)&&Xt(e.bin)?"bin-ordinal":"linear":R7(t)==="discrete"?(Te(I7(t,"quantitative")),"ordinal"):"linear";case"geojson":return}throw new Error(roe(e.type))}function ynt(t,{ignoreRange:e}={}){ble(t),lle(t);for(const n of hXe)Sle(t,n);e||_le(t)}function ble(t){Qn(t)?t.component.scales=Ent(t):t.component.scales=Snt(t)}function Ent(t){const{encoding:e,mark:n,markDef:r}=t,i={};for(const s of fN){const o=ir(e[s]);if(o&&n===Ooe&&s===hs&&o.type===$2)continue;let u=o&&o.scale;if(w2(s)){const a=Fse(s);if(!h8(e,a)){u&&Te(rKe(s));continue}}if(o&&u!==null&&u!==!1){u??(u={});const a=h8(e,s),l=gnt(u,s,o,r,a);i[s]=new dle(t.scaleName(`${s}`,!0),{value:l,explicit:u.type===l})}}return i}const Ant=Jue((t,e)=>Eoe(t)-Eoe(e));function Snt(t){var e,n;const r=t.component.scales={},i={},s=t.component.resolve;for(const o of t.children){ble(o);for(const u of be(o.component.scales))if((e=(n=s.scale)[u])!==null&&e!==void 0||(n[u]=Hae(u,t)),s.scale[u]==="shared"){const a=i[u],l=o.component.scales[u].getWithExplicit("type");a?sXe(a.value,l.value)?i[u]=Hc(a,l,"type","scale",Ant):(s.scale[u]="independent",delete i[u]):i[u]=l}}for(const o of be(i)){const u=t.scaleName(o,!0),a=i[o];r[o]=new dle(u,a);for(const l of t.children){const c=l.component.scales[o];c&&(l.renameScale(c.get("name"),u),c.merged=!0)}}return r}var dP=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class hP{constructor(){this.nameMap={}}rename(e,n){this.nameMap[e]=n}has(e){return this.nameMap[e]!==void 0}get(e){for(;this.nameMap[e]&&e!==this.nameMap[e];)e=this.nameMap[e];return e}}function Qn(t){return(t==null?void 0:t.type)==="unit"}function mu(t){return(t==null?void 0:t.type)==="facet"}function pP(t){return(t==null?void 0:t.type)==="concat"}function Z2(t){return(t==null?void 0:t.type)==="layer"}class gP{constructor(e,n,r,i,s,o,u){var a,l;this.type=n,this.parent=r,this.config=s,this.correctDataNames=c=>{var f,x,h;return!((f=c.from)===null||f===void 0)&&f.data&&(c.from.data=this.lookupDataSource(c.from.data)),!((h=(x=c.from)===null||x===void 0?void 0:x.facet)===null||h===void 0)&&h.data&&(c.from.facet.data=this.lookupDataSource(c.from.facet.data)),c},this.parent=r,this.config=s,this.view=gs(u),this.name=(a=e.name)!==null&&a!==void 0?a:i,this.title=Pc(e.title)?{text:e.title}:e.title?gs(e.title):void 0,this.scaleNameMap=r?r.scaleNameMap:new hP,this.projectionNameMap=r?r.projectionNameMap:new hP,this.signalNameMap=r?r.signalNameMap:new hP,this.data=e.data,this.description=e.description,this.transforms=SZe((l=e.transform)!==null&&l!==void 0?l:[]),this.layout=n==="layer"||n==="unit"?{}:OJe(e,n,s),this.component={data:{sources:r?r.component.data.sources:[],outputNodes:r?r.component.data.outputNodes:{},outputNodeRefCounts:r?r.component.data.outputNodeRefCounts:{},isFaceted:CN(e)||(r==null?void 0:r.component.data.isFaceted)&&e.data===void 0},layoutSize:new s0,layoutHeaders:{row:{},column:{},facet:{}},mark:null,resolve:Object.assign({scale:{},axis:{},legend:{}},o?ot(o):{}),selection:null,scales:null,projection:null,axes:{},legends:{}}}get width(){return this.getSizeSignalRef("width")}get height(){return this.getSizeSignalRef("height")}parse(){this.parseScale(),this.parseLayoutSize(),this.renameTopLevelLayoutSizeSignal(),this.parseSelections(),this.parseProjection(),this.parseData(),this.parseAxesAndHeaders(),this.parseLegends(),this.parseMarkGroup()}parseScale(){ynt(this)}parseProjection(){nle(this)}renameTopLevelLayoutSizeSignal(){this.getName("width")!=="width"&&this.renameSignal(this.getName("width"),"width"),this.getName("height")!=="height"&&this.renameSignal(this.getName("height"),"height")}parseLegends(){Xae(this)}assembleEncodeFromView(e){const n=dP(e,["style"]),r={};for(const i of be(n)){const s=n[i];s!==void 0&&(r[i]=on(s))}return r}assembleGroupEncodeEntry(e){let n={};return this.view&&(n=this.assembleEncodeFromView(this.view)),!e&&(this.description&&(n.description=on(this.description)),this.type==="unit"||this.type==="layer")?Object.assign({width:this.getSizeSignalRef("width"),height:this.getSizeSignalRef("height")},n??{}):Wt(n)?void 0:n}assembleLayout(){if(!this.layout)return;const e=this.layout,{spacing:n}=e,r=dP(e,["spacing"]),{component:i,config:s}=this,o=Pet(i.layoutHeaders,s);return Object.assign(Object.assign(Object.assign({padding:n},this.assembleDefaultLayout()),r),o?{titleBand:o}:{})}assembleDefaultLayout(){return{}}assembleHeaderMarks(){const{layoutHeaders:e}=this.component;let n=[];for(const r of bo)e[r].title&&n.push(wet(this,r));for(const r of K8)n=n.concat(Let(this,r));return n}assembleAxes(){return Eet(this.component.axes,this.config)}assembleLegends(){return Zae(this)}assembleProjections(){return att(this)}assembleTitle(){var e,n,r;const i=(e=this.title)!==null&&e!==void 0?e:{},{encoding:s}=i,o=dP(i,["encoding"]),u=Object.assign(Object.assign(Object.assign({},Mse(this.config.title).nonMarkTitleProperties),o),s?{encode:{update:s}}:{});if(u.text)return Tt(["unit","layer"],this.type)?Tt(["middle",void 0],u.anchor)&&((n=u.frame)!==null&&n!==void 0||(u.frame="group")):(r=u.anchor)!==null&&r!==void 0||(u.anchor="start"),Wt(u)?void 0:u}assembleGroup(e=[]){const n={};e=e.concat(this.assembleSignals()),e.length>0&&(n.signals=e);const r=this.assembleLayout();r&&(n.layout=r),n.marks=[].concat(this.assembleHeaderMarks(),this.assembleMarks());const i=!this.parent||mu(this.parent)?fle(this):[];i.length>0&&(n.scales=i);const s=this.assembleAxes();s.length>0&&(n.axes=s);const o=this.assembleLegends();return o.length>0&&(n.legends=o),n}getName(e){return mn((this.name?`${this.name}_`:"")+e)}getDataName(e){return this.getName(Jt[e].toLowerCase())}requestDataName(e){const n=this.getDataName(e),r=this.component.data.outputNodeRefCounts;return r[n]=(r[n]||0)+1,n}getSizeSignalRef(e){if(mu(this.parent)){const n=Uae(e),r=cN(n),i=this.component.scales[r];if(i&&!i.merged){const s=i.get("type"),o=i.get("range");if(Cr(s)&&Mc(o)){const u=i.get("name"),a=ZN(this,r),l=xP(a);if(l){const c=$e({aggregate:"distinct",field:l},{expr:"datum"});return{signal:jae(u,i,c)}}else return Te(w7(r)),null}}}return{signal:this.signalNameMap.get(this.getName(e))}}lookupDataSource(e){const n=this.component.data.outputNodes[e];return n?n.getSource():e}getSignalName(e){return this.signalNameMap.get(e)}renameSignal(e,n){this.signalNameMap.rename(e,n)}renameScale(e,n){this.scaleNameMap.rename(e,n)}renameProjection(e,n){this.projectionNameMap.rename(e,n)}scaleName(e,n){if(n)return this.getName(e);if(Ose(e)&&Bc(e)&&this.component.scales[e]||this.scaleNameMap.has(this.getName(e)))return this.scaleNameMap.get(this.getName(e))}projectionName(e){if(e)return this.getName("projection");if(this.component.projection&&!this.component.projection.merged||this.projectionNameMap.has(this.getName("projection")))return this.projectionNameMap.get(this.getName("projection"))}getScaleComponent(e){if(!this.component.scales)throw new Error("getScaleComponent cannot be called before parseScale(). Make sure you have called parseScale or use parseUnitModelWithScale().");const n=this.component.scales[e];return n&&!n.merged?n:this.parent?this.parent.getScaleComponent(e):void 0}getSelectionComponent(e,n){let r=this.component.selection[e];if(!r&&this.parent&&(r=this.parent.getSelectionComponent(e,n)),!r)throw new Error($Ye(n));return r}hasAxisOrientSignalRef(){var e,n;return((e=this.component.axes.x)===null||e===void 0?void 0:e.some(r=>r.hasOrientSignalRef()))||((n=this.component.axes.y)===null||n===void 0?void 0:n.some(r=>r.hasOrientSignalRef()))}}class Tle extends gP{vgField(e,n={}){const r=this.fieldDef(e);if(r)return $e(r,n)}reduceFieldDef(e,n){return iJe(this.getMapping(),(r,i,s)=>{const o=Ia(i);return o?e(r,o,s):r},n)}forEachFieldDef(e,n){g8(this.getMapping(),(r,i)=>{const s=Ia(r);s&&e(s,i)},n)}}var vnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class eD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"value",(s=o[1])!==null&&s!==void 0?s:"density"]}clone(){return new eD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.density,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`DensityTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{density:n}=e,r=vnt(e,["density"]);return Object.assign({type:"kde",field:n},r)}}class $3 extends Ut{constructor(e,n){super(e),this.filter=n}clone(){return new $3(null,Object.assign({},this.filter))}static make(e,n){const{config:r,mark:i,markDef:s}=n;if(kt("invalid",s,r)!=="filter")return null;const u=n.reduceFieldDef((a,l,c)=>{const f=Bc(c)&&n.getScaleComponent(c);if(f){const x=f.get("type");Hs(x)&&l.aggregate!=="count"&&!jc(i)&&(a[l.field]=l)}return a},{});return be(u).length?new $3(e,u):null}dependentFields(){return new Set(be(this.filter))}producedFields(){return new Set}hash(){return`FilterInvalid ${bt(this.filter)}`}assemble(){const e=be(this.filter).reduce((n,r)=>{const i=this.filter[r],s=$e(i,{expr:"datum"});return i!==null&&(i.type==="temporal"?n.push(`(isDate(${s}) || (isValid(${s}) && isFinite(+${s})))`):i.type==="quantitative"&&(n.push(`isValid(${s})`),n.push(`isFinite(+${s})`))),n},[]);return e.length>0?{type:"filter",expr:e.join(" && ")}:null}}class tD extends Ut{constructor(e,n){super(e),this.transform=n,this.transform=ot(n);const{flatten:r,as:i=[]}=this.transform;this.transform.as=r.map((s,o)=>{var u;return(u=i[o])!==null&&u!==void 0?u:s})}clone(){return new tD(this.parent,ot(this.transform))}dependentFields(){return new Set(this.transform.flatten)}producedFields(){return new Set(this.transform.as)}hash(){return`FlattenTransform ${bt(this.transform)}`}assemble(){const{flatten:e,as:n}=this.transform;return{type:"flatten",fields:e,as:n}}}class nD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"key",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new nD(null,ot(this.transform))}dependentFields(){return new Set(this.transform.fold)}producedFields(){return new Set(this.transform.as)}hash(){return`FoldTransform ${bt(this.transform)}`}assemble(){const{fold:e,as:n}=this.transform;return{type:"fold",fields:e,as:n}}}class eg extends Ut{constructor(e,n,r,i){super(e),this.fields=n,this.geojson=r,this.signal=i}clone(){return new eg(null,ot(this.fields),this.geojson,this.signal)}static parseAll(e,n){if(n.component.projection&&!n.component.projection.isFit)return e;let r=0;for(const i of[[ba,Ca],[Co,xu]]){const s=i.map(o=>{const u=ir(n.encoding[o]);return Le(u)?u.field:wa(u)?{expr:`${u.datum}`}:hu(u)?{expr:`${u.value}`}:void 0});(s[0]||s[1])&&(e=new eg(e,s,null,n.getName(`geojson_${r++}`)))}if(n.channelHasField(hs)){const i=n.typedFieldDef(hs);i.type===$2&&(e=new eg(e,null,i.field,n.getName(`geojson_${r++}`)))}return e}dependentFields(){var e;const n=((e=this.fields)!==null&&e!==void 0?e:[]).filter(je);return new Set([...this.geojson?[this.geojson]:[],...n])}producedFields(){return new Set}hash(){return`GeoJSON ${this.geojson} ${this.signal} ${bt(this.fields)}`}assemble(){return[...this.geojson?[{type:"filter",expr:`isValid(datum["${this.geojson}"])`}]:[],Object.assign(Object.assign(Object.assign({type:"geojson"},this.fields?{fields:this.fields}:{}),this.geojson?{geojson:this.geojson}:{}),{signal:this.signal})]}}class B3 extends Ut{constructor(e,n,r,i){super(e),this.projection=n,this.fields=r,this.as=i}clone(){return new B3(null,this.projection,ot(this.fields),ot(this.as))}static parseAll(e,n){if(!n.projectionName())return e;for(const r of[[ba,Ca],[Co,xu]]){const i=r.map(o=>{const u=ir(n.encoding[o]);return Le(u)?u.field:wa(u)?{expr:`${u.datum}`}:hu(u)?{expr:`${u.value}`}:void 0}),s=r[0]===Co?"2":"";(i[0]||i[1])&&(e=new B3(e,n.projectionName(),i,[n.getName(`x${s}`),n.getName(`y${s}`)]))}return e}dependentFields(){return new Set(this.fields.filter(je))}producedFields(){return new Set(this.as)}hash(){return`Geopoint ${this.projection} ${bt(this.fields)} ${bt(this.as)}`}assemble(){return{type:"geopoint",projection:this.projection,fields:this.fields,as:this.as}}}class Bd extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new Bd(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.impute,this.transform.key,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set([this.transform.impute])}processSequence(e){const{start:n=0,stop:r,step:i}=e;return{signal:`sequence(${[n,r,...i?[i]:[]].join(",")})`}}static makeFromTransform(e,n){return new Bd(e,n)}static makeFromEncoding(e,n){const r=n.encoding,i=r.x,s=r.y;if(Le(i)&&Le(s)){const o=i.impute?i:s.impute?s:void 0;if(o===void 0)return;const u=i.impute?s:s.impute?i:void 0,{method:a,value:l,frame:c,keyvals:f}=o.impute,x=uue(n.mark,r);return new Bd(e,Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({impute:o.field,key:u.field},a?{method:a}:{}),l!==void 0?{value:l}:{}),c?{frame:c}:{}),f!==void 0?{keyvals:f}:{}),x.length?{groupby:x}:{}))}return null}hash(){return`Impute ${bt(this.transform)}`}assemble(){const{impute:e,key:n,keyvals:r,method:i,groupby:s,value:o,frame:u=[null,null]}=this.transform,a=Object.assign(Object.assign(Object.assign(Object.assign({type:"impute",field:e,key:n},r?{keyvals:rZe(r)?this.processSequence(r):r}:{}),{method:"value"}),s?{groupby:s}:{}),{value:!i||i==="value"?o:null});if(i&&i!=="value"){const l=Object.assign({type:"window",as:[`imputed_${e}_value`],ops:[i],fields:[e],frame:u,ignorePeers:!1},s?{groupby:s}:{}),c={type:"formula",expr:`datum.${e} === null ? datum.imputed_${e}_value : datum.${e}`,as:e};return[a,l,c]}else return[a]}}var _nt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class rD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.loess]}clone(){return new rD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.loess,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`LoessTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{loess:n,on:r}=e,i=_nt(e,["loess","on"]);return Object.assign({type:"loess",x:r,y:n},i)}}class k3 extends Ut{constructor(e,n,r){super(e),this.transform=n,this.secondary=r}clone(){return new k3(null,ot(this.transform),this.secondary)}static make(e,n,r,i){const s=n.component.data.sources,{from:o}=r;let u=null;if(iZe(o)){let a=Dle(o.data,s);a||(a=new Ld(o.data),s.push(a));const l=n.getName(`lookup_${i}`);u=new qi(a,l,Jt.Lookup,n.component.data.outputNodeRefCounts),n.component.data.outputNodes[l]=u}else if(sZe(o)){const a=o.param;r=Object.assign({as:a},r);let l;try{l=n.getSelectionComponent(mn(a),a)}catch{throw new Error(PYe(a))}if(u=l.materialized,!u)throw new Error(MYe(a))}return new k3(e,r,u.getSource())}dependentFields(){return new Set([this.transform.lookup])}producedFields(){return new Set(this.transform.as?Pe(this.transform.as):this.transform.from.fields)}hash(){return`Lookup ${bt({transform:this.transform,secondary:this.secondary})}`}assemble(){let e;if(this.transform.from.fields)e=Object.assign({values:this.transform.from.fields},this.transform.as?{as:Pe(this.transform.as)}:{});else{let n=this.transform.as;je(n)||(Te(WYe),n="_lookup"),e={as:[n]}}return Object.assign(Object.assign({type:"lookup",from:this.secondary,key:this.transform.from.key,fields:[this.transform.lookup]},e),this.transform.default?{default:this.transform.default}:{})}}var Cnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class iD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:"prob",(s=o[1])!==null&&s!==void 0?s:"value"]}clone(){return new iD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.quantile,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`QuantileTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{quantile:n}=e,r=Cnt(e,["quantile"]);return Object.assign({type:"quantile",field:n},r)}}var bnt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};class sD extends Ut{constructor(e,n){var r,i,s;super(e),this.transform=n,this.transform=ot(n);const o=(r=this.transform.as)!==null&&r!==void 0?r:[void 0,void 0];this.transform.as=[(i=o[0])!==null&&i!==void 0?i:n.on,(s=o[1])!==null&&s!==void 0?s:n.regression]}clone(){return new sD(null,ot(this.transform))}dependentFields(){var e;return new Set([this.transform.regression,this.transform.on,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}producedFields(){return new Set(this.transform.as)}hash(){return`RegressionTransform ${bt(this.transform)}`}assemble(){const e=this.transform,{regression:n,on:r}=e,i=bnt(e,["regression","on"]);return Object.assign({type:"regression",x:r,y:n},i)}}class oD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new oD(null,ot(this.transform))}addDimensions(e){var n;this.transform.groupby=Gl(((n=this.transform.groupby)!==null&&n!==void 0?n:[]).concat(e),r=>r)}producedFields(){}dependentFields(){var e;return new Set([this.transform.pivot,this.transform.value,...(e=this.transform.groupby)!==null&&e!==void 0?e:[]])}hash(){return`PivotTransform ${bt(this.transform)}`}assemble(){const{pivot:e,value:n,groupby:r,limit:i,op:s}=this.transform;return Object.assign(Object.assign(Object.assign({type:"pivot",field:e,value:n},i!==void 0?{limit:i}:{}),s!==void 0?{op:s}:{}),r!==void 0?{groupby:r}:{})}}class uD extends Ut{constructor(e,n){super(e),this.transform=n}clone(){return new uD(null,ot(this.transform))}dependentFields(){return new Set}producedFields(){return new Set}hash(){return`SampleTransform ${bt(this.transform)}`}assemble(){return{type:"sample",size:this.transform.sample}}}function Rle(t){let e=0;function n(r,i){var s;if(r instanceof Ld&&!r.isGenerator&&!q2(r.data)&&(t.push(i),i={name:null,source:i.name,transform:[]}),r instanceof li&&(r.parent instanceof Ld&&!i.source?(i.format=Object.assign(Object.assign({},(s=i.format)!==null&&s!==void 0?s:{}),{parse:r.assembleFormatParse()}),i.transform.push(...r.assembleTransforms(!0))):i.transform.push(...r.assembleTransforms())),r instanceof X2){i.name||(i.name=`data_${e++}`),!i.source||i.transform.length>0?(t.push(i),r.data=i.name):r.data=i.source,t.push(...r.assemble());return}switch((r instanceof w3||r instanceof L3||r instanceof $3||r instanceof W2||r instanceof V2||r instanceof B3||r instanceof pu||r instanceof k3||r instanceof J2||r instanceof $d||r instanceof nD||r instanceof tD||r instanceof eD||r instanceof rD||r instanceof iD||r instanceof sD||r instanceof Vc||r instanceof uD||r instanceof oD)&&i.transform.push(r.assemble()),(r instanceof Pa||r instanceof ka||r instanceof Bd||r instanceof o0||r instanceof eg)&&i.transform.push(...r.assemble()),r instanceof qi&&(i.source&&i.transform.length===0?r.setSource(i.source):r.parent instanceof qi?r.setSource(i.name):(i.name||(i.name=`data_${e++}`),r.setSource(i.name),r.numChildren()===1&&(t.push(i),i={name:null,source:i.name,transform:[]}))),r.numChildren()){case 0:r instanceof qi&&(!i.source||i.transform.length>0)&&t.push(i);break;case 1:n(r.children[0],i);break;default:{i.name||(i.name=`data_${e++}`);let o=i.name;!i.source||i.transform.length>0?t.push(i):o=i.source;for(const u of r.children)n(u,{name:null,source:o,transform:[]});break}}}return n}function Tnt(t){const e=[],n=Rle(e);for(const r of t.children)n(r,{source:t.name,name:null,transform:[]});return e}function Rnt(t,e){var n,r;const i=[],s=Rle(i);let o=0;for(const a of t.sources){a.hasName()||(a.dataName=`source_${o++}`);const l=a.assemble();s(a,l)}for(const a of i)a.transform.length===0&&delete a.transform;let u=0;for(const[a,l]of i.entries())((n=l.transform)!==null&&n!==void 0?n:[]).length===0&&!l.source&&i.splice(u++,0,i.splice(a,1)[0]);for(const a of i)for(const l of(r=a.transform)!==null&&r!==void 0?r:[])l.type==="lookup"&&(l.from=t.outputNodes[l.from].getSource());for(const a of i)a.name in e&&(a.values=e[a.name]);return i}function Ont(t){return t==="top"||t==="left"||Ye(t)?"header":"footer"}function Nnt(t){for(const e of bo)Dnt(t,e);Nle(t,"x"),Nle(t,"y")}function Dnt(t,e){var n;const{facet:r,config:i,child:s,component:o}=t;if(t.channelHasField(e)){const u=r[e],a=K2("title",null,i,e);let l=P2(u,i,{allowDisabling:!0,includeDefault:a===void 0||!!a});s.component.layoutHeaders[e].title&&(l=Ce(l)?l.join(", "):l,l+=` / ${s.component.layoutHeaders[e].title}`,s.component.layoutHeaders[e].title=null);const c=K2("labelOrient",u.header,i,e),f=u.header!==null?rr((n=u.header)===null||n===void 0?void 0:n.labels,i.header.labels,!0):!1,x=Tt(["bottom","right"],c)?"footer":"header";o.layoutHeaders[e]={title:u.header!==null?l:null,facetFieldDef:u,[x]:e==="facet"?[]:[Ole(t,e,f)]}}}function Ole(t,e,n){const r=e==="row"?"height":"width";return{labels:n,sizeSignal:t.child.component.layoutSize.get(r)?t.child.getSizeSignalRef(r):void 0,axes:[]}}function Nle(t,e){var n;const{child:r}=t;if(r.component.axes[e]){const{layoutHeaders:i,resolve:s}=t.component;if(s.axis[e]=eP(s,e),s.axis[e]==="shared"){const o=e==="x"?"column":"row",u=i[o];for(const a of r.component.axes[e]){const l=Ont(a.get("orient"));(n=u[l])!==null&&n!==void 0||(u[l]=[Ole(t,o,!1)]);const c=F3(a,"main",t.config,{header:!0});c&&u[l][0].axes.push(c),a.mainExtracted=!0}}}}function Fnt(t){mP(t),aD(t,"width"),aD(t,"height")}function wnt(t){mP(t);const e=t.layout.columns===1?"width":"childWidth",n=t.layout.columns===void 0?"height":"childHeight";aD(t,e),aD(t,n)}function mP(t){for(const e of t.children)e.parseLayoutSize()}function aD(t,e){var n;const r=Uae(e),i=cN(r),s=t.component.resolve,o=t.component.layoutSize;let u;for(const a of t.children){const l=a.component.layoutSize.getWithExplicit(r),c=(n=s.scale[i])!==null&&n!==void 0?n:Hae(i,t);if(c==="independent"&&l.value==="step"){u=void 0;break}if(u){if(c==="independent"&&u.value!==l.value){u=void 0;break}u=Hc(u,l,r,"")}else u=l}if(u){for(const a of t.children)t.renameSignal(a.getName(r),t.getName(e)),a.component.layoutSize.set(r,"merged",!1);o.setWithExplicit(e,u)}else o.setWithExplicit(e,{explicit:!1,value:void 0})}function Lnt(t){const{size:e,component:n}=t;for(const r of Oa){const i=ps(r);if(e[i]){const s=e[i];n.layoutSize.set(i,$a(s)?"step":s,!0)}else{const s=Int(t,i);n.layoutSize.set(i,s,!1)}}}function Int(t,e){const n=e==="width"?"x":"y",r=t.config,i=t.getScaleComponent(n);if(i){const s=i.get("type"),o=i.get("range");if(Cr(s)){const u=MN(r.view,e);return Mc(o)||$a(u)?"step":u}else return O8(r.view,e)}else{if(t.hasProjection||t.mark==="arc")return O8(r.view,e);{const s=MN(r.view,e);return $a(s)?s.step:s}}}function yP(t,e,n){return $e(e,Object.assign({suffix:`by_${$e(t)}`},n??{}))}class P3 extends Tle{constructor(e,n,r,i){super(e,"facet",n,r,i,e.resolve),this.child=_P(e.spec,this,this.getName("child"),void 0,i),this.children=[this.child],this.facet=this.initFacet(e.facet)}initFacet(e){if(!v3(e))return{facet:this.initFacetFieldDef(e,"facet")};const n=be(e),r={};for(const i of n){if(![Wl,Vl].includes(i)){Te(hN(i,"facet"));break}const s=e[i];if(s.field===void 0){Te(L7(s,i));break}r[i]=this.initFacetFieldDef(s,i)}return r}initFacetFieldDef(e,n){const r=d8(e,n);return r.header?r.header=gs(r.header):r.header===null&&(r.header=null),r}channelHasField(e){return!!this.facet[e]}fieldDef(e){return this.facet[e]}parseData(){this.component.data=lD(this),this.child.parseData()}parseLayoutSize(){mP(this)}parseSelections(){this.child.parseSelections(),this.component.selection=this.child.component.selection}parseMarkGroup(){this.child.parseMarkGroup()}parseAxesAndHeaders(){this.child.parseAxesAndHeaders(),Nnt(this)}assembleSelectionTopLevelSignals(e){return this.child.assembleSelectionTopLevelSignals(e)}assembleSignals(){return this.child.assembleSignals(),[]}assembleSelectionData(e){return this.child.assembleSelectionData(e)}getHeaderLayoutMixins(){var e,n,r;const i={};for(const s of bo)for(const o of X8){const u=this.component.layoutHeaders[s],a=u[o],{facetFieldDef:l}=u;if(l){const c=K2("titleOrient",l.header,this.config,s);if(["right","bottom"].includes(c)){const f=YN(s,c);(e=i.titleAnchor)!==null&&e!==void 0||(i.titleAnchor={}),i.titleAnchor[f]="end"}}if(a!=null&&a[0]){const c=s==="row"?"height":"width",f=o==="header"?"headerBand":"footerBand";s!=="facet"&&!this.child.component.layoutSize.get(c)&&((n=i[f])!==null&&n!==void 0||(i[f]={}),i[f][s]=.5),u.title&&((r=i.offset)!==null&&r!==void 0||(i.offset={}),i.offset[s==="row"?"rowTitle":"columnTitle"]=10)}}return i}assembleDefaultLayout(){const{column:e,row:n}=this.facet,r=e?this.columnDistinctSignal():n?1:void 0;let i="all";return(!n&&this.component.resolve.scale.x==="independent"||!e&&this.component.resolve.scale.y==="independent")&&(i="none"),Object.assign(Object.assign(Object.assign({},this.getHeaderLayoutMixins()),r?{columns:r}:{}),{bounds:"full",align:i})}assembleLayoutSignals(){return this.child.assembleLayoutSignals()}columnDistinctSignal(){if(!(this.parent&&this.parent instanceof P3))return{signal:`length(data('${this.getName("column_domain")}'))`}}assembleGroupStyle(){}assembleGroup(e){return this.parent&&this.parent instanceof P3?Object.assign(Object.assign({},this.channelHasField("column")?{encode:{update:{columns:{field:$e(this.facet.column,{prefix:"distinct"})}}}}:{}),super.assembleGroup(e)):super.assembleGroup(e)}getCardinalityAggregateForChild(){const e=[],n=[],r=[];if(this.child instanceof P3){if(this.child.channelHasField("column")){const i=$e(this.child.facet.column);e.push(i),n.push("distinct"),r.push(`distinct_${i}`)}}else for(const i of Oa){const s=this.child.component.scales[i];if(s&&!s.merged){const o=s.get("type"),u=s.get("range");if(Cr(o)&&Mc(u)){const a=ZN(this.child,i),l=xP(a);l?(e.push(l),n.push("distinct"),r.push(`distinct_${l}`)):Te(w7(i))}}}return{fields:e,ops:n,as:r}}assembleFacet(){const{name:e,data:n}=this.component.data.facetRoot,{row:r,column:i}=this.facet,{fields:s,ops:o,as:u}=this.getCardinalityAggregateForChild(),a=[];for(const c of bo){const f=this.facet[c];if(f){a.push($e(f));const{bin:x,sort:h}=f;if(Xt(x)&&a.push($e(f,{binSuffix:"end"})),Fa(h)){const{field:p,op:m=_N}=h,g=yP(f,h);r&&i?(s.push(g),o.push("max"),u.push(g)):(s.push(p),o.push(m),u.push(g))}else if(Ce(h)){const p=Y2(f,c);s.push(p),o.push("max"),u.push(p)}}}const l=!!r&&!!i;return Object.assign({name:e,data:n,groupby:a},l||s.length>0?{aggregate:Object.assign(Object.assign({},l?{cross:l}:{}),s.length?{fields:s,ops:o,as:u}:{})}:{})}facetSortFields(e){const{facet:n}=this,r=n[e];return r?Fa(r.sort)?[yP(r,r.sort,{expr:"datum"})]:Ce(r.sort)?[Y2(r,e,{expr:"datum"})]:[$e(r,{expr:"datum"})]:[]}facetSortOrder(e){const{facet:n}=this,r=n[e];if(r){const{sort:i}=r;return[(Fa(i)?i.order:!Ce(i)&&i)||"ascending"]}return[]}assembleLabelTitle(){var e;const{facet:n,config:r}=this;if(n.facet)return J8(n.facet,"facet",r);const i={row:["top","bottom"],column:["left","right"]};for(const s of K8)if(n[s]){const o=K2("labelOrient",(e=n[s])===null||e===void 0?void 0:e.header,r,s);if(i[s].includes(o))return J8(n[s],s,r)}}assembleMarks(){const{child:e}=this,n=this.component.data.facetRoot,r=Tnt(n),i=e.assembleGroupEncodeEntry(!1),s=this.assembleLabelTitle()||e.assembleTitle(),o=e.assembleGroupStyle();return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:this.getName("cell"),type:"group"},s?{title:s}:{}),o?{style:o}:{}),{from:{facet:this.assembleFacet()},sort:{field:bo.map(a=>this.facetSortFields(a)).flat(),order:bo.map(a=>this.facetSortOrder(a)).flat()}}),r.length>0?{data:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup($Ze(this,[])))]}getMapping(){return this.facet}}function $nt(t,e){const{row:n,column:r}=e;if(n&&r){let i=null;for(const s of[n,r])if(Fa(s.sort)){const{field:o,op:u=_N}=s.sort;t=i=new $d(t,{joinaggregate:[{op:u,field:o,as:yP(s,s.sort,{forAs:!0})}],groupby:[$e(s)]})}return i}return null}function Dle(t,e){var n,r,i,s;for(const o of e){const u=o.data;if(t.name&&o.hasName()&&t.name!==o.dataName)continue;const a=(n=t.format)===null||n===void 0?void 0:n.mesh,l=(r=u.format)===null||r===void 0?void 0:r.feature;if(a&&l)continue;const c=(i=t.format)===null||i===void 0?void 0:i.feature;if((c||l)&&c!==l)continue;const f=(s=u.format)===null||s===void 0?void 0:s.mesh;if(!((a||f)&&a!==f)){if(R3(t)&&R3(u)){if(Ql(t.values,u.values))return o}else if(q2(t)&&q2(u)){if(t.url===u.url)return o}else if(Zue(t)&&t.name===o.dataName)return o}}return null}function Bnt(t,e){if(t.data||!t.parent){if(t.data===null){const r=new Ld({values:[]});return e.push(r),r}const n=Dle(t.data,e);if(n)return zc(t.data)||(n.data.format=QVe({},t.data.format,n.data.format)),!n.hasName()&&t.data.name&&(n.dataName=t.data.name),n;{const r=new Ld(t.data);return e.push(r),r}}else return t.parent.component.data.facetRoot?t.parent.component.data.facetRoot:t.parent.component.data.main}function knt(t,e,n){var r,i;let s=0;for(const o of e.transforms){let u,a;if(pZe(o))a=t=new V2(t,o),u="derived";else if(L8(o)){const l=vtt(o);a=t=(r=li.makeWithAncestors(t,{},l,n))!==null&&r!==void 0?r:t,t=new W2(t,e,o.filter)}else if(Que(o))a=t=Pa.makeFromTransform(t,o,e),u="number";else if(mZe(o))u="date",n.getWithExplicit(o.field).value===void 0&&(t=new li(t,{[o.field]:u}),n.set(o.field,u,!1)),a=t=ka.makeFromTransform(t,o);else if(yZe(o))a=t=pu.makeFromTransform(t,o),u="number",Q8(e)&&(t=new Vc(t));else if(zue(o))a=t=k3.make(t,e,o,s++),u="derived";else if(xZe(o))a=t=new J2(t,o),u="number";else if(dZe(o))a=t=new $d(t,o),u="number";else if(EZe(o))a=t=o0.makeFromTransform(t,o),u="derived";else if(AZe(o))a=t=new nD(t,o),u="derived";else if(hZe(o))a=t=new tD(t,o),u="derived";else if(oZe(o))a=t=new oD(t,o),u="derived";else if(fZe(o))t=new uD(t,o);else if(gZe(o))a=t=Bd.makeFromTransform(t,o),u="derived";else if(uZe(o))a=t=new eD(t,o),u="derived";else if(aZe(o))a=t=new iD(t,o),u="derived";else if(lZe(o))a=t=new sD(t,o),u="derived";else if(cZe(o))a=t=new rD(t,o),u="derived";else{Te(GYe(o));continue}if(a&&u!==void 0)for(const l of(i=a.producedFields())!==null&&i!==void 0?i:[])n.set(l,u,!1)}return t}function lD(t){var e,n,r,i,s,o,u,a,l,c;let f=Bnt(t,t.component.data.sources);const{outputNodes:x,outputNodeRefCounts:h}=t.component.data,p=t.data,g=!(p&&(zc(p)||q2(p)||R3(p)))&&t.parent?t.parent.component.data.ancestorParse.clone():new wZe;zc(p)?(eae(p)?f=new L3(f,p.sequence):B8(p)&&(f=new w3(f,p.graticule)),g.parseNothing=!0):((e=p==null?void 0:p.format)===null||e===void 0?void 0:e.parse)===null&&(g.parseNothing=!0),f=(n=li.makeExplicit(f,t,g))!==null&&n!==void 0?n:f,f=new Vc(f);const y=t.parent&&Z2(t.parent);(Qn(t)||mu(t))&&y&&(f=(r=Pa.makeFromEncoding(f,t))!==null&&r!==void 0?r:f),t.transforms.length>0&&(f=knt(f,t,g));const E=Ctt(t),A=_tt(t);f=(i=li.makeWithAncestors(f,{},Object.assign(Object.assign({},E),A),g))!==null&&i!==void 0?i:f,Qn(t)&&(f=eg.parseAll(f,t),f=B3.parseAll(f,t)),(Qn(t)||mu(t))&&(y||(f=(s=Pa.makeFromEncoding(f,t))!==null&&s!==void 0?s:f),f=(o=ka.makeFromEncoding(f,t))!==null&&o!==void 0?o:f,f=V2.parseAllForSortIndex(f,t));const S=t.getDataName(Jt.Raw),v=new qi(f,S,Jt.Raw,h);if(x[S]=v,f=v,Qn(t)){const O=pu.makeFromEncoding(f,t);O&&(f=O,Q8(t)&&(f=new Vc(f))),f=(u=Bd.makeFromEncoding(f,t))!==null&&u!==void 0?u:f,f=(a=o0.makeFromEncoding(f,t))!==null&&a!==void 0?a:f}Qn(t)&&(f=(l=$3.make(f,t))!==null&&l!==void 0?l:f);const _=t.getDataName(Jt.Main),C=new qi(f,_,Jt.Main,h);x[_]=C,f=C,Qn(t)&&met(t,C);let b=null;if(mu(t)){const O=t.getName("facet");f=(c=$nt(f,t.facet))!==null&&c!==void 0?c:f,b=new X2(f,t,O,C.getSource()),x[O]=b}return Object.assign(Object.assign({},t.component.data),{outputNodes:x,outputNodeRefCounts:h,raw:v,main:C,facetRoot:b,ancestorParse:g})}class Pnt extends gP{constructor(e,n,r,i){var s,o,u,a;super(e,"concat",n,r,i,e.resolve),(((o=(s=e.resolve)===null||s===void 0?void 0:s.axis)===null||o===void 0?void 0:o.x)==="shared"||((a=(u=e.resolve)===null||u===void 0?void 0:u.axis)===null||a===void 0?void 0:a.y)==="shared")&&Te(HYe),this.children=this.getChildren(e).map((l,c)=>_P(l,this,this.getName(`concat_${c}`),void 0,i))}parseData(){this.component.data=lD(this);for(const e of this.children)e.parseData()}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){for(const e of this.children)e.parseAxesAndHeaders()}getChildren(e){return kN(e)?e.vconcat:R8(e)?e.hconcat:e.concat}parseLayoutSize(){wnt(this)}parseAxisGroup(){return null}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.forEach(e=>e.assembleSignals()),[]}assembleLayoutSignals(){const e=Z8(this);for(const n of this.children)e.push(...n.assembleLayoutSignals());return e}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleMarks(){return this.children.map(e=>{const n=e.assembleTitle(),r=e.assembleGroupStyle(),i=e.assembleGroupEncodeEntry(!1);return Object.assign(Object.assign(Object.assign(Object.assign({type:"group",name:e.getName("group")},n?{title:n}:{}),r?{style:r}:{}),i?{encode:{update:i}}:{}),e.assembleGroup())})}assembleGroupStyle(){}assembleDefaultLayout(){const e=this.layout.columns;return Object.assign(Object.assign({},e!=null?{columns:e}:{}),{bounds:"full",align:"each"})}}function Mnt(t){return t===!1||t===null}const jnt=Object.assign(Object.assign({disable:1,gridScale:1,scale:1},nue),{labelExpr:1,encode:1}),Fle=be(jnt);class EP extends s0{constructor(e={},n={},r=!1){super(),this.explicit=e,this.implicit=n,this.mainExtracted=r}clone(){return new EP(ot(this.explicit),ot(this.implicit),this.mainExtracted)}hasAxisPart(e){return e==="axis"?!0:e==="grid"||e==="title"?!!this.get(e):!Mnt(this.get(e))}hasOrientSignalRef(){return Ye(this.explicit.orient)}}function Unt(t,e,n){var r;const{encoding:i,config:s}=t,o=(r=ir(i[e]))!==null&&r!==void 0?r:ir(i[Zl(e)]),u=t.axis(e)||{},{format:a,formatType:l}=u;return Nd(l)?Object.assign({text:i8({fieldOrDatumDef:o,field:"datum.value",format:a,formatType:l,config:s})},n):n}function qnt(t){return Oa.reduce((e,n)=>(t.component.scales[n]&&(e[n]=[Ynt(n,t)]),e),{})}const Hnt={bottom:"top",top:"bottom",left:"right",right:"left"};function znt(t){var e;const{axes:n,resolve:r}=t.component,i={top:0,bottom:0,right:0,left:0};for(const s of t.children){s.parseAxesAndHeaders();for(const o of be(s.component.axes))r.axis[o]=eP(t.component.resolve,o),r.axis[o]==="shared"&&(n[o]=Qnt(n[o],s.component.axes[o]),n[o]||(r.axis[o]="independent",delete n[o]))}for(const s of Oa){for(const o of t.children)if(o.component.axes[s]){if(r.axis[s]==="independent"){n[s]=((e=n[s])!==null&&e!==void 0?e:[]).concat(o.component.axes[s]);for(const u of o.component.axes[s]){const{value:a,explicit:l}=u.getWithExplicit("orient");if(!Ye(a)){if(i[a]>0&&!l){const c=Hnt[a];i[a]>i[c]&&u.set("orient",c,!1)}i[a]++}}}delete o.component.axes[s]}if(r.axis[s]==="independent"&&n[s]&&n[s].length>1)for(const o of n[s])o.get("grid")&&!o.explicit.grid&&(o.implicit.grid=!1)}}function Qnt(t,e){if(t){if(t.length!==e.length)return;const n=t.length;for(let r=0;r<n;r++){const i=t[r],s=e[r];if(!!i!=!!s)return;if(i&&s){const o=i.getWithExplicit("orient"),u=s.getWithExplicit("orient");if(o.explicit&&u.explicit&&o.value!==u.value)return;t[r]=Gnt(i,s)}}}else return e.map(n=>n.clone());return t}function Gnt(t,e){for(const n of Fle){const r=Hc(t.getWithExplicit(n),e.getWithExplicit(n),n,"axis",(i,s)=>{switch(n){case"title":return Vse(i,s);case"gridScale":return{explicit:i.explicit,value:rr(i.value,s.value)}}return UN(i,s,n,"axis")});t.setWithExplicit(n,r)}return t}function Wnt(t,e,n,r,i){if(e==="disable")return n!==void 0;switch(n=n||{},e){case"titleAngle":case"labelAngle":return t===(Ye(n.labelAngle)?n.labelAngle:iN(n.labelAngle));case"values":return!!n.values;case"encode":return!!n.encoding||!!n.labelAngle;case"title":if(t===$ae(r,i))return!0}return t===n[e]}const Vnt=new Set(["grid","translate","format","formatType","orient","labelExpr","tickCount","position","tickMinStep"]);function Ynt(t,e){var n,r,i;let s=e.axis(t);const o=new EP,u=ir(e.encoding[t]),{mark:a,config:l}=e,c=(s==null?void 0:s.orient)||((n=l[t==="x"?"axisX":"axisY"])===null||n===void 0?void 0:n.orient)||((r=l.axis)===null||r===void 0?void 0:r.orient)||Oet(t),f=e.getScaleComponent(t).get("type"),x=Aet(t,f,c,e.config),h=s!==void 0?!s:V8("disable",l.style,s==null?void 0:s.style,x).configValue;if(o.set("disable",h,s!==void 0),h)return o;s=s||{};const p=bet(u,s,t,l.style,x),m={fieldOrDatumDef:u,axis:s,channel:t,model:e,scaleType:f,orient:c,labelAngle:p,mark:a,config:l};for(const E of Fle){const A=E in wae?wae[E](m):rue(E)?s[E]:void 0,S=A!==void 0,v=Wnt(A,E,s,e,t);if(S&&v)o.set(E,A,v);else{const{configValue:_=void 0,configFrom:C=void 0}=rue(E)&&E!=="values"?V8(E,l.style,s.style,x):{},b=_!==void 0;S&&!b?o.set(E,A,v):(C!=="vgAxisConfig"||Vnt.has(E)&&b||b3(_)||Ye(_))&&o.set(E,_,!1)}}const g=(i=s.encoding)!==null&&i!==void 0?i:{},y=tue.reduce((E,A)=>{var S;if(!o.hasAxisPart(A))return E;const v=qae((S=g[A])!==null&&S!==void 0?S:{},e),_=A==="labels"?Unt(e,t,v):v;return _!==void 0&&!Wt(_)&&(E[A]={update:_}),E},{});return Wt(y)||o.set("encode",y,!!s.encoding||s.labelAngle!==void 0),o}function Knt({encoding:t,size:e}){for(const n of Oa){const r=ps(n);$a(e[r])&&La(t[n])&&(delete e[r],Te(ooe(r)))}return e}function Xnt(t,e,n){const r=gs(t),i=kt("orient",r,n);if(r.orient=trt(r.type,e,i),i!==void 0&&i!==r.orient&&Te(cKe(r.orient,i)),r.type==="bar"&&r.orient){const u=kt("cornerRadiusEnd",r,n);if(u!==void 0){const a=r.orient==="horizontal"&&e.x2||r.orient==="vertical"&&e.y2?["cornerRadius"]:TXe[r.orient];for(const l of a)r[l]=u;r.cornerRadiusEnd!==void 0&&delete r.cornerRadiusEnd}}return kt("opacity",r,n)===void 0&&(r.opacity=Znt(r.type,e)),kt("cursor",r,n)===void 0&&(r.cursor=Jnt(r,e,n)),r}function Jnt(t,e,n){return e.href||t.href||kt("href",t,n)?"pointer":t.cursor}function Znt(t,e){if(Tt([EN,X7,J7,Z7],t)&&!p8(e))return .7}function ert(t,e,{graticule:n}){if(n)return!1;const r=bd("filled",t,e),i=t.type;return rr(r,i!==EN&&i!==yN&&i!==AN)}function trt(t,e,n){switch(t){case EN:case J7:case Z7:case Roe:case yXe:case mXe:return}const{x:r,y:i,x2:s,y2:o}=e;switch(t){case mN:if(Le(r)&&(Mi(r.bin)||Le(i)&&i.aggregate&&!r.aggregate))return"vertical";if(Le(i)&&(Mi(i.bin)||Le(r)&&r.aggregate&&!i.aggregate))return"horizontal";if(o||s){if(n)return n;if(!s&&(Le(r)&&r.type===Rd&&!Xt(r.bin)||l8(r)))return"horizontal";if(!o&&(Le(i)&&i.type===Rd&&!Xt(i.bin)||l8(i)))return"vertical"}case AN:if(s&&!(Le(r)&&Mi(r.bin))&&o&&!(Le(i)&&Mi(i.bin)))return;case gN:if(o)return Le(i)&&Mi(i.bin)?"horizontal":"vertical";if(s)return Le(r)&&Mi(r.bin)?"vertical":"horizontal";if(t===AN){if(r&&!i)return"vertical";if(i&&!r)return"horizontal"}case yN:case X7:{const u=La(r),a=La(i);if(n)return n;if(u&&!a)return t!=="tick"?"horizontal":"vertical";if(!u&&a)return t!=="tick"?"vertical":"horizontal";if(u&&a){const l=r,c=i,f=l.type===I2,x=c.type===I2;return f&&!x?t!=="tick"?"vertical":"horizontal":!f&&x?t!=="tick"?"horizontal":"vertical":!l.aggregate&&c.aggregate?t!=="tick"?"vertical":"horizontal":l.aggregate&&!c.aggregate&&t!=="tick"?"horizontal":"vertical"}else return}}return"vertical"}const nrt={vgMark:"arc",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),Gc(t,"radius")),Gc(t,"theta"))},rrt={vgMark:"area",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"include",size:"ignore",theta:"ignore"})),HN("x",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="horizontal"})),HN("y",t,{defaultPos:"zeroOrMin",defaultPos2:"zeroOrMin",range:t.markDef.orient==="vertical"})),H8(t))},irt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y"))},srt={vgMark:"shape",encodeEntry:t=>Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),postEncodingTransform:t=>{const{encoding:e}=t,n=e.shape;return[Object.assign({type:"geoshape",projection:t.projectionName()},n&&Le(n)&&n.type===$2?{field:$e(n,{expr:"datum"})}:{})]}},ort={vgMark:"image",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"ignore",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y")),U8(t,"url"))},urt={vgMark:"line",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"ignore",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t,{vgChannel:"strokeWidth"})),H8(t))},art={vgMark:"trail",encodeEntry:t=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),H8(t))};function AP(t,e){const{config:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",size:"include",orient:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),br("size",t)),br("angle",t)),lrt(t,n,e))}function lrt(t,e,n){return n?{shape:{value:n}}:br("shape",t)}const crt={vgMark:"symbol",encodeEntry:t=>AP(t)},frt={vgMark:"symbol",encodeEntry:t=>AP(t,"circle")},xrt={vgMark:"symbol",encodeEntry:t=>AP(t,"square")},drt={vgMark:"rect",encodeEntry:t=>Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),Gc(t,"x")),Gc(t,"y"))},hrt={vgMark:"rule",encodeEntry:t=>{const{markDef:e}=t,n=e.orient;return!t.encoding.x&&!t.encoding.y&&!t.encoding.latitude&&!t.encoding.longitude?{}:Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),HN("x",t,{defaultPos:n==="horizontal"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="vertical"})),HN("y",t,{defaultPos:n==="vertical"?"zeroOrMax":"mid",defaultPos2:"zeroOrMin",range:n!=="horizontal"})),br("size",t,{vgChannel:"strokeWidth"}))}},prt={vgMark:"text",encodeEntry:t=>{const{config:e,encoding:n}=t;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"include",baseline:"include",color:"include",size:"ignore",orient:"ignore",theta:"include"})),ai("x",t,{defaultPos:"mid"})),ai("y",t,{defaultPos:"mid"})),U8(t)),br("size",t,{vgChannel:"fontSize"})),br("angle",t)),dae("align",grt(t.markDef,n,e))),dae("baseline",mrt(t.markDef,n,e))),ai("radius",t,{defaultPos:null})),ai("theta",t,{defaultPos:null}))}};function grt(t,e,n){if(kt("align",t,n)===void 0)return"center"}function mrt(t,e,n){if(kt("baseline",t,n)===void 0)return"middle"}const yrt={vgMark:"rect",encodeEntry:t=>{const{config:e,markDef:n}=t,r=n.orient,i=r==="horizontal"?"width":"height",s=r==="horizontal"?"height":"width";return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},Ro(t,{align:"ignore",baseline:"ignore",color:"include",orient:"ignore",size:"ignore",theta:"ignore"})),ai("x",t,{defaultPos:"mid",vgChannel:"xc"})),ai("y",t,{defaultPos:"mid",vgChannel:"yc"})),br("size",t,{defaultValue:Ert(t),vgChannel:i})),{[s]:on(kt("thickness",n,e))})}};function Ert(t){var e;const{config:n,markDef:r}=t,{orient:i}=r,s=i==="horizontal"?"width":"height",o=t.getScaleComponent(i==="horizontal"?"x":"y"),u=(e=kt("size",r,n,{vgChannel:s}))!==null&&e!==void 0?e:n.tick.bandSize;if(u!==void 0)return u;{const a=o?o.get("range"):void 0;return a&&Mc(a)&&nn(a.step)?a.step*3/4:PN(n.view,s)*3/4}}const cD={arc:nrt,area:rrt,bar:irt,circle:frt,geoshape:srt,image:ort,line:urt,point:crt,rect:drt,rule:hrt,square:xrt,text:prt,tick:yrt,trail:art};function Art(t){if(Tt([yN,gN,EXe],t.mark)){const e=uue(t.mark,t.encoding);if(e.length>0)return Srt(t,e)}else if(t.mark===mN){const e=N7.some(n=>kt(n,t.markDef,t.config));if(t.stack&&!t.fieldDef("size")&&e)return vrt(t)}return SP(t)}const wle="faceted_path_";function Srt(t,e){return[{name:t.getName("pathgroup"),type:"group",from:{facet:{name:wle+t.requestDataName(Jt.Main),data:t.requestDataName(Jt.Main),groupby:e}},encode:{update:{width:{field:{group:"width"}},height:{field:{group:"height"}}}},marks:SP(t,{fromPrefix:wle})}]}const Lle="stack_group_";function vrt(t){var e;const[n]=SP(t,{fromPrefix:Lle}),r=t.scaleName(t.stack.fieldChannel),i=(c={})=>t.vgField(t.stack.fieldChannel,c),s=(c,f)=>{const x=[i({prefix:"min",suffix:"start",expr:f}),i({prefix:"max",suffix:"start",expr:f}),i({prefix:"min",suffix:"end",expr:f}),i({prefix:"max",suffix:"end",expr:f})];return`${c}(${x.map(h=>`scale('${r}',${h})`).join(",")})`};let o,u;t.stack.fieldChannel==="x"?(o=Object.assign(Object.assign({},x3(n.encode.update,["y","yc","y2","height",...N7])),{x:{signal:s("min","datum")},x2:{signal:s("max","datum")},clip:{value:!0}}),u={x:{field:{group:"x"},mult:-1},height:{field:{group:"height"}}},n.encode.update=Object.assign(Object.assign({},_o(n.encode.update,["y","yc","y2"])),{height:{field:{group:"height"}}})):(o=Object.assign(Object.assign({},x3(n.encode.update,["x","xc","x2","width"])),{y:{signal:s("min","datum")},y2:{signal:s("max","datum")},clip:{value:!0}}),u={y:{field:{group:"y"},mult:-1},width:{field:{group:"width"}}},n.encode.update=Object.assign(Object.assign({},_o(n.encode.update,["x","xc","x2"])),{width:{field:{group:"width"}}}));for(const c of N7){const f=bd(c,t.markDef,t.config);n.encode.update[c]?(o[c]=n.encode.update[c],delete n.encode.update[c]):f&&(o[c]=on(f)),f&&(n.encode.update[c]={value:0})}const a=[];if(((e=t.stack.groupbyChannels)===null||e===void 0?void 0:e.length)>0)for(const c of t.stack.groupbyChannels){const f=t.fieldDef(c),x=$e(f);x&&a.push(x),(f!=null&&f.bin||f!=null&&f.timeUnit)&&a.push($e(f,{binSuffix:"end"}))}return o=["stroke","strokeWidth","strokeJoin","strokeCap","strokeDash","strokeDashOffset","strokeMiterLimit","strokeOpacity"].reduce((c,f)=>{if(n.encode.update[f])return Object.assign(Object.assign({},c),{[f]:n.encode.update[f]});{const x=bd(f,t.markDef,t.config);return x!==void 0?Object.assign(Object.assign({},c),{[f]:on(x)}):c}},o),o.stroke&&(o.strokeForeground={value:!0},o.strokeOffset={value:0}),[{type:"group",from:{facet:{data:t.requestDataName(Jt.Main),name:Lle+t.requestDataName(Jt.Main),groupby:a,aggregate:{fields:[i({suffix:"start"}),i({suffix:"start"}),i({suffix:"end"}),i({suffix:"end"})],ops:["min","max","min","max"]}}},encode:{update:o},marks:[{type:"group",encode:{update:u},marks:[n]}]}]}function _rt(t){var e;const{encoding:n,stack:r,mark:i,markDef:s,config:o}=t,u=n.order;if(!(!Ce(u)&&hu(u)&&yse(u.value)||!u&&yse(kt("order",s,o)))){if((Ce(u)||Le(u))&&!r)return Qse(u,{expr:"datum"});if(jc(i)){const a=s.orient==="horizontal"?"y":"x",l=n[a];if(Le(l)){const c=l.sort;if(Ce(c))return{field:$e(l,{prefix:a,suffix:"sort_index",expr:"datum"})};if(Fa(c))return{field:$e({aggregate:p8(t.encoding)?c.op:void 0,field:c.field},{expr:"datum"})};if(Uoe(c)){const f=t.fieldDef(c.encoding);return{field:$e(f,{expr:"datum"}),order:c.order}}else return c===null?void 0:{field:$e(l,{binSuffix:!((e=t.stack)===null||e===void 0)&&e.impute?"mid":void 0,expr:"datum"})}}return}}}function SP(t,e={fromPrefix:""}){const{mark:n,markDef:r,encoding:i,config:s}=t,o=rr(r.clip,Crt(t),brt(t)),u=Hse(r),a=i.key,l=_rt(t),c=Trt(t),f=kt("aria",r,s),x=cD[n].postEncodingTransform?cD[n].postEncodingTransform(t):null;return[Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({name:t.getName("marks"),type:cD[n].vgMark},o?{clip:!0}:{}),u?{style:u}:{}),a?{key:a.field}:{}),l?{sort:l}:{}),c||{}),f===!1?{aria:f}:{}),{from:{data:e.fromPrefix+t.requestDataName(Jt.Main)},encode:{update:cD[n].encodeEntry(t)}}),x?{transform:x}:{})]}function Crt(t){const e=t.getScaleComponent("x"),n=t.getScaleComponent("y");return e!=null&&e.get("selectionExtent")||n!=null&&n.get("selectionExtent")?!0:void 0}function brt(t){const e=t.component.projection;return e&&!e.isFit?!0:void 0}function Trt(t){if(!t.component.selection)return null;const e=be(t.component.selection).length;let n=e,r=t.parent;for(;r&&n===0;)n=be(r.component.selection).length,r=r.parent;return n?{interactive:e>0||!!t.encoding.tooltip}:null}class Ile extends Tle{constructor(e,n,r,i={},s){var o;super(e,"unit",n,r,s,void 0,Rue(e)?e.view:void 0),this.specifiedScales={},this.specifiedAxes={},this.specifiedLegends={},this.specifiedProjection={},this.selection=[],this.children=[];const u=Da(e.mark)?Object.assign({},e.mark):{type:e.mark},a=u.type;u.filled===void 0&&(u.filled=ert(u,s,{graticule:e.data&&B8(e.data)}));const l=this.encoding=nJe(e.encoding||{},a,u.filled,s);this.markDef=Xnt(u,l,s),this.size=Knt({encoding:l,size:Rue(e)?Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{}):i}),this.stack=$ue(a,l),this.specifiedScales=this.initScales(a,l),this.specifiedAxes=this.initAxes(l),this.specifiedLegends=this.initLegends(l),this.specifiedProjection=e.projection,this.selection=((o=e.params)!==null&&o!==void 0?o:[]).filter(c=>b8(c))}get hasProjection(){const{encoding:e}=this,n=this.mark===Ooe,r=e&&rYe.some(i=>it(e[i]));return n||r}scaleDomain(e){const n=this.specifiedScales[e];return n?n.domain:void 0}axis(e){return this.specifiedAxes[e]}legend(e){return this.specifiedLegends[e]}initScales(e,n){return fN.reduce((r,i)=>{var s;const o=ir(n[i]);return o&&(r[i]=this.initScale((s=o.scale)!==null&&s!==void 0?s:{})),r},{})}initScale(e){const{domain:n,range:r}=e,i=gs(e);return Ce(n)&&(i.domain=n.map(qs)),Ce(r)&&(i.range=r.map(qs)),i}initAxes(e){return Oa.reduce((n,r)=>{const i=e[r];if(it(i)||r===yn&&it(e.x2)||r===_r&&it(e.y2)){const s=it(i)?i.axis:void 0;n[r]=s&&this.initAxis(Object.assign({},s))}return n},{})}initAxis(e){const n=be(e),r={};for(const i of n){const s=e[i];r[i]=b3(s)?jse(s):qs(s)}return r}initLegends(e){return dYe.reduce((n,r)=>{const i=ir(e[r]);if(i&&pYe(r)){const s=i.legend;n[r]=s&&gs(s)}return n},{})}parseData(){this.component.data=lD(this)}parseLayoutSize(){Lnt(this)}parseSelections(){this.component.selection=get(this,this.selection)}parseMarkGroup(){this.component.mark=Art(this)}parseAxesAndHeaders(){this.component.axes=qnt(this)}assembleSelectionTopLevelSignals(e){return BZe(this,e)}assembleSignals(){return[...Dae(this),...IZe(this,[])]}assembleSelectionData(e){return kZe(this,e)}assembleLayout(){return null}assembleLayoutSignals(){return Z8(this)}assembleMarks(){var e;let n=(e=this.component.mark)!==null&&e!==void 0?e:[];return(!this.parent||!Z2(this.parent))&&(n=nae(this,n)),n.map(this.correctDataNames)}assembleGroupStyle(){const{style:e}=this.view||{};if(e!==void 0)return e;if(this.encoding.x||this.encoding.y)return"cell"}getMapping(){return this.encoding}get mark(){return this.markDef.type}channelHasField(e){return Fd(this.encoding,e)}fieldDef(e){const n=this.encoding[e];return Ia(n)}typedFieldDef(e){const n=this.fieldDef(e);return To(n)?n:null}}class vP extends gP{constructor(e,n,r,i,s){super(e,"layer",n,r,s,e.resolve,e.view);const o=Object.assign(Object.assign(Object.assign({},i),e.width?{width:e.width}:{}),e.height?{height:e.height}:{});this.children=e.layer.map((u,a)=>{if(jN(u))return new vP(u,this,this.getName(`layer_${a}`),o,s);if(r0(u))return new Ile(u,this,this.getName(`layer_${a}`),o,s);throw new Error(F7(u))})}parseData(){this.component.data=lD(this);for(const e of this.children)e.parseData()}parseLayoutSize(){Fnt(this)}parseSelections(){this.component.selection={};for(const e of this.children){e.parseSelections();for(const n of be(e.component.selection))this.component.selection[n]=e.component.selection[n]}}parseMarkGroup(){for(const e of this.children)e.parseMarkGroup()}parseAxesAndHeaders(){znt(this)}assembleSelectionTopLevelSignals(e){return this.children.reduce((n,r)=>r.assembleSelectionTopLevelSignals(n),e)}assembleSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleSignals()),Dae(this))}assembleLayoutSignals(){return this.children.reduce((e,n)=>e.concat(n.assembleLayoutSignals()),Z8(this))}assembleSelectionData(e){return this.children.reduce((n,r)=>r.assembleSelectionData(n),e)}assembleGroupStyle(){const e=new Set;for(const r of this.children)for(const i of Pe(r.assembleGroupStyle()))e.add(i);const n=Array.from(e);return n.length>1?n:n.length===1?n[0]:void 0}assembleTitle(){let e=super.assembleTitle();if(e)return e;for(const n of this.children)if(e=n.assembleTitle(),e)return e}assembleLayout(){return null}assembleMarks(){return PZe(this,this.children.flatMap(e=>e.assembleMarks()))}assembleLegends(){return this.children.reduce((e,n)=>e.concat(n.assembleLegends()),Zae(this))}}function _P(t,e,n,r,i){if(CN(t))return new P3(t,e,n,i);if(jN(t))return new vP(t,e,n,r,i);if(r0(t))return new Ile(t,e,n,r,i);if(TJe(t))return new Pnt(t,e,n,i);throw new Error(F7(t))}var Rrt=function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};function Ort(t,e={}){e.logger&&$Ke(e.logger),e.fieldTitle&&Xoe(e.fieldTitle);try{const n=Lue(f5(e.config,t.config)),r=_Ze(t,n),i=_P(r,null,"",void 0,n);return i.parse(),jtt(i.component.data,i),{spec:Drt(i,Nrt(t,r.autosize,n,i),t.datasets,t.usermeta),normalized:r}}finally{e.logger&&BKe(),e.fieldTitle&&WXe()}}function Nrt(t,e,n,r){const i=r.component.layoutSize.get("width"),s=r.component.layoutSize.get("height");if(e===void 0?(e={type:"pad"},r.hasAxisOrientSignalRef()&&(e.resize=!0)):je(e)&&(e={type:e}),i&&s&&NZe(e.type)){if(i==="step"&&s==="step")Te(Xse()),e.type="pad";else if(i==="step"||s==="step"){const o=i==="step"?"width":"height";Te(Xse(cN(o)));const u=o==="width"?"height":"width";e.type=DZe(u)}}return Object.assign(Object.assign(Object.assign({},be(e).length===1&&e.type?e.type==="pad"?{}:{autosize:e.type}:{autosize:e}),Xue(n,!1)),Xue(t,!0))}function Drt(t,e,n={},r){const i=t.config?MJe(t.config):void 0,s=[].concat(t.assembleSelectionData([]),Rnt(t.component.data,n)),o=t.assembleProjections(),u=t.assembleTitle(),a=t.assembleGroupStyle(),l=t.assembleGroupEncodeEntry(!0);let c=t.assembleLayoutSignals();c=c.filter(h=>(h.name==="width"||h.name==="height")&&h.value!==void 0?(e[h.name]=+h.value,!1):!0);const{params:f}=e,x=Rrt(e,["params"]);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({$schema:"https://vega.github.io/schema/vega/v5.json"},t.description?{description:t.description}:{}),x),u?{title:u}:{}),a?{style:a}:{}),l?{encode:{update:l}}:{}),{data:s}),o.length>0?{projections:o}:{}),t.assembleGroup([...c,...t.assembleSelectionTopLevelSignals([]),...bue(f)])),i?{config:i}:{}),r?{usermeta:r}:{})}var Frt=Zc("<div>");function wrt(t){let e,n=null;return vD(()=>{n&&n.finalize();const r=t.type==="vega-lite"?Ort(t.spec).spec:t.spec;n=new aie(LVe(r)).initialize(e).renderer("svg").hover(),n.run()}),vD(()=>{n&&(t.width&&n.width(t.width),t.height&&n.height(t.height),n.run())}),(()=>{var r=Frt(),i=e;return typeof i=="function"?D0e(i,r):e=r,r})()}function $le(t){const{field:e,data:n}=t,r=t.metadata.field(e).vegaChartProps,i=structuredClone(r.spec);return i.data[0].values=n,En(wrt,{spec:i,type:"vega",get width(){return r.plotWidth},get height(){return r.plotHeight}})}var fD=(t=>(t.Dollars="usd",t.Euros="euro",t.Pounds="pound",t))(fD||{}),sr=(t=>(t.Nanoseconds="nanoseconds",t.Microseconds="microseconds",t.Milliseconds="milliseconds",t.Seconds="seconds",t.Minutes="minutes",t.Hours="hours",t.Days="days",t))(sr||{});function Lrt(t){return Object.values(sr).includes(t)}var Ble={exports:{}};(function(t){var e={},n=function(i){i.version="0.11.2";function s(T){for(var D="",B=T.length-1;B>=0;)D+=T.charAt(B--);return D}function o(T,D){for(var B="";B.length<D;)B+=T;return B}function u(T,D){var B=""+T;return B.length>=D?B:o("0",D-B.length)+B}function a(T,D){var B=""+T;return B.length>=D?B:o(" ",D-B.length)+B}function l(T,D){var B=""+T;return B.length>=D?B:B+o(" ",D-B.length)}function c(T,D){var B=""+Math.round(T);return B.length>=D?B:o("0",D-B.length)+B}function f(T,D){var B=""+T;return B.length>=D?B:o("0",D-B.length)+B}var x=Math.pow(2,32);function h(T,D){if(T>x||T<-x)return c(T,D);var B=Math.round(T);return f(B,D)}function p(T,D){return D=D||0,T.length>=7+D&&(T.charCodeAt(D)|32)===103&&(T.charCodeAt(D+1)|32)===101&&(T.charCodeAt(D+2)|32)===110&&(T.charCodeAt(D+3)|32)===101&&(T.charCodeAt(D+4)|32)===114&&(T.charCodeAt(D+5)|32)===97&&(T.charCodeAt(D+6)|32)===108}var m=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],g=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];function y(T){T[0]="General",T[1]="0",T[2]="0.00",T[3]="#,##0",T[4]="#,##0.00",T[9]="0%",T[10]="0.00%",T[11]="0.00E+00",T[12]="# ?/?",T[13]="# ??/??",T[14]="m/d/yy",T[15]="d-mmm-yy",T[16]="d-mmm",T[17]="mmm-yy",T[18]="h:mm AM/PM",T[19]="h:mm:ss AM/PM",T[20]="h:mm",T[21]="h:mm:ss",T[22]="m/d/yy h:mm",T[37]="#,##0 ;(#,##0)",T[38]="#,##0 ;[Red](#,##0)",T[39]="#,##0.00;(#,##0.00)",T[40]="#,##0.00;[Red](#,##0.00)",T[45]="mm:ss",T[46]="[h]:mm:ss",T[47]="mmss.0",T[48]="##0.0E+0",T[49]="@",T[56]='"上午/下午 "hh"時"mm"分"ss"秒 "'}var E={};y(E);var A=[],S=0;for(S=5;S<=8;++S)A[S]=32+S;for(S=23;S<=26;++S)A[S]=0;for(S=27;S<=31;++S)A[S]=14;for(S=50;S<=58;++S)A[S]=14;for(S=59;S<=62;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-58;for(S=72;S<=75;++S)A[S]=S-58;for(S=67;S<=68;++S)A[S]=S-57;for(S=76;S<=78;++S)A[S]=S-56;for(S=79;S<=81;++S)A[S]=S-34;var v=[];v[5]=v[63]='"$"#,##0_);\\("$"#,##0\\)',v[6]=v[64]='"$"#,##0_);[Red]\\("$"#,##0\\)',v[7]=v[65]='"$"#,##0.00_);\\("$"#,##0.00\\)',v[8]=v[66]='"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',v[41]='_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',v[42]='_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',v[43]='_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',v[44]='_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)';function _(T,D,B){for(var q=T<0?-1:1,L=T*q,U=0,P=1,Y=0,xe=1,re=0,X=0,ae=Math.floor(L);re<D&&(ae=Math.floor(L),Y=ae*P+U,X=ae*re+xe,!(L-ae<5e-8));)L=1/(L-ae),U=P,P=Y,xe=re,re=X;if(X>D&&(re>D?(X=xe,Y=U):(X=re,Y=P)),!B)return[0,q*Y,X];var Be=Math.floor(q*Y/X);return[Be,q*Y-Be*X,X]}function C(T,D,B){if(T>2958465||T<0)return null;var q=T|0,L=Math.floor(86400*(T-q)),U=0,P=[],Y={D:q,T:L,u:86400*(T-q)-L,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(Y.u)<1e-6&&(Y.u=0),D&&D.date1904&&(q+=1462),Y.u>.9999&&(Y.u=0,++L==86400&&(Y.T=L=0,++q,++Y.D)),q===60)P=B?[1317,10,29]:[1900,2,29],U=3;else if(q===0)P=B?[1317,8,29]:[1900,1,0],U=6;else{q>60&&--q;var xe=new Date(1900,0,1);xe.setDate(xe.getDate()+q-1),P=[xe.getFullYear(),xe.getMonth()+1,xe.getDate()],U=xe.getDay(),q<60&&(U=(U+6)%7),B&&(U=Q(xe,P))}return Y.y=P[0],Y.m=P[1],Y.d=P[2],Y.S=L%60,L=Math.floor(L/60),Y.M=L%60,L=Math.floor(L/60),Y.H=L,Y.q=U,Y}i.parse_date_code=C;var b=new Date(1899,11,31,0,0,0),O=b.getTime(),R=new Date(1900,2,1,0,0,0);function I(T,D){var B=T.getTime();return D?B-=1262304e5:T>=R&&(B+=864e5),(B-(O+(T.getTimezoneOffset()-b.getTimezoneOffset())*6e4))/864e5}function M(T){return T.toString(10)}i._general_int=M;var H=function(){var D=/(?:\.0*|(\.\d*[1-9])0+)$/;function B(re){return re.indexOf(".")==-1?re:re.replace(D,"$1")}var q=/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,L=/(E[+-])(\d)$/;function U(re){return re.indexOf("E")==-1?re:re.replace(q,"$1E").replace(L,"$10$2")}function P(re){var X=re<0?12:11,ae=B(re.toFixed(12));return ae.length<=X||(ae=re.toPrecision(10),ae.length<=X)?ae:re.toExponential(5)}function Y(re){var X=B(re.toFixed(11));return X.length>(re<0?12:11)||X==="0"||X==="-0"?re.toPrecision(6):X}function xe(re){var X=Math.floor(Math.log(Math.abs(re))*Math.LOG10E),ae;return X>=-4&&X<=-1?ae=re.toPrecision(10+X):Math.abs(X)<=9?ae=P(re):X===10?ae=re.toFixed(10).substr(0,12):ae=Y(re),B(U(ae.toUpperCase()))}return xe}();i._general_num=H;function V(T,D){switch(typeof T){case"string":return T;case"boolean":return T?"TRUE":"FALSE";case"number":return(T|0)===T?T.toString(10):H(T);case"undefined":return"";case"object":if(T==null)return"";if(T instanceof Date)return j(14,I(T,D&&D.date1904),D)}throw new Error("unsupported value in General format: "+T)}i._general=V;function Q(T,D){D[0]-=581;var B=T.getDay();return T<60&&(B=(B+6)%7),B}function ue(T,D,B,q){var L="",U=0,P=0,Y=B.y,xe,re=0;switch(T){case 98:Y=B.y+543;case 121:switch(D.length){case 1:case 2:xe=Y%100,re=2;break;default:xe=Y%1e4,re=4;break}break;case 109:switch(D.length){case 1:case 2:xe=B.m,re=D.length;break;case 3:return g[B.m-1][1];case 5:return g[B.m-1][0];default:return g[B.m-1][2]}break;case 100:switch(D.length){case 1:case 2:xe=B.d,re=D.length;break;case 3:return m[B.q][0];default:return m[B.q][1]}break;case 104:switch(D.length){case 1:case 2:xe=1+(B.H+11)%12,re=D.length;break;default:throw"bad hour format: "+D}break;case 72:switch(D.length){case 1:case 2:xe=B.H,re=D.length;break;default:throw"bad hour format: "+D}break;case 77:switch(D.length){case 1:case 2:xe=B.M,re=D.length;break;default:throw"bad minute format: "+D}break;case 115:if(D!="s"&&D!="ss"&&D!=".0"&&D!=".00"&&D!=".000")throw"bad second format: "+D;return B.u===0&&(D=="s"||D=="ss")?u(B.S,D.length):(q>=2?P=q===3?1e3:100:P=q===1?10:1,U=Math.round(P*(B.S+B.u)),U>=60*P&&(U=0),D==="s"?U===0?"0":""+U/P:(L=u(U,2+q),D==="ss"?L.substr(0,2):"."+L.substr(2,D.length-1)));case 90:switch(D){case"[h]":case"[hh]":xe=B.D*24+B.H;break;case"[m]":case"[mm]":xe=(B.D*24+B.H)*60+B.M;break;case"[s]":case"[ss]":xe=((B.D*24+B.H)*60+B.M)*60+Math.round(B.S+B.u);break;default:throw"bad abstime format: "+D}re=D.length===3?1:2;break;case 101:xe=Y,re=1;break}var X=re>0?u(xe,re):"";return X}function he(T){var D=3;if(T.length<=D)return T;for(var B=T.length%D,q=T.substr(0,B);B!=T.length;B+=D)q+=(q.length>0?",":"")+T.substr(B,D);return q}var le=function(){var D=/%/g;function B(Ae,Z,se){var Me=Z.replace(D,""),W=Z.length-Me.length;return le(Ae,Me,se*Math.pow(10,2*W))+o("%",W)}function q(Ae,Z,se){for(var Me=Z.length-1;Z.charCodeAt(Me-1)===44;)--Me;return le(Ae,Z.substr(0,Me),se/Math.pow(10,3*(Z.length-Me)))}function L(Ae,Z){var se,Me=Ae.indexOf("E")-Ae.indexOf(".")-1;if(Ae.match(/^#+0.0E\+0$/)){if(Z==0)return"0.0E+0";if(Z<0)return"-"+L(Ae,-Z);var W=Ae.indexOf(".");W===-1&&(W=Ae.indexOf("E"));var fe=Math.floor(Math.log(Z)*Math.LOG10E)%W;if(fe<0&&(fe+=W),se=(Z/Math.pow(10,fe)).toPrecision(Me+1+(W+fe)%W),se.indexOf("e")===-1){var we=Math.floor(Math.log(Z)*Math.LOG10E);for(se.indexOf(".")===-1?se=se.charAt(0)+"."+se.substr(1)+"E+"+(we-se.length+fe):se+="E+"+(we-fe);se.substr(0,2)==="0.";)se=se.charAt(0)+se.substr(2,W)+"."+se.substr(2+W),se=se.replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");se=se.replace(/\+-/,"-")}se=se.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(W+fe)%W)+"."+rt.substr(fe)+"E"})}else se=Z.toExponential(Me);return Ae.match(/E\+00$/)&&se.match(/e[+-]\d$/)&&(se=se.substr(0,se.length-1)+"0"+se.charAt(se.length-1)),Ae.match(/E\-/)&&se.match(/e\+/)&&(se=se.replace(/e\+/,"e")),se.replace("e","E")}var U=/# (\?+)( ?)\/( ?)(\d+)/;function P(Ae,Z,se){var Me=parseInt(Ae[4],10),W=Math.round(Z*Me),fe=Math.floor(W/Me),we=W-fe*Me,ze=Me;return se+(fe===0?"":""+fe)+" "+(we===0?o(" ",Ae[1].length+1+Ae[4].length):a(we,Ae[1].length)+Ae[2]+"/"+Ae[3]+u(ze,Ae[4].length))}function Y(Ae,Z,se){return se+(Z===0?"":""+Z)+o(" ",Ae[1].length+2+Ae[4].length)}var xe=/^#*0*\.([0#]+)/,re=/\).*[0#]/,X=/\(###\) ###\\?-####/;function ae(Ae){for(var Z="",se,Me=0;Me!=Ae.length;++Me)switch(se=Ae.charCodeAt(Me)){case 35:break;case 63:Z+=" ";break;case 48:Z+="0";break;default:Z+=String.fromCharCode(se)}return Z}function Be(Ae,Z){var se=Math.pow(10,Z);return""+Math.round(Ae*se)/se}function ut(Ae,Z){var se=Ae-Math.floor(Ae),Me=Math.pow(10,Z);return Z<(""+Math.round(se*Me)).length?0:Math.round(se*Me)}function Rt(Ae,Z){return Z<(""+Math.round((Ae-Math.floor(Ae))*Math.pow(10,Z))).length?1:0}function J(Ae){return Ae<2147483647&&Ae>-2147483648?""+(Ae>=0?Ae|0:Ae-1|0):""+Math.floor(Ae)}function oe(Ae,Z,se){if(Ae.charCodeAt(0)===40&&!Z.match(re)){var Me=Z.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return se>=0?oe("n",Me,se):"("+oe("n",Me,-se)+")"}if(Z.charCodeAt(Z.length-1)===44)return q(Ae,Z,se);if(Z.indexOf("%")!==-1)return B(Ae,Z,se);if(Z.indexOf("E")!==-1)return L(Z,se);if(Z.charCodeAt(0)===36)return"$"+oe(Ae,Z.substr(Z.charAt(1)==" "?2:1),se);var W,fe,we,ze,nt=Math.abs(se),yt=se<0?"-":"";if(Z.match(/^00+$/))return yt+h(nt,Z.length);if(Z.match(/^[#?]+$/))return W=h(se,0),W==="0"&&(W=""),W.length>Z.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(U))return P(fe,nt,yt);if(Z.match(/^#+0+$/))return yt+h(nt,Z.length-Z.indexOf("0"));if(fe=Z.match(xe))return W=Be(se,fe[1].length).replace(/^([^\.]+)$/,"$1."+ae(fe[1])).replace(/\.$/,"."+ae(fe[1])).replace(/\.(\d*)$/,function(Qs,U3){return"."+U3+o("0",ae(fe[1]).length-U3.length)}),Z.indexOf("0.")!==-1?W:W.replace(/^0\./,".");if(Z=Z.replace(/^#+([0.])/,"$1"),fe=Z.match(/^(0*)\.(#*)$/))return yt+Be(nt,fe[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,fe[1].length?"0.":".");if(fe=Z.match(/^#{1,3},##0(\.?)$/))return yt+he(h(nt,0));if(fe=Z.match(/^#,##0\.([#0]*0)$/))return se<0?"-"+oe(Ae,Z,-se):he(""+(Math.floor(se)+Rt(se,fe[1].length)))+"."+u(ut(se,fe[1].length),fe[1].length);if(fe=Z.match(/^#,#*,#0/))return oe(Ae,Z.replace(/^#,#*,/,""),se);if(fe=Z.match(/^([0#]+)(\\?-([0#]+))+$/))return W=s(oe(Ae,Z.replace(/[\\-]/g,""),se)),we=0,s(s(Z.replace(/\\/g,"")).replace(/[0#]/g,function(Qs){return we<W.length?W.charAt(we++):Qs==="0"?"0":""}));if(Z.match(X))return W=oe(Ae,"##########",se),"("+W.substr(0,3)+") "+W.substr(3,3)+"-"+W.substr(6);var rt="";if(fe=Z.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(fe[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),W=""+yt,rt=le("n",fe[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),W+=rt+fe[2]+"/"+fe[3],rt=l(ze[2],we),rt.length<fe[4].length&&(rt=ae(fe[4].substr(fe[4].length-rt.length))+rt),W+=rt,W;if(fe=Z.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(fe[1].length,fe[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+fe[2]+"/"+fe[3]+l(ze[2],we):o(" ",2*we+1+fe[2].length+fe[3].length));if(fe=Z.match(/^[#0?]+$/))return W=h(se,0),Z.length<=W.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(/^([#0?]+)\.([#0]+)$/)){W=""+se.toFixed(Math.min(fe[2].length,10)).replace(/([^0])0+$/,"$1"),we=W.indexOf(".");var Tr=Z.indexOf(".")-we,Kc=Z.length-W.length-Tr;return ae(Z.substr(0,Tr)+W+Z.substr(Z.length-Kc))}if(fe=Z.match(/^00,000\.([#0]*0)$/))return we=ut(se,fe[1].length),se<0?"-"+oe(Ae,Z,-se):he(J(se)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Qs){return"00,"+(Qs.length<3?u(0,3-Qs.length):"")+Qs})+"."+u(we,fe[1].length);switch(Z){case"###,##0.00":return oe(Ae,"#,##0.00",se);case"###,###":case"##,###":case"#,###":var j3=he(h(nt,0));return j3!=="0"?yt+j3:"";case"###,###.00":return oe(Ae,"###,##0.00",se).replace(/^0\./,".");case"#,###.00":return oe(Ae,"#,##0.00",se).replace(/^0\./,".")}throw new Error("unsupported format |"+Z+"|")}function Re(Ae,Z,se){for(var Me=Z.length-1;Z.charCodeAt(Me-1)===44;)--Me;return le(Ae,Z.substr(0,Me),se/Math.pow(10,3*(Z.length-Me)))}function He(Ae,Z,se){var Me=Z.replace(D,""),W=Z.length-Me.length;return le(Ae,Me,se*Math.pow(10,2*W))+o("%",W)}function qe(Ae,Z){var se,Me=Ae.indexOf("E")-Ae.indexOf(".")-1;if(Ae.match(/^#+0.0E\+0$/)){if(Z==0)return"0.0E+0";if(Z<0)return"-"+qe(Ae,-Z);var W=Ae.indexOf(".");W===-1&&(W=Ae.indexOf("E"));var fe=Math.floor(Math.log(Z)*Math.LOG10E)%W;if(fe<0&&(fe+=W),se=(Z/Math.pow(10,fe)).toPrecision(Me+1+(W+fe)%W),!se.match(/[Ee]/)){var we=Math.floor(Math.log(Z)*Math.LOG10E);se.indexOf(".")===-1?se=se.charAt(0)+"."+se.substr(1)+"E+"+(we-se.length+fe):se+="E+"+(we-fe),se=se.replace(/\+-/,"-")}se=se.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(ze,nt,yt,rt){return nt+yt+rt.substr(0,(W+fe)%W)+"."+rt.substr(fe)+"E"})}else se=Z.toExponential(Me);return Ae.match(/E\+00$/)&&se.match(/e[+-]\d$/)&&(se=se.substr(0,se.length-1)+"0"+se.charAt(se.length-1)),Ae.match(/E\-/)&&se.match(/e\+/)&&(se=se.replace(/e\+/,"e")),se.replace("e","E")}function Ie(Ae,Z,se){if(Ae.charCodeAt(0)===40&&!Z.match(re)){var Me=Z.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return se>=0?Ie("n",Me,se):"("+Ie("n",Me,-se)+")"}if(Z.charCodeAt(Z.length-1)===44)return Re(Ae,Z,se);if(Z.indexOf("%")!==-1)return He(Ae,Z,se);if(Z.indexOf("E")!==-1)return qe(Z,se);if(Z.charCodeAt(0)===36)return"$"+Ie(Ae,Z.substr(Z.charAt(1)==" "?2:1),se);var W,fe,we,ze,nt=Math.abs(se),yt=se<0?"-":"";if(Z.match(/^00+$/))return yt+u(nt,Z.length);if(Z.match(/^[#?]+$/))return W=""+se,se===0&&(W=""),W.length>Z.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(U))return Y(fe,nt,yt);if(Z.match(/^#+0+$/))return yt+u(nt,Z.length-Z.indexOf("0"));if(fe=Z.match(xe))return W=(""+se).replace(/^([^\.]+)$/,"$1."+ae(fe[1])).replace(/\.$/,"."+ae(fe[1])),W=W.replace(/\.(\d*)$/,function(Qs,U3){return"."+U3+o("0",ae(fe[1]).length-U3.length)}),Z.indexOf("0.")!==-1?W:W.replace(/^0\./,".");if(Z=Z.replace(/^#+([0.])/,"$1"),fe=Z.match(/^(0*)\.(#*)$/))return yt+(""+nt).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,fe[1].length?"0.":".");if(fe=Z.match(/^#{1,3},##0(\.?)$/))return yt+he(""+nt);if(fe=Z.match(/^#,##0\.([#0]*0)$/))return se<0?"-"+Ie(Ae,Z,-se):he(""+se)+"."+o("0",fe[1].length);if(fe=Z.match(/^#,#*,#0/))return Ie(Ae,Z.replace(/^#,#*,/,""),se);if(fe=Z.match(/^([0#]+)(\\?-([0#]+))+$/))return W=s(Ie(Ae,Z.replace(/[\\-]/g,""),se)),we=0,s(s(Z.replace(/\\/g,"")).replace(/[0#]/g,function(Qs){return we<W.length?W.charAt(we++):Qs==="0"?"0":""}));if(Z.match(X))return W=Ie(Ae,"##########",se),"("+W.substr(0,3)+") "+W.substr(3,3)+"-"+W.substr(6);var rt="";if(fe=Z.match(/^([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(fe[4].length,7),ze=_(nt,Math.pow(10,we)-1,!1),W=""+yt,rt=le("n",fe[1],ze[1]),rt.charAt(rt.length-1)==" "&&(rt=rt.substr(0,rt.length-1)+"0"),W+=rt+fe[2]+"/"+fe[3],rt=l(ze[2],we),rt.length<fe[4].length&&(rt=ae(fe[4].substr(fe[4].length-rt.length))+rt),W+=rt,W;if(fe=Z.match(/^# ([#0?]+)( ?)\/( ?)([#0?]+)/))return we=Math.min(Math.max(fe[1].length,fe[4].length),7),ze=_(nt,Math.pow(10,we)-1,!0),yt+(ze[0]||(ze[1]?"":"0"))+" "+(ze[1]?a(ze[1],we)+fe[2]+"/"+fe[3]+l(ze[2],we):o(" ",2*we+1+fe[2].length+fe[3].length));if(fe=Z.match(/^[#0?]+$/))return W=""+se,Z.length<=W.length?W:ae(Z.substr(0,Z.length-W.length))+W;if(fe=Z.match(/^([#0]+)\.([#0]+)$/)){W=""+se.toFixed(Math.min(fe[2].length,10)).replace(/([^0])0+$/,"$1"),we=W.indexOf(".");var Tr=Z.indexOf(".")-we,Kc=Z.length-W.length-Tr;return ae(Z.substr(0,Tr)+W+Z.substr(Z.length-Kc))}if(fe=Z.match(/^00,000\.([#0]*0)$/))return se<0?"-"+Ie(Ae,Z,-se):he(""+se).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(Qs){return"00,"+(Qs.length<3?u(0,3-Qs.length):"")+Qs})+"."+u(0,fe[1].length);switch(Z){case"###,###":case"##,###":case"#,###":var j3=he(""+nt);return j3!=="0"?yt+j3:"";default:if(Z.match(/\.[0#?]*$/))return Ie(Ae,Z.slice(0,Z.lastIndexOf(".")),se)+ae(Z.slice(Z.lastIndexOf(".")))}throw new Error("unsupported format |"+Z+"|")}return function(Z,se,Me){return(Me|0)===Me?Ie(Z,se,Me):oe(Z,se,Me)}}();function ne(T){for(var D=[],B=!1,q=0,L=0;q<T.length;++q)switch(T.charCodeAt(q)){case 34:B=!B;break;case 95:case 42:case 92:++q;break;case 59:D[D.length]=T.substr(L,q-L),L=q+1}if(D[D.length]=T.substr(L),B===!0)throw new Error("Format |"+T+"| unterminated string ");return D}i._split=ne;var ce=/\[[HhMmSs\u0E0A\u0E19\u0E17]*\]/;function de(T){for(var D=0,B="",q="";D<T.length;)switch(B=T.charAt(D)){case"G":p(T,D)&&(D+=6),D++;break;case'"':for(;T.charCodeAt(++D)!==34&&D<T.length;);++D;break;case"\\":D+=2;break;case"_":D+=2;break;case"@":++D;break;case"B":case"b":if(T.charAt(D+1)==="1"||T.charAt(D+1)==="2")return!0;case"M":case"D":case"Y":case"H":case"S":case"E":case"m":case"d":case"y":case"h":case"s":case"e":case"g":return!0;case"A":case"a":case"上":if(T.substr(D,3).toUpperCase()==="A/P"||T.substr(D,5).toUpperCase()==="AM/PM"||T.substr(D,5).toUpperCase()==="上午/下午")return!0;++D;break;case"[":for(q=B;T.charAt(D++)!=="]"&&D<T.length;)q+=T.charAt(D);if(q.match(ce))return!0;break;case".":case"0":case"#":for(;D<T.length&&("0#?.,E+-%".indexOf(B=T.charAt(++D))>-1||B=="\\"&&T.charAt(D+1)=="-"&&"0#".indexOf(T.charAt(D+2))>-1););break;case"?":for(;T.charAt(++D)===B;);break;case"*":++D,(T.charAt(D)==" "||T.charAt(D)=="*")&&++D;break;case"(":case")":++D;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;D<T.length&&"0123456789".indexOf(T.charAt(++D))>-1;);break;case" ":++D;break;default:++D;break}return!1}i.is_date=de;function G(T,D,B,q){for(var L=[],U="",P=0,Y="",xe="t",re,X,ae,Be="H";P<T.length;)switch(Y=T.charAt(P)){case"G":if(!p(T,P))throw new Error("unrecognized character "+Y+" in "+T);L[L.length]={t:"G",v:"General"},P+=7;break;case'"':for(U="";(ae=T.charCodeAt(++P))!==34&&P<T.length;)U+=String.fromCharCode(ae);L[L.length]={t:"t",v:U},++P;break;case"\\":var ut=T.charAt(++P),Rt=ut==="("||ut===")"?ut:"t";L[L.length]={t:Rt,v:ut},++P;break;case"_":L[L.length]={t:"t",v:" "},P+=2;break;case"@":L[L.length]={t:"T",v:D},++P;break;case"B":case"b":if(T.charAt(P+1)==="1"||T.charAt(P+1)==="2"){if(re==null&&(re=C(D,B,T.charAt(P+1)==="2"),re==null))return"";L[L.length]={t:"X",v:T.substr(P,2)},xe=Y,P+=2;break}case"M":case"D":case"Y":case"H":case"S":case"E":Y=Y.toLowerCase();case"m":case"d":case"y":case"h":case"s":case"e":case"g":if(D<0||re==null&&(re=C(D,B),re==null))return"";for(U=Y;++P<T.length&&T.charAt(P).toLowerCase()===Y;)U+=Y;Y==="m"&&xe.toLowerCase()==="h"&&(Y="M"),Y==="h"&&(Y=Be),L[L.length]={t:Y,v:U},xe=Y;break;case"A":case"a":case"上":var J={t:Y,v:Y};if(re==null&&(re=C(D,B)),T.substr(P,3).toUpperCase()==="A/P"?(re!=null&&(J.v=re.H>=12?"P":"A"),J.t="T",Be="h",P+=3):T.substr(P,5).toUpperCase()==="AM/PM"?(re!=null&&(J.v=re.H>=12?"PM":"AM"),J.t="T",P+=5,Be="h"):T.substr(P,5).toUpperCase()==="上午/下午"?(re!=null&&(J.v=re.H>=12?"下午":"上午"),J.t="T",P+=5,Be="h"):(J.t="t",++P),re==null&&J.t==="T")return"";L[L.length]=J,xe=Y;break;case"[":for(U=Y;T.charAt(P++)!=="]"&&P<T.length;)U+=T.charAt(P);if(U.slice(-1)!=="]")throw'unterminated "[" block: |'+U+"|";if(U.match(ce)){if(re==null&&(re=C(D,B),re==null))return"";L[L.length]={t:"Z",v:U.toLowerCase()},xe=U.charAt(1)}else U.indexOf("$")>-1&&(U=(U.match(/\$([^-\[\]]*)/)||[])[1]||"$",de(T)||(L[L.length]={t:"t",v:U}));break;case".":if(re!=null){for(U=Y;++P<T.length&&(Y=T.charAt(P))==="0";)U+=Y;L[L.length]={t:"s",v:U};break}case"0":case"#":for(U=Y;++P<T.length&&"0#?.,E+-%".indexOf(Y=T.charAt(P))>-1;)U+=Y;L[L.length]={t:"n",v:U};break;case"?":for(U=Y;T.charAt(++P)===Y;)U+=Y;L[L.length]={t:Y,v:U},xe=Y;break;case"*":++P,(T.charAt(P)==" "||T.charAt(P)=="*")&&++P;break;case"(":case")":L[L.length]={t:q===1?"t":Y,v:Y},++P;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(U=Y;P<T.length&&"0123456789".indexOf(T.charAt(++P))>-1;)U+=T.charAt(P);L[L.length]={t:"D",v:U};break;case" ":L[L.length]={t:Y,v:Y},++P;break;case"$":L[L.length]={t:"t",v:"$"},++P;break;default:if(",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(Y)===-1)throw new Error("unrecognized character "+Y+" in "+T);L[L.length]={t:"t",v:Y},++P;break}var oe=0,Re=0,He;for(P=L.length-1,xe="t";P>=0;--P)switch(L[P].t){case"h":case"H":L[P].t=Be,xe="h",oe<1&&(oe=1);break;case"s":(He=L[P].v.match(/\.0+$/))&&(Re=Math.max(Re,He[0].length-1)),oe<3&&(oe=3);case"d":case"y":case"M":case"e":xe=L[P].t;break;case"m":xe==="s"&&(L[P].t="M",oe<2&&(oe=2));break;case"X":break;case"Z":oe<1&&L[P].v.match(/[Hh]/)&&(oe=1),oe<2&&L[P].v.match(/[Mm]/)&&(oe=2),oe<3&&L[P].v.match(/[Ss]/)&&(oe=3)}switch(oe){case 0:break;case 1:re.u>=.5&&(re.u=0,++re.S),re.S>=60&&(re.S=0,++re.M),re.M>=60&&(re.M=0,++re.H);break;case 2:re.u>=.5&&(re.u=0,++re.S),re.S>=60&&(re.S=0,++re.M);break}var qe="",Ie;for(P=0;P<L.length;++P)switch(L[P].t){case"t":case"T":case" ":case"D":break;case"X":L[P].v="",L[P].t=";";break;case"d":case"m":case"y":case"h":case"H":case"M":case"s":case"e":case"b":case"Z":L[P].v=ue(L[P].t.charCodeAt(0),L[P].v,re,Re),L[P].t="t";break;case"n":case"?":for(Ie=P+1;L[Ie]!=null&&((Y=L[Ie].t)==="?"||Y==="D"||(Y===" "||Y==="t")&&L[Ie+1]!=null&&(L[Ie+1].t==="?"||L[Ie+1].t==="t"&&L[Ie+1].v==="/")||L[P].t==="("&&(Y===" "||Y==="n"||Y===")")||Y==="t"&&(L[Ie].v==="/"||L[Ie].v===" "&&L[Ie+1]!=null&&L[Ie+1].t=="?"));)L[P].v+=L[Ie].v,L[Ie]={v:"",t:";"},++Ie;qe+=L[P].v,P=Ie-1;break;case"G":L[P].t="t",L[P].v=V(D,B);break}var Ae="",Z,se;if(qe.length>0){qe.charCodeAt(0)==40?(Z=D<0&&qe.charCodeAt(0)===45?-D:D,se=le("n",qe,Z)):(Z=D<0&&q>1?-D:D,se=le("n",qe,Z),Z<0&&L[0]&&L[0].t=="t"&&(se=se.substr(1),L[0].v="-"+L[0].v)),Ie=se.length-1;var Me=L.length;for(P=0;P<L.length;++P)if(L[P]!=null&&L[P].t!="t"&&L[P].v.indexOf(".")>-1){Me=P;break}var W=L.length;if(Me===L.length&&se.indexOf("E")===-1){for(P=L.length-1;P>=0;--P)L[P]==null||"n?".indexOf(L[P].t)===-1||(Ie>=L[P].v.length-1?(Ie-=L[P].v.length,L[P].v=se.substr(Ie+1,L[P].v.length)):Ie<0?L[P].v="":(L[P].v=se.substr(0,Ie+1),Ie=-1),L[P].t="t",W=P);Ie>=0&&W<L.length&&(L[W].v=se.substr(0,Ie+1)+L[W].v)}else if(Me!==L.length&&se.indexOf("E")===-1){for(Ie=se.indexOf(".")-1,P=Me;P>=0;--P)if(!(L[P]==null||"n?".indexOf(L[P].t)===-1)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")-1:L[P].v.length-1,Ae=L[P].v.substr(X+1);X>=0;--X)Ie>=0&&(L[P].v.charAt(X)==="0"||L[P].v.charAt(X)==="#")&&(Ae=se.charAt(Ie--)+Ae);L[P].v=Ae,L[P].t="t",W=P}for(Ie>=0&&W<L.length&&(L[W].v=se.substr(0,Ie+1)+L[W].v),Ie=se.indexOf(".")+1,P=Me;P<L.length;++P)if(!(L[P]==null||"n?(".indexOf(L[P].t)===-1&&P!==Me)){for(X=L[P].v.indexOf(".")>-1&&P===Me?L[P].v.indexOf(".")+1:0,Ae=L[P].v.substr(0,X);X<L[P].v.length;++X)Ie<se.length&&(Ae+=se.charAt(Ie++));L[P].v=Ae,L[P].t="t",W=P}}}for(P=0;P<L.length;++P)L[P]!=null&&"n?".indexOf(L[P].t)>-1&&(Z=q>1&&D<0&&P>0&&L[P-1].v==="-"?-D:D,L[P].v=le(L[P].t,L[P].v,Z),L[P].t="t");var fe="";for(P=0;P!==L.length;++P)L[P]!=null&&(fe+=L[P].v);return fe}i._eval=G;var F=/\[[=<>]/,k=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function z(T,D){if(D==null)return!1;var B=parseFloat(D[2]);switch(D[1]){case"=":if(T==B)return!0;break;case">":if(T>B)return!0;break;case"<":if(T<B)return!0;break;case"<>":if(T!=B)return!0;break;case">=":if(T>=B)return!0;break;case"<=":if(T<=B)return!0;break}return!1}function K(T,D){var B=ne(T),q=B.length,L=B[q-1].indexOf("@");if(q<4&&L>-1&&--q,B.length>4)throw new Error("cannot find right format for |"+B.join("|")+"|");if(typeof D!="number")return[4,B.length===4||L>-1?B[B.length-1]:"@"];switch(B.length){case 1:B=L>-1?["General","General","General",B[0]]:[B[0],B[0],B[0],"@"];break;case 2:B=L>-1?[B[0],B[0],B[0],B[1]]:[B[0],B[1],B[0],"@"];break;case 3:B=L>-1?[B[0],B[1],B[0],B[2]]:[B[0],B[1],B[2],"@"];break}var U=D>0?B[0]:D<0?B[1]:B[2];if(B[0].indexOf("[")===-1&&B[1].indexOf("[")===-1)return[q,U];if(B[0].match(F)!=null||B[1].match(F)!=null){var P=B[0].match(k),Y=B[1].match(k);return z(D,P)?[q,B[0]]:z(D,Y)?[q,B[1]]:[q,B[P!=null&&Y!=null?2:1]]}return[q,U]}function j(T,D,B){B==null&&(B={});var q="";switch(typeof T){case"string":T=="m/d/yy"&&B.dateNF?q=B.dateNF:q=T;break;case"number":T==14&&B.dateNF?q=B.dateNF:q=(B.table!=null?B.table:E)[T],q==null&&(q=B.table&&B.table[A[T]]||E[A[T]]),q==null&&(q=v[T]||"General");break}if(p(q,0))return V(D,B);D instanceof Date&&(D=I(D,B.date1904));var L=K(q,D);if(p(L[1]))return V(D,B);if(D===!0)D="TRUE";else if(D===!1)D="FALSE";else if(D===""||D==null)return"";return G(L[1],D,B,L[0])}function $(T,D){if(typeof D!="number"){D=+D||-1;for(var B=0;B<392;++B){if(E[B]==null){D<0&&(D=B);continue}if(E[B]==T){D=B;break}}D<0&&(D=391)}return E[D]=T,D}i.load=$,i._table=E,i.get_table=function(){return E},i.load_table=function(D){for(var B=0;B!=392;++B)D[B]!==void 0&&$(D[B],B)},i.init_table=y,i.format=j};n(e),typeof DO_NOT_EXPORT_SSF>"u"&&(t.exports=e)})(Ble);var xD=Ble.exports,Irt=typeof N=="object"&&N&&N.Object===Object&&N,$rt=Irt,Brt=$rt,krt=typeof self=="object"&&self&&self.Object===Object&&self,Prt=Brt||krt||Function("return this")(),Mrt=Prt,jrt=Mrt,Urt=jrt.Symbol,CP=Urt,kle=CP;kle&&kle.toStringTag;var Ple=CP;Ple&&Ple.toStringTag;var Mle=CP,jle=Mle?Mle.prototype:void 0;jle&&jle.toString;function qrt(t,e){const n=t.createElement("span");return n.classList.add("error"),n.appendChild(t.createTextNode(typeof e=="string"?e:e.message)),n}function Hrt(t){const e=t.createElement("span");return e.appendChild(t.createTextNode("∅")),e.classList.add("value-null"),e}class Ule{constructor(){this.tagOptionExtractors={}}addExtractor(e,...n){for(const r in n)this.tagOptionExtractors[n[r]]=e}activates(e){return!1}isValidMatch(e){return!0}matches(e){return e.renderer===this.rendererName}parseTagParameters(e){const n={};for(const r in this.tagOptionExtractors){const i=e.tag(r);i&&this.tagOptionExtractors[r](n,i)}return n}}class qle{constructor(e){this.document=e}getText(e){return e.value===null?null:`${e.value}`}async render(e){let n=null;try{n=this.getText(e)}catch(i){return qrt(this.document,i)}if(n===null)return Hrt(this.document);const r=this.document.createElement("span");return r.appendChild(this.document.createTextNode(n)),r}}const dD=class dD extends Ule{activates(e){return e.hasParentExplore()&&!e.isExploreField()}create(e,n,r,i,s){return new qle(e)}get rendererName(){}};dD.instance=new dD;let Hle=dD;function zle(t,e,n={}){let r=e.toString();return n.terse?r=zrt.get(e)??r:t===1&&(r=r.substring(0,r.length-1)),`${n.numFormat?xD.format(n.numFormat,t):t.toLocaleString()}${n.terse?"":" "}${r}`}const zrt=new Map([[sr.Nanoseconds,"ns"],[sr.Microseconds,"µs"],[sr.Milliseconds,"ms"],[sr.Seconds,"s"],[sr.Minutes,"m"],[sr.Hours,"h"],[sr.Days,"d"]]),Qrt=new Map([[sr.Nanoseconds,1e3],[sr.Microseconds,1e3],[sr.Milliseconds,1e3],[sr.Seconds,60],[sr.Minutes,60],[sr.Hours,24],[sr.Days,Number.MAX_VALUE]]);function Qle(t,e,n){const r=n.durationUnit&&Lrt(n.durationUnit)?n.durationUnit:sr.Seconds,i=t.tagParse().tag,s=i.text("number"),o=i.has("duration","terse");let u=e,a=0,l=[],c=!1;for(const[f,x]of Qrt)if(f===r&&(c=!0),!!c&&(a=u%x,u=Math.floor(u/=x),a>0&&(l=[zle(a,f,{numFormat:s,terse:o}),...l]),u===0))break;return l.length>0?l.slice(0,2).join(" "):zle(0,r,{numFormat:s,terse:o})}class Grt extends qle{constructor(e,n){super(e),this.options=n}getText(e){if(e.isNull())return null;if(!e.isNumber())throw new Error(`Cannot format field ${e.field.name} as a duration unit since its not a number`);return Qle(e.field,e.number.value,{durationUnit:this.options.duration_unit})}}const hD=class hD extends Ule{constructor(){super(),this.addExtractor((e,n)=>{e.duration_unit=(n==null?void 0:n.text())??sr.Seconds},this.rendererName)}create(e,n,r,i,s){return new Grt(e,s)}get rendererName(){return"duration"}};hD.instance=new hD;let Gle=hD;function Wle(t,e){let n=e;const{tag:r}=t.tagParse();if(r.has("currency")){let i="$";switch(r.text("currency")){case fD.Euros:i="€";break;case fD.Pounds:i="£";break;case fD.Dollars:break}n=xD.format(`${i}#,##0.00`,e)}else if(r.has("percent"))n=xD.format("#,##0.00%",e);else if(r.has("duration")){const s=r.text("duration")??sr.Seconds;return Qle(t,e,{durationUnit:s})??e.toLocaleString()}else r.has("number")?n=xD.format(r.text("number"),e):n=e.toLocaleString();return n}const Wrt=32,Vrt=384,Vle=12,Yrt=28;function Krt(t){const e={};for(const[n,r]of Object.entries(t.fields)){const i=r.field,s={metadata:r,width:i.isExplore()?0:Xrt(i,t),height:null},{tag:o}=i.tagParse();a5(o,"bar","bar_chart")&&i.isExploreField()?(s.width=r.vegaChartProps.totalWidth,s.height=r.vegaChartProps.totalHeight):!i.isExplore()&&i.isAtomicField()&&(s.height=Yrt),e[n]=s}return e}function Xrt(t,e){const n=bx(t),r=e.fields[n];let i=0;if(t.isAtomicField()){const s="12px Inter, sans-serif",o=hy(t.name,s);if(t.isAtomicField()&&t.isString())i=Math.max(hy(r.maxString,s),o)+Vle;else if(t.isAtomicField()&&t.isNumber()){const u=r.max===null?"∅":Wle(t,r.max);i=Math.max(hy(u,s),o)+Vle}else i=130;i=bFe(Wrt,Vrt,i)}return i}const Yle=$P(),M3=()=>BP(Yle);var Jrt=Zc("<div class=cell-wrapper><div class=cell-gutter></div><div class=cell-content></div><div class=cell-gutter>"),Zrt=Zc("<th class=column-cell>"),eit=Zc("<td class=column-cell>"),tit=Zc("<div class=sticky-header><div class=sticky-header-content>"),nit=Zc("<div class=malloy-table><table><thead><tr></tr></thead><tbody>"),rit=Zc("<tr>");const Kle=t=>{const e=()=>{const n=M3().layout,r=n[bx(t.field)].width,i=n[bx(t.field)].height;let s="";return t.isHeader||typeof r<"u"&&(s+=`width: ${r}px; min-width: ${r}px; max-width: ${r}px;`,typeof i=="number"&&(s+=`height: ${i}px;`)),s};return(()=>{var n=Jrt(),r=n.firstChild,i=r.nextSibling,s=i.nextSibling;return ja(i,()=>t.value),a0(o=>{var u=!!t.hideStartGutter,a=!!t.isHeader,l=e(),c=!!t.hideEndGutter;return u!==o.e&&r.classList.toggle("hide-gutter-border",o.e=u),a!==o.t&&i.classList.toggle("header",o.t=a),o.a=N0e(i,l,o.a),c!==o.o&&s.classList.toggle("hide-gutter-border",o.o=c),o},{e:void 0,t:void 0,a:void 0,o:void 0}),n})()},iit=t=>{const e=c5(t.field),n=c5(t.field.parentExplore),r=!t.field.parentExplore.isExploreField(),i=e&&(n||r),s=l5(t.field),o=l5(t.field.parentExplore),u=s&&(o||r);return(()=>{var a=Zrt();return ja(a,En(Kle,{get field(){return t.field},get value(){return t.field.name},hideStartGutter:i,hideEndGutter:u,isHeader:!0})),a0(()=>a.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),a})()},sit=t=>{const e=M3(),n=HW(t.field);let r="";if(e.pinnedHeader)r="";else if(n==="cell"){const i=t.row.cell(t.field).value;UW(t.field,i)?r=Wle(t.field,i):i===null?r="∅":qW(t.field,i)&&(r=i)}else if(n==="chart"){const i=gse();r=En($le,{get field(){return t.field},get data(){return i.getData(t.row.cell(t.field))},metadata:i})}return(()=>{var i=eit();return ja(i,En(GP,{get children(){return[En(TD,{when:n==="table",get children(){return En(bP,{get data(){return t.row.cell(t.field)},get pinnedHeader(){return e.pinnedHeader},get rowLimit(){return e.pinnedHeader?1:1/0}})}}),En(TD,{when:!0,get children(){return En(Kle,{get field(){return t.field},value:r,get hideStartGutter(){return c5(t.field)},get hideEndGutter(){return l5(t.field)}})}})]}})),a0(()=>i.classList.toggle("numeric",!!(t.field.isAtomicField()&&t.field.isNumber()))),i})()},oit=t=>{const e=b0e({rowLimit:1/0,pinnedHeader:!1},t),n=M3(),[r,i]=SD(!1),s=u=>{const a=u.target;i(a.scrollTop>0)},o=Vs(()=>{const u=[];let a=0;for(const l of e.data){if(a>=e.rowLimit)break;u.push(l),a++}return u});return(()=>{var u=nit(),a=u.firstChild,l=a.firstChild,c=l.firstChild,f=l.nextSibling;return u.addEventListener("scroll",s),ja(u,En(QP,{get when(){return n.root},get children(){var x=tit(),h=x.firstChild;return ja(h,En(bP,{get data(){return e.data},rowLimit:1,pinnedHeader:!0})),x}}),a),ja(c,()=>e.data.field.allFields.map(x=>En(iit,{field:x}))),ja(f,En(T0e,{get each(){return o()},children:x=>(()=>{var h=rit();return ja(h,()=>e.data.field.allFields.map(p=>En(sit,{field:p,row:x}))),h})()})),a0(x=>{var h=!!n.root,p=!!n.pinnedHeader,m=!!r();return h!==x.e&&u.classList.toggle("root",x.e=h),p!==x.t&&u.classList.toggle("pinned-header",x.t=p),m!==x.a&&u.classList.toggle("scrolled",x.a=m),x},{e:void 0,t:void 0,a:void 0}),u})()},bP=t=>{const e=gse(),n=!!M3(),r=Vs(()=>{if(n){const i=M3();return{root:!1,pinnedHeader:t.pinnedHeader??i.pinnedHeader,layout:i.layout}}return{root:!0,pinnedHeader:t.pinnedHeader??!1,layout:Krt(e)}});return En(Yle.Provider,{get value(){return r()},get children(){return En(oit,t)}})};function uit(t,{element:e}){const n=Vs(()=>t.result?t.result:t.queryResult&&t.modelDef?new VP.Result(t.queryResult,t.modelDef):null);return En(QP,{get when(){return n()},get children(){return En(ait,{get result(){return n()},element:e})}})}function ait(t){const e=Vs(()=>PVe(t.result)),n=()=>{const i=t.result.modelTag,s=t.result.tagParse().tag,o=i.tag("theme"),u=s.tag("theme");return{modelTag:i,resultTag:s,modelTheme:o,localTheme:u}};vD(()=>{if(t.element){const i=lit(n().modelTheme,n().localTheme);for(const[s,o]of Object.entries(i))t.element.style.setProperty(s,o)}});const r=()=>{const i=n().resultTag,s=t.result.resultExplore;return HW(s,i)};return En(pse.Provider,{get value(){return e()},get children(){return En(GP,{get fallback(){return En(bP,{get data(){return t.result.data}})},get children(){return En(TD,{get when(){return r()==="chart"},get children(){return En($le,{get field(){return t.result.resultExplore},get data(){return e().getData(t.result.data)},get metadata(){return e()}})}})}})}})}function Oo(t,...e){let n;for(const r of e)if(n=r==null?void 0:r.text(t),typeof n<"u")break;return n??`var(--malloy-theme--${t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()})`}function lit(t,e){const n={},r=Oo("tableRowHeight",e,t),i=Oo("tableBodyColor",e,t),s=Oo("tableFontSize",e,t),o=Oo("tableHeaderColor",e,t),u=Oo("tableHeaderWeight",e,t),a=Oo("tableBodyWeight",e,t),l=Oo("tableBorder",e,t),c=Oo("tableBackground",e,t),f=Oo("tableGutterSize",e,t),x=Oo("tablePinnedBackground",e,t),h=Oo("tablePinnedBorder",e,t),p=Oo("fontFamily",e,t);return n["--malloy-render--table-row-height"]=r,n["--malloy-render--table-body-color"]=i,n["--malloy-render--table-font-size"]=s,n["--malloy-render--font-family"]=p,n["--malloy-render--table-header-color"]=o,n["--malloy-render--table-header-weight"]=u,n["--malloy-render--table-body-weight"]=a,n["--malloy-render--table-border"]=l,n["--malloy-render--table-background"]=c,n["--malloy-render--table-gutter-size"]=f,n["--malloy-render--table-pinned-background"]=x,n["--malloy-render--table-pinned-border"]=h,n}const cit=`:host {
|
|
1340
1340
|
--malloy-theme--table-row-height: 28px;
|
|
1341
1341
|
--malloy-theme--table-font-size: 12px;
|
|
1342
1342
|
--malloy-theme--table-header-color: #5d626b;
|
|
@@ -1472,4 +1472,4 @@ ${m}`,p)}}else{if(h.urls)for(const m of h.urls)try{if(m.startsWith("internal://"
|
|
|
1472
1472
|
background: var(--malloy-render--table-pinned-background);
|
|
1473
1473
|
box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.5);
|
|
1474
1474
|
}
|
|
1475
|
-
`,xit=t=>(e,n)=>{const{element:r}=n,i=new CSSStyleSheet;i.replaceSync(cit);const s=new CSSStyleSheet;return s.replaceSync(fit),r.renderRoot.adoptedStyleSheets=[i,s],t(e,n)};customElements.get("malloy-render")?console.warn("The custom element 'malloy-render' has already been defined. Make sure you are not loading multiple versions of the malloy-render package as they could conflict."):c0e(f0e("malloy-render",{result:void 0,queryResult:void 0,modelDef:void 0}),xit,L0e)(uit)});
|
|
1475
|
+
`,xit=t=>(e,n)=>{const{element:r}=n,i=new CSSStyleSheet;i.replaceSync(cit);const s=new CSSStyleSheet;return s.replaceSync(fit),r.renderRoot.adoptedStyleSheets=[i,s],t(e,n)};function dit({customElements:t=window.customElements,HTMLElement:e=window.HTMLElement}){t.get("malloy-render")?console.warn("The custom element 'malloy-render' has already been defined. Make sure you are not loading multiple versions of the malloy-render package as they could conflict."):c0e(f0e("malloy-render",{result:void 0,queryResult:void 0,modelDef:void 0},{customElements:t,BaseElement:e}),xit,L0e)(uit)}dit({})});
|