pivotkit-element 0.0.0-stage → 0.1.0

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.
@@ -0,0 +1 @@
1
+ import{d as U,e as G,f as x,g as $,i as re,j as C,k as oe,l as y,m as P,o as Fe,p as X,q as H,r as _e,s as W}from"./chunk-7HSMEVX7.js";var z=()=>"number",Et=()=>"text";function Dt(e,t){let n=new Float64Array(t);if(!e)return{add:r=>{n[r]++},get:r=>n[r]};let o=e.codes;return{add:(r,s)=>{o[s]!==-1&&n[r]++},get:r=>n[r]}}function je(e,t){let n=new Array(t),o=e.codes;return{sets:n,add:(r,s)=>{let i=o[s];if(i===-1)return;let a=n[r];a===void 0&&(a=n[r]=new Set),a.add(i)}}}function Ft(e,t){let n=new Float64Array(t),o=e.values;return{add:(r,s)=>{let i=o[s];i===i&&(n[r]+=i)},get:r=>n[r]}}function _t(e,t){let n=new Float64Array(t),o=new Float64Array(t),r=e.values;return{add:(s,i)=>{let a=r[i];a===a&&(n[s]+=a,o[s]++)},get:s=>o[s]>0?n[s]/o[s]:null}}function Re(e){return(t,n)=>{let o=new Float64Array(n).fill(NaN),r=t.values;return{add:(s,i)=>{let a=r[i];a===a&&!(o[s]*e>=a*e)&&(o[s]=a)},get:s=>Number.isNaN(o[s])?null:o[s]}}}function jt(e,t){let n=new Array(t),o=e.values;return{add:(r,s)=>{let i=o[s];i===i&&(n[r]??=[]).push(i)},get:r=>{let s=n[r];if(!s||s.length===0)return null;let i=Float64Array.from(s).sort(),a=i.length>>1;return i.length%2?i[a]:(i[a-1]+i[a])/2}}}function se(e,t){return(n,o)=>{let r=new Float64Array(o),s=new Float64Array(o),i=new Float64Array(o),a=n.values;return{add:(l,u)=>{let c=a[u];if(c===c){let f=++r[l],m=c-s[l];s[l]+=m/f,i[l]+=m*(c-s[l])}},get:l=>{let u=r[l],c=e?u-1:u;if(c<=0)return null;let f=Math.max(0,i[l])/c;return t?Math.sqrt(f):f}}}}function Ue(e){return(t,n,o)=>{let r=new Int32Array(n).fill(-1),s=t.codes;return{add:(i,a)=>{let l=s[a];if(l===-1)return;let u=r[i];(u===-1||(e?o[l]>o[u]:o[l]<o[u]))&&(r[i]=l)},get:i=>{let a=r[i];if(a===-1)return null;let l=t.dict[a];return typeof l=="boolean"?String(l):l}}}}var ie=e=>e==="date"?"date":"number",Pe=e=>e==="date"?"date":e==="number"?"number":"text",he=Object.freeze({count:{numeric:!1,additive:!0,resultType:z,create:Dt},countUnique:{numeric:!1,keepsValues:!0,resultType:z,create:(e,t)=>{let n=je(e,t);return{add:n.add,get:o=>n.sets[o]?n.sets[o].size:0}}},listUnique:{numeric:!1,keepsValues:!0,resultType:Et,create:(e,t,n,o)=>{let r=je(e,t);return{add:r.add,get:s=>{let i=r.sets[s];return i?[...i].sort((a,l)=>n[a]-n[l]).map(o).join(", "):null}}}},sum:{numeric:!0,additive:!0,resultType:z,create:Ft},average:{numeric:!0,dates:!0,resultType:ie,create:_t},median:{numeric:!0,dates:!0,keepsValues:!0,resultType:ie,create:jt},min:{numeric:!0,dates:!0,resultType:ie,create:Re(-1)},max:{numeric:!0,dates:!0,resultType:ie,create:Re(1)},stdev:{numeric:!0,resultType:z,create:se(!0,!0)},stdevp:{numeric:!0,resultType:z,create:se(!1,!0)},var:{numeric:!0,resultType:z,create:se(!0,!1)},varp:{numeric:!0,resultType:z,create:se(!1,!1)},first:{numeric:!1,resultType:Pe,create:Ue(!1)},last:{numeric:!1,resultType:Pe,create:Ue(!0)}}),Rt=Object.freeze(Object.keys(he));function E(e){return typeof e=="string"&&Object.hasOwn(he,e)?he[e]:null}function be(e,t){let n=E(e);return n?n.numeric?t==="number"||t==="boolean"||t==="null"||t==="date"&&n.dates===!0:!0:!1}function dr(e){return Rt.filter(t=>be(t,e))}var we=H(128);function L(e,t={}){return we.getOrSet(`n|${e}|${JSON.stringify(t)}`,()=>new Intl.NumberFormat(e,t))}function D(e,t){return we.getOrSet(`d|${e}|${JSON.stringify(t)}`,()=>new Intl.DateTimeFormat(e,t))}function ze(e){return we.getOrSet(`c|${e}`,()=>new Intl.Collator(e,{numeric:!0,sensitivity:"base"}))}var Ut={dateStyle:"medium",timeZone:"UTC"},Pt={dateStyle:"medium",timeStyle:"short",timeZone:"UTC"},v=Object.freeze({blank:"(blank)",total:"{label} Total",grandTotal:"Grand Total",values:"Values",valueName:"{agg} of {field}",countRows:"Count",true:"true",false:"false",aggregators:Object.freeze({count:"Count",countUnique:"Count Unique",listUnique:"List Unique",sum:"Sum",average:"Average",median:"Median",min:"Min",max:"Max",stdev:"StdDev",stdevp:"StdDevP",var:"Var",varp:"VarP",first:"First",last:"Last"}),showAsName:"{showAs} of {value}",showAs:Object.freeze({percentOfGrandTotal:"% of grand total",percentOfRowTotal:"% of row total",percentOfColumnTotal:"% of column total",percentOfParentRow:"% of parent row",percentOfParentColumn:"% of parent column",differenceFromPrevious:"Difference from previous",percentDifferenceFromPrevious:"% difference from previous",runningTotal:"Running total",percentRunningTotal:"% running total",rankAscending:"Rank (smallest first)",rankDescending:"Rank (largest first)"})});function Q(e,t){let n=t&&t.fields;if(!n||typeof n!="object"||typeof e!="string")return e;let o=i=>typeof n[i]=="string"&&n[i].trim()!=="";if(Object.hasOwn(n,e)&&o(e))return n[e];let r=e.toLowerCase(),s=Object.keys(n).find(i=>i.toLowerCase()===r&&o(i));return s===void 0?e:n[s]}function ee(e,t,n,o=v){if(t==null)return o.blank??v.blank;if(e.labeler)return e.labeler(t,n);switch(e.type){case"date":return D(n,e.dateOnly?Ut:Pt).format(new Date(Number(t)));case"boolean":return t?o.true??"true":o.false??"false";default:return String(t)}}function zt(e,t,n){let o=e==null,r=t==null;if(o||r)return o===r?0:o?1:-1;let s=typeof e=="number"||typeof e=="boolean",i=typeof t=="number"||typeof t=="boolean";return s&&i?Number(e)-Number(t):s!==i?s?-1:1:ze(n).compare(String(e),String(t))}function Oe(e,t,n){return n.getOrSet(`ranks:${e.id}:${t}`,()=>{let o=e.dict.map((s,i)=>i);o.sort((s,i)=>zt(e.dict[s],e.dict[i],t)||s-i);let r=new Int32Array(o.length);return o.forEach((s,i)=>{r[s]=i}),r})}function ae(e,t){return String(e).replace(/\{(\w+)\}/g,(n,o)=>Object.hasOwn(t,o)?String(t[o]):n)}var Or=Object.freeze(["number","integer","currency","percent","percent100","compact","bytes","duration","date","datetime","time","text"]),Bt=20,Ve={ms:.001,s:1,min:60,h:3600,d:86400},Zt=/^(number|integer|currency|percent|percent100|compact|bytes|duration|date|datetime|time|text)(?::([A-Za-z0-9]{1,10}))?$/,Ne=new Set(["number","percent","percent100"]),Ge={date:{dateStyle:"medium",timeZone:"UTC"},datetime:{dateStyle:"medium",timeStyle:"short",timeZone:"UTC"},time:{timeStyle:"short",timeZone:"UTC"}},Jt={signDisplay:"negative"},le=null;function Vt(e){return le===null&&(le=typeof Intl.supportedValuesOf=="function"?new Set(Intl.supportedValuesOf("currency")):!1),le?le.has(e.toUpperCase()):/^[a-z]{3}$/i.test(e)}function K(e){if(typeof e!="string")return null;let t=Zt.exec(e.trim().toLowerCase());if(!t)return null;let[,n,o]=t;return o!==void 0&&(n==="currency"&&!Vt(o)||n==="duration"&&!Object.hasOwn(Ve,o)||Ne.has(n)&&!(/^\d{1,2}$/.test(o)&&Number(o)<=Bt)||!["currency","duration",...Ne].includes(n))?null:{name:n,arg:o,decimals:Ne.has(n)&&o!==void 0?Number(o):void 0}}function Nr(e,t){let n=K(e)||{name:"number",arg:void 0,decimals:void 0};switch(n.name){case"integer":return 0;case"number":return n.decimals??2;case"percent":case"percent100":return n.decimals??1;case"currency":return L(t,{style:"currency",currency:(n.arg||"EUR").toUpperCase()}).resolvedOptions().maximumFractionDigits??2;default:return null}}function He(e){return K(e)!==null}function te(e){return e==null||e===""?NaN:typeof e=="number"?e:Number(e)}var Ae=(e,t)=>e===void 0?{maximumFractionDigits:t}:{minimumFractionDigits:e,maximumFractionDigits:e};function Gt(e,t){if(!Number.isFinite(e))return"";let n=e<=-.05?"-":"",o=Math.abs(e);if(o<60)return`${n}${L(t,{maximumFractionDigits:1}).format(o)} s`;let r=[["d",86400],["h",3600],["min",60],["s",1]],s=r.findIndex(([,f])=>o>=f),[i,a]=r[s],l=Math.floor(o/a),u=[`${l} ${i}`],c=r[s+1];if(c){let f=Math.floor((o-l*a)/c[1]);f>0&&u.push(`${f} ${c[0]}`)}return n+u.join(" ")}function Ht(e,t){if(!Number.isFinite(e))return"";let n=["B","KB","MB","GB","TB","PB"],o=Math.abs(e),r=0;for(;o>=1024&&r<n.length-1;)o/=1024,r++;let s=L(t,{maximumFractionDigits:r===0?0:1}).format(o);return`${e<0&&/[1-9]/.test(s)?"-":""}${s} ${n[r]}`}function Se(e){return e==null?"":String(e)}function ve(e,t){let n=K(e)||{name:"number",arg:void 0,decimals:void 0},o=r=>{let s=L(t,{...Jt,...r});return i=>{let a=te(i);return Number.isNaN(a)?Se(i):s.format(a)}};switch(n.name){case"text":return Se;case"integer":return o({maximumFractionDigits:0});case"currency":return o({style:"currency",currency:(n.arg||"EUR").toUpperCase()});case"percent":return o({style:"percent",...Ae(n.decimals,1)});case"percent100":{let r=o({style:"percent",...Ae(n.decimals,1)});return s=>r(te(s)/100)}case"compact":return o({notation:"compact",maximumFractionDigits:1});case"bytes":return r=>Ht(te(r),t);case"duration":{let r=Ve[n.arg||"s"];return s=>Gt(te(s)*r,t)}case"date":case"datetime":case"time":{let r=D(t,Ge[n.name]);return s=>{let i=te(s);return Number.isFinite(i)?r.format(new Date(i)):Se(s)}}default:return o(Ae(n.decimals,2))}}function Ar(e,t){return t=C(t,"formatter"),ve(e,W(null,t.locale))}var Be=H(64),ue=e=>e.replace(/[^ :/-]+/g,t=>`"${t.replace(/"/g,"")}"`),ce=e=>e>0?"."+"0".repeat(e):"";function Te(e,t){if(!Number.isFinite(e)||Math.abs(e)>=1e21)return 0;let n=Math.abs(e).toFixed(t).replace(/0+$/,""),o=n.indexOf(".");return o===-1?0:n.length-o-1}function Ze(e,t,n=!0){let o="",r="",s=!1;for(let i of e)i.type==="integer"||i.type==="group"||i.type==="decimal"||i.type==="fraction"||i.type==="minusSign"||i.type==="percentSign"&&n?(o+=ue(r),r="",i.type==="minusSign"?o+="-":i.type==="percentSign"?o+="%":s||(o+=t,s=!0)):r+=i.value;return o+ue(r)}function We(e,t,n,o=!0){let r=Ze(e.formatToParts(t),n,o),s=Ze(e.formatToParts(-t),n,o);return s===`-${r}`?r:`${r};${s}`}function Wt(e,t){let n=L(t,{style:"currency",currency:e});return We(n,1234.5,`#,##0${ce(n.resolvedOptions().maximumFractionDigits)}`)}function Je(e,t,n){return We(L(t,{style:"percent"}),.5,`#,##0${ce(e)}`,n)}function Kt(e,t){if(!Number.isFinite(e)||e===0)return"#,##0";let n=L(t,{notation:"compact",maximumFractionDigits:1}).formatToParts(Math.abs(e)),o=n.filter(u=>u.type==="integer").map(u=>u.value).join(""),r=n.filter(u=>u.type==="fraction").map(u=>u.value).join(""),s=+`${o}.${r||0}`,i=s>0?Math.round(Math.log10(Math.abs(e)/s)):0;if(i<0||i%3!==0)return"General";let a=n.findIndex(u=>u.type==="integer"),l=n.slice(a).filter(u=>u.type==="compact"||u.type==="literal").map(u=>u.value).join("");return`#,##0${ce(r.length)}${",".repeat(i/3)}${ue(l)}`}function Yt(e,t){return D(t,Ge[e]).formatToParts(new Date(Date.UTC(2026,0,5,3,4))).map(o=>{switch(o.type){case"year":return o.value.length===2?"yy":"yyyy";case"month":return/^\d+$/.test(o.value)?o.value.length===2?"mm":"m":"mmm";case"day":return o.value.length===2?"dd":"d";case"hour":return o.value.length===2?"hh":"h";case"minute":return"mm";case"second":return"ss";case"dayPeriod":return"AM/PM";case"weekday":return"ddd";default:return ue(o.value)}}).join("")}function Sr(e,t,n){let o=K(e)||{name:"number",arg:void 0,decimals:void 0};switch(o.name){case"integer":return"#,##0";case"number":return`#,##0${ce(o.decimals??Te(t,2))}`;case"percent":return Je(o.decimals??Te(t*100,1),n,!0);case"percent100":return Je(o.decimals??Te(t,1),n,!1);case"currency":return Be.getOrSet(`${e}|${n}`,()=>Wt((o.arg||"EUR").toUpperCase(),n));case"compact":return Kt(t,n);case"date":case"datetime":case"time":return Be.getOrSet(`${o.name}|${n}`,()=>Yt(o.name,n));case"text":return"@";default:return"General"}}function Ke(e){return JSON.stringify(e)}function $e(e,t,n,o,r){let s=new Set(n.map(Ke)),i=[];if(t===0)return i.push({node:e,kind:"leaf"}),i;let a=l=>{if(l.children.length===0){i.push({node:l,kind:"leaf"});return}if(s.has(Ke(l.path))){i.push({node:l,kind:"collapsed"});return}l.children.forEach(a),o&&i.push({node:l,kind:"subtotal"})};return e.children.forEach(a),(r||i.length===0)&&i.push({node:e,kind:"grand"}),i}var Ce=Object.freeze({json:5e6,name:256,axisFields:8,values:16,filters:128,items:1e5,derived:64,sort:64,collapsed:1e4,topCount:1e6,rows:1e6,groups:5e5,pivotCells:2e6,work:1e8,cells:2e6,cacheEntries:16}),ke=Object.freeze({groups:2**27}),Ye=10;function _(e){let t=e&&e.limits;if(t==null)return Ce;if(typeof t!="object")throw new U("INVALID_OPTION","options.limits must be an object");let n={...Ce};for(let o of Object.keys(t)){let r=t[o];if(!Object.hasOwn(Ce,o))throw new U("INVALID_OPTION",`unknown limit "${o}"`);if(!Number.isInteger(r)||r<1)throw new U("INVALID_OPTION",`limits.${o} must be a whole number of 1 or more`);if(Object.hasOwn(ke,o)&&r>ke[o])throw new U("INVALID_OPTION",`limits.${o} must be at most ${ke[o]}`);n[o]=r}return Object.freeze(n)}var xe=1e-9;function qe(e){let t=new Date(e),n=(t.getUTCDay()+6)%7,o=Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()-n+3),r=new Date(o).getUTCFullYear(),s=new Date(Date.UTC(r,0,4)),i=s.getTime()+(3-(s.getUTCDay()+6)%7)*$,a=1+Math.round((o-i)/(7*$));return{year:r,week:a}}var qt=(e,t)=>D(t,{month:"short",timeZone:"UTC"}).format(new Date(Date.UTC(2e3,e-1,1))),Xt=(e,t)=>D(t,{month:"short",year:"numeric",timeZone:"UTC"}).format(new Date(Date.UTC(Math.floor(e/100),e%100-1,1))),Qt=(e,t)=>D(t,{weekday:"short",timeZone:"UTC"}).format(new Date(Date.UTC(2024,0,e))),Ir=Object.freeze(["year","yearQuarter","yearMonth","yearWeek","day"]),Mr=Object.freeze(["quarter","month","week","weekday","hour"]),B=Object.freeze({year:{source:"date",type:"number",value:e=>e.getUTCFullYear(),label:e=>String(e)},quarter:{source:"date",type:"number",value:e=>Math.floor(e.getUTCMonth()/3)+1,label:e=>`Q${e}`},month:{source:"date",type:"number",value:e=>e.getUTCMonth()+1,label:qt},week:{source:"date",type:"number",value:e=>qe(e.getTime()).week,label:e=>`W${re(e)}`},day:{source:"date",type:"date",value:e=>Math.floor(e.getTime()/$)*$},hour:{source:"date",type:"number",value:e=>e.getUTCHours(),label:e=>`${re(e)}:00`},weekday:{source:"date",type:"number",value:e=>(e.getUTCDay()+6)%7+1,label:Qt},yearQuarter:{source:"date",type:"number",value:e=>e.getUTCFullYear()*10+Math.floor(e.getUTCMonth()/3)+1,label:e=>`Q${e%10} ${Math.floor(e/10)}`},yearMonth:{source:"date",type:"number",value:e=>e.getUTCFullYear()*100+e.getUTCMonth()+1,label:Xt},yearWeek:{source:"date",type:"number",value:e=>{let t=qe(e.getTime());return t.year*100+t.week},label:e=>`${Math.floor(e/100)}-W${re(e%100)}`},bin:{source:"number",type:"number"}}),Lr=Object.freeze(Object.keys(B)),en=Object.freeze([{unit:"day",maxDays:62},{unit:"yearMonth",maxDays:2*366},{unit:"yearQuarter",maxDays:6*366},{unit:"year",maxDays:1/0}]);function Er(e,t){let n=e.column(t);if(!n||n.type!=="date"||n.derived)return null;let o=1/0,r=-1/0;for(let i of n.dict)typeof i=="number"&&(o=Math.min(o,i),r=Math.max(r,i));let s=(r-o)/$;return s>=1?en.find(i=>s<=i.maxDays).unit:null}function tn(e,t){let n=Math.min(20,Math.max(X(e),X(t))),o=10**n,r=Math.round(e*o),s=Math.round(t*o),i=n<=15&&r>0&&Number.isSafeInteger(r)&&Number.isSafeInteger(s),a=l=>{let u=s+l*r;return i&&Number.isSafeInteger(u)?u/o:t+l*e};return{decimals:n,lowerOf(l){let u=Math.floor((l-t)/e);return Number.isSafeInteger(u)?(l>=a(u+1)?u++:l<a(u)&&u--,a(u)):NaN},upperOf(l){return a(Math.round((l-t)/e)+1)}}}function Qe(e,t){let n=e.column(t.field),o=Object.hasOwn(B,t.by)?B[t.by]:null;if(!n||!n.values||!o||n.type!==o.source)return null;let r=`derived:${n.key}:${t.by}:${t.size??""}:${t.origin??""}`,s=e.cache.getOrSet(r,()=>rn(n,t,o,r));return s.name===t.name?s:{...s,name:t.name,key:t.name.toLowerCase()}}var Xe=9999;function nn(e,t){return e.decimals>0?!1:t.every(n=>Math.abs(n)<=Xe&&Math.abs(e.upperOf(n))<=Xe)}function rn(e,t,n,o){let r=e.values.length,s=new Int32Array(r),i=new Float64Array(r),a=[],l=new Map,u=t.by==="bin"?tn(t.size,t.origin??0):null,c=new Date(0);for(let m=0;m<r;m++){let p=e.values[m],g=NaN;if(Number.isNaN(p)||(u?g=u.lowerOf(p):(c.setTime(p),g=n.value(c))),Number.isNaN(g)){s[m]=-1,i[m]=NaN;continue}let d=l.get(g);d===void 0&&(d=a.length,a.push(g),l.set(g,d)),s[m]=d,i[m]=g}let f={name:t.name,key:t.name.toLowerCase(),id:o,type:n.type,codes:s,dict:a,values:i,derived:!0};if(n.type==="date")f.dateOnly=!0;else if(u){let m=!nn(u,a);f.labeler=(p,g)=>{let d=L(g,{maximumFractionDigits:u.decimals,signDisplay:"negative",useGrouping:m});return`${d.format(p)} \u2013 ${d.format(u.upperOf(p))}`}}else f.labeler=n.label;return f}var et="UTC",on=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{1,9}))?)?(Z|[+-]\d{2}(?::?\d{2})?)?)?$/;function tt(e,t,n,o=0,r=0,s=0,i=0){if(e>=100)return Date.UTC(e,t-1,n,o,r,s,i);let a=new Date(Date.UTC(2e3,t-1,n,o,r,s,i));return a.setUTCFullYear(e),a.getTime()}function nt(e){let t=on.exec(e.trim());if(!t)return null;let n=t[8],o=+t[1],r=+t[2],s=+t[3],i=t[4]===void 0?0:+t[4],a=t[5]===void 0?0:+t[5],l=t[6]===void 0?0:+t[6],u=t[7];if(r<1||r>12||s<1||i>23||a>59||l>59)return null;let c=tt(o,r,s,i,a,l,u?Math.round(+`0.${u}`*1e3):0);if(new Date(c).getUTCDate()!==s)return null;let f=null;if(n)if(n==="Z")f=0;else{let m=n.slice(1).replace(":",""),p=Number(m.slice(0,2)),g=Number(m.slice(2)||0);if(p>23||g>59)return null;f=(n[0]==="-"?-1:1)*(p*60+g)}return{ms:c,offsetMinutes:f}}function rt(e){return nt(e)!==null}function ot(e){if(e==null)return et;if(e==="local")return new Intl.DateTimeFormat().resolvedOptions().timeZone??et;let t=Ie(e);if(!t)throw new U("INVALID_OPTION",`time zone ${JSON.stringify(e)} is not "UTC", "local" or an IANA name`);return t}function Ie(e){if(typeof e!="string"||e.length===0||e.length>64)return null;if(e.toUpperCase()==="UTC")return"UTC";try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).resolvedOptions().timeZone}catch{return null}}function st(e){if(e==="UTC")return r=>r;let t=new Intl.DateTimeFormat("en-US",{timeZone:e,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),n=r=>{let s={};for(let a of t.formatToParts(new Date(r)))s[a.type]=Number(a.value);let i=r-(r%1e3+1e3)%1e3;return tt(s.year,s.month,s.day,s.hour,s.minute,s.second)-i},o=new Map;return r=>{let s=Math.floor(r/$),i=o.get(s);if(i===void 0){let a=n(s*$),l=n((s+1)*$-1);i=a===l?a:NaN,o.set(s,i)}return r+(Number.isNaN(i)?n(r):i)}}function fe(e,t){if(e instanceof Date){let n=e.getTime();return Number.isNaN(n)?NaN:t(n)}if(typeof e=="string"){let n=nt(e);return n?n.offsetMinutes===null?n.ms:t(n.ms-n.offsetMinutes*6e4):NaN}return typeof e=="number"&&Number.isFinite(e)?t(e):NaN}var sn=Object.freeze(["string","number","boolean","date"]),an=/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ln=100;function at(e){let t=e.trim();return t.length<=ln&&an.test(t)}var un=100,lt=e=>e==null||e===""||typeof e=="function"||typeof e=="symbol";function cn(e,t){if(lt(e))return null;switch(typeof e){case"number":return Number.isFinite(e)?"number":null;case"boolean":return"boolean";case"string":return rt(e)?"date":t&&at(e)?"number":"string";case"bigint":return"number";default:return e instanceof Date?Number.isNaN(e.getTime())?null:"date":"string"}}function it(e,t){let n=null;for(let o=0;o<e.length;o++){let r=cn(e[o],t);if(r==="string")return"string";if(!(r===null||r===n))if(n===null)n=r;else return"string"}return n??"null"}function fn(e){if(typeof e=="string")return e;if(e instanceof Date)return Number.isNaN(e.getTime())?"":e.toISOString();if(typeof e=="object")try{return JSON.stringify(e)??""}catch{return""}return String(e)}function dn(e){if(typeof e=="number")return Number.isFinite(e)?e:NaN;if(typeof e=="bigint")return Number(e);if(typeof e=="boolean")return e?1:0;if(typeof e=="string"&&at(e)){let t=Number(e.trim());return Number.isFinite(t)?t:NaN}return NaN}function mn(e){if(typeof e=="boolean")return e;if(typeof e=="number")return Number.isFinite(e)?e!==0:null;if(typeof e=="string"){let t=e.trim().toLowerCase();if(t==="true"||t==="1"||t==="yes")return!0;if(t==="false"||t==="0"||t==="no")return!1}return null}var pn={number:e=>{let t=dn(e);return Number.isNaN(t)?null:t},boolean:mn,date:(e,t)=>{let n=fe(e,t);return Number.isNaN(n)?null:n},string:e=>{let t=fn(e);return t===""?null:t},null:()=>null};function gn(e,t,n,o){let r=t.length,s=new Int32Array(r),i=[],a=new Map,l=n==="number"||n==="boolean"||n==="date"?new Float64Array(r):null,u=pn[n],c=!0;for(let p=0;p<r;p++){let g=t[p],d=lt(g)?null:u(g,o);if(d===null){s[p]=-1,l&&(l[p]=NaN);continue}n==="date"&&d%$!==0&&(c=!1);let h=a.get(d);h===void 0&&(h=i.length,i.push(d),a.set(d,h)),s[p]=h,l&&(l[p]=typeof d=="boolean"?d?1:0:d)}let f=e.toLowerCase(),m={name:e,key:f,id:`column:${f}`,type:n,codes:s,dict:i,values:l};return n==="date"&&(m.dateOnly=c),m}function Br(e,t){t=C(t,"encode"),G(Array.isArray(e),"encode(rows): rows must be an array of objects");let n=_(t);x("rows",e.length,n.rows,"rows");let o=e.length,r=ot(t.timeZone),s=st(r),i=t.inferNumbers===!0,a=Array.isArray(t.columns)?new Set(t.columns.filter(d=>typeof d=="string").map(d=>d.toLowerCase())):null,l=[],u=(d,h)=>{l.length<un&&l.push({path:d,message:h})},c=new Map;for(let d=0;d<o;d++){let h=e[d];if(h===null||typeof h!="object")continue;let A=new Set;for(let O of Object.keys(h)){let b=O.toLowerCase(),N=c.get(b);if(N===void 0){if(a&&!a.has(b))continue;N={name:O,raw:new Array(o).fill(null),spellings:new Set([O])},c.set(b,N)}else N.spellings.has(O)||(N.spellings.add(O),u(N.name,`"${O}" and "${N.name}" are one column: names match case-insensitively`));A.has(b)&&u(N.name,`row ${d} has "${O}" next to another spelling of it; the later value is used`),A.add(b),N.raw[d]=h[O]}}let f=new Map;if(t.types&&typeof t.types=="object")for(let d of Object.keys(t.types)){let h=t.types[d];sn.includes(h)&&f.set(d.toLowerCase(),h)}let m=a?[...a].filter(d=>c.has(d)):[...c.keys()],p=new Map,g=m.map(d=>{let{name:h,raw:A}=c.get(d),O=it(A,i),b=O==="string"&&!i?it(A,!0):O;return p.set(d,b),gn(h,A,f.get(d)??O,s)});return yn(o,g,{timeZone:r,issues:l,detected:p,cacheEntries:n.cacheEntries})}function yn(e,t,n){let o=new Map(t.map(s=>[s.key,s])),r={length:e,columns:t,schema:{fields:t.map(s=>({name:s.name,type:s.type,detected:n.detected.get(s.key)??s.type}))},column:s=>typeof s=="string"?o.get(s.toLowerCase()):void 0,timeZone:n.timeZone,issues:n.issues};return Object.defineProperty(r,"cache",{value:H(n.cacheEntries),enumerable:!1}),r}function ut(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.columns)&&typeof t.column=="function"&&"cache"in t}var hn=Object.freeze(["equals","notEquals","contains","notContains","beginsWith","endsWith"]),bn=Object.freeze(["=","!=",">",">=","<","<=","between","notBetween"]),mt=(e,t)=>typeof e=="string"&&t.includes(e)?e:null;function wn(e,t,n){let o=t.toLocaleLowerCase(),r=n.toLocaleLowerCase();switch(e){case"equals":return o===r;case"notEquals":return o!==r;case"contains":return o.includes(r);case"notContains":return!o.includes(r);case"beginsWith":return o.startsWith(r);case"endsWith":return o.endsWith(r);default:return!0}}function On(e,t){if(typeof t!="number"||Number.isNaN(t))return!1;let n=e.value,o=Math.min(n,e.value2??n),r=Math.max(n,e.value2??n);switch(e.op){case"=":return t===n;case"!=":return t!==n;case">":return t>n;case">=":return t>=n;case"<":return t<n;case"<=":return t<=n;case"between":return t>=o&&t<=r;case"notBetween":return t<o||t>r;default:return!0}}function de(e,t){if(t===null)return null;switch(e){case"number":{let n=typeof t=="number"?t:typeof t=="string"&&t.trim()!==""?Number(t):NaN;return Number.isFinite(n)?n:void 0}case"date":{let n=typeof t=="number"?t:typeof t=="string"?fe(t,o=>o):NaN;return Number.isFinite(n)?n:void 0}case"boolean":return typeof t=="boolean"?t:t==="true"?!0:t==="false"?!1:void 0;default:return typeof t=="string"||typeof t=="number"||typeof t=="boolean"?String(t).slice(0,1e4):void 0}}function ct(e,t,n,o,r){let s=y(e,"items");if(!Array.isArray(s))return r.issue(o,"needs a list of items");s.length>r.limits.items&&r.issue(`${o}.items`,`more than ${r.limits.items} items`),t.items=[];for(let i of s.slice(0,r.limits.items)){let a=de(n.type,i);a===void 0?r.issue(`${o}.items`,`item ${JSON.stringify(i)} does not fit the ${n.type} field`):t.items.push(a)}return t}function Nn(e,t,n,o,r){let s=mt(y(e,"op"),hn),i=y(e,"value");return s?typeof i!="string"||i.length>1e3?r.issue(o,"needs a text value"):Object.assign(t,{op:s,value:i}):r.issue(o,`unknown label operator ${JSON.stringify(y(e,"op"))}`)}function pt(e,t,n,o){let r=y(e,"by"),s=r===void 0?n.defaultRef(o):n.valueRef(r,`${t}.by`);return s&&n.resultType(s)!=="number"?(n.issue(`${t}.by`,`${s.agg} gives no number to filter by`),null):s}function An(e,t,n,o,r,s){let i=pt(e,o,r,s);if(!i)return;let a=P(y(e,"count"));if(a===null||a<1||a>r.limits.topCount||!Number.isInteger(a))return r.issue(o,"needs a whole count of 1 or more");let l=y(e,"bottom");return Object.assign(t,{by:i,count:a,bottom:typeof l=="boolean"?l:!1})}function Sn(e,t,n,o,r,s){let i=pt(e,o,r,s);if(!i)return;let a=mt(y(e,"op"),bn),l=P(y(e,"value"));if(!a||l===null)return r.issue(o,"needs an operator and a number");if(Object.assign(t,{by:i,op:a,value:l}),a==="between"||a==="notBetween"){let u=P(y(e,"value2"));if(u===null)return r.issue(o,`${a} needs value2`);t.value2=u}return t}function ft(e){return(t,n)=>{let o=new Map(t.dict.map((s,i)=>[s,i])),r=new Uint8Array(t.dict.length+1);for(let s of n.items){let i=s===null?-1:o.get(s);i!==void 0&&(r[i+1]=1)}return e?r:r.map(s=>1-s)}}function Tn(e,t,n){let o=new Uint8Array(e.dict.length+1);for(let r=-1;r<e.dict.length;r++){let s=ee(e,r===-1?null:e.dict[r],n);o[r+1]=wn(t.op,s,t.value)?1:0}return o}function vn(e,t){return Uint8Array.from(t,n=>On(e,n)?1:0)}function $n(e,t,n){let o=new Uint8Array(n.length),r=new Map;n.forEach((s,i)=>{let a=s.slice(0,-1).join(",");r.has(a)||r.set(a,[]),r.get(a).push(i)});for(let s of r.values())s.filter(i=>typeof t[i]=="number").sort((i,a)=>(e.bottom?t[i]-t[a]:t[a]-t[i])||i-a).slice(0,e.count).forEach(i=>{o[i]=1});return o}var Z=Object.freeze({include:{stage:"items",normalize:ct,allowed:ft(!0)},exclude:{stage:"items",normalize:ct,allowed:ft(!1)},label:{stage:"items",normalize:Nn,allowed:Tn},top:{stage:"values",normalize:An,keep:$n},value:{stage:"values",normalize:Sn,keep:vn}}),Hr=Object.freeze(Object.keys(Z));function dt(e,t){let n=0,o=new Int32Array(e.length);for(let r=0;r<e.length;r++)t(e[r],r)&&(o[n++]=e[r]);return o.slice(0,n)}function gt(e,t){let{view:n,columnOf:o,locale:r}=e;for(let a of n.filters){let l=Z[a.type],u=o(a.field);if(l.stage!=="items"||!u)continue;let c=l.allowed(u,a,r),f=u.codes;t=dt(t,m=>c[f[m]+1]===1)}let s=a=>{let l=n.rows.indexOf(a);if(l!==-1)return{fields:n.rows.slice(0,l+1),order:l};let u=n.cols.indexOf(a);return u!==-1?{fields:n.cols.slice(0,u+1),order:100+u}:{fields:[a],order:200}},i=n.filters.filter(a=>Z[a.type].stage==="values").map((a,l)=>({f:a,i:l,...s(a.field)})).sort((a,l)=>a.order-l.order||a.i-l.i);for(let{f:a,fields:l}of i){let u=l.map(o);if(u.includes(null))continue;let{groupOf:c,paths:f}=e.groupBy(u,t),m=e.aggregateGroups(a.by,t,c,f.length),p=Z[a.type].keep(a,m,f);t=dt(t,(g,d)=>p[c[d]]===1)}return t}var J=(e,t)=>e===null||t===null||t===0?null:e/t;function Me(e){let t=e.axis!=="cols",n=t?e.rowNode:e.colNode;return{node:n,at:r=>t?e.raw(r,e.colNode):e.raw(e.rowNode,r),siblings:n.parent?n.parent.children:[n]}}function yt(e){return(t,n)=>{let{node:o,at:r,siblings:s}=Me(n);if(!o.parent||o.index===0||t===null)return null;let i=r(s[o.index-1])??0;return e?J(t-i,i):t-i}}function ht(e){return(t,n)=>{let{node:o,at:r,siblings:s}=Me(n);if(!o.parent)return e?t===null?null:1:t;let i=0;for(let a=0;a<=o.index;a++)i+=r(s[a])??0;return e?J(i,r(o.parent)):i}}function bt(e){return(t,n)=>{let{node:o,at:r,siblings:s}=Me(n);if(!o.parent||t===null)return null;let i=1;for(let a of s){let l=r(a);l!==null&&(e?l>t:l<t)&&i++}return i}}var j=Object.freeze({percentOfGrandTotal:{format:"percent",compute:(e,t)=>J(e,t.raw(t.rowRoot,t.colRoot))},percentOfRowTotal:{format:"percent",compute:(e,t)=>J(e,t.raw(t.rowNode,t.colRoot))},percentOfColumnTotal:{format:"percent",compute:(e,t)=>J(e,t.raw(t.rowRoot,t.colNode))},percentOfParentRow:{format:"percent",compute:(e,t)=>J(e,t.raw(t.rowNode.parent??t.rowNode,t.colNode))},percentOfParentColumn:{format:"percent",compute:(e,t)=>J(e,t.raw(t.rowNode,t.colNode.parent??t.colNode))},differenceFromPrevious:{format:"number",alongAxis:!0,compute:yt(!1)},percentDifferenceFromPrevious:{format:"percent",alongAxis:!0,compute:yt(!0)},runningTotal:{format:"number",alongAxis:!0,additive:!0,compute:ht(!1)},percentRunningTotal:{format:"percent",alongAxis:!0,additive:!0,compute:ht(!0)},rankAscending:{format:"integer",alongAxis:!0,compute:bt(!1)},rankDescending:{format:"integer",alongAxis:!0,compute:bt(!0)}}),Kr=Object.freeze(Object.keys(j));function Le(e,t){let n=new Int32Array(t.length),o=[];if(e.length===0)return o.push([]),{groupOf:n,paths:o};let r=1;for(let c of e)r*=c.dict.length+1;let s=r<2**52,i=new Map,a=e.length,l=e.map(c=>c.codes),u=e.map(c=>c.dict.length+1);for(let c=0;c<t.length;c++){let f=t[c],m;if(s){m=0;for(let g=0;g<a;g++)m=m*u[g]+l[g][f]+1}else{m="";for(let g=0;g<a;g++)m+=l[g][f]+","}let p=i.get(m);if(p===void 0){p=o.length;let g=new Array(a);for(let d=0;d<a;d++)g[d]=l[d][f];o.push(g),i.set(m,p)}n[c]=p}return{groupOf:n,paths:o}}function wt(e,t,n,o,r){return{id:e,depth:t,code:n,key:o,path:r?[...r.path,o]:[],parent:r,children:[],index:0}}function Ee(e,t,n={max:1/0,used:0}){let{groupOf:o,paths:r}=Le(e,t);x("groups",n.used+r.length+(e.length>0?1:0),n.max,"groups");let s=wt(0,0,-2,null,null),i=[s],a=Math.max(1,...e.map(m=>m.dict.length+1)),l=(Number.isFinite(n.max)?n.max:t.length*e.length+1)*a<2**53,u=new Map,c=new Array(r.length);r.forEach((m,p)=>{let g=s;for(let d=0;d<m.length;d++){let h=m[d],A=l?g.id*a+h+1:`${g.id},${h}`,O=u.get(A);if(O===void 0){n.used+i.length>=n.max&&x("groups",n.used+i.length+1,n.max,"groups");let b=h===-1?null:e[d].dict[h];O=wt(i.length,d+1,h,b,g),i.push(O),u.set(A,O),g.children.push(O)}g=O}c[p]=g});let f=new Int32Array(t.length);for(let m=0;m<t.length;m++)f[m]=c[o[m]].id;return{root:s,nodes:i,leafOf:f,leafCount:r.length}}var Cn=(e,t)=>e===t||e===null&&t===null||typeof e=="number"&&typeof t=="number"&&Number.isNaN(e)&&Number.isNaN(t);function Ot(e,t,n){let o=t==="cols"?e.colRoot:e.rowRoot;for(let r of n||[])if(o=o.children.find(s=>Cn(s.key,r)),!o)return null;return o}function Qr(e,t){t=C(t,"cellRows");let{row:n=[],col:o=[]}=t,r=Array.isArray(n)?Ot(e,"rows",n):n,s=Array.isArray(o)?Ot(e,"cols",o):o;if(!r||!s)return new Int32Array(0);let i=(l,u,c)=>{let f=l[u];for(;f&&f.depth>c.depth;)f=f.parent;return f===c},a=[];for(let l=0;l<e.rows.length;l++)i(e.rowNodes,e.rowLeafOf[l],r)&&i(e.colNodes,e.colLeafOf[l],s)&&a.push(e.rows[l]);return Int32Array.from(a)}var At=1,kn=Object.freeze(["auto","bar","line","area","pie","donut","heatmap"]),uo=Object.freeze(["pie","donut"]),xn=Object.freeze(["table","chart"]),co=Object.freeze(["colorScale","dataBar"]),In=Object.freeze(["auto","off","value","percent","both"]),Mn=Object.freeze(["outside","inside"]),Ln=Object.freeze(["auto","bottom","right","off"]),En=Object.freeze(["auto","all","nth"]),Dn=Object.freeze(["auto","on","off"]),Nt=/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;function Fn(){return{version:At,rows:[],cols:[],values:[],filters:[],derived:[],sort:[],totals:{grandTotalRow:!0,grandTotalColumn:!0,rowSubtotals:!0,colSubtotals:!0},collapsed:{rows:[],cols:[]},display:"table",chart:{type:"auto",stacked:!1,horizontal:!1,valueLabels:"auto",legend:"auto",title:null,smooth:!1,axisLabels:"auto",groupLabels:"auto",labelPosition:"outside"},formatting:{locale:null,timeZone:null}}}var _n=Object.freeze({});function jn(e){return Rn(e,_n,At)}function Rn(e,t,n){let o=[];if(!oe(e))return{view:null,issues:[{path:"",message:"not a view object"}]};let r=y(e,"version")??n;if(!Number.isInteger(r)||r<1)return{view:null,issues:[{path:"version",message:`unknown version ${JSON.stringify(r)}`}]};if(r>n)return{view:null,issues:[{path:"version",message:`version ${r} is newer than this pivotkit-core reads (${n}); update pivotkit-core`}]};let s=e;for(let i=r;i<n;i++){let a=t[i];if(typeof a!="function")return{view:null,issues:[{path:"version",message:`no migration from version ${i}`}]};s=a(s)}return{view:{...s,version:n},issues:o}}function ne(e,t,n){return typeof e=="string"&&t.includes(e)?e:n}function me(e,t){return typeof e=="boolean"?e:t}function St(e){return(Array.isArray(e)?e:e&&Array.isArray(e.fields)?e.fields:e&&e.schema?e.schema.fields:[]).filter(n=>n&&typeof n.name=="string").map(n=>({name:n.name,type:typeof n.type=="string"?n.type:"string"}))}function Y(e,t,n,o,r){let s=t.split(".").reduce((i,a)=>y(i,a),e);if(s!==void 0){if(!Array.isArray(s)){o.issue(t,"not a list");return}s.slice(0,n).forEach((i,a)=>r(i,`${t}[${a}]`,a)),s.length>n&&o.issue(t,`more than ${n} entries`)}}function Un(e,t,n){Y(e,"derived",n.limits.derived,n,(o,r)=>{let s=n.text(y(o,"name")),i=n.fields.get(String(y(o,"field")??"").toLowerCase()),a=y(o,"by"),l=typeof a=="string"&&Object.hasOwn(B,a)?B[a]:null;if(!s)return n.issue(r,"needs a name");if(n.fields.has(s.toLowerCase()))return n.issue(r,`name "${s}" is already a field`);if(!i||i.derived)return n.issue(r,"unknown source field");if(!l)return n.issue(r,"unknown grouping");if(i.type!==l.source)return n.issue(r,l.source==="number"?"bins need a number field":"date grouping needs a date field");let u={name:s,field:i.name,by:a};if(a==="bin"){let c=P(y(o,"size"));if(c===null||c<xe)return n.issue(r,`bins need a size of at least ${xe}`);u.size=c,u.origin=P(y(o,"origin"))??0}t.derived.push(u),n.fields.set(s.toLowerCase(),{name:s,type:l.type,derived:!0})})}function Pn(e,t,n){let o=new Set;for(let r of["rows","cols"])Y(e,r,n.limits.axisFields,n,(s,i)=>{let a=n.resolve(s);if(!a)return n.issue(i,`unknown field ${JSON.stringify(s)}`);if(o.has(a.name))return n.issue(i,`"${a.name}" is already placed`);o.add(a.name),t[r].push(a.name)})}function zn(e,t,n){let o=y(e,"type");if(o==="colorScale"){let r=y(e,"colors"),s=Array.isArray(r)?r.filter(i=>typeof i=="string"&&Nt.test(i)).slice(0,3):[];return Array.isArray(r)&&r.length>0&&(s.length!==r.length||s.length<2)&&n.issue(`${t}.colors`,"two or three colours as #rgb or #rrggbb"),{type:o,colors:s.length>=2?s:[]}}if(o==="dataBar"){let r=y(e,"color"),s=typeof r=="string"&&Nt.test(r);return r!=null&&!s&&n.issue(`${t}.color`,"a colour as #rgb or #rrggbb"),{type:o,color:s?r:null}}return n.issue(t,`unknown conditional format ${JSON.stringify(o)}`),null}function Bn(e,t,n,o){let r=typeof e=="string"?{type:e}:e,s=y(r,"type"),i=typeof s=="string"&&Object.hasOwn(j,s)?j[s]:null;return i?i.additive&&!E(t.agg).additive?(o.issue(n,`${s} needs an aggregator that adds up (sum or count), not ${t.agg}`),null):{type:s,axis:ne(y(r,"axis"),["rows","cols"],"rows")}:(o.issue(n,`unknown show-as ${JSON.stringify(s)}`),null)}function Zn(e,t,n){Y(e,"values",n.limits.values,n,(o,r)=>{let s=n.valueRef(o,r);if(!s)return;let i=n.resultType(s)==="number",a={...s,format:null,label:null,showAs:null,conditional:null},l=y(o,"format");l!=null&&(He(l)?a.format=l.trim().toLowerCase():n.issue(`${r}.format`,`unknown format ${JSON.stringify(l)}`));let u=y(o,"label");u!=null&&(a.label=n.text(u),a.label===null&&n.issue(`${r}.label`,`not a text up to ${n.limits.name} characters`));let c=y(o,"showAs");c!=null&&(i?a.showAs=Bn(c,s,`${r}.showAs`,n):n.issue(`${r}.showAs`,`${s.agg} has no number to show as ${JSON.stringify(y(c,"type")??c)}`));let f=y(o,"conditional");f!=null&&(i?a.conditional=zn(f,`${r}.conditional`,n):n.issue(`${r}.conditional`,"conditional formatting needs a number value")),t.values.push(a)})}function Jn(e,t,n){Y(e,"filters",n.limits.filters,n,(o,r)=>{let s=n.resolve(y(o,"field")),i=y(o,"type"),a=typeof i=="string"&&Object.hasOwn(Z,i)?Z[i]:null;if(!s)return n.issue(r,`unknown field ${JSON.stringify(y(o,"field"))}`);if(!a)return n.issue(r,`unknown filter type ${JSON.stringify(i)}`);let l=a.normalize(o,{field:s.name,type:i},s,r,n,t);l&&t.filters.push(l)})}var Vn=Object.freeze(["label","value","custom"]);function Gn(e,t,n,o){if(!Array.isArray(e))return o.issue(n,"a custom order needs a list of items"),null;e.length>o.limits.items&&o.issue(n,`more than ${o.limits.items} items`);let r=new Set,s=[];for(let i of e.slice(0,o.limits.items)){let a=de(t.type,i);a===void 0?o.issue(n,`item ${JSON.stringify(i)} does not fit the ${t.type} field`):r.has(a)||(r.add(a),s.push(a))}return s}function Hn(e,t,n){let o=new Set;Y(e,"sort",n.limits.sort,n,(r,s)=>{let i=n.resolve(y(r,"field"));if(!i||o.has(i.name))return n.issue(s,i?`"${i.name}" is sorted twice`:`unknown field ${JSON.stringify(y(r,"field"))}`);let a=ne(y(r,"by"),Vn,"label"),l={field:i.name,by:a,order:ne(y(r,"order"),["asc","desc"],"asc")};if(a==="custom"){let u=Gn(y(r,"items"),i,`${s}.items`,n);if(!u)return;l.items=u}if(a==="value"){let u=y(r,"value")===void 0?n.defaultRef(t):n.valueRef(y(r,"value"),`${s}.value`);if(!u)return;l.value=u}o.add(i.name),t.sort.push(l)})}function Wn(e,t,n){let o=y(e,"totals");if(o!==void 0){if(!oe(o))return n.issue("totals","not an object");for(let r of Object.keys(t.totals))t.totals[r]=me(y(o,r),t.totals[r])}}function Kn(e,t,n){for(let o of["rows","cols"]){let r=t[o].map(i=>n.fields.get(i.toLowerCase()).type),s=new Set;Y(e,`collapsed.${o}`,n.limits.collapsed,n,i=>{if(!Array.isArray(i)||i.length===0||i.length>=r.length)return n.issue(`collapsed.${o}`,`path ${JSON.stringify(i)} does not fit the ${o}`);let a=i.map((u,c)=>de(r[c],u));if(a.includes(void 0))return n.issue(`collapsed.${o}`,`path ${JSON.stringify(i)} does not fit the field types`);let l=JSON.stringify(a);s.has(l)||(s.add(l),t.collapsed[o].push(a))})}}function Yn(e,t,n){let o=y(e,"display");t.display=ne(o,xn,t.display),o!==void 0&&t.display!==o&&n.issue("display",`unknown display ${JSON.stringify(o)}`);let r=y(e,"chart");if(r!==void 0){let s=(a,l,u)=>{let c=y(r,a),f=ne(c,l,u);return c!==void 0&&f!==c&&n.issue(`chart.${a}`,`unknown ${a} ${JSON.stringify(c)}`),f},i=y(r,"title");t.chart={type:s("type",kn,t.chart.type),stacked:me(y(r,"stacked"),!1),horizontal:me(y(r,"horizontal"),!1),valueLabels:s("valueLabels",In,"auto"),legend:s("legend",Ln,"auto"),title:i==null?null:n.text(i),smooth:me(y(r,"smooth"),!1),axisLabels:s("axisLabels",En,"auto"),groupLabels:s("groupLabels",Dn,"auto"),labelPosition:s("labelPosition",Mn,"outside")},i!=null&&t.chart.title===null&&!(typeof i=="string"&&i.trim()==="")&&n.issue("chart.title",`not a text up to ${n.limits.name} characters`)}}function qn(e,t,n){let o=y(e,"formatting"),r=y(o,"locale");r!=null&&(t.formatting.locale=_e(r),t.formatting.locale===null&&n.issue("formatting.locale",`unknown locale ${JSON.stringify(r)}`));let s=y(o,"timeZone");s!=null&&(t.formatting.timeZone=Ie(s),t.formatting.timeZone===null&&n.issue("formatting.timeZone",`unknown time zone ${JSON.stringify(s)}`))}var Xn=[Un,Pn,Zn,Jn,Hn,Wn,Kn,Yn,qn];function Qn(e,t,n){let o=new Map(St(e).map(s=>[s.name.toLowerCase(),s])),r={limits:t,fields:o,issue:(s,i)=>{n.push({path:s,message:i})},text:s=>{if(typeof s!="string")return null;let i=s.trim();return i===""||i.length>t.name?null:i},resolve:s=>typeof s=="string"&&s.length<=t.name?o.get(s.trim().toLowerCase()):void 0,resultType:s=>E(s.agg).resultType(s.field?o.get(s.field.toLowerCase()).type:"number"),defaultRef:s=>s.values.length?{field:s.values[0].field,agg:s.values[0].agg}:{field:null,agg:"count"},valueRef:(s,i)=>{if(!oe(s))return r.issue(i,"not a value reference"),null;let a=y(s,"agg"),l=y(s,"field"),u=l==null?null:r.resolve(l);return E(a)?u===void 0?(r.issue(i,`unknown field ${JSON.stringify(l)}`),null):u===null&&a!=="count"?(r.issue(i,`${a} needs a field`),null):u&&!be(a,u.type)?(r.issue(i,`${a} does not work on the ${u.type} field "${u.name}"`),null):{field:u?u.name:null,agg:a}:(r.issue(i,`unknown aggregator ${JSON.stringify(a)}`),null)}};return r}function Tt(e,t,n){n=C(n,"normalize");let o=_(n),r=[],s=Fn(),i=(f,m)=>({view:s,issues:[...r,{path:f,message:m}]}),a;try{let f=typeof e=="string"?e:JSON.stringify(e);if(typeof f!="string")return i("","not a view object");if(f.length>o.json)return i("",`larger than ${o.json} characters`);a=JSON.parse(f)}catch{return i("","not valid JSON")}let l=jn(a);if(r.push(...l.issues),l.view===null)return{view:s,issues:r};let u=l.view;for(let f of Object.keys(u))Object.hasOwn(s,f)||r.push({path:f.slice(0,100),message:"unknown key"});let c=Qn(t,o,r);for(let f of Xn)f(u,s,c);return{view:s,issues:r}}function fo(e,t){return St(t).concat((e.derived||[]).map(n=>({name:n.name,type:B[n.by].type,derived:!0})))}var De=e=>`${e.agg}\0${e.field??""}`;function er(e,t){let n=new Map(t.derived.map(r=>[r.name.toLowerCase(),r])),o=new Map;return r=>{if(r==null)return null;let s=r.toLowerCase();if(!o.has(s)){let i=n.get(s);o.set(s,i?Qe(e,i):e.column(r)??null)}return o.get(s)}}function $t(e,t,n,o,r){let s=n?Oe(n,r,e.cache):null;return E(t.agg).create(n,o,s,i=>ee(n,n.dict[i],r))}function tr(e,t,n,o){let r=n.nodes.length,s=(t.depth+1)*(n.depth+1);x("pivotCells",Math.max(t.leafCount,n.leafCount)*s,o,"pivot cells");let i=p=>{let g=[];for(let d=p;d;d=d.parent)g.push(d.id);return g},a=new Map,l=new Map,u=new Int32Array(e.length),c=new Map,f=[],m=new Map;for(let p=0;p<e.length;p++){let g=t.leafOf[p],d=n.leafOf[p],h=g*r+d,A=c.get(h);if(A===void 0){A=c.size,c.set(h,A),x("pivotCells",f.length+s,o,"pivot cells"),a.has(g)||a.set(g,i(t.nodes[g])),l.has(d)||l.set(d,i(n.nodes[d]));for(let O of a.get(g))for(let b of l.get(d)){let N=O*r+b,T=m.get(N);T===void 0&&(T=m.size,m.set(N,T)),f.push(T)}}u[p]=A}return e.length===0&&m.set(0,0),{cellIndex:m,pairOf:u,cells:f,perPair:s}}function nr(e,t,n,o,r,s,i,a){let l=i.nodes.length,{cellIndex:u,pairOf:c,cells:f,perPair:m}=tr(r,s,i,a),p=u.size,g=t.map(b=>$t(e,b,b.field?n(b.field):null,p,o));for(let b of g)for(let N=0;N<r.length;N++){let T=c[N]*m,k=r[N];for(let I=T;I<T+m;I++)b.add(f[I],k)}let d=Symbol("unset"),h=t.map(()=>new Array(p).fill(d));return{value:(b,N,T)=>{let k=u.get(b.id*l+N.id);if(k===void 0)return null;let I=h[T][k];return I===d&&(I=h[T][k]=g[T].get(k)),I},has:(b,N)=>r.length>0&&u.has(b.id*l+N.id)}}function vt(e,t,n,o,r,s){let i=a=>{if(a.children.length===0)return;let l=o.get(t[a.depth])??{by:"label",order:"asc"},u=l.order==="desc"?-1:1,c=s(n[a.depth]),f=p=>p.code<0?1/0:c[p.code],m=(p,g)=>{let d=f(p),h=f(g);return d===h?0:d===1/0||h===1/0?d===1/0?1:-1:(d-h)*u};if(l.by==="custom"){let p=new Map(l.items.map((d,h)=>[d,h])),g=d=>p.has(d.key)?p.get(d.key):1/0;a.children.sort((d,h)=>{let A=g(d),O=g(h);return A===1/0&&O===1/0?m(d,h):A===O?0:A===1/0?1:O===1/0?-1:(A-O)*u})}else if(l.by==="value"){let p=new Map(a.children.map(g=>[g,r(g,l.value)]));a.children.sort((g,d)=>{let h=p.get(g),A=p.get(d);return h===null||A===null?h===A?m(g,d):h===null?1:-1:(h-A)*u||m(g,d)})}else a.children.sort(m);a.children.forEach((p,g)=>{p.index=g,i(p)})};i(e.root)}function vo(e,t,n){n=C(n,"computePivot"),G(ut(e),"computePivot(data, view): data must come from encode()");let o=_(n),{view:r,issues:s}=Tt(t,e,n),i=W(r.formatting.locale,n.locale);r.formatting.timeZone&&r.formatting.timeZone!==e.timeZone&&s.push({path:"formatting.timeZone",message:`the view was made for ${r.formatting.timeZone}, the data is encoded in ${e.timeZone}; pass timeZone to encode()`});let a=er(e,r),l=w=>Oe(w,i,e.cache),u={view:r,locale:i,columnOf:a,groupBy:Le,aggregateGroups:(w,S,M,F)=>{let q=$t(e,w,w.field?a(w.field):null,F,i);for(let R=0;R<S.length;R++)q.add(M[R],S[R]);return Array.from({length:F},(R,ye)=>q.get(ye))}},c=new Int32Array(e.length);for(let w=0;w<c.length;w++)c[w]=w;c=gt(u,c);let f=new Map,m=[],p=w=>{let S=De(w);return f.has(S)||(f.set(S,m.length),m.push({field:w.field,agg:w.agg})),f.get(S)},g=r.values.map(p);for(let w of r.sort)w.by==="value"&&p(w.value);let d=m.reduce((w,S)=>w+(E(S.agg).keepsValues?Ye:1),0);x("work",c.length*(r.rows.length+1)*(r.cols.length+1)*d,o.work,"cell updates");let h=r.rows.map(a),A=r.cols.map(a),O={...Ee(h,c,{max:o.groups,used:0}),depth:h.length},b={...Ee(A,c,{max:o.groups,used:O.nodes.length}),depth:A.length},{value:N,has:T}=nr(e,m,a,i,c,O,b,o.pivotCells),k=w=>typeof w=="number"?w:null,I=new Map(r.sort.map(w=>[w.field,w]));vt(O,r.rows,h,I,(w,S)=>k(N(w,b.root,f.get(De(S)))),l),vt(b,r.cols,A,I,(w,S)=>k(N(O.root,w,f.get(De(S)))),l);let Mt=r.values.map(w=>{if(w.showAs)return"number";let S=w.field?a(w.field):null;return E(w.agg).resultType(S?S.type:"number")}),ge=(w,S,M)=>N(w,S,g[M]),Lt=(w,S,M)=>{let F=r.values[M],q=ge(w,S,M);return F.showAs?j[F.showAs.type].compute(k(q),{rowNode:w,colNode:S,rowRoot:O.root,colRoot:b.root,raw:(R,ye)=>k(ge(R,ye,M)),axis:F.showAs.axis}):q};return{view:r,issues:s,locale:i,timeZone:e.timeZone,encoded:e,rows:c,rowFields:r.rows,colFields:r.cols,rowColumns:h,colColumns:A,values:r.values,valueTypes:Mt,rowRoot:O.root,colRoot:b.root,rowNodes:O.nodes,colNodes:b.nodes,rowLeafOf:O.leafOf,colLeafOf:b.leafOf,value:ge,display:Lt,hasRows:T,label:(w,S,M=v)=>{if(!S.parent)return M.grandTotal??v.grandTotal;let F=(w==="cols"?A:h)[S.depth-1];return ee(F,S.key,i,M)}}}function Ct(e){let t=e;return t!==null&&typeof t=="object"&&typeof t.display=="function"&&t.rowRoot!==void 0}var rr=new Set(["average","median","stdev","stdevp","var","varp"]),pe=2;function or(e,t){let n=t?e.column(t):void 0;return!n||n.type!=="number"?pe:e.cache.getOrSet(`decimals:${n.id}`,()=>{let o=0;for(let r of n.dict)if(typeof r=="number"&&(o=Math.max(o,X(r)),o>=pe))return pe;return o})}function sr(e,t){let n=e.values[t],o=n.showAs?j[n.showAs.type].format:null;if(o==="percent")return n.format&&K(n.format).name==="percent"?n.format:"percent:1";if(o==="integer")return"integer";if(n.format)return n.format;let r=e.valueTypes[t];if(r==="text")return"text";if(r==="date"){let s=e.encoded.column(n.field);return s&&s.dateOnly===!1?"datetime":"date"}return n.agg==="count"||n.agg==="countUnique"?"integer":`number:${rr.has(n.agg)?pe:or(e.encoded,n.field)}`}function ir(e,t=v){if(e.label)return e.label;let n;if(!e.field)n=t.countRows??v.countRows;else{let a={...v.aggregators,...t.aggregators||{}},l=Object.hasOwn(a,e.agg)?a[e.agg]:e.agg;n=ae(t.valueName??v.valueName,{agg:l,field:Q(e.field,t)})}if(!e.showAs)return n;let o={...v.showAs,...t.showAs||{}},r=e.showAs.type,s=Object.hasOwn(o,r)?o[r]:r,i=e.field&&e.agg==="sum"?Q(e.field,t):n;return ae(t.showAsName??v.showAsName,{showAs:s,value:i})}var V=e=>e==="grand"?2:e==="subtotal"?1:0;function ar(e,t){let n=e;for(;n&&n.depth>t;)n=n.parent;return n}function kt(e,t,n,o,r,s){for(let i=t;i<o;i++)for(let a=n;a<r;a++){let l=e[i][a];if(!l||l.mergeKey===void 0)continue;let u=l.mergeKey,c=a+1;for(;c<r&&e[i][c]&&e[i][c].mergeKey===u;)c++;let f=i+1;for(;f<o;){let m=!0;for(let p=a;p<c;p++)if(!e[f][p]||e[f][p].mergeKey!==u){m=!1;break}if(!m)break;f++}if(c-a>1||f-i>1){l.colSpan=c-a,l.rowSpan=f-i,s.push({row:i,col:a,rowSpan:f-i,colSpan:c-a});for(let m=i;m<f;m++)for(let p=a;p<c;p++)(m!==i||p!==a)&&(e[m][p]=null)}}}function lr(e,t){let n=e.map(Fe),o=n.length===3?t<=.5?0:1:0,r=n.length===3?t<=.5?t*2:(t-.5)*2:t,s=n[o],i=n[o+1];return"#"+s.map((a,l)=>Math.round(a+(i[l]-a)*r).toString(16).padStart(2,"0")).join("")}function Fo(e){let t=e;return t!==null&&typeof t=="object"&&Array.isArray(t.rows)&&Array.isArray(t.merges)&&Number.isInteger(t.columnCount)}var xt=(e,t,n)=>({axis:e,path:t.path,collapsed:n});function It(e,t,{node:n,kind:o},r){let s=t==="cols"?"colHeader":"rowHeader",i=f=>t==="cols"?{colPath:f.path}:{rowPath:f.path},a=f=>e.result.label(t,f,e.labels),l=o==="grand"?0:n.depth-1;if(o!=="leaf"&&r===l){let m={text:o==="collapsed"?a(n):n.parent?ae(e.labels.total,{label:a(n)}):e.labels.grandTotal,value:o==="collapsed"?n.key:null,kind:s,total:V(o),...i(n),mergeKey:`s${n.id}:${o}`};return o==="collapsed"&&(m.toggle=xt(t,n,!0)),m}if(o!=="leaf"&&r>l)return{text:"",value:null,kind:s,total:V(o),mergeKey:`s${n.id}:${o}`};let u=ar(n,r+1),c={text:a(u),value:u.key,kind:s,total:0,...i(u),mergeKey:`n${u.id}`};return u.children.length>0&&(c.toggle=xt(t,u,!1)),c}function ur(e){let{view:t,k:n,h:o,width:r}=e,s=Array.from({length:o},()=>new Array(r).fill(null));for(let a=0;a<o;a++)for(let l=0;l<n;l++)a===o-1?s[a][l]={text:t.rows.length>0?Q(t.rows[l],e.labels):"",value:null,kind:"corner",total:0,field:t.rows.length>0?t.rows[l]:void 0}:l===n-1?s[a][l]={text:Q(t.cols[a],e.labels),value:null,kind:"corner",total:0,field:t.cols[a]}:s[a][l]={text:"",value:null,kind:"corner",total:0,mergeKey:"corner"};let i=t.values.length===1;return e.dataColumns.forEach(({line:a,vi:l},u)=>{let c=n+u;for(let m=0;m<t.cols.length;m++)s[m][c]=It(e,"cols",a,m);let f={text:l>=0?e.names[l]:"",value:null,kind:"colHeader",total:i?0:V(a.kind),valueIndex:l>=0?l:void 0,colPath:i?[]:a.node.path};i&&(f.mergeKey="value"),s[o-1][c]=f}),s}function cr(e,t){let{result:n,view:o,k:r,width:s}=e;return t.map(i=>{let{node:a,kind:l}=i,u=new Array(s).fill(null);for(let c=0;c<r;c++)u[c]=o.rows.length===0?{text:o.values.length>0||o.cols.length>0?e.labels.grandTotal:"",value:null,kind:"rowHeader",total:2,rowPath:[]}:It(e,"rows",i,c);return e.dataColumns.forEach(({line:c,vi:f},m)=>{let p=Math.max(V(l),V(c.kind)),g=n.hasRows(a,c.node);if(f<0){u[r+m]={text:"",value:null,kind:"value",total:p,rowPath:a.path,colPath:c.node.path,hasRows:g};return}let d=n.display(a,c.node,f);u[r+m]={text:d===null?"":e.formatters[f](d),value:d,kind:"value",total:p,valueType:o.values[f].showAs?"number":n.valueTypes[f],format:e.formats[f],rowPath:a.path,colPath:c.node.path,valueIndex:f,hasRows:g}}),u})}function fr(e,t){e.view.values.forEach((n,o)=>{if(!n.conditional)return;let r=[];for(let a of t)for(let l=e.k;l<e.width;l++){let u=a[l];u&&u.valueIndex===o&&u.total===0&&typeof u.value=="number"&&r.push(u)}if(r.length===0)return;let s=1/0,i=-1/0;for(let a of r)s=Math.min(s,a.value),i=Math.max(i,a.value);for(let a of r)if(n.conditional.type==="colorScale"){let l=i===s?.5:(a.value-s)/(i-s),u=n.conditional.colors;a.style={scale:l,color:u.length>=2?lr(u,l):null}}else{let l=Math.min(0,s),u=Math.max(0,i);a.style={bar:u===l?0:(a.value-l)/(u-l),color:n.conditional.color}}})}function _o(e,t){t=C(t,"toGrid"),G(Ct(e),"toGrid(result): result must come from computePivot()");let n=_(t),o=e.view,r=W(o.formatting.locale,t.locale??e.locale),s={...v,...t.labels||{}},i=$e(e.rowRoot,o.rows.length,o.collapsed.rows,o.totals.rowSubtotals,o.totals.grandTotalRow),l=$e(e.colRoot,o.cols.length,o.collapsed.cols,o.totals.colSubtotals,o.totals.grandTotalColumn).flatMap(b=>o.values.length===0?[{line:b,vi:-1}]:o.values.map((N,T)=>({line:b,vi:T}))),u=Math.max(1,o.rows.length),c=o.cols.length+1,f=u+l.length;x("cells",(c+i.length)*f,n.cells,"grid cells");let m=o.values.map((b,N)=>sr(e,N)),p={result:e,view:o,labels:s,dataColumns:l,k:u,h:c,width:f,formats:m,formatters:m.map(b=>ve(b,r)),names:o.values.map(b=>ir(b,s))},g=ur(p),d=cr(p,i),h=[];kt(g,0,0,c,f,h);let A=[];kt(d,0,0,d.length,u,A),h.push(...A.map(b=>({...b,row:b.row+c}))),fr(p,d);let O=g.concat(d);for(let b of O)for(let N of b)N&&delete N.mergeKey;return{rows:O,headerRows:c,rowHeaderColumns:u,columnCount:f,merges:h,dataColumns:l.map(({line:b,vi:N})=>({colPath:b.node.path,valueIndex:N,total:V(b.kind)})),bodyRows:i.map(({node:b,kind:N})=>({rowPath:b.path,total:V(N),collapsed:N==="collapsed"})),formats:m,showAs:o.values.map(b=>b.showAs?b.showAs.type:null),valueNames:p.names,conditional:o.values.map(b=>b.conditional),locale:r,timeZone:e.timeZone}}var Ro=Object.freeze({colorScale:Object.freeze(["#f8696b","#ffeb84","#63be7b"]),dataBar:"#638ec6",pieRadius:Object.freeze(["0%","70%"]),donutRadius:Object.freeze(["42%","70%"])});export{Ce as a,_ as b,sn as c,Br as d,ut as e,Rt as f,dr as g,L as h,Ir as i,Mr as j,Lr as k,Er as l,Qe as m,v as n,Q as o,ee as p,Oe as q,hn as r,bn as s,Hr as t,Or as u,K as v,Nr as w,He as x,ve as y,Ar as z,Te as A,Sr as B,j as C,Kr as D,At as E,kn as F,uo as G,xn as H,co as I,In as J,Mn as K,Ln as L,En as M,Dn as N,Fn as O,Tt as P,fo as Q,Ot as R,Qr as S,vo as T,Ct as U,$e as V,sr as W,ir as X,Fo as Y,_o as Z,Ro as _};
@@ -0,0 +1,2 @@
1
+ import{C as we,D as re,E as Y,F as ve,G as ne,H as Se,I as Oe,J as _e,K as Ie,L as Te,M as Ce,N as Me,P as se,U as ae,V as Fe,W as Ne,X as $e,_ as ie,b as H,c as ue,e as pe,f as de,i as W,j as he,k as ge,m as ye,n as j,p as oe,q as be,r as Le,s as xe,t as Ae,u as Ee,y as G}from"./chunk-KQ7VYRM6.js";import{e as _,f as me,j as P,k as C,s as B}from"./chunk-7HSMEVX7.js";function Xe(e,o,t){t=P(t,"fieldItems"),_(pe(e),"fieldItems(data, field): data must come from encode()");let r=H(t),{view:n}=se(t.view??{},e,{limits:t.limits}),i=B(n.formatting.locale,t.locale),l={...j,...t.labels||{}};if(typeof o!="string")return null;let s=n.derived.find(c=>c.name.toLowerCase()===o.trim().toLowerCase()),a=s?ye(e,s):e.column(o.trim());if(!a)return null;let m=new Float64Array(a.dict.length+1);for(let c=0;c<a.codes.length;c++)m[a.codes[c]+1]++;let f=be(a,i,e.cache),u=[];for(let c=0;c<a.dict.length;c++)m[c+1]>0&&u.push(c);u.sort((c,x)=>f[c]-f[x]);let d=u.map(c=>({value:a.dict[c],label:oe(a,a.dict[c],i,l),count:m[c+1]}));return m[0]>0&&d.push({value:null,label:oe(a,null,i,l),count:m[0]}),{field:a.name,type:a.type,items:d.slice(0,r.items),truncated:d.length>r.items}}var Ke=Object.freeze({aggregators:de,commonAggregators:Object.freeze(["sum","count","average","min","max"]),columnTypes:ue,deriveUnits:ge,timelineUnits:W,cyclicUnits:he,filterTypes:Ae,labelOps:Le,valueOps:xe,formats:Ee,showAs:re,showAsAlongAxis:Object.freeze(re.filter(e=>we[e].alongAxis)),chartTypes:ve,chartValueLabels:_e,chartLegends:Te,chartAxisLabels:Ce,chartGroupLabels:Me,chartLabelPositions:Ie,displayModes:Se,conditionalTypes:Oe});var J="pivotkit-view",M=1,ke="https://pivotkit.eize.dev/schema/view-file-1.json",b=Object.freeze({text:1e6,name:256,description:2e3,fields:1e3}),qe=Object.freeze(["string","number","date","boolean","null"]);function S(e,o){return typeof e!="string"?"":e.replace(/[\u0000-\u001F\u007F]+/g," ").trim().slice(0,o)}var g=(e,o)=>C(e)&&Object.hasOwn(e,o)?e[o]:void 0;function le(e){let o=new Map,t=s=>{let a=g(e,s);return Array.isArray(a)?a:[]};for(let s of t("derived")){let a=g(s,"name"),m=g(s,"field");typeof a=="string"&&typeof m=="string"&&o.set(a.toLowerCase(),m)}let r=[],n=new Set,i=s=>{if(typeof s!="string"||s==="")return;let a=o.get(s.toLowerCase())??s;n.has(a.toLowerCase())||(n.add(a.toLowerCase()),r.push(a))},l=s=>i(g(s,"field"));t("rows").forEach(i),t("cols").forEach(i),t("values").forEach(l);for(let s of t("filters"))i(g(s,"field")),l(g(s,"by"));for(let s of t("sort"))i(g(s,"field")),l(g(s,"value"));return r}function Re(e){let o=e&&e.schema&&Array.isArray(e.schema.fields)?e.schema.fields:[];return new Map(o.filter(t=>t&&typeof t.name=="string").map(t=>[t.name.toLowerCase(),t]))}function Qe(e,o={},t={}){if(!C(e))throw new TypeError("toViewFile(view): view must be an object");let r=S(o.name,b.name),n=S(o.source?.id,b.name);if(t.link)return{format:J,formatVersion:M,...n?{source:{id:n}}:{},...r?{name:r}:{},view:e};let i=S(o.description,b.description),l=o.createdAt instanceof Date?o.createdAt:typeof o.createdAt=="string"&&o.createdAt?new Date(o.createdAt):null,s=l&&!Number.isNaN(l.getTime())?l.toISOString():null,a=o.generator&&typeof o.generator.name=="string"?{name:S(o.generator.name,b.name),version:S(o.generator.version,b.name)}:null,m=S(o.source?.name,b.name),f=o.schemaUrl===void 0?ke:typeof o.schemaUrl=="string"?o.schemaUrl.trim():"",u=Re(o.data),d=o.data?le(e).map(c=>u.get(c.toLowerCase())).filter(Boolean).map(c=>({name:c.name,type:typeof c.type=="string"?c.type:"string"})):null;return{...f?{$schema:f}:{},format:J,formatVersion:M,name:r,...i?{description:i}:{},...s?{createdAt:s}:{},...a?{generator:a}:{},source:{...n?{id:n}:{},...m?{name:m}:{},...d?{fields:d}:{}},extensions:{},view:e}}function Ze(e){return`${JSON.stringify(e,null,2)}
2
+ `}function et(e){return`${(typeof e=="string"?e:"").toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,80).replace(/-+$/,"")||"view"}.pivotkit.json`}function tt(e,o={}){let t={view:null,envelope:!1,name:"",description:"",createdAt:null,generator:null,source:null,failed:null,issues:[]},r=(a,m)=>({...t,failed:a,issues:[...t.issues,{path:"",message:m}]}),n=e;if(typeof e=="string"){if(e.trim()==="")return r("empty","empty text");if(e.length>b.text)return r("tooLarge",`longer than ${b.text} characters`);try{n=JSON.parse(e)}catch{return r("notJson","not valid JSON")}}if(!C(n))return r("notView","not a JSON object");let i=(a,m)=>t.issues.push({path:a,message:m}),l;if(g(n,"format")===J){t.envelope=!0;let a=g(n,"formatVersion");if(a==null)i("formatVersion",`missing; read as ${M}`);else if(a!==M)return(typeof a=="number"?a:typeof a=="string"&&a.trim()!==""?Number(a):NaN)>M?r("newerFormat",`format version ${JSON.stringify(a)} is newer than ${M}`):r("notView",`format version ${JSON.stringify(a)} is not ${M}`);l=g(n,"view"),t.name=S(g(n,"name"),b.name),t.description=S(g(n,"description"),b.description);let m=g(n,"createdAt");t.createdAt=typeof m=="string"&&!Number.isNaN(Date.parse(m))?m.slice(0,64):null,m!==void 0&&t.createdAt===null&&i("createdAt","not a date and time");let f=g(n,"generator");C(f)&&typeof g(f,"name")=="string"&&(t.generator={name:S(g(f,"name"),b.name),version:S(g(f,"version"),b.name)}),t.source=ot(g(n,"source"),i)}else{let a=g(n,"view");C(a)&&typeof g(n,"name")=="string"?(l=a,t.name=S(g(n,"name"),b.name)):l=n}if(!C(l))return r("notView","no view object");let s=g(l,"version");return typeof s=="number"&&s>Y?r("newerView",`view version ${s} is newer than ${Y}`):(t.view=l,o.data&&(t.compatible=rt(t,o.data,o.sourceId)),t)}function ot(e,o){if(e===void 0)return null;if(!C(e))return o("source","not an object"),null;let t={},r=S(g(e,"id"),b.name),n=S(g(e,"name"),b.name);r&&(t.id=r),n&&(t.name=n);let i=g(e,"fields");return i!==void 0&&(Array.isArray(i)?(i.length>b.fields&&o("source.fields",`more than ${b.fields} fields; the rest left out`),t.fields=[],i.slice(0,b.fields).forEach((l,s)=>{let a=S(g(l,"name"),b.name),m=g(l,"type");a?qe.includes(m)?t.fields?.push({name:a,type:m}):(o(`source.fields[${s}].type`,`unknown type ${JSON.stringify(m)}`),t.fields?.push({name:a,type:"string"})):o(`source.fields[${s}]`,"no name")})):o("source.fields","not a list")),t}function rt(e,o,t){let r=Re(o),n=e.source?.fields,i=le(e.view),l=i.filter(f=>!r.has(f.toLowerCase())),s=(n??[]).filter(f=>r.has(f.name.toLowerCase())&&r.get(f.name.toLowerCase()).type!==f.type).map(f=>({name:f.name,type:f.type,dataType:String(r.get(f.name.toLowerCase()).type)})),a=e.source?.id,m=typeof t=="string"&&t&&a?a===t?"same":"other":"unknown";return{ok:m!=="other"&&l.length===0&&s.length===0,source:m,missing:l,changed:s,needs:i}}function Ve(e,o){o=P(o,"toSeries"),_(ae(e),"toSeries(result): result must come from computePivot()");let t=H(o),r=e.view,n={...j,...o.labels||{}},i=o.separator??" / ",l=(p,A,h)=>Fe(p,A,h,!1,!1).filter(L=>L.kind!=="grand"),s=l(e.rowRoot,r.rows.length,r.collapsed.rows),a=l(e.colRoot,r.cols.length,r.collapsed.cols);s.length===0&&(s=[{node:e.rowRoot,kind:"leaf"}]);let m=s.length;o.maxCategories!==void 0&&(_(Number.isInteger(o.maxCategories)&&o.maxCategories>0,"toSeries: maxCategories must be a positive whole number"),s=s.slice(0,o.maxCategories)),a.length===0&&(a=[{node:e.colRoot,kind:"leaf"}]);let f=(p,A)=>{let h=[];for(let L=A;L&&L.parent;L=L.parent)h.unshift(e.label(p,L,n));return h},u=(p,A)=>{let h=f(p,A);return h.length?h.join(i):n.grandTotal},d=r.values.filter((p,A)=>e.valueTypes[A]!=="text").length;me("cells",s.length*Math.max(1,a.length*d),t.cells,"chart data points");let c=r.values.map(p=>$e(p,n)),x=p=>typeof p=="number"&&Number.isFinite(p)?p:null,I=[];for(let{node:p}of a)r.values.forEach((A,h)=>{if(e.valueTypes[h]==="text")return;let L=p.parent?u("cols",p):"",T=L&&r.values.length>1?`${L}${i}${c[h]}`:L||c[h];I.push({name:T,valueIndex:h,colPath:p.path,format:Ne(e,h),data:s.map(({node:$})=>x(e.display($,p,h)))})});return{categories:s.map(({node:p})=>u("rows",p)),categoryLevels:s.map(({node:p})=>f("rows",p)),categoryCount:m,categoryPaths:s.map(({node:p})=>p.path),series:I,totals:r.values.map((p,A)=>s.map(({node:h})=>x(e.display(h,e.colRoot,A))))}}var nt=32,ce={top:24,bottom:32,right:160};function st(e,o,t,r){let n=e==="bottom"||e==="right"||e==="off"?e:o?"top":"off";return n==="off"?{legend:null,room:{top:0,bottom:0,right:0}}:n==="right"?{legend:{type:"scroll",orient:"vertical",right:0,top:t+8,bottom:8,textStyle:r},room:{top:0,bottom:0,right:ce.right}}:n==="bottom"?{legend:{type:"scroll",bottom:0,textStyle:r},room:{top:0,bottom:ce.bottom,right:0}}:{legend:{type:"scroll",top:t,textStyle:r},room:{top:ce.top,bottom:0,right:0}}}var ze=24;function at(e,o,t,{separator:r,axisLine:n,theme:i}){let l=e.categoryLevels??[];if(t.groupLabels==="off"||o<2||!l.some(c=>c.length>=2))return null;let s=l.map(c=>c[0]??""),a=l.map((c,x)=>c.length>1?c.slice(1).join(r):e.categories[x]),m=s.map((c,x)=>x===0||c!==s[x-1]),f=new Set,u=0,d=s.length;for(let c=1;c<=s.length;c++)(c===s.length||m[c])&&(f.add(Math.floor((u+c-1)/2)),d=Math.min(d,c-u),u=c);return{leaves:a,axis:{type:"category",data:s,position:t.horizontal?"left":"bottom",offset:ze,axisLine:{show:!1},axisTick:{show:!0,inside:!0,length:ze,interval:c=>c>0&&m[c]===!0,lineStyle:n.lineStyle},axisLabel:{color:i.textColor,fontWeight:600,interval:c=>f.has(c)},axisPointer:{show:!1},splitLine:{show:!1},groups:!0,groupsAuto:t.groupLabels!=="on",groupSize:d}}}function D(e,o){let t=Array.isArray(e.derived)?e.derived:[],r=n=>{let i=String(n).toLowerCase(),l=t.find(s=>s&&typeof s.name=="string"&&s.name.toLowerCase()===i);return l&&!W.includes(l.by)?!1:o.column(l?l.field:n)?.type==="date"};return(Array.isArray(e.rows)?e.rows:[]).some(r)?"line":"bar"}function it(e,o){o=P(o,"toEChartsOption"),_(ae(e),"toEChartsOption(result): result must come from computePivot()");let t=o.theme??{},r={...e.view.chart,...o.chart||{}};r.type==="auto"&&(r.type=D(e.view,e.encoded));let n=B(e.view.formatting.locale,o.locale??e.locale),i=o.series??Ve(e,o);_(i&&Array.isArray(i.series)&&Array.isArray(i.categories),"toEChartsOption: series must come from toSeries()");let l=i.series[0],s=G(l?l.format:"number",n),a=G(l&&/^percent/.test(l.format)?l.format:"compact",n),m={color:t.textColor,fontFamily:t.fontFamily},f={lineStyle:{color:t.axisColor}},u={backgroundColor:t.backgroundColor??"transparent",textStyle:m,...t.colors&&t.colors.length?{color:t.colors}:{}},d=E=>typeof E=="number"?s(E):"",c=typeof r.title=="string"&&r.title.trim()?{title:{text:r.title.trim(),left:"center",top:0,textStyle:{...m,fontSize:16,fontWeight:600}}}:{},x=c.title?nt:0,{legend:I,room:p}=st(r.legend,ne.includes(r.type)||i.series.length>1,x,m),A=I?{legend:I}:{},h=r.valueLabels==="off"||r.valueLabels==="value"||r.valueLabels==="percent"||r.valueLabels==="both"?r.valueLabels:"auto";if(ne.includes(r.type)){let E=l?l.valueIndex:0,F=i.categories.map((w,Je)=>({name:w,value:i.totals[E]?i.totals[E][Je]:null})).filter(w=>typeof w.value=="number"&&w.value>0),k=w=>G("percent100:1",n)(w.percent),N=r.labelPosition==="inside",v={value:w=>s(w.value),percent:k,both:w=>`${s(w.value)} (${k(w)})`},te=h==="off"?{show:!1}:N?{position:"inside",formatter:v[h==="auto"?"percent":h]}:h==="auto"?{}:{formatter:w=>`${w.name}: ${v[h](w)}`},R=r.type==="donut"?t.donutRadius??ie.donutRadius:t.pieRadius??ie.pieRadius;return{...u,...c,tooltip:{trigger:"item",valueFormatter:d},...A,series:[{type:"pie",name:l?l.name:"",radius:[...R],top:x+p.top,...p.bottom?{bottom:p.bottom}:{},...p.right?{right:p.right}:{},data:F,...N?{minShowLabelAngle:12,labelLine:{show:!1}}:{},label:{...N?{}:{color:t.textColor},...te}}]}}if(r.type==="heatmap"){let E=i.series.filter(v=>v.valueIndex===(l?l.valueIndex:0)),F=[],k=1/0,N=-1/0;return E.forEach((v,te)=>{v.data.forEach((R,w)=>{R!==null&&(F.push([te,w,R]),k=Math.min(k,R),N=Math.max(N,R))})}),{...u,...c,tooltip:{trigger:"item",valueFormatter:d},grid:{top:16+x,bottom:64},xAxis:{type:"category",data:E.map(v=>v.name),axisLine:f,axisLabel:{color:t.textColor,interval:0},splitArea:{show:!1}},yAxis:{type:"category",data:i.categories,axisLine:f,axisLabel:{color:t.textColor},splitArea:{show:!1}},visualMap:{min:F.length?k:0,max:F.length?N:1,calculable:!0,orient:"horizontal",left:"center",bottom:0,textStyle:m,formatter:v=>typeof v=="number"?s(v):String(v),...t.heatmapColors?{inRange:{color:t.heatmapColors}}:{}},series:[{type:"heatmap",name:l?l.name:"",data:F,label:{show:h==="auto"?F.length<=200:h!=="off",formatter:v=>s(v.value[2])}}]}}let L=r.type==="line"||r.type==="area"?"line":"bar",T=at(i,e.view.rows.length,r,{separator:o.separator??" / ",axisLine:f,theme:t}),$={type:"category",data:T?T.leaves:i.categories,axisLine:f,axisLabel:{color:t.textColor}},fe={type:"value",axisLine:f,axisLabel:{color:t.textColor,formatter:E=>a(E)},splitLine:{lineStyle:{color:t.gridColor}}},We=h!=="auto"&&h!=="off",Ge=L==="line"?"top":r.stacked?"inside":r.horizontal?"right":"top",Ye=We?{label:{show:!0,position:Ge,color:t.textColor,formatter:E=>typeof E.value=="number"?s(E.value):""}}:{};return{...u,...c,...A,tooltip:{trigger:"axis",valueFormatter:d},grid:{top:16+x+p.top,...p.bottom?{bottom:p.bottom+8}:{},...p.right?{right:p.right+8}:{}},xAxis:r.horizontal?fe:T?[$,T.axis]:$,yAxis:r.horizontal?T?[{...$,inverse:!0},{...T.axis,inverse:!0}]:{...$,inverse:!0}:fe,series:i.series.map(E=>({type:L,name:E.name,data:E.data,...r.stacked?{stack:"total"}:{},...r.type==="area"?{areaStyle:{}}:{},...L==="line"?{connectNulls:!1,smooth:!!r.smooth}:{},...Ye}))}}var O=Object.freeze({fields:1e3,label:120,description:1e3,order:1e3,href:2e3,depth:32,steps:2e4}),z=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),y=(e,o)=>z(e)&&Object.hasOwn(e,o)?e[o]:void 0,X=(e,...o)=>Object.fromEntries(Object.entries(e).filter(([t])=>!o.includes(t)));function Pe(e,o){if(typeof e!="string")return;let t=e.slice(0,o*4).replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]+/g," ").replace(/[\u200b-\u200f\u202a-\u202e\u2060-\u2064\u2066-\u2069\ufeff]/g,"").replace(/\s+/g," ").trim();if(t)return t.length>o?`${t.slice(0,o-1).trimEnd()}\u2026`:t}function lt(e){if(!(typeof e!="string"||e.length>O.href))try{let o=new URL(e.trim());return o.protocol==="https:"&&!o.username&&!o.password?o.href:void 0}catch{return}}function Ue(e,o){if(typeof o!="string"||!o.startsWith("#"))return;let t=o.slice(1).split("/").slice(1).map(n=>n.replace(/~1/g,"/").replace(/~0/g,"~")),r=e;for(let n of t)if(r=Array.isArray(r)&&/^\d+$/.test(n)?r[Number(n)]:y(r,n),r===void 0)return;return r}var je=Symbol("resolving");function U(e,o,t,r=t){let n=`${r}:${o}`;!e.said.has(n)&&e.issues.length<100&&(e.said.add(n),e.issues.push({path:o,message:t}))}function V(e,o,t,r=0){if(!z(o))return;if(r>O.depth){U(e,t,`nested deeper than ${O.depth} levels; not read`,"depth");return}if(e.steps<=0){U(e,"",`stopped after ${O.steps} schema objects; the rest is not read`,"steps");return}e.steps-=1;let n=o,i=y(n,"$ref");if(typeof i=="string"){let s=e.refs.get(i);if(s===je){U(e,t,`$ref ${i.slice(0,200)} refers to itself; not read`);return}if(!e.refs.has(i)){let a=Ue(e.root,i);a===void 0&&U(e,t,i.startsWith("#")?`$ref ${i.slice(0,200)} is not in the document`:`$ref ${i.slice(0,200)} is not local; not fetched`),e.refs.set(i,je),s=V(e,a,i.slice(0,200),r+1),e.refs.set(i,s)}if(!s)return;n={...s,...X(n,"$ref")}}let l=y(n,"allOf");if(Array.isArray(l)){let s=l.slice(0,O.fields).map((f,u)=>V(e,f,`${t}.allOf[${u}]`,r+1)).filter(Boolean),a={};for(let f of[...s,n]){let u=y(f,"properties");if(z(u))for(let d of Object.keys(u))Object.defineProperty(a,d,{value:u[d],enumerable:!0,writable:!0,configurable:!0})}n={...s.reduce((f,u)=>({...f,...X(u,"properties")}),{}),...X(n,"allOf"),properties:a}}for(let s of["anyOf","oneOf"]){let a=y(n,s);if(Array.isArray(a)){let m=a.slice(0,O.fields).map((f,u)=>V(e,f,`${t}.${s}[${u}]`,r+1)).filter(f=>f&&y(f,"type")!=="null");m.length===1&&(n={...m[0],...X(n,s)})}}return n}function De(e){let o=y(e,"type"),t=Array.isArray(o)?o.filter(r=>r!=="null"):[o];return t.length===1&&typeof t[0]=="string"?t[0]:void 0}function ct(e,o,t="fieldDefaultsFromSchema"){return _(typeof o=="string"&&o.trim()!=="",`${t}: an OpenAPI document needs options.schema, the name of a schema or a local $ref`),o.startsWith("#")?Ue(e,o):y(y(y(e,"components"),"schemas"),o)??y(y(e,"definitions"),o)}function ft(e,o={}){_(z(e),"fieldDefaultsFromSchema: the schema must be an object"),_(z(o),"fieldDefaultsFromSchema: options must be an object");let t=e,r=y(t,"openapi")!==void 0||y(t,"swagger")!==void 0,n={root:t,steps:O.steps,refs:new Map,issues:[],said:new Set},i=V(n,r||o.schema!==void 0?ct(t,o.schema):t,"");_(i,`fieldDefaultsFromSchema: no schema ${JSON.stringify(String(o.schema??"")).slice(0,80)} in the document`),De(i)==="array"&&(i=V(n,y(i,"items"),"items"));let l=y(i,"properties");_(z(l),"fieldDefaultsFromSchema: the schema of a row must have properties");let s={},a=Object.keys(l);a.length>O.fields&&U(n,"properties",`${a.length} fields, more than ${O.fields}: the first ${O.fields} are read`);for(let m of a.slice(0,O.fields)){let f=V(n,l[m],`properties.${m.slice(0,200)}`);if(!f)continue;let u={},d=Pe(y(f,"title"),O.label);d&&(u.label=d);let c=Pe(y(f,"description"),O.description);c&&(u.description=c);let x=lt(y(y(f,"externalDocs"),"url"));x&&(u.href=x);let I=De(f),p=y(f,"format");I==="integer"||I==="number"?u.type="number":I==="string"&&(p==="date"||p==="date-time")&&(u.type="date");let A=y(f,"enum");if(Array.isArray(A)){let h=A.slice(0,O.order).filter(L=>L===null||["string","number","boolean"].includes(typeof L));h.length>0&&(u.order=h)}Object.keys(u).length>0&&Object.defineProperty(s,m,{value:u,enumerable:!0,writable:!0,configurable:!0})}return{defaults:s,issues:n.issues}}var q=Object.freeze({auto:{chart:{type:"auto",stacked:!1,horizontal:!1},icon:"sparkle",axis:!0},bar:{chart:{type:"bar",stacked:!1,horizontal:!1},icon:"chart",axis:!0},stacked:{chart:{type:"bar",stacked:!0,horizontal:!1},icon:"stacked",axis:!0},horizontal:{chart:{type:"bar",stacked:!1,horizontal:!0},icon:"horizontal",axis:!0},line:{chart:{type:"line",stacked:!1,horizontal:!1},icon:"line",axis:!0},area:{chart:{type:"area",stacked:!1,horizontal:!1},icon:"area",axis:!0},pie:{chart:{type:"pie",stacked:!1,horizontal:!1},icon:"pie",axis:!1},donut:{chart:{type:"donut",stacked:!1,horizontal:!1},icon:"donut",axis:!1},heatmap:{chart:{type:"heatmap",stacked:!1,horizontal:!1},icon:"heatmap",axis:!1}}),Io=Object.freeze(["pie","donut"]),He=Object.freeze(Object.keys(q));function mt(e){let o=He.find(t=>{let r=q[t].chart;return r.type===e.type&&r.stacked===!!e.stacked&&r.horizontal===!!e.horizontal});return o||(e.type==="bar"?e.horizontal?"horizontal":"stacked":He.find(t=>q[t].chart.type===e.type)??"bar")}function To(e,o){if(e.chart.type!=="auto")return{name:mt(e.chart),auto:!1,swap:!1,chart:{type:e.chart.type,stacked:!!e.chart.stacked,horizontal:!!e.chart.horizontal}};let t=D(e,o),r=t==="bar"&&e.cols.length>0&&D({...e,rows:e.cols},o)==="line",n=t==="line"||r?"line":"bar";return{name:n,auto:!0,swap:r,chart:{...q[n].chart}}}var Co=8,Mo=50;function Fo(e){return Math.round(Math.min(24,Math.max(0,e)*.05))}var ut=120,Q={x:80,y:120},Z=16,pt=4;function No(e,o,t=12){if(e.length===0)return{rotate:0};let r=Math.max(0,o-Q.x)/e.length;return Math.max(...e.map(i=>String(i).length))*t*.55<=r?{rotate:0}:{rotate:45,width:ut,overflow:"truncate"}}function $o(e,o,t,r,n,i=12){let l=Math.max(0,t-Q.x)/Math.max(1,e),s=Math.max(0,r-Q.y)/Math.max(1,o),a=n.reduce((m,f)=>Math.max(m,String(f).length),0)*i*.55;return l>=a+2*pt&&s>=Z}function ko(e,o){let t=Math.max(0,o-Q.y)/Math.max(1,e);return t>=Z?0:Math.ceil(Z/Math.max(t,.1))-1}var Be=120,ee={x:80,y:60};function Ro(e,{width:o,height:t,horizontal:r=!1,mode:n="auto",fontSize:i=12}){let l=Math.max(1,e.length),s={width:Be,overflow:"truncate"},a=(d,c)=>Math.max(1,Math.ceil(c/Math.max(d,.1))),m=(d,c)=>({rotate:d,interval:c-1,every:c,...s});if(r){let d=Math.max(0,t-ee.y)/l;return m(0,n==="all"?1:a(d,i+1))}let f=Math.max(0,o-ee.x)/l,u=Math.min(Be,Math.max(0,...e.map(d=>String(d).length))*i*.55);return n==="nth"?m(0,a(f,u+8)):u+8<=f?m(0,1):m(45,n==="all"?1:a(f,Z))}var K=Object.freeze({along:56,across:28,width:420,height:260});function zo(e,o,{width:t,height:r,horizontal:n=!1}){if(t<K.width||r<K.height)return!1;let i=Math.max(1,e);return(n?Math.max(0,r-ee.y)/i:Math.max(0,t-ee.x)/i)*Math.max(1,o)>=(n?K.across:K.along)}export{Xe as a,Ve as b,it as c,Ke as d,Pe as e,ft as f,b as g,Qe as h,Ze as i,et as j,tt as k,q as l,Io as m,He as n,mt as o,To as p,Co as q,Mo as r,Fo as s,No as t,$o as u,ko as v,Be as w,Ro as x,zo as y};
@@ -0,0 +1 @@
1
+ var x=Uint8Array,V=Uint16Array,Mr=Int32Array,ur=new x([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),lr=new x([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),yr=new x([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Br=function(n,r){for(var t=new V(31),e=0;e<31;++e)t[e]=r+=1<<n[e-1];for(var i=new Mr(t[30]),e=1;e<30;++e)for(var a=t[e];a<t[e+1];++a)i[a]=a-t[e]<<5|e;return{b:t,r:i}},Zr=Br(ur,2),Er=Zr.b,wr=Zr.r;Er[28]=258,wr[258]=28;var Gr=Br(lr,0),$r=Gr.b,Ur=Gr.r,mr=new V(32768);for(y=0;y<32768;++y)Q=(y&43690)>>1|(y&21845)<<1,Q=(Q&52428)>>2|(Q&13107)<<2,Q=(Q&61680)>>4|(Q&3855)<<4,mr[y]=((Q&65280)>>8|(Q&255)<<8)>>1;var Q,y,J=(function(n,r,t){for(var e=n.length,i=0,a=new V(r);i<e;++i)n[i]&&++a[n[i]-1];var f=new V(r);for(i=1;i<r;++i)f[i]=f[i-1]+a[i-1]<<1;var h;if(t){h=new V(1<<r);var c=15-r;for(i=0;i<e;++i)if(n[i])for(var u=i<<4|n[i],s=r-n[i],o=f[n[i]-1]++<<s,l=o|(1<<s)-1;o<=l;++o)h[mr[o]>>c]=u}else for(h=new V(e),i=0;i<e;++i)n[i]&&(h[i]=mr[f[n[i]-1]++]>>15-n[i]);return h}),d=new x(288);for(y=0;y<144;++y)d[y]=8;var y;for(y=144;y<256;++y)d[y]=9;var y;for(y=256;y<280;++y)d[y]=7;var y;for(y=280;y<288;++y)d[y]=8;var y,sr=new x(32);for(y=0;y<32;++y)sr[y]=5;var y,Hr=J(d,9,0),Nr=J(d,9,1),Rr=J(sr,5,0),Vr=J(sr,5,1),cr=function(n){for(var r=n[0],t=1;t<n.length;++t)n[t]>r&&(r=n[t]);return r},Y=function(n,r,t){var e=r/8|0;return(n[e]|n[e+1]<<8)>>(r&7)&t},pr=function(n,r){var t=r/8|0;return(n[t]|n[t+1]<<8|n[t+2]<<16)>>(r&7)},Sr=function(n){return(n+7)/8|0},b=function(n,r,t){return(r==null||r<0)&&(r=0),(t==null||t>n.length)&&(t=n.length),new x(n.subarray(r,t))};var Wr=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],q=function(n,r,t){var e=new Error(r||Wr[n]);if(e.code=n,Error.captureStackTrace&&Error.captureStackTrace(e,q),!t)throw e;return e},Yr=function(n,r,t,e){var i=n.length,a=e?e.length:0;if(!i||r.f&&!r.l)return t||new x(0);var f=!t,h=f||r.i!=2,c=r.i;f&&(t=new x(i*3));var u=function(er){var ir=t.length;if(er>ir){var nr=new x(Math.max(ir*2,er));nr.set(t),t=nr}},s=r.f||0,o=r.p||0,l=r.b||0,g=r.l,m=r.d,w=r.m,F=r.n,L=i*8;do{if(!g){s=Y(n,o,1);var G=Y(n,o+1,3);if(o+=3,G)if(G==1)g=Nr,m=Vr,w=9,F=5;else if(G==2){var C=Y(n,o,31)+257,U=Y(n,o+10,15)+4,p=C+Y(n,o+5,31)+1;o+=14;for(var v=new x(p),I=new x(19),D=0;D<U;++D)I[yr[D]]=Y(n,o+D*3,7);o+=U*3;for(var O=cr(I),k=(1<<O)-1,H=J(I,O,1),D=0;D<p;){var P=H[Y(n,o,k)];o+=P&15;var M=P>>4;if(M<16)v[D++]=M;else{var B=0,z=0;for(M==16?(z=3+Y(n,o,3),o+=2,B=v[D-1]):M==17?(z=3+Y(n,o,7),o+=3):M==18&&(z=11+Y(n,o,127),o+=7);z--;)v[D++]=B}}var $=v.subarray(0,C),Z=v.subarray(C);w=cr($),F=cr(Z),g=J($,w,1),m=J(Z,F,1)}else q(1);else{var M=Sr(o)+4,S=n[M-4]|n[M-3]<<8,T=M+S;if(T>i){c&&q(0);break}h&&u(l+S),t.set(n.subarray(M,T),l),r.b=l+=S,r.p=o=T*8,r.f=s;continue}if(o>L){c&&q(0);break}}h&&u(l+131072);for(var tr=(1<<w)-1,W=(1<<F)-1,K=o;;K=o){var B=g[pr(n,o)&tr],N=B>>4;if(o+=B&15,o>L){c&&q(0);break}if(B||q(2),N<256)t[l++]=N;else if(N==256){K=o,g=null;break}else{var R=N-254;if(N>264){var D=N-257,A=ur[D];R=Y(n,o,(1<<A)-1)+Er[D],o+=A}var j=m[pr(n,o)&W],_=j>>4;j||q(3),o+=j&15;var Z=$r[_];if(_>3){var A=lr[_];Z+=pr(n,o)&(1<<A)-1,o+=A}if(o>L){c&&q(0);break}h&&u(l+131072);var rr=l+R;if(l<Z){var fr=a-Z,hr=Math.min(Z,rr);for(fr+l<0&&q(3);l<hr;++l)t[l]=e[fr+l]}for(;l<rr;++l)t[l]=t[l-Z]}}r.l=g,r.p=K,r.b=l,r.f=s,g&&(s=1,r.m=w,r.d=m,r.n=F)}while(!s);return l!=t.length&&f?b(t,0,l):t.subarray(0,l)},X=function(n,r,t){t<<=r&7;var e=r/8|0;n[e]|=t,n[e+1]|=t>>8},ar=function(n,r,t){t<<=r&7;var e=r/8|0;n[e]|=t,n[e+1]|=t>>8,n[e+2]|=t>>16},gr=function(n,r){for(var t=[],e=0;e<n.length;++e)n[e]&&t.push({s:e,f:n[e]});var i=t.length,a=t.slice();if(!i)return{t:qr,l:0};if(i==1){var f=new x(t[0].s+1);return f[t[0].s]=1,{t:f,l:1}}t.sort(function(T,C){return T.f-C.f}),t.push({s:-1,f:25001});var h=t[0],c=t[1],u=0,s=1,o=2;for(t[0]={s:-1,f:h.f+c.f,l:h,r:c};s!=i-1;)h=t[t[u].f<t[o].f?u++:o++],c=t[u!=s&&t[u].f<t[o].f?u++:o++],t[s++]={s:-1,f:h.f+c.f,l:h,r:c};for(var l=a[0].s,e=1;e<i;++e)a[e].s>l&&(l=a[e].s);var g=new V(l+1),m=xr(t[s-1],g,0);if(m>r){var e=0,w=0,F=m-r,L=1<<F;for(a.sort(function(C,U){return g[U.s]-g[C.s]||C.f-U.f});e<i;++e){var G=a[e].s;if(g[G]>r)w+=L-(1<<m-g[G]),g[G]=r;else break}for(w>>=F;w>0;){var M=a[e].s;g[M]<r?w-=1<<r-g[M]++-1:++e}for(;e>=0&&w;--e){var S=a[e].s;g[S]==r&&(--g[S],++w)}m=r}return{t:new x(g),l:m}},xr=function(n,r,t){return n.s==-1?Math.max(xr(n.l,r,t+1),xr(n.r,r,t+1)):r[n.s]=t},Fr=function(n){for(var r=n.length;r&&!n[--r];);for(var t=new V(++r),e=0,i=n[0],a=1,f=function(c){t[e++]=c},h=1;h<=r;++h)if(n[h]==i&&h!=r)++a;else{if(!i&&a>2){for(;a>138;a-=138)f(32754);a>2&&(f(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(f(i),--a;a>6;a-=6)f(8304);a>2&&(f(a-3<<5|8208),a=0)}for(;a--;)f(i);a=1,i=n[h]}return{c:t.subarray(0,e),n:r}},or=function(n,r){for(var t=0,e=0;e<r.length;++e)t+=n[e]*r[e];return t},Or=function(n,r,t){var e=t.length,i=Sr(r+2);n[i]=e&255,n[i+1]=e>>8,n[i+2]=n[i]^255,n[i+3]=n[i+1]^255;for(var a=0;a<e;++a)n[i+a+4]=t[a];return(i+4+e)*8},Dr=function(n,r,t,e,i,a,f,h,c,u,s){X(r,s++,t),++i[256];for(var o=gr(i,15),l=o.t,g=o.l,m=gr(a,15),w=m.t,F=m.l,L=Fr(l),G=L.c,M=L.n,S=Fr(w),T=S.c,C=S.n,U=new V(19),p=0;p<G.length;++p)++U[G[p]&31];for(var p=0;p<T.length;++p)++U[T[p]&31];for(var v=gr(U,7),I=v.t,D=v.l,O=19;O>4&&!I[yr[O-1]];--O);var k=u+5<<3,H=or(i,d)+or(a,sr)+f,P=or(i,l)+or(a,w)+f+14+3*O+or(U,I)+2*U[16]+3*U[17]+7*U[18];if(c>=0&&k<=H&&k<=P)return Or(r,s,n.subarray(c,c+u));var B,z,$,Z;if(X(r,s,1+(P<H)),s+=2,P<H){B=J(l,g,0),z=l,$=J(w,F,0),Z=w;var tr=J(I,D,0);X(r,s,M-257),X(r,s+5,C-1),X(r,s+10,O-4),s+=14;for(var p=0;p<O;++p)X(r,s+3*p,I[yr[p]]);s+=3*O;for(var W=[G,T],K=0;K<2;++K)for(var N=W[K],p=0;p<N.length;++p){var R=N[p]&31;X(r,s,tr[R]),s+=I[R],R>15&&(X(r,s,N[p]>>5&127),s+=N[p]>>12)}}else B=Hr,z=d,$=Rr,Z=sr;for(var p=0;p<h;++p){var A=e[p];if(A>255){var R=A>>18&31;ar(r,s,B[R+257]),s+=z[R+257],R>7&&(X(r,s,A>>23&31),s+=ur[R]);var j=A&31;ar(r,s,$[j]),s+=Z[j],j>3&&(ar(r,s,A>>5&8191),s+=lr[j])}else ar(r,s,B[A]),s+=z[A]}return ar(r,s,B[256]),s+z[256]},jr=new Mr([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),qr=new x(0),Jr=function(n,r,t,e,i,a){var f=a.z||n.length,h=new x(e+f+5*(1+Math.ceil(f/7e3))+i),c=h.subarray(e,h.length-i),u=a.l,s=(a.r||0)&7;if(r){s&&(c[0]=a.r>>3);for(var o=jr[r-1],l=o>>13,g=o&8191,m=(1<<t)-1,w=a.p||new V(32768),F=a.h||new V(m+1),L=Math.ceil(t/3),G=2*L,M=function(vr){return(n[vr]^n[vr+1]<<L^n[vr+2]<<G)&m},S=new Mr(25e3),T=new V(288),C=new V(32),U=0,p=0,v=a.i||0,I=0,D=a.w||0,O=0;v+2<f;++v){var k=M(v),H=v&32767,P=F[k];if(w[H]=P,F[k]=H,D<=v){var B=f-v;if((U>7e3||I>24576)&&(B>423||!u)){s=Dr(n,c,0,S,T,C,p,I,O,v-O,s),I=U=p=0,O=v;for(var z=0;z<286;++z)T[z]=0;for(var z=0;z<30;++z)C[z]=0}var $=2,Z=0,tr=g,W=H-P&32767;if(B>2&&k==M(v-W))for(var K=Math.min(l,B)-1,N=Math.min(32767,v),R=Math.min(258,B);W<=N&&--tr&&H!=P;){if(n[v+$]==n[v+$-W]){for(var A=0;A<R&&n[v+A]==n[v+A-W];++A);if(A>$){if($=A,Z=W,A>K)break;for(var j=Math.min(W,A-2),_=0,z=0;z<j;++z){var rr=v-W+z&32767,fr=w[rr],hr=rr-fr&32767;hr>_&&(_=hr,P=rr)}}}H=P,P=w[H],W+=H-P&32767}if(Z){S[I++]=268435456|wr[$]<<18|Ur[Z];var er=wr[$]&31,ir=Ur[Z]&31;p+=ur[er]+lr[ir],++T[257+er],++C[ir],D=v+$,++U}else S[I++]=n[v],++T[n[v]]}}for(v=Math.max(v,D);v<f;++v)S[I++]=n[v],++T[n[v]];s=Dr(n,c,u,S,T,C,p,I,O,v-O,s),u||(a.r=s&7|c[s/8|0]<<3,s-=7,a.h=F,a.p=w,a.i=v,a.w=D)}else{for(var v=a.w||0;v<f+u;v+=65535){var nr=v+65535;nr>=f&&(c[s/8|0]=u,nr=f),s=Or(c,s+1,n.subarray(v,nr))}a.i=f}return b(h,0,e+Sr(s)+i)},Kr=(function(){for(var n=new Int32Array(256),r=0;r<256;++r){for(var t=r,e=9;--e;)t=(t&1&&-306674912)^t>>>1;n[r]=t}return n})(),Qr=function(){var n=-1;return{p:function(r){for(var t=n,e=0;e<r.length;++e)t=Kr[t&255^r[e]]^t>>>8;n=t},d:function(){return~n}}};var Xr=function(n,r,t,e,i){if(!i&&(i={l:1},r.dictionary)){var a=r.dictionary.subarray(-32768),f=new x(a.length+n.length);f.set(a),f.set(n,a.length),n=f,i.w=a.length}return Jr(n,r.level==null?6:r.level,r.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(n.length)))*1.5):20:12+r.mem,t,e,i)},Lr=function(n,r){var t={};for(var e in n)t[e]=n[e];for(var e in r)t[e]=r[e];return t};var E=function(n,r,t){for(;t;++r)n[r]=t,t>>>=8};function kr(n,r){return Xr(n,r||{},0,0)}var rn=(function(){function n(r,t){typeof r=="function"&&(t=r,r={}),this.ondata=t;var e=r&&r.dictionary&&r.dictionary.subarray(-32768);this.s={i:0,b:e?e.length:0},this.o=new x(32768),this.p=new x(0),e&&this.o.set(e)}return n.prototype.e=function(r){if(this.ondata||q(5),this.d&&q(4),!this.p.length)this.p=r;else if(r.length){var t=new x(this.p.length+r.length);t.set(this.p),t.set(r,this.p.length),this.p=t}},n.prototype.c=function(r){this.s.i=+(this.d=r||!1);var t=this.s.b,e=Yr(this.p,this.s,this.o);this.ondata(b(e,t,this.s.b),this.d),this.o=b(e,this.s.b-32768),this.s.b=this.o.length,this.p=b(this.p,this.s.p/8|0),this.s.p&=7},n.prototype.push=function(r,t){this.e(r),this.c(t)},n})();var Pr=function(n,r,t,e){for(var i in n){var a=n[i],f=r+i,h=e;Array.isArray(a)&&(h=Lr(e,a[1]),a=a[0]),ArrayBuffer.isView(a)?t[f]=[a,h]:(t[f+="/"]=[new x(0),h],Pr(a,f,t,e))}},Tr=typeof TextEncoder<"u"&&new TextEncoder,zr=typeof TextDecoder<"u"&&new TextDecoder,dr=0;try{zr.decode(qr,{stream:!0}),dr=1}catch{}var br=function(n){for(var r="",t=0;;){var e=n[t++],i=(e>127)+(e>223)+(e>239);if(t+i>n.length)return{s:r,r:b(n,t-1)};i?i==3?(e=((e&15)<<18|(n[t++]&63)<<12|(n[t++]&63)<<6|n[t++]&63)-65536,r+=String.fromCharCode(55296|e>>10,56320|e&1023)):i&1?r+=String.fromCharCode((e&31)<<6|n[t++]&63):r+=String.fromCharCode((e&15)<<12|(n[t++]&63)<<6|n[t++]&63):r+=String.fromCharCode(e)}};function Cr(n,r){if(r){for(var t=new x(n.length),e=0;e<n.length;++e)t[e]=n.charCodeAt(e);return t}if(Tr)return Tr.encode(n);for(var i=n.length,a=new x(n.length+(n.length>>1)),f=0,h=function(s){a[f++]=s},e=0;e<i;++e){if(f+5>a.length){var c=new x(f+8+(i-e<<1));c.set(a),a=c}var u=n.charCodeAt(e);u<128||r?h(u):u<2048?(h(192|u>>6),h(128|u&63)):u>55295&&u<57344?(u=65536+(u&1047552)|n.charCodeAt(++e)&1023,h(240|u>>18),h(128|u>>12&63),h(128|u>>6&63),h(128|u&63)):(h(224|u>>12),h(128|u>>6&63),h(128|u&63))}return b(a,0,f)}function nn(n,r){if(r){for(var t="",e=0;e<n.length;e+=16384)t+=String.fromCharCode.apply(null,n.subarray(e,e+16384));return t}else{if(zr)return zr.decode(n);var i=br(n),a=i.s,t=i.r;return t.length&&q(8),a}}var Ar=function(n){var r=0;if(n)for(var t in n){var e=n[t].length;e>65535&&q(9),r+=e+4}return r},Ir=function(n,r,t,e,i,a,f,h){var c=e.length,u=t.extra,s=h&&h.length,o=Ar(u);E(n,r,f!=null?33639248:67324752),r+=4,f!=null&&(n[r++]=20,n[r++]=t.os),n[r]=20,r+=2,n[r++]=t.flag<<1|(a<0&&8),n[r++]=i&&8,n[r++]=t.compression&255,n[r++]=t.compression>>8;var l=new Date(t.mtime==null?Date.now():t.mtime),g=l.getFullYear()-1980;if((g<0||g>119)&&q(10),E(n,r,g<<25|l.getMonth()+1<<21|l.getDate()<<16|l.getHours()<<11|l.getMinutes()<<5|l.getSeconds()>>1),r+=4,a!=-1&&(E(n,r,t.crc),E(n,r+4,a<0?-a-2:a),E(n,r+8,t.size)),E(n,r+12,c),E(n,r+14,o),r+=16,f!=null&&(E(n,r,s),E(n,r+6,t.attrs),E(n,r+10,f),r+=14),n.set(e,r),r+=c,o)for(var m in u){var w=u[m],F=w.length;E(n,r,+m),E(n,r+2,F),n.set(w,r+4),r+=4+F}return s&&(n.set(h,r),r+=s),r},_r=function(n,r,t,e,i){E(n,r,101010256),E(n,r+8,t),E(n,r+10,t),E(n,r+12,e),E(n,r+16,i)};function tn(n,r){r||(r={});var t={},e=[];Pr(n,"",t,r);var i=0,a=0;for(var f in t){var h=t[f],c=h[0],u=h[1],s=u.level==0?0:8,o=Cr(f),l=o.length,g=u.comment,m=g&&Cr(g),w=m&&m.length,F=Ar(u.extra);l>65535&&q(11);var L=s?kr(c,u):c,G=L.length,M=Qr();M.p(c),e.push(Lr(u,{size:c.length,crc:M.d(),c:L,f:o,m,u:l!=f.length||m&&g.length!=w,o:i,compression:s})),i+=30+l+F+G,a+=76+2*(l+F)+(w||0)+G}for(var S=new x(a+22),T=i,C=a-i,U=0;U<e.length;++U){var o=e[U];Ir(S,o.o,o,o.f,o.u,o.c.length);var p=30+o.f.length+Ar(o.extra);S.set(o.c,o.o+p),Ir(S,i,o,o.f,o.u,o.c.length,o.o,o.m),i+=16+p+(o.m?o.m.length:0)}return _r(S,i,e.length,C,T),S}export{kr as a,rn as b,Cr as c,nn as d,tn as e};