@sis-cc/dotstatsuite-components 24.0.0 → 24.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.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"ramda";import{has as t,pipe as i,is as s,head as r,prop as n,equals as a,length as p,map as o,isNil as d,omit as l,propOr as c,reject as u,isEmpty as h,groupBy as m,find as y,propEq as f,not as g}from"ramda";import v from"numeral";import{getTimePeriodDimension as x,isTimePeriodDimension as b,getRefAreaDimension as O,isRefAreaDimension as w,getNotDisplayedCombinations as S,getCodeOrder as E}from"@sis-cc/dotstatsuite-sdmxjs";import*as N from"date-fns";import{format as I}from"date-fns";import{fr as D,de as k,es as $,ar as q,it as A,nl as C,th as T,enUS as P}from"date-fns/locale";import M from"date-fns/getTime";import _ from"date-fns/isMonday";import R from"date-fns/isTuesday";import B from"date-fns/isWednesday";import j from"date-fns/isThursday";import V from"date-fns/isFriday";import Y from"date-fns/isSaturday";import L from"date-fns/isSunday";import H from"date-fns/getISOWeek";const X=t=>e.isNil(t)||!e.includes(t,["both","code"])?"label":t,W=(t,i={})=>s=>{const r=e.propOr("",i.id||"id",s),n=e.propOr("",i.name||"name",s);if(e.propOr(!1,"isNonCoded",s))return r;if(e.isEmpty(r)&&e.isEmpty(n))return"";switch(t){case"label":return e.isEmpty(n)?`[${r}]`:n;case"code":return r;case"both":return e.isNil(r)||e.isEmpty(r)?n:`(${r}) ${n}`;default:return null}},F=(t,i,s)=>{const r=e.pathOr({},["values",Number(i)],t);return W(s)(r)},z=(t,i,s,r,n)=>e.pipe(e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i)||{};return e.has(o.id,s)&&o.id!==r?e.append(F(o,a,n),t):t},[]),e.join(" - "))(t),K="BarChart",U="RowChart",G="ScatterChart",Q="TimelineChart",Z="HorizontalSymbolChart",J="VerticalSymbolChart",ee="StackedBarChart",te="StackedRowChart",ie="ChoroplethChart",se="percent",re="values",ne={[K]:K,[U]:U,[G]:G,[Q]:Q,[Z]:Z,[J]:J,[ee]:ee,[te]:te,[ie]:ie},ae="OBS_TYPE_NUMBER",pe="OBS_TYPE_NUMERICAL_STRING",oe=["PREF_SCALE"],de=["DECIMALS"],le=(t,i)=>e.find(i=>e.includes(i.id,t),i),ce=(t=[],i={})=>{const{decimals:s,prefscale:r}=((t={})=>{let i=e.prop("prefscale",t),s=e.prop("decimals",t);return s=e.isNil(s)?de:s,i=e.isNil(i)?oe:i,{decimals:e.is(Array,s)?s:[s],prefscale:e.is(Array,i)?i:[i]}})(i);return{decimals:le(s,t),prefscale:le(r,t)}},ue=(t,i)=>{const s=e.prop("index",i),r=e.nth(s,t);return e.nth(r,e.propOr([],"values",i))},he=t=>{let i=0;e.isNil(e.prop("prefscale",t))||(i=Number(e.propOr("0","id",t.prefscale)));let s=null;if(!e.isNil(e.prop("decimals",t))){let i=Number(e.prop("id",t.decimals));s=e.is(Number,i)&&!Number.isNaN(i)?i:null}let r="0,0";return e.isNil(s)?r=e.concat(r,".[0000000]"):s>0&&(r=e.concat(r,`.[${"0".repeat(s)}]`)),t=>v(Number(t)).multiply(Math.pow(10,e.negate(i))).format(r)},me=(t,i)=>e.pipe(e.tail,(t=>i=>({decimals:ue(i,e.prop("decimals",t)),prefscale:ue(i,e.prop("prefscale",t))}))(i),he)(t),ye=(t,i)=>me(t,i)(e.head(t)),fe=(t,i,s,r,n,a,p)=>{const[o,d]=t;return e.pipe(e.keys,e.map(t=>{const n=e.prop(t,i),l=e.head(n),c=e.split(":",t),u=z(c,s,r,null,a),h=z(c,s,r,null,"code"),m=ye(n,p);let y=h;return(e.isNil(y)||e.isEmpty(y))&&(y="uniq-dp"),{value:l,category:u,[d]:l,[o]:u,key:y,formatedValue:m}}),e.sortBy(e=>e[d]*n))(i)},ge=(e,t,i,s,r,n,a)=>[{datapoints:fe(e,t,i,s,r,n,a)}];function ve(t,i,s,r,n,a){const p=e.prop("id",r),o=e.findIndex(e.propEq(p,"id"),i),d=e.reduce((d,l)=>{const c=e.prop(l,t),u=e.split(":",l),h=u[o],m=e.nth(o,i),y=e.nth(h,e.propOr([],"values",m||{}));if(function(t,i){return e.includes(e.prop("id",t),e.map(t=>e.prop(`${t}Id`,i),["x","y"]))}(y,r)){const t=e.pipe(e.addIndex(e.reject)((e,t)=>t===o),e.join(":"))(u);if(!e.has(t,d)){const r=function(t,i,s,r,n){const a=e.keys(s);return e.addIndex(e.reduce)((t,s,p)=>{const o=e.nth(p,i),d=e.prop("id",o),l=e.nth(s,e.propOr([],"values",o||{}));return d!==r&&e.includes(d,a)?e.assoc(d,{...l,name:W(n)(l)},t):t},{},t)}(u,i,s,p,n);d[t]={dimensionValues:r}}const l=function(t,i){return e.prop("xId",t)===e.prop("id",i)?"x":"y"}(r,y);d[t][l]=e.head(c),d[t][`${l}Format`]=ye(c,a)}return d},{},e.keys(t));return e.pipe(e.filter(t=>!e.isNil(t.x)&&!e.isNil(t.y)),e.values)(d)}const xe=({observations:t,dimensions:i},s,r,n,a)=>((t,i,s,r,n,a)=>{const p=e.pipe(e.prop(e.prop("id",r||{})),e.propOr([],"values"))(s),o=e.find(e.propEq(e.prop("xId",r),"id"),p),d=e.find(e.propEq(e.prop("yId",r),"id"),p);return[{dimensionValues:{x:{...o,name:W(n)(o)},y:{...d,name:W(n)(d)}},datapoints:ve(t,i,s,r,n,a)}]})(t,i,s,r,n,a),be=(t,i,s,r,n)=>e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i)||{};if(e.has(o.id,s)&&o.id!==r){const i=e.pathOr({},["values",a],o);return e.set(e.lensPath([i.id,"name"]),F(o,a,n),t)}return t},{},t),Oe=({observations:t,dimensions:i},s,r,n)=>{const a=x({dimensions:i}),p=a?a.__index:-1,o=!e.has(e.prop("id",a),s);return!p||-1===p||o?[]:((t,i,s,r,n,a)=>{const p=e.reduce((p,o)=>{const d=t[o],l=e.split(":",o),c=e.nth(r,i),u=e.nth(r,l),h=e.path(["values",u],c),m={x:h.start,y:e.head(d),timeLabel:h.name,formatedValue:ye(d,a),dimensionValues:be(l,i,s,c.id,n)},y=z(l,i,s,c.id,n);let f=z(l,i,s,c.id,"code");(e.isNil(f)||e.isEmpty(f))&&(f="uniq-dp");const g=e.findIndex(e=>e.key===f,p);return-1!==g?e.over(e.lensPath([g,"datapoints"]),e.append(m),p):e.append({datapoints:[m],category:y,key:f},p)},[],e.keys(t));return e.map(t=>({...t,datapoints:e.sortBy(e.prop("x"),t.datapoints)}),p)})(t,i,s,p,r,n)},we=(t,i,s,r,n,a,p)=>{const o=e.propOr(null,"id",r);if(null===o)return[];const d=e.findIndex(e=>e.id===o,i);return[{datapoints:e.pipe(e.keys,e.reduce((n,l)=>{const c=t[l];if(e.isNil(e.head(c))||e.isEmpty(e.head(c)))return n;const u=e.split(":",l),h=Number(e.nth(d,u)),m=e.path([d,"values",h,"id"],i);if(-1===e.findIndex(e.propEq(m,"id"),r.serie))return n;const y=z(u,i,s,o,a),f=z(u,i,s,o,"code"),g=e.isNil(f)||e.isEmpty(f)?"uniq-dp":f,v=e.findIndex(e.propEq(g,"key"),n),x=e.pipe(t=>-1===t?{category:y,formatedValues:new Array(e.length(r.serie)),values:new Array(e.length(r.serie)),key:g}:e.nth(t,n),e.set(e.lensPath(["values",h]),e.head(c)),e.set(e.lensPath(["formatedValues",h]),ye(c,p)))(v);return-1===v?e.append(x,n):e.set(e.lensIndex(v),x,n)},[]),e.sortBy(t=>e.head(t.values)*n))(t),symbolValues:e.map(W(a),r.serie)}]},Se=(t,i,s,r,n,a,[p,o])=>{const d=e.propOr(null,"id",r),l=e.find(e.propEq(d,"id"),i);if(e.isNil(l))return{datapoints:[],layerSeries:[]};const c=((t,i,s,r,n,a,[p,o])=>{const d=e.mapObjIndexed((t,d)=>{let l=null;const c=Number(e.head(t)),u=me(t,a),h=e.split(":",d);let m=[];const y=e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i),d=e.pathOr({},["values",Number(a)],o),c=W(n)(d),u={...d,index:Number(a),label:c};return o.id===r?l=u:e.has(o.id,s)&&(t.push(u),m.push(a)),t},[],h);return{formater:u,[o]:l,[p]:c,layerDimensions:y,layerKey:e.join(":",m)}},t);return e.values(d)})(t,i,s,d,n,a,[p,o]),u=e.groupBy(e.prop("layerKey"),c),h=e.map(t=>({layerDimensions:e.prop("layerDimensions",e.head(t)),layerKey:e.prop("layerKey",e.head(t))}),e.values(u)),m=e.propOr(1/0,"limit",r),y=e.take(m,e.sortBy(e.prop("layerKey"),h)),f=e.mapObjIndexed(e.indexBy(e.path([o,"id"])),u),g=e.addIndex(e.map)((t,i)=>{const s=t.id,r=W(n)(t),a=e.map(({layerKey:t})=>e.pathOr(null,[t,s,p],f),y);return{category:r,formaters:e.map(({layerKey:t})=>e.pathOr(null,[t,s,"formater"],f),y),index:i,[o]:r,[p]:a,key:s}},l.values);return{datapoints:e.when(e.pipe(e.length,e.equals(1)),e.pipe(e.set(e.lensPath([0,"category"]),""),e.set(e.lensPath([0,o]),"")),g),layerSeries:e.map(t=>({id:e.pipe(e.prop("layerDimensions"),e.pluck("id"),e.join(" - "))(t),label:e.pipe(e.prop("layerDimensions"),e.pluck("label"),e.join(" - "))(t)}),y)}},Ee=e.pipe(e.over(e.lensProp("datapoints"),e.sortBy(e.prop("index"))),t=>e.of(Array,t)),Ne=({observations:t,dimensions:i},s,r,n,a,[p,o])=>{const d=e.propOr("values","mode",r),l=e.propOr(null,"id",r),c=Se(t,i,s,r,n,a,[p,o]);return"percent"===d?(t=>e.pipe(e.over(e.lensProp("datapoints"),e.map(i=>{const s=e.pipe(e.map(e=>Math.abs(e)),e.sum)(i[t]);return s?{...i,[t]:e.map(e=>Math.abs(e)/s*100,i[t]),formaters:null}:i})),t=>e.of(Array,t)))(p)(c):b({id:l})?Ee(c):(t=>e.pipe(e.over(e.lensProp("datapoints"),e.sortBy(e.pipe(e.prop(t),e.map(t=>t>0?e.negate(t):0),e.sum))),t=>e.of(Array,t)))(p)(c)},Ie=({observations:t,dimensions:i},s,r,n)=>{const a=O({dimensions:i}),p=((t,i)=>{if(e.isNil(i))return null;const{__index:s,values:r=[]}=i;return e.pipe(e.keys,e.reduce((i,n)=>{const a=t[n],p=e.split(":",n),o=Number(e.nth(s,p)),d=isNaN(o)?null:e.nth(o,r),l=e.prop("id",d||{});return e.over(e.lensProp(l),t=>e.append({splitedKey:p,value:a,areaValueIndex:o},t||[]),i)},{}))(t)})(t,a),o=e.propOr({},"topology",r),d=e.propOr(null,"areaSelection",r),l=e.pathOr(null,["objects",d],o);if(!p||!l)return null;const c=e.map(t=>{const r=e.pipe(e.pathOr(null,["properties","id"]),t=>e.propOr([],t,p),e.head)(t),o=e.propOr(null,"areaValueIndex",r),d=e.pathOr(null,["values",o],a);return{...t,properties:{...e.propOr({},"properties",t),label:W(n)(d),value:e.head(e.propOr([],"value",r)),category:z(e.propOr([],"splitedKey",r),i,s,a.id,n)}}},l.geometries);return{objects:{areas:{type:l.type,geometries:c}},arcs:o.arcs,bbox:o.bbox,transform:o.transform}},De=({type:t,data:i,options:s,singularity:r})=>{const{display:n,formatterIds:a,map:p}=s,{attributes:o=[]}=i,d=ce(o,a),l=e.reduce((t,i)=>i.header?t:e.assoc(i.id,i,t),{},i.dimensions||[]);switch(t){case"BarChart":case"RowChart":return((e,{observations:t,dimensions:i},s,r,n)=>{switch(e){case"BarChart":return ge(["x","y"],t,i,s,1,r,n);case"RowChart":return ge(["y","x"],t,i,s,-1,r,n);default:return[]}})(t,i,l,n,d);case"ScatterChart":return xe(i,l,r,n,d);case"TimelineChart":return Oe(i,l,n,d);case"HorizontalSymbolChart":case"VerticalSymbolChart":return(({observations:e,dimensions:t},i,s,r,n,a)=>{switch(i){case"HorizontalSymbolChart":return we(e,t,s,r,-1,n,a);case"VerticalSymbolChart":return we(e,t,s,r,1,n,a);default:return[]}})(i,t,l,r,n,d);case"StackedBarChart":return Ne(i,l,r,n,d,["y","x"]);case"StackedRowChart":return Ne(i,l,r,n,d,["x","y"]);case"ChoroplethChart":return Ie(i,l,p,n);default:return[]}},ke=e=>{const t=Number(e);return g(d(t)||isNaN(t))},$e=e=>ke(e)&&Number(e)>=0,qe=e=>d(e)||/^\d+$/.test(String(e)),Ae=e=>t(e,ne),Ce=e=>t(e,l([ie],ne)),Te=e=>i(c([],"dimensions"),u(e=>e.header||h(e.values||[])))(e),Pe=e=>n("id",e),Me=e=>(t,i)=>{const s=n(e,i),{dimensions:r=[]}=t||{};return y(f(s,"id"),r)},_e=i(Te,m(e=>w(e)?"area":b(e)?"time":"other")),Re=e=>i(e=>s(Array,e)?r(e):e,e=>s(Object,e)?n("value",e):e,e=>s(String,e)?e:void 0)(e),Be=e=>t=>d(t)?void 0:{label:W(X(e))(t),value:n("id",t)},je=e=>({data:t,display:s},r)=>i(Me(e),Be(s))(t,r),Ve=({data:e,type:t,display:i},s)=>{if(!s(t))return[];const r=Te(e);return(a(t,ee)||a(t,te))&&1===p(r)?[]:o(Be(i),r)},Ye={[K]:K,[U]:U,[Q]:Q},Le=(e,t)=>e.value===t.value,He=(t,i,s,r)=>{const n=X(r),a=e.prop("id",s);switch(i){case"RowChart":case"BarChart":case"HorizontalSymbolChart":case"VerticalSymbolChart":case"StackedBarChart":case"StackedRowChart":return e.pipe(De,e.pathOr([],[0,"datapoints"]),e.map(e=>({label:e.category,value:e.key})))({data:t,type:i,options:{display:n},singularity:s});case"TimelineChart":return e.pipe(De,e.map(e=>({label:e.category,value:e.key})))({data:t,type:i,options:{display:n},singularity:s});case"ScatterChart":return e.isNil(a)?[]:e.pipe(e.propOr([],"dimensions"),e.reduce((t,i)=>{if(i.header||i.id===a)return t;const s=e.map(e=>({label:`${W(n)(i)} - ${W(n)(e)}`,options:{dimensionId:i.id,dimensionValueId:e.id},value:`${i.id}-${e.id}`}),e.propOr([],"values",i));return e.concat(t,s)},[]))(t);default:return[]}},Xe=(t,i,s,r)=>{if(!Ce(t.type))return[];const n=He(t.data,t.type,r,t.display);return e.differenceWith(Le,n,e.prop(s,i))},We=t=>{const i=e.isNil(t)?[]:t;return e.is(Array,i)?i:[i]},Fe=()=>e.prop("value"),ze=(t,i,s)=>e.reduce((t,s)=>{const r=Fe()(s);return e.has(r,i)?e.append(e.prop(r,i),t):t},[],t),Ke=({data:t,display:i,type:s},r,n)=>{const a=e.propOr([],"highlight",n),p=e.propOr([],"baseline",n),o=He(t,s,r,i),d=e.indexBy(Fe(),o);return{baseline:ze(p,d,e.prop("type",n)),highlight:ze(a,d,e.prop("type",n))}},Ue=Me("scatterDimension"),Ge=(e,t,i)=>({scatterDimension:Pe(e),scatterX:Pe(t),scatterY:Pe(i)}),Qe=t=>({id:e.prop("scatterDimension",t),xId:e.prop("scatterX",t),yId:e.prop("scatterY",t)}),Ze=e=>e===G,Je=({data:t,type:i,display:s},r)=>{if(!Ze(i))return[];const n=Ue(t,r);return e.isNil(n)?[]:e.map(Be(s),e.prop("values",n))},et=(t,i)=>s=>{const{data:r}=t,n=Ue(r,{scatterDimension:s});if(e.isNil(n))return{};const[a,p]=e.take(2,e.prop("values",n)),o=Ge(n,a,p);return{...o,...Ke(t,Qe(o),i)}},tt=(t,i,s)=>{const r=Ue(i.data,s);if(e.isNil(r)||!Ze(i.type))return;const n=e.find(e.propEq(e.prop(t,s),"id"),e.prop("values",r));return Be(i.display)(n)},it=({data:t,type:i},s,r,n)=>a=>{const p=Je({data:t,type:i},s),[o,d]=e.partition(e.propEq(a,"value"),p);if(e.isEmpty(o))return{};const l=e.prop(n,s);return{[r]:a,[n]:l===a?e.prop("value",e.head(d)):l}},st=Me("symbolDimension"),rt=e=>e===Z||e===J,nt=e=>({symbolDimension:Pe(e)}),at=(t,i)=>{const s=st(t,i);return{id:e.isNil(s)?void 0:e.prop("id",s),serie:e.pipe(e.prop("values"),t=>e.isNil(t)?[]:t,e.take(5))(s)}},pt=({data:t})=>i=>{const s=st(t,{symbolDimension:i});return e.isNil(s)?{}:{...nt(s),highlight:[],baseline:[]}},ot=Me("stackedDimension"),dt={[se]:se,[re]:re},lt=e=>e===ee||e===te,ct=(e,t)=>({stackedDimension:Pe(e),stackedMode:t}),ut=t=>({id:e.prop("stackedDimension",t),mode:e.prop("stackedMode",t),limit:5}),ht=({data:t},i)=>i=>{const s=ot(t,{stackedDimension:i});return e.isNil(s)?{}:{stackedDimension:Pe(s),highlight:[],baseline:[]}},mt=[{value:re},{value:se}],yt=({data:t,type:i})=>{const s=Te(t);return!(e.length(s)<2)&<(i)},ft=t=>e.has(t,dt)?{stackedMode:t}:{},gt=t=>e.includes(t,[Z,U,G,te]),vt=t=>e.includes(t,[K,G,ee,Q,J]),xt=t=>e.equals(K,t),bt={computedMaxX:void 0,computedMinX:void 0,computedStepX:void 0,computedPivotX:void 0,maxX:void 0,minX:void 0,pivotX:void 0,stepX:void 0},Ot={computedMaxY:void 0,computedMinY:void 0,computedStepY:void 0,computedPivotY:void 0,maxY:void 0,minY:void 0,pivotY:void 0,stepY:void 0},wt=(t,i,s)=>{return{maxX:{id:"maxX",isActive:gt(t.type),onChange:e=>s({maxX:ke(e)?e:void 0}),value:e.isNil(i.maxX)?String(i.computedMaxX):i.maxX},maxY:{id:"maxY",isActive:vt(t.type),onChange:e=>s({maxY:ke(e)?e:void 0}),value:e.isNil(i.maxY)?String(i.computedMaxY):i.maxY},minX:{id:"minX",isActive:gt(t.type),onChange:e=>s({minX:ke(e)?e:void 0}),value:e.isNil(i.minX)?String(i.computedMinX):i.minX},minY:{id:"minY",isActive:vt(t.type),onChange:e=>s({minY:ke(e)?e:void 0}),value:e.isNil(i.minY)?String(i.computedMinY):i.minY},pivotX:{id:"pivotX",isActive:(r=t.type,e.equals(U,r)),onChange:e=>s({pivotX:ke(e)?e:void 0}),value:e.when(i=>e.isNil(i)&&(e.propEq(U,"type")(t)||e.propEq(te,"type")(t)),e.always(0))(e.isNil(i.pivotX)?String(i.computedPivotX):i.pivotX)},pivotY:{id:"pivotY",isActive:xt(t.type),onChange:e=>s({pivotY:ke(e)?e:void 0}),value:e.when(i=>e.isNil(i)&&(e.propEq(K,"type")(t)||e.propEq(ee,"type")(t)),e.always(0))(e.isNil(i.pivotY)?String(i.computedPivotY):i.pivotY)},stepX:{id:"stepX",isActive:gt(t.type),onChange:e=>s({stepX:$e(e)?e:void 0}),value:e.isNil(i.stepX)?String(i.computedStepX):i.stepX},stepY:{id:"stepY",isActive:vt(t.type),onChange:e=>s({stepY:$e(e)?e:void 0}),value:e.isNil(i.stepY)?String(i.computedStepY):i.stepY}};var r},St=(t,i)=>e.when((({type:t})=>i=>e.isNil(i)||!Ae(t))({type:t.type}),e.always((t=>{const i=e.propOr({},"dataflow",t),s=X(t.display);return W(s)(i)})(t)))(i.sourceLabel),Et=e.pipe(e.map(({header:t,label:i})=>e.isNil(t)?i:`${t} ${i}`),e.join(" · ")),Nt=({data:e,type:t},i)=>{switch(t){case G:return Qe(i);case Z:case J:return at(e,i);case ee:case te:return ut(i);default:return null}},It=e=>{const t=parseFloat(e);return isNaN(t)?void 0:t},Dt=(t,i)=>e.isNil(t)?i:It(t),kt=(t,i)=>{if(t.type!==Q)return null;const s=It(i.freqStep);return e.isNil(s)?1:s},$t=t=>e.pipe(e.find(e.propEq("NOT_DISPLAYED","type")),e.complement(e.isNil))(t),qt=e.identity,At=t=>e.and(N.isDate,t=>e.not(e.equals(t.getTime(t),NaN)))(new Date(t)),Ct=e=>N.addMinutes(e,e.getTimezoneOffset()),Tt=e.cond([[e.equals("fr"),e.always(D)],[e.equals("de"),e.always(k)],[e.equals("es"),e.always($)],[e.equals("ar"),e.always(q)],[e.equals("it"),e.always(A)],[e.equals("nl"),e.always(C)],[e.equals("th"),e.always(T)],[e.T,e.always(P)]]),Pt=["_L","_T","_Z"],Mt=t=>i=>{if("code"===t)return e.prop("id",i);const s=e.prop("name")(i);return"both"===t?`${e.prop("id",i)}: ${s}`:s},_t=t=>{if(e.isNil(t))return{};const i=e.split(",",t.title||"");return e.reduce((t,i)=>{if(e.isEmpty(i))return t;const s=e.split("=",i),r=s[0];if(1===e.length(s))return e.assoc(r,r,t);const n=e.split("+",s[1]);return 1===e.length(n)&&e.isEmpty(n[0])?e.assoc(r,r,t):e.reduce((t,i)=>{let s=i;if(e.isEmpty(i))return t;e.test("/[()]/")&&(s=e.replace(/[()]/g,"")(i));const n=e.isEmpty(s)?r:`${r}.${s}`;return e.assoc(n,n,t)},t,n)},{},i)},Rt=t=>e.pipe(e.find(e.propEq("NOT_DISPLAYED","type")),e.converge((e,t)=>({hiddenValues:e,hiddenCombinations:t}),[_t,(e={title:""})=>S(e)]))(t),Bt=t=>e.reduce((t,i)=>{if("HIER_CONTEXT"!==i.type)return t;const s=i.text||i.title||"",r=e.pipe(e.split(","),e.reduce((t,i)=>{const s=i.match(/([\w@_.]+):([\w@_.]+):([\w@_.]+)\(([\d.]+)\).([\w@_.]+)$/);if(e.isNil(s))return t;const[r,n,a,p,o]=e.tail(s);return e.assoc(r,{agencyId:n,code:a,version:p,hierarchy:o,codelistId:r},t)},{}))(s);return e.mergeRight(t,r)},{},t),jt=t=>{const i=e.pathOr([],["data","structure","dimensions","observation"],t),s=e.pathOr([],["data","structure","annotations"],t),r=e.pipe(e.pathOr([],["data","dataSets",0,"dimensionGroupAttributes"]),e.map(t=>e.props(t,s)),e.filter(e.find(t=>t&&e.propEq("HAS_METADATA","type",t))),e.keys)(t);return e.map(t=>{const s=e.split(":",t);return e.addIndex(e.reduce)((t,s,r)=>{if(e.isNil(s)||e.isEmpty(s))return t;const n=e.nth(r,i);if(e.isNil(n)||e.prop("rejected",n))return t;const a=e.path(["values",Number(s)],n);return e.isNil(a)?t:e.assoc(n.id,a.id,t)},{},s)},r)},Vt=(t,i)=>{const s=e.values(i);if(0===e.length(t))return i;const r=e.reduce((t,i)=>{const s=e.groupBy(t=>e.prop(i.id,t.indexedDimValIds),t),r=e.addIndex(e.map)((t,r)=>{const n=e.propOr([],t.id,s);return e.map(t=>e.over(e.lensProp("orderedDimIndexes"),s=>{const n=e.isNil(s)?e.map(e=>Number(e),t.dimValuesIndexes):s;return e.set(e.lensIndex(i.__index),r)(n)})(t),n)},i.values);return e.unnest(r)},s,t);return e.indexBy(e.pipe(e.prop("orderedDimIndexes"),e.join(":")),r)},Yt=e.pipe(e.reduce(({ids:t,list:i},s)=>e.has(s,i)?{ids:t,list:i}:{ids:e.append(s,t),list:e.assoc(s,s,i)},{ids:[],list:{}}),e.prop("ids")),Lt=t=>{const i=e.sortBy(e.prop("__indexPosition"),t.values||[]),s=e.indexBy(e.prop("id"),i),r=e.groupBy(t=>t.parent&&e.has(t.parent,s)?t.parent:"#ROOT",i);let n=-1;const a=({parentsIndexes:t,parentId:i})=>{const s=e.propOr([],i,r);return e.reduce((s,r)=>{n+=1;const p=e.pipe(e.assoc("__indexPosition",n),e.assoc("parents",t),e.assoc("parent",e.isEmpty(t)?void 0:i))(r),o=a({parentsIndexes:e.propOr(!1,"isSelected",r)?e.append(n,t):t,parentId:r.id});return e.concat(s,e.prepend(p,o))},[],s)};return e.set(e.lensProp("values"),a({parentsIndexes:[],parentId:"#ROOT"}))(t)},Ht=t=>e.reduce((t,i)=>{const s=e.split(":",i);if(2!==e.length(s))return t;const[r,n]=s;return e.assoc(r,n,t)},{},t),Xt=t=>(i,s)=>e.useWith((i,s)=>e.reduce((i,r)=>{const n=e.split(":",r);if(2!==e.length(n))return i;const[a,p]=n;return e.isEmpty(p)?i:e.append({id:a,concepts:e.split(",",p),name:e.hasPath([t,a],s)?e.path([t,a],s):`[${a}]`},i)},[],i),[e.split(";"),e.map(e.pipe(e.split(";"),Ht))])(i,s),Wt=(t,i)=>{const s=e.find(e=>"COMBINED_CONCEPTS"===e.type,t);if(e.isNil(s))return[];const r=e.propOr("","title",s),n=e.propOr({},"texts",s);return Xt(i)(r,n)},Ft=e=>"Y"===e?"yyyy":"D"===e?"yyyy-MM-dd":"H"===e||"m"===e?"HH:mm":"S"===e?"HH:mm:ss":"yyyy-MMM",zt=(e,t,i)=>{const s=(e=>"S"===e?N.addSeconds:"m"===e?N.addMinutes:"H"===e?N.addHours:"D"===e?N.addDays:"M"===e?N.addMonths:N.addYears)(i),r=s(e,Number(t));return N.subSeconds(r,1)},Kt=e=>"string"==typeof e?N.parseISO(e):new Date(e),Ut=e=>N.addMinutes(e,-e.getTimezoneOffset()),Gt=(t,{locale:i,monthlyFormat:s="yyyy-MMM"})=>{const{id:r}=t,n=e.split("/",r);if(2!==e.length(n)){const i=Kt(e.prop("start",t)),s=Kt(e.prop("end",t));return{...t,start:Ut(i).toISOString(),end:Ut(s).toISOString()}}const[a,p]=n,o=Kt(a),d=e.match(/^P(T?)(\d+)([YMDHS])$/,p);if(e.isEmpty(d)||!N.isValid(o))return t;const[l,c,u]=e.tail(d),h=e.isEmpty(l)||"M"!==u?u:"m",m=zt(o,c,h),y=((e,t)=>{const i=N.startOfMinute(e),s=N.startOfHour(e),r=N.startOfDay(e);return N.isEqual(e,i)&&"S"!==t?N.isEqual(e,s)&&N.isEqual(e,r)&&"H"!==t&&"m"!==t?1!==N.getDate(e)||"D"===t?"D":0!==N.getMonth(e)||"M"===t?"M":"Y":"m":"S"})(o,h),f=((t,i,s,r,n)=>{const a={locale:Tt(r)},p=N.isSameDay(t,i),o=N.isSameYear(t,i);if("H"===s||"m"===s||"S"===s){const e=Ft("D");return p?`${N.format(t,e,a)} ${N.format(t,n,a)} - ${N.format(i,n,a)}`:`${N.format(t,e,a)} ${N.format(t,n,a)} - ${N.format(i,e,a)} ${N.format(i,n,a)}`}if("M"!==s)return`${N.format(t,n,a)} - ${N.format(i,n,a)}`;if(o&&!e.includes("-",n)){const s=e.match(/([y]+)/,n),r=e.match(/([M]+|Mo)/,n),p=e.length(s)>=2?e.nth(1,s):null,o=e.length(r)>=2?e.nth(1,r):null,d=p?N.format(t,p,a):null,l=o?`${N.format(t,o,a)} - ${N.format(i,o,a)}`:null;if(o)return e.pipe(t=>p?e.replace(p,d,t):t,e.replace(o,l))(n)}return`${N.format(t,n,a)} - ${N.format(i,n,a)}`})(o,m,y,i,"M"===y?s:Ft(y));return{...t,id:r,name:f,start:Ut(o).toISOString(),end:Ut(m).toISOString()}},Qt=e.both(e.has("value"),e.pipe(e.has("id"),e.not)),Zt=({isTimeDimension:t,options:i,locale:s,start:r,reportYearStart:n})=>a=>t?((t,i,s)=>(r,{id:n,start:a,reportedStart:p})=>{const o=N.getYear(a),d=new Date(o,r.month,r.day);if(N.isEqual(d,new Date(o,1,1))||"D"===t)return e.isNil(i)||"M"!==t?n:N.format(a,i,{locale:Tt(s)});const l=o+1;if("A"===t)return`${o}/${l}`;if("S"===t){const[t]=e.match(/S\d/,n);return`${o}/${l}-${t}`}if("Q"===t){const[t]=e.match(/Q\d/,n);return`${o}/${l}-${t}`}if("M"===t){if(N.isFirstDayOfMonth(p))return e.isNil(i)?n:N.format(p,i,{locale:Tt(s)});const[t]=e.match(/M[\d]{2}/,n);return`${o}/${l}-${t}`}const[c]=e.match(/W[\d]{2}/,n);return`${o}/${l}-${c}`})(i.frequency,i.timeFormat,s)(n,{id:a.id,reportedStart:r,start:new Date(a.start)}):e.prop("name")(a),Jt=({locale:t="",annotations:i=[],isTimeDimension:s=!1,parent:r="",reportYearStart:n,hiddenIds:a={},options:p={},selection:o=[]})=>{const d=new Set(o);return e.pipe(e.addIndex(e.map)((l,c)=>{const u=((t,i)=>{const s=e.prop("id",t);return s||(Qt(t)?e.prop("value",t):i)})(l,`${r}-${c}`),h=e.pipe(e.propOr([],"annotations"),e.flip(e.props)(i))(l),m=e.has(`${r}.${u}`,a)||$t(h),{start:y,notes:f}=s?si({reportYearStart:n,options:p})(l):{notes:[]};let g=NaN;isNaN(g)&&(g=E({annotations:h}));const v=d.has(l.id)||e.isNil(o)||e.isEmpty(o)||e.isEmpty(e.head(o));let x={...e.omit(["names","value"],l),id:u,isSelected:v,empty:!v,display:!m,start:y?y.toISOString():null,flags:f,__indexPosition:g,__index:c,isNonCoded:Qt(l)};return Qt(l)||(x=e.assoc("name",Zt({isTimeDimension:s,options:p,locale:t,start:y,reportYearStart:n})(l),x)),s&&(x=Gt(x,{locale:t,monthlyFormat:p.timeFormat})),x}),e.sortWith(s?ti:ii),e.addIndex(e.map)((t,i)=>e.assoc("__indexPosition",i,t)),e.sortBy(e.prop("__index")))},ei=t=>i=>M(new Date(e.prop(t,i))),ti=[e.ascend(ei("start")),e.descend(ei("end"))],ii=[e.ascend(e.prop("__indexPosition")),e.ascend(e.propOr(-1,"order"))],si=({reportYearStart:t,options:i})=>s=>{const r=((t,i,s)=>{let r=new Date(e.prop("start",i)),n=Ct(new Date(e.prop("end",i)));return"01"===t.month&&"01"===t.day||(r=N.addMonths(r,t.month-1),r=N.addDays(r,t.day-1),"A"===s&&(n=N.addYears(r,1)),"S"===s&&(n=N.addMonths(r,6)),"Q"===s&&(n=N.addMonths(r,3)),"M"===s&&(n=N.addMonths(r,6)),"W"!==s&&"B"!==s||(n=N.addDays(r,7)),"D"===s&&(n=N.addDays(r,1)),"H"===s&&(n=N.addHours(r,1)),"N"===s&&(n=N.addMinutes(r,1)),n=N.subSeconds(n,1)),{start:r,end:n}})(t,s,i.frequency),n=r.start,a=r.end,p=((t,i,s,r)=>{if("01"===t.month&&"01"===t.day)return null;if(e.includes(r,["D","H","N"]))return null;const n=N.isFirstDayOfMonth(i);return"M"===r&&n?null:{value:{name:`${N.format(i,"yyyy-MM-dd")} - ${N.format(s,"yyyy-MM-dd")}`}}})(t,n,a,i.frequency,i.isRtl);return{start:n,notes:e.isNil(p)?[]:e.append(p,[])}},ri=({attributes:t,annotations:i,options:s})=>{const{hiddenCombinations:r={},hiddenValues:n={},locale:a="",...p}=s,o=e.propOr([],"dataSet",t),d=e.propOr([],"observation",t);return e.pipe(e.concat,e.addIndex(e.map)((t,s)=>{const r=e.props(t.annotations||[],i);return{...t,__index:s,display:!e.has(t.id,n)&&!$t(r),values:Jt({locale:a,annotations:i,parent:t.id,hiddenIds:n,options:p})(t.values||[])}}))(d,o)},ni=({annotations:t=[],dimensions:i=[],options:s={}})=>{const{dataquery:r="",hiddenCombinations:n={},hiddenValues:a={},locale:p="",reportYearStart:o,...d}=s,l=e.pipe(e.split("."),e.map(e.split("+")))(r);return e.addIndex(e.map)((i,s)=>{const r=e.nth(s,l),c=e.isNil(r)||e.isEmpty(r)||e.isEmpty(e.head(r)),u=b(i),h=e.props(i.annotations||[],t),m=Jt({annotations:t,hiddenIds:a,isTimeDimension:u,locale:p,options:d,parent:i.id,reportYearStart:o,selection:r})(i.values||[]),y=e.length(m),f=(({id:t,values:i})=>{if(!e.has(t,n))return!1;const s=e.pluck("id",i);return e.isEmpty(e.difference(s,n[t]))})({id:i.id,values:m}),g=f||e.has(i.id,a)||$t(h);return{...i,display:!g,header:1===y||y>1&&1===e.length(r)&&!c,__index:s,rejected:f||!y,role:u?"TIME_PERIOD":e.head(i.roles||[]),values:m}},i)},ai=(t,i,s)=>{const r=e.indexBy(e.prop("id"),i);return e.addIndex(e.map)((t,i)=>{let n=e.assoc("index",i,t);const a=e.pipe(e.filter(e.propOr(!0,"display")),e.length)(t);if(e.isEmpty(t.values||[])||!e.propOr(!0,"display",t)||a<1||"REPORTING_YEAR_START_DAY"===t.id||"REPYEARSTART"===t.id)return e.assoc("display",!1,n);if(e.propEq(s.prefscale,"id",t))return e.assoc("prefscale",!0,n);if(e.propEq(s.decimals,"id",t))return e.assoc("decimals",!0,n);if(e.hasPath(["relationship","none"],t)||e.hasPath(["relationship","dataflow"],t))return{...n,header:!0,relationship:[]};if(e.hasPath(["relationship","primaryMeasure"],t)||e.hasPath(["relationship","observation"],t))return{...n,series:!0,relationship:[]};const p=e.pipe(e.pathOr([],["relationship","dimensions"]),e.filter(t=>{const i=e.prop(t,r);return!i.header&&e.length(i.values||[])>1&&!i.rejected}))(t);return e.length(p)>0?{...n,series:!0,relationship:p}:{...n,header:!0,relationship:e.prop("dimensions",t.relationship||[])}},t)},pi=e.pipe(e.prop("values"),e.anyPass([e.isNil,e.complement(e.is(Array)),e.isEmpty])),oi=e.anyPass([pi]),di=e.reject(oi),li=(t,i,s)=>{const r=e.concat(s,i),n=e.indexBy(e.prop("id"),s),a=e.indexBy(e.prop("id"),i);return e.pipe(((t=[])=>(i=[])=>{const s=e.pluck("id",di(t));return e.reduce((t,i)=>{const r=e.intersection(s,i.concepts);return e.length(r)<1?t:e.append({...i,concepts:r},t)},[],i)})(r),e.reduce((t,i)=>{let s=[],r={},p=0;const o=e.filter(t=>{if(e.has(t,r))return!1;if(e.has(t,n)){const i=e.prop(t,n);return s=i.header?s:e.append(t,s),r={...r,[t]:t},p+=e.length(i.values||[]),!i.header}if(!e.has(t,a))return!1;const i=e.prop(t,a),o=(d=i.values||[],e.filter(t=>!e.includes(e.prop("id",t),Pt)&&e.propOr(!0,"display",t),d));var d;const l=0!==e.length(o)&&e.propOr(!0,"display",i);return s=i.series&&l?e.pipe(e.reject(t=>e.has(t,r)),e.concat(s))(i.relationship):s,r=i.series&&l?{...r,...e.indexBy(e.identity,i.relationship)}:r,p=l?p+e.length(o):p,i.series&&l},i.concepts);return e.isEmpty(o)?e.append({...i,header:!0,display:p>0},t):e.append({...i,series:!0,relationship:s,display:p>0},t)},[]))(t)},ci=(t,i)=>{const s=e.reduce((t,i)=>e.reduce((t,s)=>e.assoc(s,i.relationship,t),t,i.concepts),{},i);return e.map(t=>e.has(t.id,s)?{...t,series:!0,relationship:e.prop(t.id,s),combined:!0}:t,t)},ui=e.both(e.is(Number),e.complement(e.equals(NaN))),hi=e.pipe(t=>e.isNil(t)?null:Number(t),e=>isNaN(e)?null:e),mi=(t,i,s)=>{const r=e.prop("value",t);if(e.is(Boolean,r))return r;if(e.is(String,r)){const t=r.match(/^--([\d]{2})$/);if(e.is(Array,t))return e.nth(1,t);const i=r.match(/^--([\d]{2}-[\d]{2})$/);if(e.is(Array,i))return e.nth(1,i);const s=r.match(/^---([\d]{2})$/);return e.is(Array,s)?e.nth(1,s):r}const{prefscale:n,decimals:a}=((t,i,s)=>e.mapObjIndexed(i=>{let r;const n=e.pipe(e.nth(i),e.propOr({},"relationship"))(s);return r=e.has("none",n)||e.has("dataflow",n)?0:e.pipe(e.propOr([],"attrValuesIndexes"),e.nth(i),hi)(t),e.pipe(e.path([i,"values",r,"id"]),hi)(s)},i))(t,i,s),p=e.when(e.always(ui(n)),e=>v(e).multiply(Math.pow(10,-1*Number(n))).value()),o=a||2,d=e.ifElse(e.always(ui(a)),t=>{const i=Number(t),s=Math.abs(i)<Math.pow(10,-o)?0:i,r=e.ifElse(e.equals(0),e.always("0,0"),t=>`0,0.${e.join("",e.times(e.always("0"),t))}`)(a);return v(s).format(r)},e=>v(e).format("0,0.[0000000]"));return e.ifElse(ui,e.pipe(p,d,e=>"NaN"===e?String(r):e),e.always(".."))(t.value)},yi=(t,i,s)=>{const{attrValuesIndexes:r,dimValuesIndexes:n}=t;return e.addIndex(e.reduce)((t,r,a)=>{const p=e.nth(a,i);if(e.isNil(p)||!e.prop("series",p))return t;const o=e.nth(r,p.values||[]);let d=e.isNil(o)?o:e.over(e.lensProp("display"),(t=!0)=>t&&!e.includes(o.id,Pt))(o);e.propOr(!0,"display",p)&&e.propOr(!0,"display",d)||(d=null);const l=e.propOr([],"relationship",p);let c={};const u=e.pipe(t=>e.isEmpty(l)?e.values(t):e.props(l,t),e.map(t=>{const i=e.nth(t.__index,n),s=e.path(["values",i,"id"],t);return c=e.assoc(t.id,s,c),`${t.id}=${s}`}),e.ifElse(e.isEmpty,e.always(null),e.join(":")))(s);return e.assoc(p.id,{...e.pick(["id","name","relationship","display","combined"],p),value:d,serieKey:u,coordinates:c,isObs:e.isEmpty(l)},t)},{},r)},fi=(t=[],i={},s=[],r={})=>{const n=((t,i)=>e.addIndex(e.reduce)((t,s,r)=>e.equals(s.id,i.decimals)?{...t,decimals:r}:e.equals(s.id,i.prefscale)?{...t,prefscale:r}:t,{prefscale:null,decimals:null},t))(s,e.propOr({},"customAttributes",r)),a=e.indexBy(e.prop("id"),t);return e.map(i=>{const{dimValuesIndexes:r}=i,p=e.addIndex(e.reduce)((t,i,s)=>{const n=i.id,a=e.nth(s,r),p=e.path(["values",Number(a),"id"],i);return e.assoc(n,p,t)},{},t);return{...i,attributes:yi(i,s,a),formattedValue:mi(i,n,s),indexedDimValIds:p}},i)},gi=t=>e.pipe(e.values,e.reduce((t,{attributes:i})=>{let s=t.res,r=t.rejected;return e.forEachObjIndexed(t=>{if(!e.isNil(t.serieKey)&&!t.isObs){if(e.isNil(t.value)&&(s=e.dissocPath([t.serieKey,t.id],s),r=e.assocPath([t.serieKey,t.id],!0,r)),e.path([t.serieKey,t.id],r))return;const i=e.path([t.serieKey,t.id,"value","id"],s);e.isNil(i)||i===e.path(["value","id"],t)?s=e.assocPath([t.serieKey,t.id],t,s):(s=e.dissocPath([t.serieKey,t.id],s),r=e.assocPath([t.serieKey,t.id],!0,r))}},i),{res:s,rejected:r}},{res:{},rejected:{}}),e.prop("res"))(t),vi=(t,i)=>{const s=e.propOr([],"flags",i),r=e.propOr([],"notes",i);return e.addIndex(e.reduce)((i,r,n)=>{if(!e.has(r,t))return i;const a=e.pick(["id","name","value","display"],e.prop(r,t));return e.isNil(a.value)||!e.pathOr(!0,["value","display"],a)||!e.propOr(!0,"display",a)||e.includes(e.path(["value","id"],a),Pt)?i:e.append(n<s.length?e.assoc("code",e.path(["value","id"],a),a):a,i)},[],e.concat(s,r))},xi=(t,i,s,r)=>{const n=e.pipe(e.pluck("concepts"),e.unnest)(r);return e.reduce((t,r)=>{if(r.header||r.rejected)return t;const a=e.map(t=>{const a=e.propOr({},`${r.id}=${t.id}`,i);if(e.isEmpty(a))return t;const p=vi(a,s),o=e.pipe(e.omit(e.unnest([s.flags||[],s.notes||[],n])),e.complement(e.isEmpty))(a);return{...t,flags:p,hasAdvancedAttributes:o}},r.values);return e.append(e.assoc("values",a,r),t)},[],t)},bi=(t,i)=>{const s=e.reduce((t,i)=>{if(!i.header||!e.propOr(!0,"display",i)||1!==e.length(i.relationship||[]))return t;const s=e.path(["values",0],i);if(e.isNil(s)||!e.propOr(!0,"display",s)||e.includes(e.prop("id",s),Pt))return t;const r=e.head(i.relationship);return e.over(e.lensProp(r),(e={})=>({...e,[i.id]:{...i,value:s}}))(t)},{},i);return e.reduce((t,i)=>{if(!i.header)return t;const r=e.propOr({},i.id,s);return e.append({...i,attrValues:r},t)},[],t)},Oi=(t,i)=>{const s=e.pipe(e.pluck("concepts"),e.unnest)(i);return e.reduce((t,i)=>{if(!e.prop("header",i)||!e.isEmpty(i.relationship)||e.includes(i.id,s))return t;const r=e.head(i.values);return!e.propOr(!0,"display",i)||e.isNil(r)||!e.propOr(!0,"display",r)||e.includes(e.prop("id",r),Pt)?t:e.assoc(i.id,{...e.pick(["id","name"],i),value:r},t)},{},t)},wi=(t,i,s,r)=>({label:W(s)(t),flags:e.pipe(vi,e.map(e=>({code:e.code,header:`${W(s)(e)}:`,label:W(s)(e.value)})))(i,r)}),Si=(t,i,s,r,n)=>{const a=e.pipe(e.pluck("concepts"),e.unnest)(i),p=["_L","_T","_Z"];return e.reduce((t,i)=>{if(!e.propOr(!0,"display",i)||e.propEq(n,"id",i)||e.includes(i.id,a))return t;const o=e.path(["values",0],i);if(!e.propOr(!0,"display",o)||e.includes(o.id,p))return t;const d=`${W(r)(i)}:`,l=W(r)(o),c=e.pipe(vi,e.map(e=>({code:e.code,header:`${W(r)(e)}:`,label:W(r)(e.value)})))(i.attrValues,s);return e.append({header:d,label:l,flags:c},t)},[],t)},Ei=(t,i)=>{const s=e.reduce((t,i)=>{const s=e.head(i.values);return e.assoc(i.id,s,t)},{},i);return e.reduce((t,i)=>{if(!e.prop("series",i))return t;const r=e.pick(i.concepts,s);return e.append({...i,fixedDimValues:r},t)},[],t)},Ni=e.pipe(e.propOr([],"missingParents"),e.reduce((t,i)=>!e.propOr(!0,"display",i)||e.includes(i.id,Pt)?t:e.append(W("label")(i),t),[])),Ii=(t,i)=>"label"===t?e.converge((t,i)=>e.isEmpty(t)?i:e.join(" > ",e.append(i,t)),[Ni,W(t)])(i):"both"===t?`(${Ii("code",i)}) ${Ii("label",i)}`:W(t)(i),Di=t=>i=>e.pipe(e.reduce((i,s)=>{if(e.isNil(s))return i;const r=e.propOr(!0,"display",s),n=e.includes(s.id,Pt);return r&&!n||"label"!==t?e.append(Ii(t,s),i):i},[]),s=>{if(!e.isEmpty(s)||"label"!==t)return e.join(", ",s);const r=e.find(e.propEq("_T","id"),i);if(!e.isNil(r))return W("label")(r);if(e.isEmpty(i))return"";const n=e.head(i);return W("label")(n)})(i),ki=(t,i)=>"both"===t?e.converge((e,t)=>W("both")({id:e,name:t}),[Di("code"),Di("label")])(i):Di(t)(i),$i=(t,i,s,r)=>{const n=e.indexBy(e.prop("id"),i),a=e.indexBy(e.prop("id"),s);return e.reduce((t,i)=>{if(!e.prop("header",i)||!e.propOr(!0,"display",i))return t;const s=`${W(r)(i)}:`,p=e.pipe(e.reduce((t,i)=>{const s=e.has(i,n)?e.prop(i,n):e.prop(i,a);if(e.isNil(s))return t;const r=e.path(["values",0],s);return e.isNil(r)?t:!e.has(i,a)||e.propOr(!0,"display",r)&&e.propOr(!0,"artefact",r)&&!e.includes(r.id,Pt)?e.append(r,t):t},[]),e=>ki(r,e))(i.concepts||[]);return e.isEmpty(p)?t:e.append({header:s,label:p},t)},[],t)},qi=t=>e.reduce((t,i)=>e.assoc(i.id,e.path(["values",0,"id"],i),t),{},t),Ai=(t,i,s)=>{const r=e.isNil(s)?new Set([]):s,n=new Set([]);return e.forEach(t=>{if(e.has(t,i)){const s=e.prop(t,i);e.forEach(e=>{r.has(e)||n.add(e)},s.concepts)}else n.add(t)},t),n},Ci=(t,i,s,r)=>{const n=e.mergeRight({header:[],sections:[],rows:[]},t),a=e.reduce((t,i)=>e.assoc(i.id,(t=>b(t)&&r?e.assoc("isInverted",!0,t):t)(i),t),{},i),p=e.indexBy(e.prop("id"),s),o=Ai(n.header,p),d=Ai(n.sections,p),l=(t,i)=>s=>e.reduce((s,r)=>{if(e.has(r,a)){const t=e.prop(r,a);return e.append(t,s)}if(!e.has(r,p))return s;const n=e.prop(r,p),o=((t,i)=>(s,r)=>{const n=e.isNil(t)?new Set([]):t,a=e.isNil(i)?new Set([]):i,{concepts:p,relationship:o}=s,d=e.reduce((t,i)=>{if(n.has(i)||!e.has(i,r))return t;const s=e.prop(i,r);return e.append(s,t)},[],p);return e.find(e=>a.has(e),o)?d:e.assoc("dimensions",d,s)})(t,i)(n,a);return e.is(Array,o)?e.concat(s,o):e.append(o,s)},[],s);return{header:l(null,Ai(e.concat(n.sections,n.rows),p))(n.header),sections:l(null,o)(n.sections),rows:l(d,o)(n.rows)}},Ti=t=>{const i=t=>e.pipe(e.nth(e.prop("__index",t)),i=>t.isInverted?e.negate(i):i);return s=>e.map(e.ifElse(e.has("dimensions"),t=>e.map(e=>i(e)(s),e.prop("dimensions",t)),t=>"OBS_ATTRIBUTES"===t.id?e.last(s):i(t)(s)),t)},Pi=(t,i)=>{const s=t.indexes,r=i.indexes,n=e.length(s);let a=0;for(;a<n;){if(e.is(Array,s[a])){const t=s[a],i=r[a],n=e.length(t);let p=0;for(;t[p]===i[p]&&p<n;)p++;if(t[p]!==i[p])return t[p]-i[p]}else if(s[a]!==r[a])return s[a]-r[a];a++}return s[a]-r[a]},Mi=e.pipe(e.reduce((t,{indexes:i,rejected:s})=>{const r=e.join(":",e.unnest(i));return e.has(r,t)?e.over(e.lensPath([r,"rejected"]),e.addIndex(e.map)((t,i)=>t===e.nth(i,s)?t:null))(t):e.assoc(r,{indexes:i,rejected:s,key:r},t)},{}),e.values),_i=(t,i,s=[])=>{const r=e.pipe(e.values,e.map(e.propOr([],"orderedDimIndexes")))(i),n=Ti(t.header),a=Ti(e.concat(t.sections,t.rows)),p=Ti(s),o=e.length(t.sections),{header:d,sections:l}=e.pipe(e.reduce((t,i)=>{const s=n(i),r=a(i),o=p(i);return{header:e.append({indexes:s,rejected:o},t.header),sections:e.append({indexes:r,rejected:o},t.sections)}},{header:[],sections:[]}),e.mapObjIndexed(Mi),e.evolve({header:e.sort(Pi),sections:e.sort(Pi)}),t=>({...t,sections:e.reduce((t,{indexes:i,rejected:s,key:r})=>{const[n,a]=e.splitAt(o,i),p=e.join(":",n),d=e.pipe(e.nth(-1),t=>e.isNil(t)?null:e.head(t).key)(t);return e.equals(p,d)?e.over(e.lensIndex(-1),e.pipe(e.over(e.lensIndex(1),e.append({indexes:a,rejected:s,key:r})),e.over(e.lensIndex(0),t=>({...t,rejected:e.addIndex(e.map)((t,i)=>t===e.nth(i,s)?t:null,t.rejected)}))))(t):e.append([{indexes:n,rejected:s,key:p},[{indexes:a,rejected:s,key:r}]],t)},[],t.sections)}))(r);return{header:d,sections:l}},Ri=t=>e.reduce((t,i)=>{const s=e.is(Array,i)?Ri(i):String(Math.abs(i));return e.isEmpty(s)?t:e.isEmpty(t)?s:`${t}:${s}`},"",t),Bi=t=>e.pipe(e.props(t),e.join(":")),ji=({layout:t,observations:i,shape:s})=>{const r=((t,i)=>e.pipe(e.props(i),e.map(e.pipe(e.map(t=>e.has("dimensions",t)?e.pluck("__index",t.dimensions||[]):t.__index),e.unnest,Bi)))(t))(t,s);return((t,i)=>e.pipe(e.values,e.reduce((i,s)=>{const r=e.map(e=>e(s.orderedDimIndexes),t);return e.over(e.lensPath(r),e.ifElse(e.isNil,e.always([s]),e.append(s)))(i)},{}))(i))(r,i)},Vi=(t,i)=>{let s=[];return e.reduce((t,r)=>{const n=i(r),a=e.map(e=>new Set(e),e.propOr([],"parentsIndexes",r));if(!n)return s=e.addIndex(e.map)((t,i)=>{const r=e.filter(e=>a[i].has(e),e.nth(i,s)||[]);return e.concat(r,t)},r.missingIndexes||[]),t;const p=e.pipe(e.over(e.lensProp("missingIndexes"),(t=[])=>e.addIndex(e.map)((t,i)=>{const r=e.nth(i,s)||[];if(e.isEmpty(r))return t;const n=e.filter(e=>a[i].has(e),r);return e.concat(n,t||[])},t)),e.over(e.lensProp("parentsIndexes"),(t=[])=>e.addIndex(e.map)((t,i)=>e.reject(t=>e.includes(t,e.nth(i,s)||[]),t||[]),t)))(r);return s=[],e.append(p,t)},[],t)},Yi=(t,i,s)=>e.pipe(e.map(t=>{const r=Ri(e.propOr([],"indexes",e.head(t))),n=t=>{const n=Ri(e.prop("indexes",t));return e.pipe(e.path([r,n]),e.omit(i),e.isEmpty,e.not)(s)};return e.over(e.lensIndex(1),e=>Vi(e,n))(t)}),e.filter(e.pipe(e.nth(1),e.isEmpty,e.not)))(t),Li=(t,i,s)=>Vi(t,t=>{const r=Ri(e.prop("indexes",t));return e.pipe(e.prop(r),t=>e.pickBy((t,s)=>e.pipe(e.omit(e.propOr([],s,i)),e.isEmpty,e.not)(t),t),e.isEmpty,e.not)(s)}),Hi=t=>{const i=e.propOr([],"missingParents",t);return e.pipe(e.flatten,e.length)(i)+1},Xi=(t,i)=>{let s=i,r={},n=t;for(;n>0;){const t=e.last(s),i=t[1],a=e.length(i);let p=0;for(;n>0&&p!==a;){n-=Hi(e.nth(-1*p,i)),p++}const o=e.pipe(e.head,e.prop("indexes"),Ri)(t);r={...r,[o]:e.pipe(e.takeLast(p),e.map(t=>Ri(e.prop("indexes",t))))(i)},s=n>0?e.dropLast(1,s):e.over(e.lensIndex(-1),e.over(e.lensIndex(1),e.dropLast(p)))(s)}return{truncated:s,extractedKeys:r}},Wi=(t,i)=>{let{truncated:s,extractedKeys:r}={truncated:i,extractedKeys:[]},n=t;for(;n>0;){const t=e.last(s),i=Hi(t),a=Ri(e.prop("indexes",t));r=e.append(a,r),s=e.dropLast(1,s),n-=i}return{truncated:s,extractedKeys:r}},Fi=e=>e?["header","sections","rows"]:["sections","rows","header"],zi=({layout:t,observations:i,limit:s})=>r=>{const{header:n,sections:a}=r;if(e.isNil(s)||0===s||e.all(e.isEmpty,[n,a]))return e.pipe(e.set(e.lensProp("truncated"),!1),e.set(e.lensProp("totalCells"),null))(r);const p=e.pipe(e.head,e.when(e.isNil,e.always({})),e.propOr([],"indexes"),e.length)(n),o=e.pipe(e.reduce((e,t)=>e+Hi(t),0),e.when(e.equals(0),e.always(1)))(n),d=p*(o+1),l=e.pipe(e.head,e.last,e.head,e.propOr([],"indexes"),e.length)(a)+o+1,c=e.pipe(e.map(e.last),e.unnest,e.reduce((e,t)=>e+Hi(t),1))(a),u=l*c+e.ifElse(e.pipe(e.head,e.head,e.propOr([],"indexes"),e.length,e.equals(0)),e.always(0),e.length)(a)+d,h=u-s;if(h<=0)return e.pipe(e.set(e.lensProp("truncated"),!1),e.set(e.lensProp("totalCells"),u))(r);const m=p+c,y=m>l,[f,g]=(t=>e.ifElse(e.always(t),e.props(["sections","header"]),e.props(["header","sections"])))(y)(r);let v=e.pipe(e.ifElse(e.identity,e.always(l),e.always(m)),e.divide(h),Math.ceil)(y);const x=y?c-2:o-1;v=v>x?x:v;const{truncated:b,extractedKeys:O}=(t=>e.ifElse(e.always(t),Xi,Wi))(y)(v,f),w=e.pipe(e.values,e.head,e.propOr([],"orderedDimIndexes"),e.length)(i),S=e.map(e.map(t=>"OBS_ATTRIBUTES"===t.id?e.assoc("__index",w-1,t):t),t),E=e.pipe(Fi,e=>ji({layout:S,observations:i,shape:e}))(y),N=(t=>e.ifElse(e.always(t),Li,Yi))(y)(g,O,E),I=((t,i,s)=>e.ifElse(e.always(t),e.pipe(e.assoc("sections",i),e.assoc("header",s)),e.pipe(e.assoc("header",i),e.assoc("sections",s)))({}))(y,b,N);return e.pipe(e.set(e.lensProp("truncated"),!0),e.set(e.lensProp("totalCells"),u))(I)},Ki=(t,i={})=>s=>{if(e.isEmpty(s))return!1;if(e.has("OBS_ATTRIBUTES",t)||e.has("OBS_ATTRIBUTES",i)){if("OBS_VALUE"!==(e.prop("OBS_ATTRIBUTES",t)||e.prop("OBS_ATTRIBUTES",i)))return!1}const r=e.keys(s);let n=!0,a={};return e.forEach(r=>{e.prop(r,t)!==e.prop(r,s)&&(n=!1),e.has(r,i)||(a[r]=r)},r),n&&!e.isEmpty(a)},Ui=(t,i,s,r=[])=>({dimension:e.pick(["id","name","__index"],i),value:{...e.pipe(e.pathOr({},["values",t]),e.pick(["id","name","isNonCoded","flags","hasAdvancedAttributes","display"]))(i),parents:s,missingParents:r}}),Gi=(t,i,s)=>`${t}${e.isEmpty(t)?"":":"}${i}=${s}`,Qi=(t,i=[])=>e.append(t,i),Zi=(t,i=[])=>e.over(e.lensIndex(-1),i=>({...i,values:e.append(e.prop("value",t),i.values)}),i),Ji=t=>(i,s,r,n,a)=>{const p=Ui(i,r,s,a),o=e.path(["value","id"],p);return{...n,data:t(p,e.prop("data",n)),key:Gi(e.prop("key",n),e.prop("id",r),o)}},es=Ji(Qi),ts=Ji(Zi),is=(t,i,s)=>e.addIndex(e.reduce)((i,s,r)=>{if(e.has("dimensions",s))return e.addIndex(e.reduce)((i,s,n)=>{const a=e.path([r,n],t);return e.assoc(s.id,e.path(["values",Math.abs(a),"id"],s),i)},i,s.dimensions);const n=e.nth(r,t);return e.isNil(n)?i:e.assoc(s.id,e.path(["values",Math.abs(n),"id"],s),i)},i,s),ss=(t,i)=>e.reduce((i,s)=>{const r=e.head(e.values(s))||{},n=e.propOr({},"coordinates",r);if(!t(n)&&!e.prop("isObs",r))return i;const a=e.reject(t=>!e.propOr(!1,"combined",t)&&1===e.length(t.relationship||[]),s);return{...i,...a}},{},e.values(i)),rs=(t,i,s,r,n,a)=>{const p=e.reject(t=>e.prop("isObs",t)&&!i(t.coordinates),s),o=vi(p,r),d=!e.isNil(e.find(i,n)),l=e.any(t=>e.has("value",t)?e.prop("hasAdvancedAttributes",t.value):e.any(e.prop("hasAdvancedAttributes"),t.values),a)||((t,i)=>e.pipe(e.omit(e.concat(i.flags||[],i.notes||[])),e.isEmpty,e.not)(t))(p,r);return{flags:o,sideProps:d||l?{hasMetadata:d,hasAdvancedAttributes:l,coordinates:t}:null}},ns=(t,i,s,r)=>e.addIndex(e.reduce)((i,s,n)=>{if(e.has("dimensions",s)){const a=e.pathOr([],["indexes",n],t),p=e.pathOr([],["parentsIndexes",n],t),o=e.pathOr([],["missingIndexes",n],t);let d={};const l=e.addIndex(e.reduce)((t,i,s)=>{const n=Math.abs(e.nth(s,a)),l=e.nth(s,p)||[],c=e.nth(s,o)||[],{parentsIndexes:u,missingParents:h}=r(Zi)(c,l,i,t),m=ts(n,u,i,t,h),y=e.pipe(e.prop("data"),e.last,e.prop("values"),e.last)(m);return d=e.assoc(i.id,y,d),m},e.over(e.lensProp("data"),e.append({dimension:e.pick(["id","name"],s),values:[]}))(i),e.propOr([],"dimensions",s)),c=((t,i,s)=>e.over(e.lensProp("data"),e.over(e.lensIndex(-1),r=>({...r,values:e.reduce((r,n)=>{if(e.has(n,t))return e.append(e.prop(n,t),r);if(e.has(n,i.fixedDimValues||{}))return e.append(e.prop(n,i.fixedDimValues),r);if(e.has(n,s)){const t=e.path([n,"value"],s);return e.append(t,r)}return r},[],i.concepts)}))))(d,s,i.attributes)(l);return e.over(e.lensProp("attributes"),e.omit(s.concepts),c)}const a=Math.abs(e.path(["indexes",n],t)),p=e.pathOr([],["parentsIndexes",n],t),o=e.pathOr([],["missingIndexes",n],t),{parentsIndexes:d,missingParents:l}=r(Qi)(o,p,s,i);return es(a,d,s,i,l)},{data:[],key:"",attributes:s},i),as=(t,i,s,r,n,a,p=[])=>{const o=[],d=is(t.indexes,s,i),l=is(t.rejected||[],d,p),c=Ki(l,s),u=ss(c,r),{attributes:h,...m}=ns(t,i,u,t=>(i,s,r,n)=>e.reduce((i,s)=>{const a=Ji(t)(s,i.parentsIndexes,r,n);return o.push({...e.dissoc("attributes",a),sideProps:null,flags:[],isEmpty:!0}),e.over(e.lensProp("parentsIndexes"),e.append(s),i)},{parentsIndexes:s,missingParents:[]},i)),y=Ki(s),{flags:f,sideProps:g}=rs(l,e=>c(e)&&!y(e),h,n,a,m.data);return e.append({...m,flags:f,sideProps:g,coordinates:l},o)},ps=(t,i,{metadataCoordinates:s,attributesSeries:r,customAttributes:n,topCoordinates:a={},rejectedDimensions:p=[]})=>{const{header:o,sections:d,...l}=t,c=e.reduce((t,o)=>{const d=as(o,i.header,a,r,n,s,p);return e.concat(t,d)},[],o),u=e.map(([t,o])=>{const d=((t,i,s,r,n,a,p=[])=>{const o=is(t.indexes,s,i),d=is(t.rejected||[],o,p),l=Ki(d,s),c=ss(l,r),{attributes:u,...h}=ns(t,i,c,()=>(t,i,s)=>e.reduce((t,i)=>({parentsIndexes:e.append(i,t.parentsIndexes),missingParents:e.append(e.prop("value",Ui(i,s,t.parentsIndexes)),t.missingParents)}),{parentsIndexes:i,missingParents:[]},t)),{flags:m,sideProps:y}=rs(d,l,u,n,a,h.data);return{...h,flags:m,sideProps:y,coordinates:d}})(t,i.sections,a,r,n,s,p);return[d,e.reduce((t,o)=>{const l=as(o,i.rows,e.propOr(a,"coordinates",d),r,n,s,p);return e.concat(t,l)},[],o)]},d);return{headerData:c,sectionsData:u,...l}},os=(t,i)=>e.reduce((i,s)=>{if(!s.series)return i;if(e.isEmpty(s.relationship||[]))return e.assoc(s.id,s.id,i);const r=e.indexBy(e.identity,t.header),n=e.indexBy(e.identity,t.sections),a={...n,...e.indexBy(e.identity,t.rows)},[p,o]=e.partition(t=>e.has(t,r),s.relationship);if(e.isEmpty(o))return i;if(!e.isEmpty(p))return e.assoc(s.id,s.id,i);{const t=e.reject(t=>e.has(t,n),s.relationship);if(e.isEmpty(t))return i;const r=e.reject(t=>e.has(t,a),t);if(e.isEmpty(r))return i}return e.assoc(s.id,s.id,i)},{},i),ds=(t,i,s)=>{const r=e.pluck("id",i);return e.reject(t=>{const i=e.concat(s.header,r);if(e.isEmpty(e.omit(i,t)))return!0;const n=[...s.sections,...s.rows,...r];return e.isEmpty(e.omit(n,t))},t)},ls=(t,i)=>{const s=e.pipe(e.map(e.pluck("id")),e.values,e.unnest,e.indexBy(e.identity))(t),[r,n]=e.partition(t=>e.has(t.id,s),i);return{cells:n,layout:r}},cs=(t,i,s,r,n)=>a=>{const p=e.pipe(e.propOr([],"layout"),e.pluck("concepts"),e.unnest)(s),o=e.pipe(e.propOr([],"cells"),e.pluck("concepts"),e.unnest)(s),d=e.over(e.lensProp("notes"),t=>e.pipe(e.concat,e.uniq)(t||[],p))(t);return e.mapObjIndexed(t=>{const a="OBS_VAL"!==e.pathOr("OBS_VAL",["indexedDimValIds","OBS_ATTR"],t),p=a?[]:((t,i,s)=>e.filter(t=>{if(e.isNil(t.value))return!1;if(e.has(t.id,s))return!0;const r=e.path([t.serieKey,t.id],i);return e.isNil(r)},t))(t.attributes,r,i),l=a?[]:vi(e.omit(o,p),d),c=a?[]:((t,i)=>e.reduce((i,s)=>{const r=e.reduce((i,r)=>e.has(r,s.fixedDimValues||{})?e.append(e.prop(r,s.fixedDimValues),i):e.has(r,t||{})?e.append(e.path([r,"value"],t),i):i,[],s.concepts);return e.isEmpty(r)?i:e.append({...e.pick(["id","name"],s),values:r},i)},[],i))(p,s.cells||[]),u=!a&&e.pipe(e.omit(e.unnest([d.flags||[],d.notes||[],o])),t=>!e.isEmpty(t))(p),h=e.omit(e.unnest([d.flags||[],d.notes||[],o]),e.filter(t=>!e.isNil(t.value),t.attributes)),m=!a&&((t,i)=>"OBS_VALUE"===e.propOr("OBS_VALUE","OBS_ATTRIBUTES",i)&&e.pipe(e.find(t=>{const s=e.mergeLeft(t,i);return!e.isEmpty(t)&&e.equals(s,i)}),e.complement(e.isNil))(t))(n,t.indexedDimValIds);return{...e.pick(["indexedDimValIds","key"],t),flags:e.concat(l,c),sideProps:u||m?{hasMetadata:m,coordinates:t.indexedDimValIds,advancedAttributes:h}:null,intValue:e.is(Number,t.value)?t.value:null,value:t.formattedValue}},a)},us=(t,i)=>{const s=e.map(e.pipe(e.map(t=>e.has("dimensions",t)?e.pluck("id",t.dimensions||[]):t.id),e.unnest))(i);return e.pipe(e.values,e.reduce((t,i)=>{const r=e.map(e.pipe(e.map(t=>`${t}=${e.prop(t,i.indexedDimValIds)}`),e.join(":")),s);return e.over(e.lensPath(e.props(["header","sections","rows"],r)),t=>e.isNil(t)?[i]:e.append(i,t),t)},{}))(t)},hs=t=>e.pipe(e.pathOr({},["data","dataSets",0,"observations"]),e.mapObjIndexed((t,i)=>({key:i,value:e.head(t),attrValuesIndexes:e.tail(t),dimValuesIndexes:e.split(":",i)})))(t),ms=t=>e.isNil(t.parent)||e.isEmpty(t.parent)?t.id:`${t.parent}.${t.id}`,ys=(t,i)=>{const s=new Set([]);let r={};const n=e.reduce((t,i)=>i.isSelected?e.assoc(i.id,i,t):t,{},i.values||[]),a=(t,i)=>e.reduce((p,o)=>{const{codeID:d,hierarchicalCodes:l=[]}=o,c=e.has(d,n),u=e.length(i)!==e.length(t),h=a(e.append(d,t),c?((t,i)=>{const s=e.last(i);return e.append(e.isNil(s)?t:`${s}.${t}`,i)})(d,i):i)(l);if(!c)return e.concat(p,h);const m=e.join(".",t);let y={...e.prop(d,n),path:m,parents:i,parent:e.last(i),children:h};return u?(r=e.over(e.lensProp(y.id),t=>e.append(m,t||[]),r),y=e.assoc("unconfirmed",!0,y),e.append(y,p)):(s.add(d),e.append(y,p))},[]),p=a([],[])(t),o=e.pipe(e.reject(e=>s.has(e)),t=>e.pick(t,r))(e.keys(r)),d=(l=o,e.map(t=>[e.head(t)],l));var l;const c=e.reduce((t,i)=>{const s=c(i.children||[]);return e.concat(t,e.prepend(i,s))},[]),u=t=>!t.unconfirmed||t.path===e.head(d[t.id]||[]),h=e.reduce((t,i)=>{const r=c(i.children),n=e.prepend(i,r),a=e.filter(u,n);if(e.isEmpty(a))return t;const p=e.pipe(e.reduce((t,i)=>{s.add(i.id);const r=e.last(t),n=e.pipe(t=>e.isNil(t)?[]:e.append(ms(t),r.parents||[]),e.filter(t=>e.includes(t,i.parents)))(r),a={...e.omit(["unconfirmed","children","path"],i),parents:n,parent:e.isEmpty(n)?void 0:e.last(n)};return e.append(a,t)},[]))(a);return e.concat(t,p)},[]),m=h(p),y=e.pipe(e.keys,e.filter(e=>!s.has(e)),t=>e.props(t,n),e.map(e=>({...e,parents:[],parent:void 0})),e.sortBy(e.propOr(-1,"__indexPosition")))(n);let f={};return e.pipe(e.concat,e.addIndex(e.map)((t,i)=>{const s=e.props(t.parents,f),r=ms(t);return f[r]=i,{...e.dissoc("path",t),parents:s,__indexPosition:i}}),e=>({...i,values:e}))(y,m)},fs=t=>{const i=e.pipe(e.pathOr({},["data","structure","attributes"]),({dataSet:e=[],observation:t=[],series:i=[]})=>[...e,...t,...i])(t),s=e.find(({id:e})=>"REPORTING_YEAR_START_DAY"===e||"REPYEARSTART"===e,i)||{},r=e.pathOr("--01-01",["values",0,"value"],s),[n="01",a="01"]=e.match(/[\d]{2}/g,r);return{month:n,day:a}},gs=(t,i)=>{const s=e.keys(i);return e.reduce((s,r)=>{const n=e.prop(r,i),a=e.pipe(e.over(e.lensProp("orderedDimIndexes"),e.append(0)),e.over(e.lensProp("attributes"),e.omit(t)),e.assocPath(["indexedDimValIds","OBS_ATTRIBUTES"],"OBS_VALUE"))(n);return e.addIndex(e.reduce)((t,i,s)=>{const a=e.pathOr({},["attributes",i],n);if(e.isEmpty(a)||e.isNil(e.prop("value",a))||!e.pathOr(!0,["value","display"],a))return t;const p=`${r}:${s+1}`,o={...n,attributes:{},value:e.prop("value",a),formattedValue:e.prop("value",a),orderedDimIndexes:e.append(s+1,n.orderedDimIndexes),indexedDimValIds:{...n.indexedDimValIds,OBS_ATTRIBUTES:a.id}};return e.assoc(p,o,t)},e.assoc(`${r}:0`,a,s),t)},{},s)},vs=({isSameSerie:t,...i},s)=>({...e.mergeWith((t,i)=>e.append(t||[],i),i,s),isSameSerie:t}),xs=(t,i,s,r,n)=>e.addIndex(e.reduce)((t,r,a)=>{if(e.is(Array,r)){const p=e.isEmpty(i)?{}:e.map(e.nth(a),i),o=xs(r,p,e.pathOr([],[a,"dimensions"],s),t.isSameSerie,n);return vs(o,t)}const p=Math.abs(r),o=e.pathOr([],[a,"values",p,"parents"],s),d=e.pipe(e.path(["indexes",a]),t=>e.isNil(t)?-1:Math.abs(t))(i),l=t.isSameSerie?e.pipe(e.pathOr([],["parentsIndexes",a]),e.append(d))(i):[],c=t.isSameSerie?e.pathOr([],["missingIndexes",a],i):[],{presentParentsIndexes:u,missingParentsIndexes:h}=((t,i)=>{const s=new Set(i),r=e.findLastIndex(e=>s.has(e),t),[n,a]=-1!==r?e.splitAt(r+1,t):[[],t];return{presentParentsIndexes:e.filter(e=>s.has(e),n),missingParentsIndexes:a}})(o,n?l:e.concat(l,c));return vs({parentsIndexes:u,missingIndexes:h,isSameSerie:t.isSameSerie&&p===d},t)},{parentsIndexes:[],missingIndexes:[],isSameSerie:r},t),bs=(t,i,s=!1)=>e.reduce((t,{indexes:r,...n})=>{const a=e.last(t)||{},{isSameSerie:p,...o}=xs(r,a,i,!0,s);return e.append({indexes:r,...o,...n},t)},[],t),Os=(t,i)=>({header:bs(t.header,i.header),sections:e.pipe(e.transpose,([t,s])=>{if(e.isNil(t))return[];const r=bs(t,i.sections,!0),n=e.map(e=>bs(e,i.rows),s);return e.transpose([r,n])})(t.sections)}),ws=(t,i)=>e.map((t=>i=>e.reduce((i,s)=>e.has(s,t)?e.concat(i,e.prop(s,t)):e.append(s,i),[],i))(t),i),Ss=(t,i)=>{const{relationship:s=[]}=i,r=new Set(t.header),n=new Set(t.sections),a=new Set(t.rows),[p,o]=e.partition(e=>r.has(e),s),[d,l]=e.reduce((t,i)=>n.has(i)?e.over(e.lensIndex(0),e.append(i),t):a.has(i)?e.over(e.lensIndex(1),e.append(i),t):e.over(e.lensIndex(2),e.append(i),t),[[],[],[]],o);return!e.isEmpty(p)&&e.isEmpty(d)&&e.isEmpty(l)?"header":e.isEmpty(p)?!e.isEmpty(d)&&e.isEmpty(l)?"sections":e.isEmpty(l)?"blank":"rows":null},Es=(t,i,s={})=>{const r=((t,i)=>{const{header:s=[],sections:r=[],rows:n=[]}=i,a=new Set([...s,...r,...n]);return e.reject(e=>a.has(e.id),t)})(t,i);if(e.isEmpty(r))return i;const n=(t=>e.reduce((t,i)=>{const{id:s,relationship:r=[]}=i;return e.assoc(s,r,t)},{},t))(t);let a=ws(n,i);const p=ws(n,s);return e.reduce((t,i)=>{let s=Ss(a,i);if(e.isNil(s))return t;if(e.equals("blank",s)){if(s=Ss(p,i),e.isNil(s))return t;s=e.equals("blank",s)?"rows":s}a[s]=e.concat(a[s],i.relationship);const r=(n=i,t=>{const{id:i,concepts:s=[]}=n,r=new Set(s);let a=!0;const p=e.reduce((t,s)=>r.has(s)?a?(a=!1,e.append(i,t)):t:e.append(s,t),[],t);return a?e.append(i,p):p})(t[s]);var n;return e.assoc(s,r)(t)},i,r)},Ns=(t,i,s)=>{const r=e.find(t=>{if(e.has(t,i)){const r=e.find(e=>s.has(e),e.pathOr([],[t,"concepts"],i));return!e.isNil(r)}return!0},t);let n=e.reduce((t,s)=>e.assoc(s,(t=>e.has(t,i)?e.append(t,e.path([t,"relationship"],i)):[t])(s),t),{},t),a=[r];for(;!e.isEmpty(n);){const t=e.pickBy(t=>!e.isEmpty(e.intersection(a,t)),n);if(e.isEmpty(t))break;n=e.omit(e.keys(t),n),a=e.concat(a,e.unnest(e.values(t)))}const p=new Set(a);return e.partition(e=>p.has(e),t)},Is=/*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({__proto__:null,SDMX_3_0_CSV_DATA_FORMAT:"application/vnd.sdmx.data+csv;version=2.0",SDMX_3_0_JSON_DATA_FORMAT:"application/vnd.sdmx.data+json;version=2.0",applyHierarchicalCodesToDim:ys,declineObservationsOverAttributes:gs,duplicateObs:Vt,enhanceObservations:fi,getAttributes:ri,getAttributesSeries:gi,getCells:cs,getCellsAttributesIds:os,getCellsMetadataCoordinates:ds,getCombinationDefinitions:Wt,getCuratedCells:us,getDataflowAttributes:Oi,getDataflowTooltipAttributesIds:(t,i={})=>{const s=e.pathOr([],["data","dataSets",0,"annotations"],t),r=e.props(s,e.pathOr([],["data","structure","annotations"],t)),n=e.find(e.propEq("LAYOUT_FLAG","type"),r),a=e.find(e.propEq("LAYOUT_NOTE","type"),r),p=e.pipe(e.propOr("","title"),t=>e.isNil(t)||e.isEmpty(t)?[]:e.split(",",t))(n||{}),o=e.pipe(e.propOr("","title"),t=>e.isNil(t)||e.isEmpty(t)?[]:e.split(",",t),t=>e.difference(t,p))(a||{}),d=e.isNil(n)?e.difference(i.flags||[],o):p;return{flags:d,notes:e.isNil(a)?e.difference(i.notes||[],d):o}},getDimensionValuesIndexes:t=>e.addIndex(e.reduce)((t,i,s)=>{const r=i.__index;return e.over(e.lensProp(String(r)),e.ifElse(e.isNil,e.always([s]),e.append(s)))(t)},{},t),getFlagsAndNotes:vi,getHCodelistsRefs:Bt,getHCodelistsRefsInData:t=>{const i=e.pathOr([],["data","structure","annotations"],t);return Bt(i)},getHeaderCombinations:$i,getHeaderCoordinates:qi,getHeaderSubtitle:Si,getHeaderTitle:wi,getIndexedCombinationsByDisplay:ls,getLayout:Ci,getLayoutData:ps,getMSDInformations:t=>{const i=e.pathOr([],["data","metadataStructures",0,"metadataStructureComponents","reportStructures",0,"metadataAttributes"],t),s=e.pipe(e.pathOr([],["data","conceptSchemes",0,"concepts"]),e.indexBy(e.prop("id")))(t),r=t=>e.reduce((i,n)=>{const a=n.id,p=e.path([a,"name"],s),o="#ROOT"===t?a:`${t}.${a}`,d=e.path(["localRepresentation","textFormat","textType"],n);if(e.has("metadataAttributes",n)){const e=r(o)(n.metadataAttributes);return{...i,...e,[o]:{format:d,parent:t,id:a,name:p}}}return e.assoc(o,{format:d,parent:t,id:a,name:p},i)},{});return{attributes:r("#ROOT")(i)}},getManyValuesDimensions:xi,getMetadataCoordinates:jt,getNotDisplayedIds:Rt,getOneValueDimensions:bi,getSeriesCombinations:Ei,getSortedLayoutIndexes:_i,getTableLabelAccessor:t=>i=>e.is(Array,i)?ki(t,i):Ii(t,i),getTableLayoutIds:(t,i,s,r,n)=>{const a=(t=>e.reduce((e,t)=>t.header?e:e.add(t.id),new Set([]),t))(s),p=((t,i,s)=>{const r=e.indexBy(e.prop("id"),s);return e.reduce((t,s)=>{const{layoutConcepts:n,relationship:a}=e.reduce((t,s)=>{if(i.has(s))return e.map(e.append(s),t);if(e.has(s,r)){const i=e.prop(s,r);return i.series?{...t,relationship:e.concat(t.relationship,i.relationship)}:t}return t},{layoutConcepts:[],relationship:[]},s.concepts||[]);return e.isEmpty(a)?t:e.append({...s,relationship:a,concepts:n},t)},[],t)})(n,a,r),o=e.pipe(e.values,e.all(e.isEmpty))(i),d=e.pipe(e.pluck("_concepts"),e.unnest,e=>new Set(e))(n),l=e.filter(t=>t.series&&e.isEmpty(t.relationship||[])&&t.display&&!d.has(t),r),c=e.indexBy(e.prop("id"),p),u=((t,i,s)=>r=>{const n=e.map(e.reduce((i,s)=>e.has(s,t)?e.concat(i,e.path([s,"concepts"],t)):e.append(s,i),[]),r);return e.mapObjIndexed((r,a)=>e.filter(r=>{if("OBS_ATTRIBUTES"===r)return!e.isEmpty(s);if(e.has(r,t)){const s=e.prop(r,t),p=e.filter(e=>i.has(e),s.concepts);if(!e.isEmpty(p))return!0;const o="header"===a?e.concat(e.prop("sections",n),e.prop("rows",n)):e.prop("header",n);return e.isEmpty(e.intersection(s.relationship,o))}return i.has(r)},r),r)})(c,a,l)(o?t:i),h=Es(p,u,t),m=e.map(e.pipe(t=>e.pick(t,c),e.values,e.pluck("relationship"),e.unnest,e=>new Set(e)),h),y=e.pipe(e.map(e.reduce((t,i)=>e.has(i,c)?e.concat(t,e.path([i,"concepts"],c)):e.append(i,t),[])),e.values,e.unnest,e=>new Set(e))(h),f=e.map(e=>new Set(e),t),{nextLayout:g,remaining:v}=e.reduce((t,i)=>y.has(i.id)||i.header?t:m.header.has(i.id)||f.header.has(i.id)?e.over(e.lensPath(["nextLayout","header"]),e.append(i.id))(t):m.sections.has(i.id)||f.sections.has(i.id)?e.over(e.lensPath(["nextLayout","sections"]),e.append(i.id))(t):m.rows.has(i.id)||f.rows.has(i.id)?e.over(e.lensPath(["nextLayout","rows"]),e.append(i.id))(t):b(i)?e.over(e.lensPath(["nextLayout","header"]),e.append(i.id))(t):w(i)?e.over(e.lensPath(["nextLayout","rows"]),e.append(i.id))(t):e.over(e.lensProp("remaining"),e.append(i.id))(t),{nextLayout:h,remaining:[]},s);return((t,i,s,r)=>{let n=t,a=i;const p=e.find(t=>{if(r.has(t))return!0;const i=e.find(e=>r.has(e),e.pathOr([],[t,"concepts"],s));return!e.isNil(i)},n.rows);if(e.isNil(p))if(e.isEmpty(a)){const t=e.isEmpty(n.sections)?"header":"sections",[i,a]=Ns(e.prop(t,n),s,r);n={...n,rows:e.concat(n.rows,i),[t]:a}}else n=e.over(e.lensProp("rows"),e.append(e.head(a)))(n),a=e.tail(a);if(!e.isEmpty(a)){const t=e.isEmpty(n.header),i=e.head(a);a=t?e.tail(a):a,n={...n,sections:e.concat(n.sections,a),header:t?[i]:n.header}}return n})(g,v,c,a)},getTableProps:({data:t,layoutIds:i,customAttributes:s,limit:r,isTimeInverted:n})=>{const{observations:a,dimensions:p,combinations:o,oneValueDimensions:d,attributesSeries:l,metadataCoordinates:c,attributes:u,header:h,rejectedDimensions:m=[]}=t,y=e.filter(t=>t.series&&e.isEmpty(t.relationship)&&t.display&&!t.combined,u);let f=a;if(e.pipe(e.values,e.unnest,e.find(e.equals("OBS_ATTRIBUTES")))(i)){const t=e.pluck("id",y);f=gs(t,a)}const g=Ei(o,d),v=e.append({id:"OBS_ATTRIBUTES",values:e.prepend({id:"OBS_VALUE"},y)},p),x=Ci(i,v,g,n),b=e.map(e.reduce((t,i)=>e.has("dimensions",i)?e.concat(t,e.pluck("id",i.dimensions)):e.append(i.id,t),[]),x),O=_i(x,f,m),w=Os(O,x),S=zi({layout:x,observations:f,limit:r})(w),E=ps(S,x,{metadataCoordinates:c,attributesSeries:l,customAttributes:s,topCoordinates:h.coordinates,rejectedDimensions:m}),N=os(b,u),I=ls(x,g),D=ds(c,d,b),k=cs(s,N,I,l,D)(f);return{...E,cells:us(k,x),layout:x,combinations:g}},hierarchiseDimensionWithNativeHierarchy:Lt,injectCombinationsInLayout:Es,parseAttributes:ai,parseCombinationDefinition:Xt,parseCombinations:li,parseHierarchicalCodelist:(t,i)=>{const s=e.pathOr({},["data","hierarchicalCodelists",0],t),r=e.find(e.propEq(i,"id"),s.hierarchies||[]),n=(t,i)=>{const s=e.pluck("codeID",t),r=e.reduce((t,s)=>e.isEmpty(s.hierarchicalCodes||[])?t:{...t,...n(s.hierarchicalCodes,e.append(s.codeID,i))},{},t),a=e.isEmpty(i)?"#ROOT":e.join(".",i);return{...r,[a]:s}};return e.pipe(e.propOr([],"hierarchicalCodes"),e=>n(e,[]))(r)},parseLayoutIndexesHierarchies:Os,parseMetadataSeries:(t,i)=>{const s=e.pathOr([],["data","structures",0,"attributes","dimensionGroup"],t),r=e.length(s);if(!r)return{};const n=e.pipe(e.pathOr([],["data","structures",0,"dimensions"]),({series:t=[],observation:i=[]})=>e.concat(t,i),t=>e.isEmpty(i.dimensions||[])?t:e.props(e.pluck("id",i.dimensions),e.indexBy(e.prop("id"),t)))(t),{notDisplayedIds:a={}}=i,p=e.pipe(e.pathOr({},["data","dataSets",0,"dimensionGroupAttributes"]),t=>e.reduce((p,o)=>{const d=t[o],l=e.take(r,d),c=e.pipe(e.split(":"),e.addIndex(e.map)((t,s)=>{if(e.isEmpty(t)||e.equals("~",t))return"";const r=e.nth(s,n),a=e.nth(Number(t),r.values||[]),p=e.find(e.propEq(a.id,"id"))(e.propOr([],"values",e.nth(s,i.dimensions)));return e.propOr("","__index",p)}),e.join(":"))(o),u=e.pipe(e.addIndex(e.reduce)((t,r,n)=>{const p=e.nth(n,s),o=e.has(p.id,a);if(e.isNil(r)&&!p.isPresentational||o)return t;const d=e.pathOr({},["attributes",p.id],i).id,l=Mt(i.display)({...p,id:d}),c=e.prop("value",e.nth(r,p.values||[])),u=e.is(Object,c)?e.prop(i.locale,c):c;return e.append({...e.isNil(u)?{}:{value:u},id:p.id,label:l,handlerProps:e.omit(["id"],e.pathOr({},["attributes",p.id],i))},t)},[]),t=>{const s=e.groupBy(e.pathOr("#ROOT",["handlerProps","parent"]),t),r=e.indexBy(e.prop("id"),t);return e.reduce((t,s)=>e.has(s,r)||"#ROOT"===s?t:e.append({id:s,label:Mt(i.display)({id:s,name:e.path(["attributes",s,"name"],i)}),handlerProps:e.omit(["id"],e.pathOr({},["attributes",s],i))},t),t,e.keys(s))},t=>{const i=e.groupBy(e.pathOr("#ROOT",["handlerProps","parent"]),t),s=e.map(t=>{if(e.has(t.id,i)){const r=s(e.prop(t.id,i));return e.assoc("children",r,t)}return t});return s(e.propOr([],"#ROOT",i))})(l);return e.assoc(c,u,p)},{},e.keys(t)))(t);return p},parseValueHierarchy:(t,i,s)=>{const r=e.propOr([],"parents",t);if(e.isEmpty(r))return t;const n=e.propOr([],"parentsIds",i),a=e.isNil(i)?[]:e.append(e.prop("id",i),n),[p,o]=e.addIndex(e.splitWhen)((t,i)=>e.nth(i,a)!==t,r),d=e.pipe(e.propOr([],"parents"),e.pluck("id"))(i),l=e.pipe(e.takeLastWhile(t=>!e.includes(t,d)&&t!==e.prop("id",i)),t=>e.concat(t,o))(p),c=e.propOr([],"parents",i),u=e.isNil(i)?[]:e.append(e.pick(["id","name"],i),c),h=e.takeWhile(t=>e.includes(t.id,p),u),m=e.props(l,s);return{...t,parents:h,parentsIds:r,missingParents:m}},prepareData:(t,{customAttributes:i,locale:s,hierarchies:r,dataflow:n,display:a,defaultCombinations:p,dataquery:o})=>{const d=e.pathOr([],["data","structure","dimensions","observation"],t),l=e.pathOr([],["data","structure","annotations"],t),c=fs(t),{hiddenValues:u,hiddenCombinations:h}=Rt(l),m={dataquery:o,hiddenCombinations:h,hiddenValues:u,locale:s,reportYearStart:c},y=ni({annotations:l,dimensions:d,options:m}),f=e.pathOr([],["data","structure","attributes"],t),g=ri({attributes:f,annotations:l,options:m}),v=hs(t);let x=Wt(l,s);if(e.isEmpty(x)&&!e.isEmpty(p)){const{concepts:e,names:t}=p;x=Xt(s)(e,t)}const b=jt(t),O=ai(g,y,i),w=li(x,O,y),S=e.filter(e.prop("series"),w),E=ci(O,S),N=fi(y,v,E,{customAttributes:i}),I=gi(N),D=xi(y,I,i,S),k=bi(y,O),$=e.filter(e.prop("rejected"),d),q=qi(k),A=e.map(t=>e.isEmpty(e.propOr({},t.id,r))?Lt(t):ys(e.prop(t.id,r),t),D),C=Vt(e.values(A),N),T=Oi(O,w);return{observations:C,dimensions:A,combinations:w,oneValueDimensions:k,attributesSeries:I,metadataCoordinates:b,attributes:E,rejectedDimensions:$,header:{title:wi(n,T,a,i),subtitle:Si(k,w,i,a),combinations:$i(w,k,E,a),coordinates:q}}},refineAttributes:ci,refineDimensions:ni,refineLayoutSize:zi,refinePartialHierarchy:(t,i)=>{const{intact:s,broken:r}=e.pipe(e.keys,e.reduce(({intact:s,broken:r},n)=>{const a=e.filter(t=>e.has(t,i),t[n]);if("#ROOT"===n)return{broken:r,intact:e.assoc(n,a,s)};const p=e.split(".",n),o=e.takeLastWhile(t=>e.has(t,i),p);if(e.length(o)===e.length(p))return{broken:r,intact:e.assoc(n,a,s)};const d=e.isEmpty(o)?"#ROOT":e.join(".",o);return{intact:s,broken:e.over(e.lensProp(d),e.ifElse(e.isNil,e.always([a]),e.append(a)))(r)}},{intact:{},broken:{}}))(t),n=e.pipe(e.values,e.unnest)(s),a=e.pipe(e.omit(n),e.over(e.lensProp("#ROOT"),e.pipe(t=>e.isNil(t)?[]:t,e.unnest,e.reject(e.flip(e.includes)(n)))),e.map(e.pipe(e.unnest,Yt)))(r);return{...a,...s,"#ROOT":e.concat(a["#ROOT"],s["#ROOT"])}},sdmx_3_0_DataFormatPatch:t=>{const i=e.pipe(e.pathOr({},["data","dataSets"]),e.head)(t),s=e.prop("structure",i),r=e.pipe(e.pathOr([],["data","structures"]),e.nth(s))(t);return e.set(e.lensPath(["data","structure"]),r)(t)}},Symbol.toStringTag,{value:"Module"})),Ds=(t,i)=>{const{id:s,xId:r,yId:n}=i,a=e.pathOr([],["structure","dimensions","observation"],t),p=e.find(e.propEq(s,"id"),a);return!e.isNil(p)&&e.pipe(e.propOr([],"values"),e.indexBy(e.prop("id")),e.pick([r,n]),e.values,e.length,e.equals(2))(p)},ks=(t,i)=>{const{id:s,serie:r}=i,n=e.pluck("id",r);return e.pipe(e.pathOr([],["structure","dimensions","observation"]),e.indexBy(e.prop("id")),e.pathOr([],[s,"values"]),e.indexBy(e.prop("id")),e.pick(n),e.values,e.length,e.equals(e.length(n)))(t)},$s=(t,i)=>{const{id:s}=i;return e.pipe(e.pathOr([],["structure","dimensions","observation"]),e.filter(e.pipe(e.propOr([],"values"),e.length,e.lt(1))),e.indexBy(e.prop("id")),e.has(s))(t)},qs=e.both(e.is(Number),e.complement(e.equals(NaN))),As={A:"yyyy",S:"yyyy-",Q:"yyyy-'Q'Q",M:"yyyy-MMM",W:"yyyy-'W'II",B:"yyyy-'W'II",D:"yyyy-MM-dd",H:"yyyy-MM-dd[T]HH:mm:ss",N:"yyyy-MM-dd[T]HH:mm:ss"},Cs=(t,i={},s)=>{if("W"===t||"B"===t)return e=>{if(1!==H(e))return N.format(e,"yyyy-'W'II",{locale:Tt(s)});const t=N.endOfWeek(e,{weekStartsOn:1});return N.format(t,"yyyy-'W'II",{locale:Tt(s)})};const r=e.pipe(e.mergeRight(As),e.ifElse(e.has(t),e.prop(t),e.prop("A")))(i);return e=>N.format(Ct(new Date(e)),r,{locale:Tt(s)})},Ts=t=>{const i=e.prop("frequency",t);if("W"===i||"B"===i){const t=e.pathOr(["series",0,"datapoints","x"]);return e.cond([[_,e.always("monday")],[R,e.always("tueday")],[B,e.always("wednesday")],[j,e.always("thursday")],[V,e.always("friday")],[Y,e.always("saturday")],[L,e.always("sunday")],[e.T,e.always("monday")]])(t)}return e.cond([[e.equals("A"),e.always("year")],[e.equals("S"),e.always("month")],[e.equals("Q"),e.always("month")],[e.equals("M"),e.always("month")],[e.equals("D"),e.always("day")],[e.equals("H"),e.always("hour")],[e.equals("N"),e.always("minute")],[e.T,e.always("year")]])(i)},Ps=e.cond([[e.equals("A"),e.always(1)],[e.equals("S"),e.always(6)],[e.equals("Q"),e.always(3)],[e.equals("M"),e.always(1)],[e.equals("W"),e.always(1)],[e.equals("B"),e.always(1)],[e.equals("D"),e.always(1)],[e.equals("H"),e.always(1)],[e.equals("N"),e.always(1)],[e.T,e.always(1)]]),Ms=(t,i,s,r,n)=>{const a={linear:{pivot:{color:"white"}},ordinal:{gap:.3,padding:.3},thickness:0},p=e=>Math.abs(e)<.01&&e?v(e).format("0.[00]e+0"):v(e).format("0,0.[00]");return e.pipe(e.propOr({},"axis"),e.mergeDeepRight({x:a,y:a}),e.cond([[e.always(e.equals(K,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}}),e.over(e.lensPath(["y","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(U,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:0}}}),e.over(e.lensPath(["x","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(G,i)),e.mergeDeepRight({x:{format:{proc:p},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}})],[e.always(e.equals(Q,i)),e.pipe(e.mergeDeepRight({x:{format:{isTime:!0,pattern:null,proc:Cs(e.prop("frequency",t),r,n)},tick:{size:-6,minorSize:-3,thickness:2,minorThickness:2,color:"white"}},y:{font:{baseline:"ideographic"},format:{proc:e=>v(e).format("0,0.[00]")},padding:10,tick:{thickness:0}}}),e.evolve({x:e.pipe(e.set(e.lensPath(["linear","frequency"]),Ts(t)),e.set(e.lensPath(["linear","step"]),Ps(e.prop("frequency",t))),e.over(e.lensPath(["tick","step"]),e.pipe(e.when(e.isNil,e.always(1)),e.multiply(Ps(e.prop("frequency",t))))))}))],[e.always(e.equals(Z,i)),e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:5}}})],[e.always(e.equals(J,i)),e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}})],[e.always(e.equals(ee,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}}),e.over(e.lensPath(["y","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(te,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:0}}}),e.over(e.lensPath(["x","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.T,e.identity]]))(s)},_s=(t,i)=>e.pipe(e.propOr({},"base"),e.cond([[e.always(e.equals(K,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(U,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,padding:{top:10,left:10,right:20}})],[e.always(e.equals(G,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:100,padding:{top:40,right:10}})],[e.always(e.equals(Q,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,isAnnotated:!1,padding:{top:20},innerPadding:{left:40,right:40}})],[e.always(e.equals(Z,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,padding:{top:10,left:10,right:20}})],[e.always(e.equals(J,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(ee,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(te,t)),e.mergeDeepRight({padding:{top:10,left:10,right:20}})],[e.T,e.identity]]))(i),Rs=(t,i)=>{const s={baselines:[0],color:"white"};return e.assoc("thickness",0),e.pipe(e.propOr({},"grid"),e.mergeDeepRight({x:s,y:s}),e.cond([[e.always(e.equals(K,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(U,t)),e.mergeDeepRight({y:{thickness:0}})],[e.always(e.equals(Q,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(Z,t)),e.mergeDeepRight({y:{thickness:0}})],[e.always(e.equals(J,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(ee,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(te,t)),e.mergeDeepRight({y:{thickness:0}})],[e.T,e.identity]]))(i)},Bs=(t,i,s,r={},n={},a)=>{const p=t=>`\n font-size: ${e.pathOr(12,["primary","fontSize"],r)}px;\n font-family: ${e.pathOr("inherit",["primary","fontFamily"],r)};\n font-weight: ${e.pathOr("normal",["primary","fontWeight"],r)};\n color: ${t};\n padding: 5px;\n border: 1px solid ${t};\n background: white;\n opacity: .8;\n `,o=`\n font-family: ${e.pathOr("inherit",["secondary","fontFamily"],r)};\n font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;\n font-weight: ${e.pathOr("normal",["secondary","fontWeight"],r)};\n `,d=e=>v(e).format("0,0.[00]");return e.pipe(e.prop("frequency"),e=>Cs(e,n,a),e.when(e.anyPass([e.isNil,e.complement(e.is)(Function)]),e.always(e=>I(e,"MMM YY"))))(t),e.pipe(e.pathOr({},["serie","tooltip"]),e.cond([[e.always(e.equals(K,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.x}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.y)}\n </div>\n </div>\n `})],[e.always(e.equals(U,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.y}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.x)}\n </div>\n <div>\n `})],[e.always(e.equals(G,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pipe(e.propOr({},"dimensionValues"),e.values,e.pluck("name"),e.join(" "))(i)}\n </div>\n <div style="text-align: right;">\n ${e.path(["dimensionValues","x","name"],t)}\n <span style="${o}">\n ${i.xFormat||d(i.x)}\n </span>\n </div>\n <div style="text-align: right;">\n ${e.path(["dimensionValues","y","name"],t)}\n <span style="${o}">\n ${i.yFormat||d(i.y)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(Q,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pipe(e.propOr({},"dimensionValues"),e.values,e.pluck("name"),e.join("<br />"))(i)}\n </div>\n <div style="text-align: right;">\n ${i.timeLabel}\n </div>\n <div style="text-align: right; ${o}">\n ${i.formatedValue||d(i.y)}\n </div>\n </div>\n `})],[e.always(e.equals(Z,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.y}\n <br />\n ${t.symbolValue}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.x)}\n </div>\n </div>\n `})],[e.always(e.equals(J,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.x}\n <br />\n ${t.symbolValue}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.y)}\n </div>\n </div>\n `})],[e.always(e.equals(ee,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${i.x}\n </div>\n <div style="text-align: right;">\n ${i.layerLabel}\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Value:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.height):d(i.height)}\n </span>\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Cumulated:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.y):d(i.y)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(te,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${i.y}\n </div>\n <div style="text-align: right;">\n ${i.layerLabel}\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Value:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.width):d(i.width)}\n </span>\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Cumulated:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.x):d(i.x)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(ie,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pathOr("",["properties","label"],i)}\n </div>\n <div style="text-align: right;">\n ${e.pathOr("",["properties","category"],i)}\n </div>\n <div style="text-align: right; ${o}">\n ${e.pipe(e.pathOr(null,["properties","value"]),d)(i)}\n </div>\n </div>\n `})],[e.T,e.identity]]))(s)},js=["#E73741","#0F8FD9","#993484","#DF521E","#719E24","#E1B400","#32A674","#0B68AF"],Vs=["#0B1E2D"],Ys=()=>{const e={circle:e=>{const t=Math.sqrt(e)/2;return`M0,${t} A${t},${t} 0 1,1 0,${-t} A${t},${t} 0 1,1 0,${t} Z`},square:e=>{const t=Math.sqrt(e)/2;return`M${-t},${-t} L${t},${-t} ${t},${t} ${-t},${t} Z`},cross:e=>{const t=Math.sqrt(e)/2;return`M${-t},${t} L${t},${-t} M${t},${t} L${-t},${-t}`},triangle:e=>{const t=Math.sqrt(e)/Math.sqrt(3),i=Math.sqrt(e)/2;return`M0,${-i} L${t},${i} ${-t},${i} Z`}};return[{style:{stroke:"#39617D",fill:"#39617D"},path:e.circle},{style:{stroke:"#39617D",fill:"#DBEBF2"},rotate:45,path:e.square},{style:{stroke:"#39617D",fill:"#39617D",strokeWidth:2},path:e.cross},{style:{stroke:"#39617D",fill:"#DBEBF2"},path:e.square},{style:{stroke:"#39617D",fill:"#39617D"},path:e.triangle}]},Ls=(t,i)=>e.pipe(e.pathOr({},["serie","annotation"]),e.mergeRight({format:{datapoint:{proc:e=>v(e).format("0,0.[00]")}}}),e.cond([[e.always(e.equals(G,t)),e.mergeRight({display:"never"})],[e.always(e.equals(Q,t)),e.mergeDeepRight({format:{datapoint:{pattern:".2f"}}})],[e.T,e.identity]]))(i);const Hs=({type:t,series:i,focusOptions:s})=>{switch(t){case"ScatterChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.isEmpty(s)&&e.isEmpty(r)?t:e.over(e.lensPath([0,"datapoints"]),e.map(t=>{const i=i=>{const s=e.path(["options","dimensionId"],i);return e.path(["dimensionValues",s,"id"],t)===e.path(["options","dimensionValueId"],i)};return{...t,highlightIndex:e.findIndex(i,s),baselineIndex:e.head(r)&&i(e.head(r))?0:-1}}),t)}(i,s);case"TimelineChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.map(t=>({...t,highlightIndex:e.findIndex(e.propEq(t.key,"value"),s),baselineIndex:e.path([0,"value"],r)===t.key?0:-1}),t)}(i,s);case"BarChart":case"RowChart":case"StackedBarChart":case"StackedRowChart":case"HorizontalSymbolChart":case"VerticalSymbolChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.isEmpty(s)&&e.isEmpty(r)?t:e.over(e.lensPath([0,"datapoints"]),e.map(t=>({...t,highlightIndex:e.findIndex(e.propEq(t.key,"value"),s),baselineIndex:e.path([0,"value"],r)===t.key?0:-1})),t||[])}(i,s);default:return i}},Xs=/*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({__proto__:null,dimensionValueDisplay:W,getAvailableChartTypes:t=>{const i=(t=>{if(e.isNil(t))return;const i=e.pipe(e.pathOr({},["dataSets",0,"observations"]),e.values,e.find(t=>e.not(e.either(e.isNil,e.isEmpty)(e.head(t)))))(t);if(e.isNil(i))return;const s=e.head(i);return e.is(Number,s)?ae:e.ifElse(e.equals(NaN),e.always("OBS_TYPE_STRING"),e.always(pe))(Number(s))})(t);if(!e.includes(i,[ae,pe]))return{};const s=e.pathOr([],["structure","dimensions","observation"],t),r=x({dimensions:s}),n=O({dimensions:s}),a=e.anyPass([e.isNil,e.pipe(e.propOr([],"values"),e.length,e.gte(1))])(r);return e.pipe(e.when(e.always(a),e.omit([Q])),e.when(e.always(e.isNil(n)),e.omit([ie])))(ne)},getCellValue:t=>{const i=e.prop("value",t);if(e.is(Boolean,i))return i;if(e.is(String,i)){const t=i.match(/^--([\d]{2})$/);if(e.is(Array,t))return e.nth(1,t);const s=i.match(/^--([\d]{2}-[\d]{2})$/);if(e.is(Array,s))return e.nth(1,s);const r=i.match(/^---([\d]{2})$/);return e.is(Array,r)?e.nth(1,r):i}const s=Number(t.prefscale),r=e.ifElse(e.always(qs(s)),e=>v(e).multiply(Math.pow(10,-1*Number(s))).value(),e.identity),n=Number(t.decimals),a=e.ifElse(e.always(qs(n)),t=>v(t).format(e.ifElse(e.equals(0),e.always("0,0"),t=>`0,0.${e.join("",e.times(e.always("0"),t))}`)(n)),e=>v(e).format("0,0.[0000000]"));return e.ifElse(qs,e.pipe(r,a),e.always(".."))(t.value)},getChartOptions:(t,i,s,r,n,a)=>{const p=e.ifElse(e.anyPass([e.equals(ee),e.equals(te)]),e.always(["#607D8B"]),e.always(["#8EA4B1"]))(i);return{axis:Ms(t,i,s,n,a),background:e.pipe(e.propOr({},"background"),e.mergeRight({color:"#DBEBF2"}))(s),base:_s(i,s),grid:Rs(i,s),map:e.pipe(e.propOr({},"map"),e.mergeRight({intBoundariesColor:"#8EA4B1"}))(s),serie:{...e.propOr({},"serie",s),annotation:Ls(i,s),choropleth:e.pipe(e.pathOr({},["serie","choropleth"]),e.mergeRight({divisions:4,domain:"YlorRd",invert:!1,labelDisplay:"none"}))(s),stacked:e.pipe(e.pathOr({},["serie","stacked"]),e.mergeRight({strokeThickness:1,strokeColor:"#F8FAFC"}))(s),symbol:e.pipe(e.pathOr({},["serie","symbol"]),e.mergeRight({markers:Ys(),markerDefaultSize:60,markerDefaultStrokeWidth:1,gapMinMaxColor:"#607D8B",gapMinMaxThickness:1,gapAxisMinColor:"white",gapAxisMinThickness:1}))(s),colors:e.pathOr(p,["serie","colors"],s),overColors:e.pathOr(["#39617D"],["serie","overColors"],s),highlightColors:e.pathOr(js,["serie","highlightColors"],s),baselineColors:e.pathOr(Vs,["serie","baselineColors"],s),tooltip:Bs(t,i,s,r,n,a)}}},getChartSeries:({type:e,data:t,options:i,singularity:s,focusOptions:r})=>{const n=De({type:e,data:t,options:i,singularity:s});return Hs({type:e,series:n,focusOptions:r})},getFooterProps:(e,t)=>({withCopyright:!Ae(e.type)||t.withCopyright,withLogo:!Ae(e.type)||t.withLogo,sourceLabel:St(e,t)}),getFullName:qt,getObservations:hs,getReportingYearStart:fs,getTimePeriodLabel:(t,i="yyyy MMM")=>e.pipe(e.when(e.isNil,e.always("")),e.when(At,((e,t)=>i=>N.format(i,t,{locale:Tt(e)}))(t,i))),isSharedLayoutCompatible:(t,i)=>{const s=e.prop("type",i);if("table"===s){const s=e.pathOr({},["config","table","layoutIds"],i),r=e.path(["config","sdmxSource","dataquery"],i),n=e.pathOr({},["structure","annotations"],t),a=e.pathOr({},["config","table","locale"],i),p=e.pathOr({},["config","defaultCombinations"],i),{concepts:o="",names:d=""}=p,l=Xt(a)(o,d),c=Wt(n,a);return((t,i,s=[],r="")=>{const n=e.indexBy(e.prop("id"),s),a=fs(t),p=e.pipe(e.pathOr([],["structure","dimensions","observation"]),e=>ni({dimensions:e,options:{dataquery:r,reportYearStart:a}}),e.reject(t=>e.prop("header",t)||!e.length(t.values||[])),e.indexBy(e.prop("id")))(t);let o=p;const d=e.pipe(e.values,e.unnest)(i);let l=!1;return e.forEach(t=>{e.has(t,p)?o=e.dissoc(t,o):e.has(t,n)?o=e.omit(e.pathOr([],[t,"concepts"],n),o):"OBS_ATTRIBUTES"!==t&&(l=!0)},d),e.isEmpty(o)&&!l})(t,s,e.isNil(c)||e.isEmpty(c)?l:c,r)}return((t,i,s)=>e.cond([[e.always(e.equals(G,i)),Ds],[e.always(e.equals(Z,i)||e.equals(J,i)),ks],[e.always(e.anyPass([e.equals(ee),e.equals(te)])(i)),$s],[e.T,e.T]])(t,s))(t,s,e.pathOr({},["config","chart","chartDimension"],i))},parseDisplay:X,parseFocus:(t,i,s,r,{baseline:n,highlight:a})=>{const p=He(t,i,s,r),o=new Set(e.pluck("value",p)),d=e.reject(({value:e})=>!o.has(e));return{baseline:d(n),highlight:d(a)}},stateFromNewProps:(t,i)=>{const s=((t,i)=>!e.has(t.type,Ye)||e.isNil(t.data)?{}:Ke(t,null,i))(t,i),r=((t,i)=>{const{data:s,type:r}=t,n=Ge(void 0,void 0,void 0);if(!Ze(r))return n;if(e.isNil(s))return{};const a=Te(s);if(e.isEmpty(a))return{...n,highlight:[],baseline:[]};let p=Ue(t.data,i);if(e.isNil(p)){const t=e.reject(w,a);p=e.head(e.isEmpty(t)?a:t)}const o=e.prop("values",p),d=e.prop("scatterX",i);let l,c,u=e.prop("scatterY",i);d===u&&(u=void 0),e.forEach(t=>{e.prop("id",t)===d?l=t:e.prop("id",t)===u&&(c=t)},o);const h=e.isNil(l)?e.head(e.reject(e.propEq(e.prop("id",c),"id"),o)):l,m=e.isNil(c)?e.head(e.reject(e.propEq(e.prop("id",h),"id"),o)):c,y=Ge(p,h,m);return{...y,...Ke(t,Qe(y),i)}})(t,i),n=((t,i)=>{const{data:s,type:r}=t;if(!rt(r))return nt(void 0);if(e.isNil(s))return{};const n=Te(s);if(e.isEmpty(n))return{...nt(void 0),baseline:[],highlight:[]};let a=st(s,i);if(e.isNil(a)){const{area:t,other:i,time:r}=_e(s);a=e.isNil(i)||e.isEmpty(i)?e.isNil(r)||e.isEmpty(r)?e.head(t):e.head(r):e.head(i)}const p=nt(a);return{...p,...Ke(t,at(s,p),i)}})(t,i),a=((t,i)=>{const{data:s,type:r}=t;if(!lt(r))return ct(void 0,void 0);if(e.isNil(s))return{};const n=Te(s);if(e.isEmpty(n))return{...ct(void 0,void 0),baseline:[],highlight:[]};let a=ot(s,i);if(e.isNil(a))if(1===e.length(n))a=e.find(e.prop("header"),s.dimensions);else{const{area:t,time:i,other:r}=_e(s);a=e.isNil(t)||e.isEmpty(t)?e.isNil(i)||e.isEmpty(i)?e.head(r):e.head(i):e.head(t)}const p=e.prop("stackedMode",i),o=e.has(p,dt)?p:re,d=ct(a,o);return{...d,...Ke(t,ut(d),i)}})(t,i);return{...s,...r,...n,...a,...(t=>{const i=gt(t)?{}:bt,s=vt(t)?{}:Ot;return{...i,...e.when(e.always(lt(t)),e.assoc("pivotY",0))(s)}})(t.type),fixedWidth:e.prop("fixedWidth",i),fixedHeight:e.prop("fixedHeight",i),responsiveWidth:e.prop("responsiveWidth",i),responsiveHeight:e.prop("responsiveHeight",i),freqStep:t.type===Q?e.prop("freqStep",i)||"1":void 0,type:e.prop("type",t)}},toChartOptions:(t,i)=>{const s=e.propOr({},"options",t),r=e.propOr({},"base",s),n=e.propOr({},"axis",s),a=e.propOr({},"x",n),p=e.propOr({},"y",n),o=e.propOr({},"linear",a),d=e.propOr({},"linear",p),l=e.propOr({},"tick",a),c=e.propOr({},"pivot",o),u=e.propOr({},"pivot",d),h=e.propOr({},"map",t);return{...s,axis:{...n,x:{...a,tick:{...l,step:kt(t,i)},linear:{...o,max:Dt(i.maxX,o.max),min:Dt(i.minX,o.min),pivot:{value:Dt(i.pivotX,c.value)},step:Dt(t.type===Q?1:i.stepX,o.step)}},y:{...p,linear:{...d,max:Dt(i.maxY,d.max),min:Dt(i.minY,d.min),pivot:{value:Dt(i.pivotY,u.value)},step:Dt(i.stepY,d.step)}}},map:e.pick(["projection","scale"],h),base:{...r,height:Dt(i.fixedHeight,r.height),width:Dt(i.fixedWidth,r.width)}}},toProperties:(t,i,s)=>({...wt(t,i,s),highlight:{id:"highlight",isActive:Ce(t.type),onChange:e.pipe(We,e=>{s({highlight:e})}),options:Xe(t,i,"baseline",Nt(t,i)),value:e.prop("highlight",i)},baseline:{id:"baseline",isActive:Ce(t.type),onChange:e.pipe(We,e=>s({baseline:e})),options:Xe(t,i,"highlight",Nt(t,i)),value:e.prop("baseline",i)},width:{id:"width",isActive:Ae(t.type),onChange:e=>s({fixedWidth:qe(e)?e:void 0}),placeholder:e.when(e.complement(e.isNil),e=>String(Math.floor(Number(e))))(i.responsiveWidth),value:e.prop("fixedWidth",i)},height:{id:"height",isActive:Ae(t.type),onChange:e=>s({fixedHeight:qe(e)?e:void 0}),placeholder:e.when(e.complement(e.isNil),e=>String(Math.floor(Number(e))))(i.responsiveHeight)},freqStep:{id:"freqStep",isActive:t.type===Q,onChange:e=>s({freqStep:qe(e)?String(e):void 0}),value:e.prop("freqStep",i)},title:{id:"title",isActive:Ae(t.type),isDefault:e.isNil(i.title),onChange:e=>s({title:e}),value:e.isNil(i.title)||e.isEmpty(i.title)?e.pathOr("",["title","label"],t):i.title,onReset:e.isNil(i.title)?null:()=>s({title:null})},subtitle:{id:"subtitle",isActive:Ae(t.type),isDefault:e.isNil(i.subtitle),onChange:e=>s({subtitle:e}),value:e.isNil(i.subtitle)||e.isEmpty(i.subtitle)?Et(t.subtitle||[]):i.subtitle,onReset:e.isNil(i.subtitle)?null:()=>s({subtitle:null})},source:{id:"source",isActive:Ae(t.type),isDefault:e.isNil(i.sourceLabel),onChange:e=>s({sourceLabel:e}),value:St(t,i),onReset:e.isNil(i.sourceLabel)?null:()=>s({sourceLabel:null})},scatterDimension:{id:"scatterDimension",isActive:Ze(t.type),onChange:e.pipe(Re,et(t,i),s),options:Ve(t,Ze),value:je("scatterDimension")(t,i)},scatterX:{id:"scatterX",isActive:Ze(t.type),onChange:e.pipe(Re,it(t,i,"scatterX","scatterY"),s),options:Je(t,i),value:tt("scatterX",t,i)},scatterY:{id:"scatterY",isActive:Ze(t.type),onChange:e.pipe(Re,it(t,i,"scatterY","scatterX"),s),options:Je(t,i),value:tt("scatterY",t,i)},symbolDimension:{id:"symbolDimension",isActive:rt(t.type),options:Ve(t,rt),onChange:e.pipe(Re,pt(t),s),value:je("symbolDimension")(t,i)},stackedDimension:{id:"stackedDimension",isActive:yt(t),options:Ve(t,lt),onChange:e.pipe(Re,ht(t),s),value:je("stackedDimension")(t,i)},stackedMode:{id:"stackedMode",isActive:lt(t.type),options:mt,onChange:e.pipe(Re,ft,s),value:e.prop("stackedMode",i)},logo:{id:"logo",isActive:Ae(t.type),checked:!i.withLogo,onChange:()=>s({withLogo:!i.withLogo})},copyright:{id:"copyright",isActive:Ae(t.type),checked:!i.withCopyright,onChange:()=>s({withCopyright:!i.withCopyright})}}),toSingularity:Nt},Symbol.toStringTag,{value:"Module"}));export{Xs as rules,Is as rules2};
|
|
1
|
+
import*as e from"ramda";import{has as t,pipe as i,is as s,head as r,prop as n,equals as a,length as p,map as o,isNil as d,omit as l,propOr as c,reject as u,isEmpty as h,groupBy as m,find as y,propEq as f,not as g}from"ramda";import v from"numeral";import{getTimePeriodDimension as x,isTimePeriodDimension as b,getRefAreaDimension as O,isRefAreaDimension as w,getNotDisplayedCombinations as S,getCodeOrder as E}from"@sis-cc/dotstatsuite-sdmxjs";import*as N from"date-fns";import{format as I}from"date-fns";import{fr as D,de as k,es as $,ar as q,it as A,nl as C,th as T,enUS as P}from"date-fns/locale";import M from"date-fns/getTime";import _ from"date-fns/isMonday";import R from"date-fns/isTuesday";import B from"date-fns/isWednesday";import j from"date-fns/isThursday";import V from"date-fns/isFriday";import Y from"date-fns/isSaturday";import L from"date-fns/isSunday";import H from"date-fns/getISOWeek";const X=t=>e.isNil(t)||!e.includes(t,["both","code"])?"label":t,W=(t,i={})=>s=>{const r=e.propOr("",i.id||"id",s),n=e.propOr("",i.name||"name",s);if(e.propOr(!1,"isNonCoded",s))return r;if(e.isEmpty(r)&&e.isEmpty(n))return"";switch(t){case"label":return e.isEmpty(n)?`[${r}]`:n;case"code":return r;case"both":return e.isNil(r)||e.isEmpty(r)?n:`(${r}) ${n}`;default:return null}},F=(t,i,s)=>{const r=e.pathOr({},["values",Number(i)],t);return W(s)(r)},z=(t,i,s,r,n)=>e.pipe(e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i)||{};return e.has(o.id,s)&&o.id!==r?e.append(F(o,a,n),t):t},[]),e.join(" - "))(t),K="BarChart",U="RowChart",G="ScatterChart",Q="TimelineChart",Z="HorizontalSymbolChart",J="VerticalSymbolChart",ee="StackedBarChart",te="StackedRowChart",ie="ChoroplethChart",se="percent",re="values",ne={[K]:K,[U]:U,[G]:G,[Q]:Q,[Z]:Z,[J]:J,[ee]:ee,[te]:te,[ie]:ie},ae="OBS_TYPE_NUMBER",pe="OBS_TYPE_NUMERICAL_STRING",oe=["PREF_SCALE"],de=["DECIMALS"],le=(t,i)=>e.find(i=>e.includes(i.id,t),i),ce=(t=[],i={})=>{const{decimals:s,prefscale:r}=((t={})=>{let i=e.prop("prefscale",t),s=e.prop("decimals",t);return s=e.isNil(s)?de:s,i=e.isNil(i)?oe:i,{decimals:e.is(Array,s)?s:[s],prefscale:e.is(Array,i)?i:[i]}})(i);return{decimals:le(s,t),prefscale:le(r,t)}},ue=(t,i)=>{const s=e.prop("index",i),r=e.nth(s,t);return e.nth(r,e.propOr([],"values",i))},he=t=>{let i=0;e.isNil(e.prop("prefscale",t))||(i=Number(e.propOr("0","id",t.prefscale)));let s=null;if(!e.isNil(e.prop("decimals",t))){let i=Number(e.prop("id",t.decimals));s=e.is(Number,i)&&!Number.isNaN(i)?i:null}let r="0,0";return e.isNil(s)?r=e.concat(r,".[0000000]"):s>0&&(r=e.concat(r,`.[${"0".repeat(s)}]`)),t=>v(Number(t)).multiply(Math.pow(10,e.negate(i))).format(r)},me=(t,i)=>e.pipe(e.tail,(t=>i=>({decimals:ue(i,e.prop("decimals",t)),prefscale:ue(i,e.prop("prefscale",t))}))(i),he)(t),ye=(t,i)=>me(t,i)(e.head(t)),fe=(t,i,s,r,n,a,p)=>{const[o,d]=t;return e.pipe(e.keys,e.map(t=>{const n=e.prop(t,i),l=e.head(n),c=e.split(":",t),u=z(c,s,r,null,a),h=z(c,s,r,null,"code"),m=ye(n,p);let y=h;return(e.isNil(y)||e.isEmpty(y))&&(y="uniq-dp"),{value:l,category:u,[d]:l,[o]:u,key:y,formatedValue:m}}),e.sortBy(e=>e[d]*n))(i)},ge=(e,t,i,s,r,n,a)=>[{datapoints:fe(e,t,i,s,r,n,a)}];function ve(t,i,s,r,n,a){const p=e.prop("id",r),o=e.findIndex(e.propEq(p,"id"),i),d=e.reduce((d,l)=>{const c=e.prop(l,t),u=e.split(":",l),h=u[o],m=e.nth(o,i),y=e.nth(h,e.propOr([],"values",m||{}));if(function(t,i){return e.includes(e.prop("id",t),e.map(t=>e.prop(`${t}Id`,i),["x","y"]))}(y,r)){const t=e.pipe(e.addIndex(e.reject)((e,t)=>t===o),e.join(":"))(u);if(!e.has(t,d)){const r=function(t,i,s,r,n){const a=e.keys(s);return e.addIndex(e.reduce)((t,s,p)=>{const o=e.nth(p,i),d=e.prop("id",o),l=e.nth(s,e.propOr([],"values",o||{}));return d!==r&&e.includes(d,a)?e.assoc(d,{...l,name:W(n)(l)},t):t},{},t)}(u,i,s,p,n);d[t]={dimensionValues:r}}const l=function(t,i){return e.prop("xId",t)===e.prop("id",i)?"x":"y"}(r,y);d[t][l]=e.head(c),d[t][`${l}Format`]=ye(c,a)}return d},{},e.keys(t));return e.pipe(e.filter(t=>!e.isNil(t.x)&&!e.isNil(t.y)),e.values)(d)}const xe=({observations:t,dimensions:i},s,r,n,a)=>((t,i,s,r,n,a)=>{const p=e.pipe(e.prop(e.prop("id",r||{})),e.propOr([],"values"))(s),o=e.find(e.propEq(e.prop("xId",r),"id"),p),d=e.find(e.propEq(e.prop("yId",r),"id"),p);return[{dimensionValues:{x:{...o,name:W(n)(o)},y:{...d,name:W(n)(d)}},datapoints:ve(t,i,s,r,n,a)}]})(t,i,s,r,n,a),be=(t,i,s,r,n)=>e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i)||{};if(e.has(o.id,s)&&o.id!==r){const i=e.pathOr({},["values",a],o);return e.set(e.lensPath([i.id,"name"]),F(o,a,n),t)}return t},{},t),Oe=({observations:t,dimensions:i},s,r,n)=>{const a=x({dimensions:i}),p=a?a.__index:-1,o=!e.has(e.prop("id",a),s);return!p||-1===p||o?[]:((t,i,s,r,n,a)=>{const p=e.reduce((p,o)=>{const d=t[o],l=e.split(":",o),c=e.nth(r,i),u=e.nth(r,l),h=e.path(["values",u],c),m={x:h.start,y:e.head(d),timeLabel:h.name,formatedValue:ye(d,a),dimensionValues:be(l,i,s,c.id,n)},y=z(l,i,s,c.id,n);let f=z(l,i,s,c.id,"code");(e.isNil(f)||e.isEmpty(f))&&(f="uniq-dp");const g=e.findIndex(e=>e.key===f,p);return-1!==g?e.over(e.lensPath([g,"datapoints"]),e.append(m),p):e.append({datapoints:[m],category:y,key:f},p)},[],e.keys(t));return e.map(t=>({...t,datapoints:e.sortBy(e.prop("x"),t.datapoints)}),p)})(t,i,s,p,r,n)},we=(t,i,s,r,n,a,p)=>{const o=e.propOr(null,"id",r);if(null===o)return[];const d=e.findIndex(e=>e.id===o,i);return[{datapoints:e.pipe(e.keys,e.reduce((n,l)=>{const c=t[l];if(e.isNil(e.head(c))||e.isEmpty(e.head(c)))return n;const u=e.split(":",l),h=Number(e.nth(d,u)),m=e.path([d,"values",h,"id"],i);if(-1===e.findIndex(e.propEq(m,"id"),r.serie))return n;const y=z(u,i,s,o,a),f=z(u,i,s,o,"code"),g=e.isNil(f)||e.isEmpty(f)?"uniq-dp":f,v=e.findIndex(e.propEq(g,"key"),n),x=e.pipe(t=>-1===t?{category:y,formatedValues:new Array(e.length(r.serie)),values:new Array(e.length(r.serie)),key:g}:e.nth(t,n),e.set(e.lensPath(["values",h]),e.head(c)),e.set(e.lensPath(["formatedValues",h]),ye(c,p)))(v);return-1===v?e.append(x,n):e.set(e.lensIndex(v),x,n)},[]),e.sortBy(t=>e.head(t.values)*n))(t),symbolValues:e.map(W(a),r.serie)}]},Se=(t,i,s,r,n,a,[p,o])=>{const d=e.propOr(null,"id",r),l=e.find(e.propEq(d,"id"),i);if(e.isNil(l))return{datapoints:[],layerSeries:[]};const c=((t,i,s,r,n,a,[p,o])=>{const d=e.mapObjIndexed((t,d)=>{let l=null;const c=Number(e.head(t)),u=me(t,a),h=e.split(":",d);let m=[];const y=e.addIndex(e.reduce)((t,a,p)=>{const o=e.nth(p,i),d=e.pathOr({},["values",Number(a)],o),c=W(n)(d),u={...d,index:Number(a),label:c};return o.id===r?l=u:e.has(o.id,s)&&(t.push(u),m.push(a)),t},[],h);return{formater:u,[o]:l,[p]:c,layerDimensions:y,layerKey:e.join(":",m)}},t);return e.values(d)})(t,i,s,d,n,a,[p,o]),u=e.groupBy(e.prop("layerKey"),c),h=e.map(t=>({layerDimensions:e.prop("layerDimensions",e.head(t)),layerKey:e.prop("layerKey",e.head(t))}),e.values(u)),m=e.propOr(1/0,"limit",r),y=e.take(m,e.sortBy(e.prop("layerKey"),h)),f=e.mapObjIndexed(e.indexBy(e.path([o,"id"])),u),g=e.addIndex(e.map)((t,i)=>{const s=t.id,r=W(n)(t),a=e.map(({layerKey:t})=>e.pathOr(null,[t,s,p],f),y);return{category:r,formaters:e.map(({layerKey:t})=>e.pathOr(null,[t,s,"formater"],f),y),index:i,[o]:r,[p]:a,key:s}},l.values);return{datapoints:e.when(e.pipe(e.length,e.equals(1)),e.pipe(e.set(e.lensPath([0,"category"]),""),e.set(e.lensPath([0,o]),"")),g),layerSeries:e.map(t=>({id:e.pipe(e.prop("layerDimensions"),e.pluck("id"),e.join(" - "))(t),label:e.pipe(e.prop("layerDimensions"),e.pluck("label"),e.join(" - "))(t)}),y)}},Ee=e.pipe(e.over(e.lensProp("datapoints"),e.sortBy(e.prop("index"))),t=>e.of(Array,t)),Ne=({observations:t,dimensions:i},s,r,n,a,[p,o])=>{const d=e.propOr("values","mode",r),l=e.propOr(null,"id",r),c=Se(t,i,s,r,n,a,[p,o]);return"percent"===d?(t=>e.pipe(e.over(e.lensProp("datapoints"),e.map(i=>{const s=e.pipe(e.map(e=>Math.abs(e)),e.sum)(i[t]);return s?{...i,[t]:e.map(e=>Math.abs(e)/s*100,i[t]),formaters:null}:i})),t=>e.of(Array,t)))(p)(c):b({id:l})?Ee(c):(t=>e.pipe(e.over(e.lensProp("datapoints"),e.sortBy(e.pipe(e.prop(t),e.map(t=>t>0?e.negate(t):0),e.sum))),t=>e.of(Array,t)))(p)(c)},Ie=({observations:t,dimensions:i},s,r,n)=>{const a=O({dimensions:i}),p=((t,i)=>{if(e.isNil(i))return null;const{__index:s,values:r=[]}=i;return e.pipe(e.keys,e.reduce((i,n)=>{const a=t[n],p=e.split(":",n),o=Number(e.nth(s,p)),d=isNaN(o)?null:e.nth(o,r),l=e.prop("id",d||{});return e.over(e.lensProp(l),t=>e.append({splitedKey:p,value:a,areaValueIndex:o},t||[]),i)},{}))(t)})(t,a),o=e.propOr({},"topology",r),d=e.propOr(null,"areaSelection",r),l=e.pathOr(null,["objects",d],o);if(!p||!l)return null;const c=e.map(t=>{const r=e.pipe(e.pathOr(null,["properties","id"]),t=>e.propOr([],t,p),e.head)(t),o=e.propOr(null,"areaValueIndex",r),d=e.pathOr(null,["values",o],a);return{...t,properties:{...e.propOr({},"properties",t),label:W(n)(d),value:e.head(e.propOr([],"value",r)),category:z(e.propOr([],"splitedKey",r),i,s,a.id,n)}}},l.geometries);return{objects:{areas:{type:l.type,geometries:c}},arcs:o.arcs,bbox:o.bbox,transform:o.transform}},De=({type:t,data:i,options:s,singularity:r})=>{const{display:n,formatterIds:a,map:p}=s,{attributes:o=[]}=i,d=ce(o,a),l=e.reduce((t,i)=>i.header?t:e.assoc(i.id,i,t),{},i.dimensions||[]);switch(t){case"BarChart":case"RowChart":return((e,{observations:t,dimensions:i},s,r,n)=>{switch(e){case"BarChart":return ge(["x","y"],t,i,s,1,r,n);case"RowChart":return ge(["y","x"],t,i,s,-1,r,n);default:return[]}})(t,i,l,n,d);case"ScatterChart":return xe(i,l,r,n,d);case"TimelineChart":return Oe(i,l,n,d);case"HorizontalSymbolChart":case"VerticalSymbolChart":return(({observations:e,dimensions:t},i,s,r,n,a)=>{switch(i){case"HorizontalSymbolChart":return we(e,t,s,r,-1,n,a);case"VerticalSymbolChart":return we(e,t,s,r,1,n,a);default:return[]}})(i,t,l,r,n,d);case"StackedBarChart":return Ne(i,l,r,n,d,["y","x"]);case"StackedRowChart":return Ne(i,l,r,n,d,["x","y"]);case"ChoroplethChart":return Ie(i,l,p,n);default:return[]}},ke=e=>{const t=Number(e);return g(d(t)||isNaN(t))},$e=e=>ke(e)&&Number(e)>=0,qe=e=>d(e)||/^\d+$/.test(String(e)),Ae=e=>t(e,ne),Ce=e=>t(e,l([ie],ne)),Te=e=>i(c([],"dimensions"),u(e=>e.header||h(e.values||[])))(e),Pe=e=>n("id",e),Me=e=>(t,i)=>{const s=n(e,i),{dimensions:r=[]}=t||{};return y(f(s,"id"),r)},_e=i(Te,m(e=>w(e)?"area":b(e)?"time":"other")),Re=e=>i(e=>s(Array,e)?r(e):e,e=>s(Object,e)?n("value",e):e,e=>s(String,e)?e:void 0)(e),Be=e=>t=>d(t)?void 0:{label:W(X(e))(t),value:n("id",t)},je=e=>({data:t,display:s},r)=>i(Me(e),Be(s))(t,r),Ve=({data:e,type:t,display:i},s)=>{if(!s(t))return[];const r=Te(e);return(a(t,ee)||a(t,te))&&1===p(r)?[]:o(Be(i),r)},Ye={[K]:K,[U]:U,[Q]:Q},Le=(e,t)=>e.value===t.value,He=(t,i,s,r)=>{const n=X(r),a=e.prop("id",s);switch(i){case"RowChart":case"BarChart":case"HorizontalSymbolChart":case"VerticalSymbolChart":case"StackedBarChart":case"StackedRowChart":return e.pipe(De,e.pathOr([],[0,"datapoints"]),e.map(e=>({label:e.category,value:e.key})))({data:t,type:i,options:{display:n},singularity:s});case"TimelineChart":return e.pipe(De,e.map(e=>({label:e.category,value:e.key})))({data:t,type:i,options:{display:n},singularity:s});case"ScatterChart":return e.isNil(a)?[]:e.pipe(e.propOr([],"dimensions"),e.reduce((t,i)=>{if(i.header||i.id===a)return t;const s=e.map(e=>({label:`${W(n)(i)} - ${W(n)(e)}`,options:{dimensionId:i.id,dimensionValueId:e.id},value:`${i.id}-${e.id}`}),e.propOr([],"values",i));return e.concat(t,s)},[]))(t);default:return[]}},Xe=(t,i,s,r)=>{if(!Ce(t.type))return[];const n=He(t.data,t.type,r,t.display);return e.differenceWith(Le,n,e.prop(s,i))},We=t=>{const i=e.isNil(t)?[]:t;return e.is(Array,i)?i:[i]},Fe=()=>e.prop("value"),ze=(t,i,s)=>e.reduce((t,s)=>{const r=Fe()(s);return e.has(r,i)?e.append(e.prop(r,i),t):t},[],t),Ke=({data:t,display:i,type:s},r,n)=>{const a=e.propOr([],"highlight",n),p=e.propOr([],"baseline",n),o=He(t,s,r,i),d=e.indexBy(Fe(),o);return{baseline:ze(p,d,e.prop("type",n)),highlight:ze(a,d,e.prop("type",n))}},Ue=Me("scatterDimension"),Ge=(e,t,i)=>({scatterDimension:Pe(e),scatterX:Pe(t),scatterY:Pe(i)}),Qe=t=>({id:e.prop("scatterDimension",t),xId:e.prop("scatterX",t),yId:e.prop("scatterY",t)}),Ze=e=>e===G,Je=({data:t,type:i,display:s},r)=>{if(!Ze(i))return[];const n=Ue(t,r);return e.isNil(n)?[]:e.map(Be(s),e.prop("values",n))},et=(t,i)=>s=>{const{data:r}=t,n=Ue(r,{scatterDimension:s});if(e.isNil(n))return{};const[a,p]=e.take(2,e.prop("values",n)),o=Ge(n,a,p);return{...o,...Ke(t,Qe(o),i)}},tt=(t,i,s)=>{const r=Ue(i.data,s);if(e.isNil(r)||!Ze(i.type))return;const n=e.find(e.propEq(e.prop(t,s),"id"),e.prop("values",r));return Be(i.display)(n)},it=({data:t,type:i},s,r,n)=>a=>{const p=Je({data:t,type:i},s),[o,d]=e.partition(e.propEq(a,"value"),p);if(e.isEmpty(o))return{};const l=e.prop(n,s);return{[r]:a,[n]:l===a?e.prop("value",e.head(d)):l}},st=Me("symbolDimension"),rt=e=>e===Z||e===J,nt=e=>({symbolDimension:Pe(e)}),at=(t,i)=>{const s=st(t,i);return{id:e.isNil(s)?void 0:e.prop("id",s),serie:e.pipe(e.prop("values"),t=>e.isNil(t)?[]:t,e.take(5))(s)}},pt=({data:t})=>i=>{const s=st(t,{symbolDimension:i});return e.isNil(s)?{}:{...nt(s),highlight:[],baseline:[]}},ot=Me("stackedDimension"),dt={[se]:se,[re]:re},lt=e=>e===ee||e===te,ct=(e,t)=>({stackedDimension:Pe(e),stackedMode:t}),ut=t=>({id:e.prop("stackedDimension",t),mode:e.prop("stackedMode",t),limit:5}),ht=({data:t},i)=>i=>{const s=ot(t,{stackedDimension:i});return e.isNil(s)?{}:{stackedDimension:Pe(s),highlight:[],baseline:[]}},mt=[{value:re},{value:se}],yt=({data:t,type:i})=>{const s=Te(t);return!(e.length(s)<2)&<(i)},ft=t=>e.has(t,dt)?{stackedMode:t}:{},gt=t=>e.includes(t,[Z,U,G,te]),vt=t=>e.includes(t,[K,G,ee,Q,J]),xt=t=>e.equals(K,t),bt={computedMaxX:void 0,computedMinX:void 0,computedStepX:void 0,computedPivotX:void 0,maxX:void 0,minX:void 0,pivotX:void 0,stepX:void 0},Ot={computedMaxY:void 0,computedMinY:void 0,computedStepY:void 0,computedPivotY:void 0,maxY:void 0,minY:void 0,pivotY:void 0,stepY:void 0},wt=(t,i,s)=>{return{maxX:{id:"maxX",isActive:gt(t.type),onChange:e=>s({maxX:ke(e)?e:void 0}),value:e.isNil(i.maxX)?String(i.computedMaxX):i.maxX},maxY:{id:"maxY",isActive:vt(t.type),onChange:e=>s({maxY:ke(e)?e:void 0}),value:e.isNil(i.maxY)?String(i.computedMaxY):i.maxY},minX:{id:"minX",isActive:gt(t.type),onChange:e=>s({minX:ke(e)?e:void 0}),value:e.isNil(i.minX)?String(i.computedMinX):i.minX},minY:{id:"minY",isActive:vt(t.type),onChange:e=>s({minY:ke(e)?e:void 0}),value:e.isNil(i.minY)?String(i.computedMinY):i.minY},pivotX:{id:"pivotX",isActive:(r=t.type,e.equals(U,r)),onChange:e=>s({pivotX:ke(e)?e:void 0}),value:e.when(i=>e.isNil(i)&&(e.propEq(U,"type")(t)||e.propEq(te,"type")(t)),e.always(0))(e.isNil(i.pivotX)?String(i.computedPivotX):i.pivotX)},pivotY:{id:"pivotY",isActive:xt(t.type),onChange:e=>s({pivotY:ke(e)?e:void 0}),value:e.when(i=>e.isNil(i)&&(e.propEq(K,"type")(t)||e.propEq(ee,"type")(t)),e.always(0))(e.isNil(i.pivotY)?String(i.computedPivotY):i.pivotY)},stepX:{id:"stepX",isActive:gt(t.type),onChange:e=>s({stepX:$e(e)?e:void 0}),value:e.isNil(i.stepX)?String(i.computedStepX):i.stepX},stepY:{id:"stepY",isActive:vt(t.type),onChange:e=>s({stepY:$e(e)?e:void 0}),value:e.isNil(i.stepY)?String(i.computedStepY):i.stepY}};var r},St=(t,i)=>e.when((({type:t})=>i=>e.isNil(i)||!Ae(t))({type:t.type}),e.always((t=>{const i=e.propOr({},"dataflow",t),s=X(t.display);return W(s)(i)})(t)))(i.sourceLabel),Et=e.pipe(e.map(({header:t,label:i})=>e.isNil(t)?i:`${t} ${i}`),e.join(" · ")),Nt=({data:e,type:t},i)=>{switch(t){case G:return Qe(i);case Z:case J:return at(e,i);case ee:case te:return ut(i);default:return null}},It=e=>{const t=parseFloat(e);return isNaN(t)?void 0:t},Dt=(t,i)=>e.isNil(t)?i:It(t),kt=(t,i)=>{if(t.type!==Q)return null;const s=It(i.freqStep);return e.isNil(s)?1:s},$t=t=>e.pipe(e.find(e.propEq("NOT_DISPLAYED","type")),e.complement(e.isNil))(t),qt=e.identity,At=t=>e.and(N.isDate,t=>e.not(e.equals(t.getTime(t),NaN)))(new Date(t)),Ct=e=>N.addMinutes(e,e.getTimezoneOffset()),Tt=e.cond([[e.equals("fr"),e.always(D)],[e.equals("de"),e.always(k)],[e.equals("es"),e.always($)],[e.equals("ar"),e.always(q)],[e.equals("it"),e.always(A)],[e.equals("nl"),e.always(C)],[e.equals("th"),e.always(T)],[e.T,e.always(P)]]),Pt=["_L","_T","_Z"],Mt=t=>i=>{if("code"===t)return e.prop("id",i);const s=e.prop("name")(i);return"both"===t?`${e.prop("id",i)}: ${s}`:s},_t=t=>{if(e.isNil(t))return{};const i=e.split(",",t.title||"");return e.reduce((t,i)=>{if(e.isEmpty(i))return t;const s=e.split("=",i),r=s[0];if(1===e.length(s))return e.assoc(r,r,t);const n=e.split("+",s[1]);return 1===e.length(n)&&e.isEmpty(n[0])?e.assoc(r,r,t):e.reduce((t,i)=>{let s=i;if(e.isEmpty(i))return t;e.test("/[()]/")&&(s=e.replace(/[()]/g,"")(i));const n=e.isEmpty(s)?r:`${r}.${s}`;return e.assoc(n,n,t)},t,n)},{},i)},Rt=t=>e.pipe(e.find(e.propEq("NOT_DISPLAYED","type")),e.converge((e,t)=>({hiddenValues:e,hiddenCombinations:t}),[_t,(e={title:""})=>S(e)]))(t),Bt=t=>e.reduce((t,i)=>{if("HIER_CONTEXT"!==i.type)return t;const s=i.text||i.title||"",r=e.pipe(e.split(","),e.reduce((t,i)=>{const s=i.match(/([\w@_.]+):([\w@_.]+):([\w@_.]+)\(([\d.]+)\).([\w@_.]+)$/);if(e.isNil(s))return t;const[r,n,a,p,o]=e.tail(s);return e.assoc(r,{agencyId:n,code:a,version:p,hierarchy:o,codelistId:r},t)},{}))(s);return e.mergeRight(t,r)},{},t),jt=t=>{const i=e.pathOr([],["data","structure","dimensions","observation"],t),s=e.pathOr([],["data","structure","annotations"],t),r=e.pipe(e.pathOr([],["data","dataSets",0,"dimensionGroupAttributes"]),e.map(t=>e.props(t,s)),e.filter(e.find(t=>t&&e.propEq("HAS_METADATA","type",t))),e.keys)(t);return e.map(t=>{const s=e.split(":",t);return e.addIndex(e.reduce)((t,s,r)=>{if(e.isNil(s)||e.isEmpty(s))return t;const n=e.nth(r,i);if(e.isNil(n)||e.prop("rejected",n))return t;const a=e.path(["values",Number(s)],n);return e.isNil(a)?t:e.assoc(n.id,a.id,t)},{},s)},r)},Vt=(t,i)=>{const s=e.values(i);if(0===e.length(t))return i;const r=e.reduce((t,i)=>{const s=e.groupBy(t=>e.prop(i.id,t.indexedDimValIds),t),r=e.addIndex(e.map)((t,r)=>{const n=e.propOr([],t.id,s);return e.map(t=>e.over(e.lensProp("orderedDimIndexes"),s=>{const n=e.isNil(s)?e.map(e=>Number(e),t.dimValuesIndexes):s;return e.set(e.lensIndex(i.__index),r)(n)})(t),n)},i.values);return e.unnest(r)},s,t);return e.indexBy(e.pipe(e.prop("orderedDimIndexes"),e.join(":")),r)},Yt=e.pipe(e.reduce(({ids:t,list:i},s)=>e.has(s,i)?{ids:t,list:i}:{ids:e.append(s,t),list:e.assoc(s,s,i)},{ids:[],list:{}}),e.prop("ids")),Lt=t=>{const i=e.sortBy(e.prop("__indexPosition"),t.values||[]),s=e.indexBy(e.prop("id"),i),r=e.groupBy(t=>t.parent&&e.has(t.parent,s)?t.parent:"#ROOT",i);let n=-1;const a=({parentsIndexes:t,parentId:i})=>{const s=e.propOr([],i,r);return e.reduce((s,r)=>{n+=1;const p=e.pipe(e.assoc("__indexPosition",n),e.assoc("parents",t),e.assoc("parent",e.isEmpty(t)?void 0:i))(r),o=a({parentsIndexes:e.propOr(!1,"isSelected",r)?e.append(n,t):t,parentId:r.id});return e.concat(s,e.prepend(p,o))},[],s)};return e.set(e.lensProp("values"),a({parentsIndexes:[],parentId:"#ROOT"}))(t)},Ht=t=>e.reduce((t,i)=>{const s=e.split(":",i);if(2!==e.length(s))return t;const[r,n]=s;return e.assoc(r,n,t)},{},t),Xt=t=>(i,s)=>e.useWith((i,s)=>e.reduce((i,r)=>{const n=e.split(":",r);if(2!==e.length(n))return i;const[a,p]=n;return e.isEmpty(p)?i:e.append({id:a,concepts:e.split(",",p),name:e.hasPath([t,a],s)?e.path([t,a],s):`[${a}]`},i)},[],i),[e.split(";"),e.map(e.pipe(e.split(";"),Ht))])(i,s),Wt=(t,i)=>{const s=e.find(e=>"COMBINED_CONCEPTS"===e.type,t);if(e.isNil(s))return[];const r=e.propOr("","title",s),n=e.propOr({},"texts",s);return Xt(i)(r,n)},Ft=e=>"Y"===e?"yyyy":"D"===e?"yyyy-MM-dd":"H"===e||"m"===e?"HH:mm":"S"===e?"HH:mm:ss":"yyyy-MMM",zt=(e,t,i)=>{const s=(e=>"S"===e?N.addSeconds:"m"===e?N.addMinutes:"H"===e?N.addHours:"D"===e?N.addDays:"M"===e?N.addMonths:N.addYears)(i),r=s(e,Number(t));return N.subSeconds(r,1)},Kt=e=>"string"==typeof e?N.parseISO(e):new Date(e),Ut=e=>N.addMinutes(e,-e.getTimezoneOffset()),Gt=(t,{locale:i,monthlyFormat:s="yyyy-MMM"})=>{const{id:r}=t,n=e.split("/",r);if(2!==e.length(n)){const i=Kt(e.prop("start",t)),s=Kt(e.prop("end",t));return{...t,start:Ut(i).toISOString(),end:Ut(s).toISOString()}}const[a,p]=n,o=Kt(a),d=e.match(/^P(T?)(\d+)([YMDHS])$/,p);if(e.isEmpty(d)||!N.isValid(o))return t;const[l,c,u]=e.tail(d),h=e.isEmpty(l)||"M"!==u?u:"m",m=zt(o,c,h),y=((e,t)=>{const i=N.startOfMinute(e),s=N.startOfHour(e),r=N.startOfDay(e);return N.isEqual(e,i)&&"S"!==t?N.isEqual(e,s)&&N.isEqual(e,r)&&"H"!==t&&"m"!==t?1!==N.getDate(e)||"D"===t?"D":0!==N.getMonth(e)||"M"===t?"M":"Y":"m":"S"})(o,h),f=((t,i,s,r,n)=>{const a={locale:Tt(r)},p=N.isSameDay(t,i),o=N.isSameYear(t,i);if("H"===s||"m"===s||"S"===s){const e=Ft("D");return p?`${N.format(t,e,a)} ${N.format(t,n,a)} - ${N.format(i,n,a)}`:`${N.format(t,e,a)} ${N.format(t,n,a)} - ${N.format(i,e,a)} ${N.format(i,n,a)}`}if("M"!==s)return`${N.format(t,n,a)} - ${N.format(i,n,a)}`;if(o&&!e.includes("-",n)){const s=e.match(/([y]+)/,n),r=e.match(/([M]+|Mo)/,n),p=e.length(s)>=2?e.nth(1,s):null,o=e.length(r)>=2?e.nth(1,r):null,d=p?N.format(t,p,a):null,l=o?`${N.format(t,o,a)} - ${N.format(i,o,a)}`:null;if(o)return e.pipe(t=>p?e.replace(p,d,t):t,e.replace(o,l))(n)}return`${N.format(t,n,a)} - ${N.format(i,n,a)}`})(o,m,y,i,"M"===y?s:Ft(y));return{...t,id:r,name:f,start:Ut(o).toISOString(),end:Ut(m).toISOString()}},Qt=e.both(e.has("value"),e.pipe(e.has("id"),e.not)),Zt=({isTimeDimension:t,options:i,locale:s,start:r,reportYearStart:n})=>a=>t?((t,i,s)=>(r,{id:n,start:a,reportedStart:p})=>{const o=N.getYear(a),d=new Date(o,r.month,r.day);if(N.isEqual(d,new Date(o,1,1))||"D"===t)return e.isNil(i)||"M"!==t?n:N.format(a,i,{locale:Tt(s)});const l=o+1;if("A"===t)return`${o}/${l}`;if("S"===t){const[t]=e.match(/S\d/,n);return`${o}/${l}-${t}`}if("Q"===t){const[t]=e.match(/Q\d/,n);return`${o}/${l}-${t}`}if("M"===t){if(N.isFirstDayOfMonth(p))return e.isNil(i)?n:N.format(p,i,{locale:Tt(s)});const[t]=e.match(/M[\d]{2}/,n);return`${o}/${l}-${t}`}const[c]=e.match(/W[\d]{2}/,n);return`${o}/${l}-${c}`})(i.frequency,i.timeFormat,s)(n,{id:a.id,reportedStart:r,start:new Date(a.start)}):e.prop("name")(a),Jt=({locale:t="",annotations:i=[],isTimeDimension:s=!1,parent:r="",reportYearStart:n,hiddenIds:a={},options:p={},selection:o=[],constraints:d})=>{const l=new Set(o),c=t=>e.isNil(d)||s||d.has(t);return e.pipe(e.addIndex(e.map)((d,u)=>{const h=((t,i)=>{const s=e.prop("id",t);return s||(Qt(t)?e.prop("value",t):i)})(d,`${r}-${u}`),m=e.pipe(e.propOr([],"annotations"),e.flip(e.props)(i))(d),y=e.has(`${r}.${h}`,a)||$t(m),{start:f,notes:g}=s?si({reportYearStart:n,options:p})(d):{notes:[]};let v=NaN;isNaN(v)&&(v=E({annotations:m}));const x=l.has(d.id)||e.isNil(o)||e.isEmpty(o)||e.isEmpty(e.head(o));let b={...e.omit(["names","value"],d),id:h,isSelected:x,empty:!x,display:!y,start:f?f.toISOString():null,flags:g,__indexPosition:v,__index:u,isNonCoded:Qt(d),parent:c(d.parent)?d.parent:void 0,parents:e.filter(c,d.parents||[])};return Qt(d)||(b=e.assoc("name",Zt({isTimeDimension:s,options:p,locale:t,start:f,reportYearStart:n})(d),b)),s&&(b=Gt(b,{locale:t,monthlyFormat:p.timeFormat})),b}),e.sortWith(s?ti:ii),e.addIndex(e.map)((t,i)=>e.assoc("__indexPosition",i,t)),e.sortBy(e.prop("__index")))},ei=t=>i=>M(new Date(e.prop(t,i))),ti=[e.ascend(ei("start")),e.descend(ei("end"))],ii=[e.ascend(e.prop("__indexPosition")),e.ascend(e.propOr(-1,"order"))],si=({reportYearStart:t,options:i})=>s=>{const r=((t,i,s)=>{let r=new Date(e.prop("start",i)),n=Ct(new Date(e.prop("end",i)));return"01"===t.month&&"01"===t.day||(r=N.addMonths(r,t.month-1),r=N.addDays(r,t.day-1),"A"===s&&(n=N.addYears(r,1)),"S"===s&&(n=N.addMonths(r,6)),"Q"===s&&(n=N.addMonths(r,3)),"M"===s&&(n=N.addMonths(r,6)),"W"!==s&&"B"!==s||(n=N.addDays(r,7)),"D"===s&&(n=N.addDays(r,1)),"H"===s&&(n=N.addHours(r,1)),"N"===s&&(n=N.addMinutes(r,1)),n=N.subSeconds(n,1)),{start:r,end:n}})(t,s,i.frequency),n=r.start,a=r.end,p=((t,i,s,r)=>{if("01"===t.month&&"01"===t.day)return null;if(e.includes(r,["D","H","N"]))return null;const n=N.isFirstDayOfMonth(i);return"M"===r&&n?null:{value:{name:`${N.format(i,"yyyy-MM-dd")} - ${N.format(s,"yyyy-MM-dd")}`}}})(t,n,a,i.frequency,i.isRtl);return{start:n,notes:e.isNil(p)?[]:e.append(p,[])}},ri=({attributes:t,annotations:i,options:s})=>{const{hiddenCombinations:r={},hiddenValues:n={},locale:a="",...p}=s,o=e.propOr([],"dataSet",t),d=e.propOr([],"observation",t);return e.pipe(e.concat,e.addIndex(e.map)((t,s)=>{const r=e.props(t.annotations||[],i);return{...t,__index:s,display:!e.has(t.id,n)&&!$t(r),values:Jt({locale:a,annotations:i,parent:t.id,hiddenIds:n,options:p})(t.values||[])}}))(d,o)},ni=({annotations:t=[],dimensions:i=[],options:s={}})=>{const{dataquery:r="",hiddenCombinations:n={},hiddenValues:a={},locale:p="",reportYearStart:o,constraints:d={},...l}=s,c=e.pipe(e.split("."),e.map(e.split("+")))(r);return e.addIndex(e.map)((i,s)=>{const r=e.nth(s,c),u=e.isNil(r)||e.isEmpty(r)||e.isEmpty(e.head(r)),h=b(i),m=e.props(i.annotations||[],t),y=e.prop(i.id,d),f=Jt({annotations:t,hiddenIds:a,isTimeDimension:h,locale:p,options:l,parent:i.id,reportYearStart:o,selection:r,constraints:y})(i.values||[]),g=e.length(f),v=(({id:t,values:i})=>{if(!e.has(t,n))return!1;const s=e.pluck("id",i);return e.isEmpty(e.difference(s,n[t]))})({id:i.id,values:f}),x=v||e.has(i.id,a)||$t(m);return{...i,display:!x,header:1===g||g>1&&1===e.length(r)&&!u,__index:s,rejected:v||!g,role:h?"TIME_PERIOD":e.head(i.roles||[]),values:f}},i)},ai=(t,i,s)=>{const r=e.indexBy(e.prop("id"),i);return e.addIndex(e.map)((t,i)=>{let n=e.assoc("index",i,t);const a=e.pipe(e.filter(e.propOr(!0,"display")),e.length)(t);if(e.isEmpty(t.values||[])||!e.propOr(!0,"display",t)||a<1||"REPORTING_YEAR_START_DAY"===t.id||"REPYEARSTART"===t.id)return e.assoc("display",!1,n);if(e.propEq(s.prefscale,"id",t))return e.assoc("prefscale",!0,n);if(e.propEq(s.decimals,"id",t))return e.assoc("decimals",!0,n);if(e.hasPath(["relationship","none"],t)||e.hasPath(["relationship","dataflow"],t))return{...n,header:!0,relationship:[]};if(e.hasPath(["relationship","primaryMeasure"],t)||e.hasPath(["relationship","observation"],t))return{...n,series:!0,relationship:[]};const p=e.pipe(e.pathOr([],["relationship","dimensions"]),e.filter(t=>{const i=e.prop(t,r);return!i.header&&e.length(i.values||[])>1&&!i.rejected}))(t);return e.length(p)>0?{...n,series:!0,relationship:p}:{...n,header:!0,relationship:e.prop("dimensions",t.relationship||[])}},t)},pi=e.pipe(e.prop("values"),e.anyPass([e.isNil,e.complement(e.is(Array)),e.isEmpty])),oi=e.anyPass([pi]),di=e.reject(oi),li=(t,i,s)=>{const r=e.concat(s,i),n=e.indexBy(e.prop("id"),s),a=e.indexBy(e.prop("id"),i);return e.pipe(((t=[])=>(i=[])=>{const s=e.pluck("id",di(t));return e.reduce((t,i)=>{const r=e.intersection(s,i.concepts);return e.length(r)<1?t:e.append({...i,concepts:r},t)},[],i)})(r),e.reduce((t,i)=>{let s=[],r={},p=0;const o=e.filter(t=>{if(e.has(t,r))return!1;if(e.has(t,n)){const i=e.prop(t,n);return s=i.header?s:e.append(t,s),r={...r,[t]:t},p+=e.length(i.values||[]),!i.header}if(!e.has(t,a))return!1;const i=e.prop(t,a),o=(d=i.values||[],e.filter(t=>!e.includes(e.prop("id",t),Pt)&&e.propOr(!0,"display",t),d));var d;const l=0!==e.length(o)&&e.propOr(!0,"display",i);return s=i.series&&l?e.pipe(e.reject(t=>e.has(t,r)),e.concat(s))(i.relationship):s,r=i.series&&l?{...r,...e.indexBy(e.identity,i.relationship)}:r,p=l?p+e.length(o):p,i.series&&l},i.concepts);return e.isEmpty(o)?e.append({...i,header:!0,display:p>0},t):e.append({...i,series:!0,relationship:s,display:p>0},t)},[]))(t)},ci=(t,i)=>{const s=e.reduce((t,i)=>e.reduce((t,s)=>e.assoc(s,i.relationship,t),t,i.concepts),{},i);return e.map(t=>e.has(t.id,s)?{...t,series:!0,relationship:e.prop(t.id,s),combined:!0}:t,t)},ui=e.both(e.is(Number),e.complement(e.equals(NaN))),hi=e.pipe(t=>e.isNil(t)?null:Number(t),e=>isNaN(e)?null:e),mi=(t,i,s)=>{const r=e.prop("value",t);if(e.is(Boolean,r))return r;if(e.is(String,r)){const t=r.match(/^--([\d]{2})$/);if(e.is(Array,t))return e.nth(1,t);const i=r.match(/^--([\d]{2}-[\d]{2})$/);if(e.is(Array,i))return e.nth(1,i);const s=r.match(/^---([\d]{2})$/);return e.is(Array,s)?e.nth(1,s):r}const{prefscale:n,decimals:a}=((t,i,s)=>e.mapObjIndexed(i=>{let r;const n=e.pipe(e.nth(i),e.propOr({},"relationship"))(s);return r=e.has("none",n)||e.has("dataflow",n)?0:e.pipe(e.propOr([],"attrValuesIndexes"),e.nth(i),hi)(t),e.pipe(e.path([i,"values",r,"id"]),hi)(s)},i))(t,i,s),p=e.when(e.always(ui(n)),e=>v(e).multiply(Math.pow(10,-1*Number(n))).value()),o=a||2,d=e.ifElse(e.always(ui(a)),t=>{const i=Number(t),s=Math.abs(i)<Math.pow(10,-o)?0:i,r=e.ifElse(e.equals(0),e.always("0,0"),t=>`0,0.${e.join("",e.times(e.always("0"),t))}`)(a);return v(s).format(r)},e=>v(e).format("0,0.[0000000]"));return e.ifElse(ui,e.pipe(p,d,e=>"NaN"===e?String(r):e),e.always(".."))(t.value)},yi=(t,i,s)=>{const{attrValuesIndexes:r,dimValuesIndexes:n}=t;return e.addIndex(e.reduce)((t,r,a)=>{const p=e.nth(a,i);if(e.isNil(p)||!e.prop("series",p))return t;const o=e.nth(r,p.values||[]);let d=e.isNil(o)?o:e.over(e.lensProp("display"),(t=!0)=>t&&!e.includes(o.id,Pt))(o);(!(p?.display??1)||!(d?.display??1)||null==d?.id)&&(d=null);const l=e.propOr([],"relationship",p);let c={};const u=e.pipe(t=>e.isEmpty(l)?e.values(t):e.props(l,t),e.map(t=>{const i=e.nth(t.__index,n),s=e.path(["values",i,"id"],t);return c=e.assoc(t.id,s,c),`${t.id}=${s}`}),e.ifElse(e.isEmpty,e.always(null),e.join(":")))(s);return e.assoc(p.id,{...e.pick(["id","name","relationship","display","combined"],p),value:d,serieKey:u,coordinates:c,isObs:e.isEmpty(l)},t)},{},r)},fi=(t=[],i={},s=[],r={})=>{const n=((t,i)=>e.addIndex(e.reduce)((t,s,r)=>e.equals(s.id,i.decimals)?{...t,decimals:r}:e.equals(s.id,i.prefscale)?{...t,prefscale:r}:t,{prefscale:null,decimals:null},t))(s,e.propOr({},"customAttributes",r)),a=e.indexBy(e.prop("id"),t);return e.map(i=>{const{dimValuesIndexes:r}=i,p=e.addIndex(e.reduce)((t,i,s)=>{const n=i.id,a=e.nth(s,r),p=e.path(["values",Number(a),"id"],i);return e.assoc(n,p,t)},{},t);return{...i,attributes:yi(i,s,a),formattedValue:mi(i,n,s),indexedDimValIds:p}},i)},gi=t=>e.pipe(e.values,e.reduce((t,{attributes:i})=>{let s=t.res,r=t.rejected;return e.forEachObjIndexed(t=>{if(!e.isNil(t.serieKey)&&!t.isObs){if(e.isNil(t.value)&&(s=e.dissocPath([t.serieKey,t.id],s),r=e.assocPath([t.serieKey,t.id],!0,r)),e.path([t.serieKey,t.id],r))return;const i=e.path([t.serieKey,t.id,"value","id"],s);e.isNil(i)||i===e.path(["value","id"],t)?s=e.assocPath([t.serieKey,t.id],t,s):(s=e.dissocPath([t.serieKey,t.id],s),r=e.assocPath([t.serieKey,t.id],!0,r))}},i),{res:s,rejected:r}},{res:{},rejected:{}}),e.prop("res"))(t),vi=(t,i)=>{const s=e.propOr([],"flags",i),r=e.propOr([],"notes",i);return e.addIndex(e.reduce)((i,r,n)=>{if(!e.has(r,t))return i;const a=e.pick(["id","name","value","display"],e.prop(r,t));return e.isNil(a.value)||!e.pathOr(!0,["value","display"],a)||!e.propOr(!0,"display",a)||e.includes(e.path(["value","id"],a),Pt)?i:e.append(n<s.length?e.assoc("code",e.path(["value","id"],a),a):a,i)},[],e.concat(s,r))},xi=(t,i,s,r)=>{const n=e.pipe(e.pluck("concepts"),e.unnest)(r);return e.reduce((t,r)=>{if(r.header||r.rejected)return t;const a=e.map(t=>{const a=e.propOr({},`${r.id}=${t.id}`,i);if(e.isEmpty(a))return t;const p=vi(a,s),o=e.pipe(e.omit(e.unnest([s.flags||[],s.notes||[],n])),e.complement(e.isEmpty))(a);return{...t,flags:p,hasAdvancedAttributes:o}},r.values);return e.append(e.assoc("values",a,r),t)},[],t)},bi=(t,i)=>{const s=e.reduce((t,i)=>{if(!i.header||!e.propOr(!0,"display",i)||1!==e.length(i.relationship||[]))return t;const s=e.path(["values",0],i);if(e.isNil(s)||!e.propOr(!0,"display",s)||e.includes(e.prop("id",s),Pt))return t;const r=e.head(i.relationship);return e.over(e.lensProp(r),(e={})=>({...e,[i.id]:{...i,value:s}}))(t)},{},i);return e.reduce((t,i)=>{if(!i.header)return t;const r=e.propOr({},i.id,s);return e.append({...i,attrValues:r},t)},[],t)},Oi=(t,i)=>{const s=e.pipe(e.pluck("concepts"),e.unnest)(i);return e.reduce((t,i)=>{if(!e.prop("header",i)||!e.isEmpty(i.relationship)||e.includes(i.id,s))return t;const r=e.head(i.values);return!e.propOr(!0,"display",i)||e.isNil(r)||!e.propOr(!0,"display",r)||e.includes(e.prop("id",r),Pt)?t:e.assoc(i.id,{...e.pick(["id","name"],i),value:r},t)},{},t)},wi=(t,i,s,r)=>({label:W(s)(t),flags:e.pipe(vi,e.map(e=>({code:e.code,header:`${W(s)(e)}:`,label:W(s)(e.value)})))(i,r)}),Si=(t,i,s,r,n)=>{const a=e.pipe(e.pluck("concepts"),e.unnest)(i),p=["_L","_T","_Z"];return e.reduce((t,i)=>{if(!e.propOr(!0,"display",i)||e.propEq(n,"id",i)||e.includes(i.id,a))return t;const o=e.path(["values",0],i);if(!e.propOr(!0,"display",o)||e.includes(o.id,p))return t;const d=`${W(r)(i)}:`,l=W(r)(o),c=e.pipe(vi,e.map(e=>({code:e.code,header:`${W(r)(e)}:`,label:W(r)(e.value)})))(i.attrValues,s);return e.append({header:d,label:l,flags:c},t)},[],t)},Ei=(t,i)=>{const s=e.reduce((t,i)=>{const s=e.head(i.values);return e.assoc(i.id,s,t)},{},i);return e.reduce((t,i)=>{if(!e.prop("series",i))return t;const r=e.pick(i.concepts,s);return e.append({...i,fixedDimValues:r},t)},[],t)},Ni=e.pipe(e.propOr([],"missingParents"),e.reduce((t,i)=>!e.propOr(!0,"display",i)||e.includes(i.id,Pt)?t:e.append(W("label")(i),t),[])),Ii=(t,i)=>"label"===t?e.converge((t,i)=>e.isEmpty(t)?i:e.join(" > ",e.append(i,t)),[Ni,W(t)])(i):"both"===t?`(${Ii("code",i)}) ${Ii("label",i)}`:W(t)(i),Di=t=>i=>e.pipe(e.reduce((i,s)=>{if(e.isNil(s))return i;const r=e.propOr(!0,"display",s),n=e.includes(s.id,Pt);return r&&!n||"label"!==t?e.append(Ii(t,s),i):i},[]),s=>{if(!e.isEmpty(s)||"label"!==t)return e.join(", ",s);const r=e.find(e.propEq("_T","id"),i);if(!e.isNil(r))return W("label")(r);if(e.isEmpty(i))return"";const n=e.head(i);return W("label")(n)})(i),ki=(t,i)=>"both"===t?e.converge((e,t)=>W("both")({id:e,name:t}),[Di("code"),Di("label")])(i):Di(t)(i),$i=(t,i,s,r)=>{const n=e.indexBy(e.prop("id"),i),a=e.indexBy(e.prop("id"),s);return e.reduce((t,i)=>{if(!e.prop("header",i)||!e.propOr(!0,"display",i))return t;const s=`${W(r)(i)}:`,p=e.pipe(e.reduce((t,i)=>{const s=e.has(i,n)?e.prop(i,n):e.prop(i,a);if(e.isNil(s))return t;const r=e.path(["values",0],s);return e.isNil(r)?t:!e.has(i,a)||e.propOr(!0,"display",r)&&e.propOr(!0,"artefact",r)&&!e.includes(r.id,Pt)?e.append(r,t):t},[]),e=>ki(r,e))(i.concepts||[]);return e.isEmpty(p)?t:e.append({header:s,label:p},t)},[],t)},qi=t=>e.reduce((t,i)=>e.assoc(i.id,e.path(["values",0,"id"],i),t),{},t),Ai=(t,i,s)=>{const r=e.isNil(s)?new Set([]):s,n=new Set([]);return e.forEach(t=>{if(e.has(t,i)){const s=e.prop(t,i);e.forEach(e=>{r.has(e)||n.add(e)},s.concepts)}else n.add(t)},t),n},Ci=(t,i,s,r)=>{const n=e.mergeRight({header:[],sections:[],rows:[]},t),a=e.reduce((t,i)=>e.assoc(i.id,(t=>b(t)&&r?e.assoc("isInverted",!0,t):t)(i),t),{},i),p=e.indexBy(e.prop("id"),s),o=Ai(n.header,p),d=Ai(n.sections,p),l=(t,i)=>s=>e.reduce((s,r)=>{if(e.has(r,a)){const t=e.prop(r,a);return e.append(t,s)}if(!e.has(r,p))return s;const n=e.prop(r,p),o=((t,i)=>(s,r)=>{const n=e.isNil(t)?new Set([]):t,a=e.isNil(i)?new Set([]):i,{concepts:p,relationship:o}=s,d=e.reduce((t,i)=>{if(n.has(i)||!e.has(i,r))return t;const s=e.prop(i,r);return e.append(s,t)},[],p);return e.find(e=>a.has(e),o)?d:e.assoc("dimensions",d,s)})(t,i)(n,a);return e.is(Array,o)?e.concat(s,o):e.append(o,s)},[],s);return{header:l(null,Ai(e.concat(n.sections,n.rows),p))(n.header),sections:l(null,o)(n.sections),rows:l(d,o)(n.rows)}},Ti=t=>{const i=t=>e.pipe(e.nth(e.prop("__index",t)),i=>t.isInverted?e.negate(i):i);return s=>e.map(e.ifElse(e.has("dimensions"),t=>e.map(e=>i(e)(s),e.prop("dimensions",t)),t=>"OBS_ATTRIBUTES"===t.id?e.last(s):i(t)(s)),t)},Pi=(t,i)=>{const s=t.indexes,r=i.indexes,n=e.length(s);let a=0;for(;a<n;){if(e.is(Array,s[a])){const t=s[a],i=r[a],n=e.length(t);let p=0;for(;t[p]===i[p]&&p<n;)p++;if(t[p]!==i[p])return t[p]-i[p]}else if(s[a]!==r[a])return s[a]-r[a];a++}return s[a]-r[a]},Mi=e.pipe(e.reduce((t,{indexes:i,rejected:s})=>{const r=e.join(":",e.unnest(i));return e.has(r,t)?e.over(e.lensPath([r,"rejected"]),e.addIndex(e.map)((t,i)=>t===e.nth(i,s)?t:null))(t):e.assoc(r,{indexes:i,rejected:s,key:r},t)},{}),e.values),_i=(t,i,s=[])=>{const r=e.pipe(e.values,e.map(e.propOr([],"orderedDimIndexes")))(i),n=Ti(t.header),a=Ti(e.concat(t.sections,t.rows)),p=Ti(s),o=e.length(t.sections),{header:d,sections:l}=e.pipe(e.reduce((t,i)=>{const s=n(i),r=a(i),o=p(i);return{header:e.append({indexes:s,rejected:o},t.header),sections:e.append({indexes:r,rejected:o},t.sections)}},{header:[],sections:[]}),e.mapObjIndexed(Mi),e.evolve({header:e.sort(Pi),sections:e.sort(Pi)}),t=>({...t,sections:e.reduce((t,{indexes:i,rejected:s,key:r})=>{const[n,a]=e.splitAt(o,i),p=e.join(":",n),d=e.pipe(e.nth(-1),t=>e.isNil(t)?null:e.head(t).key)(t);return e.equals(p,d)?e.over(e.lensIndex(-1),e.pipe(e.over(e.lensIndex(1),e.append({indexes:a,rejected:s,key:r})),e.over(e.lensIndex(0),t=>({...t,rejected:e.addIndex(e.map)((t,i)=>t===e.nth(i,s)?t:null,t.rejected)}))))(t):e.append([{indexes:n,rejected:s,key:p},[{indexes:a,rejected:s,key:r}]],t)},[],t.sections)}))(r);return{header:d,sections:l}},Ri=t=>e.reduce((t,i)=>{const s=e.is(Array,i)?Ri(i):String(Math.abs(i));return e.isEmpty(s)?t:e.isEmpty(t)?s:`${t}:${s}`},"",t),Bi=t=>e.pipe(e.props(t),e.join(":")),ji=({layout:t,observations:i,shape:s})=>{const r=((t,i)=>e.pipe(e.props(i),e.map(e.pipe(e.map(t=>e.has("dimensions",t)?e.pluck("__index",t.dimensions||[]):t.__index),e.unnest,Bi)))(t))(t,s);return((t,i)=>e.pipe(e.values,e.reduce((i,s)=>{const r=e.map(e=>e(s.orderedDimIndexes),t);return e.over(e.lensPath(r),e.ifElse(e.isNil,e.always([s]),e.append(s)))(i)},{}))(i))(r,i)},Vi=(t,i)=>{let s=[];return e.reduce((t,r)=>{const n=i(r),a=e.map(e=>new Set(e),e.propOr([],"parentsIndexes",r));if(!n)return s=e.addIndex(e.map)((t,i)=>{const r=e.filter(e=>a[i].has(e),e.nth(i,s)||[]);return e.concat(r,t)},r.missingIndexes||[]),t;const p=e.pipe(e.over(e.lensProp("missingIndexes"),(t=[])=>e.addIndex(e.map)((t,i)=>{const r=e.nth(i,s)||[];if(e.isEmpty(r))return t;const n=e.filter(e=>a[i].has(e),r);return e.concat(n,t||[])},t)),e.over(e.lensProp("parentsIndexes"),(t=[])=>e.addIndex(e.map)((t,i)=>e.reject(t=>e.includes(t,e.nth(i,s)||[]),t||[]),t)))(r);return s=[],e.append(p,t)},[],t)},Yi=(t,i,s)=>e.pipe(e.map(t=>{const r=Ri(e.propOr([],"indexes",e.head(t))),n=t=>{const n=Ri(e.prop("indexes",t));return e.pipe(e.path([r,n]),e.omit(i),e.isEmpty,e.not)(s)};return e.over(e.lensIndex(1),e=>Vi(e,n))(t)}),e.filter(e.pipe(e.nth(1),e.isEmpty,e.not)))(t),Li=(t,i,s)=>Vi(t,t=>{const r=Ri(e.prop("indexes",t));return e.pipe(e.prop(r),t=>e.pickBy((t,s)=>e.pipe(e.omit(e.propOr([],s,i)),e.isEmpty,e.not)(t),t),e.isEmpty,e.not)(s)}),Hi=t=>{const i=e.propOr([],"missingParents",t);return e.pipe(e.flatten,e.length)(i)+1},Xi=(t,i)=>{let s=i,r={},n=t;for(;n>0;){const t=e.last(s),i=t[1],a=e.length(i);let p=0;for(;n>0&&p!==a;){n-=Hi(e.nth(-1*p,i)),p++}const o=e.pipe(e.head,e.prop("indexes"),Ri)(t);r={...r,[o]:e.pipe(e.takeLast(p),e.map(t=>Ri(e.prop("indexes",t))))(i)},s=n>0?e.dropLast(1,s):e.over(e.lensIndex(-1),e.over(e.lensIndex(1),e.dropLast(p)))(s)}return{truncated:s,extractedKeys:r}},Wi=(t,i)=>{let{truncated:s,extractedKeys:r}={truncated:i,extractedKeys:[]},n=t;for(;n>0;){const t=e.last(s),i=Hi(t),a=Ri(e.prop("indexes",t));r=e.append(a,r),s=e.dropLast(1,s),n-=i}return{truncated:s,extractedKeys:r}},Fi=e=>e?["header","sections","rows"]:["sections","rows","header"],zi=({layout:t,observations:i,limit:s})=>r=>{const{header:n,sections:a}=r;if(e.isNil(s)||0===s||e.all(e.isEmpty,[n,a]))return e.pipe(e.set(e.lensProp("truncated"),!1),e.set(e.lensProp("totalCells"),null))(r);const p=e.pipe(e.head,e.when(e.isNil,e.always({})),e.propOr([],"indexes"),e.length)(n),o=e.pipe(e.reduce((e,t)=>e+Hi(t),0),e.when(e.equals(0),e.always(1)))(n),d=p*(o+1),l=e.pipe(e.head,e.last,e.head,e.propOr([],"indexes"),e.length)(a)+o+1,c=e.pipe(e.map(e.last),e.unnest,e.reduce((e,t)=>e+Hi(t),1))(a),u=l*c+e.ifElse(e.pipe(e.head,e.head,e.propOr([],"indexes"),e.length,e.equals(0)),e.always(0),e.length)(a)+d,h=u-s;if(h<=0)return e.pipe(e.set(e.lensProp("truncated"),!1),e.set(e.lensProp("totalCells"),u))(r);const m=p+c,y=m>l,[f,g]=(t=>e.ifElse(e.always(t),e.props(["sections","header"]),e.props(["header","sections"])))(y)(r);let v=e.pipe(e.ifElse(e.identity,e.always(l),e.always(m)),e.divide(h),Math.ceil)(y);const x=y?c-2:o-1;v=v>x?x:v;const{truncated:b,extractedKeys:O}=(t=>e.ifElse(e.always(t),Xi,Wi))(y)(v,f),w=e.pipe(e.values,e.head,e.propOr([],"orderedDimIndexes"),e.length)(i),S=e.map(e.map(t=>"OBS_ATTRIBUTES"===t.id?e.assoc("__index",w-1,t):t),t),E=e.pipe(Fi,e=>ji({layout:S,observations:i,shape:e}))(y),N=(t=>e.ifElse(e.always(t),Li,Yi))(y)(g,O,E),I=((t,i,s)=>e.ifElse(e.always(t),e.pipe(e.assoc("sections",i),e.assoc("header",s)),e.pipe(e.assoc("header",i),e.assoc("sections",s)))({}))(y,b,N);return e.pipe(e.set(e.lensProp("truncated"),!0),e.set(e.lensProp("totalCells"),u))(I)},Ki=(t,i={})=>s=>{if(e.isEmpty(s))return!1;if(e.has("OBS_ATTRIBUTES",t)||e.has("OBS_ATTRIBUTES",i)){if("OBS_VALUE"!==(e.prop("OBS_ATTRIBUTES",t)||e.prop("OBS_ATTRIBUTES",i)))return!1}const r=e.keys(s);let n=!0,a={};return e.forEach(r=>{e.prop(r,t)!==e.prop(r,s)&&(n=!1),e.has(r,i)||(a[r]=r)},r),n&&!e.isEmpty(a)},Ui=(t,i,s,r=[])=>({dimension:e.pick(["id","name","__index"],i),value:{...e.pipe(e.pathOr({},["values",t]),e.pick(["id","name","isNonCoded","flags","hasAdvancedAttributes","display"]))(i),parents:s,missingParents:r}}),Gi=(t,i,s)=>`${t}${e.isEmpty(t)?"":":"}${i}=${s}`,Qi=(t,i=[])=>e.append(t,i),Zi=(t,i=[])=>e.over(e.lensIndex(-1),i=>({...i,values:e.append(e.prop("value",t),i.values)}),i),Ji=t=>(i,s,r,n,a)=>{const p=Ui(i,r,s,a),o=e.path(["value","id"],p);return{...n,data:t(p,e.prop("data",n)),key:Gi(e.prop("key",n),e.prop("id",r),o)}},es=Ji(Qi),ts=Ji(Zi),is=(t,i,s)=>e.addIndex(e.reduce)((i,s,r)=>{if(e.has("dimensions",s))return e.addIndex(e.reduce)((i,s,n)=>{const a=e.path([r,n],t);return e.assoc(s.id,e.path(["values",Math.abs(a),"id"],s),i)},i,s.dimensions);const n=e.nth(r,t);return e.isNil(n)?i:e.assoc(s.id,e.path(["values",Math.abs(n),"id"],s),i)},i,s),ss=(t,i)=>e.reduce((i,s)=>{const r=e.head(e.values(s))||{},n=e.propOr({},"coordinates",r);if(!t(n)&&!e.prop("isObs",r))return i;const a=e.reject(t=>!e.propOr(!1,"combined",t)&&1===e.length(t.relationship||[]),s);return{...i,...a}},{},e.values(i)),rs=(t,i,s,r,n,a)=>{const p=e.reject(t=>e.prop("isObs",t)&&!i(t.coordinates),s),o=vi(p,r),d=!e.isNil(e.find(i,n)),l=e.any(t=>e.has("value",t)?e.prop("hasAdvancedAttributes",t.value):e.any(e.prop("hasAdvancedAttributes"),t.values),a)||((t,i)=>e.pipe(e.omit(e.concat(i.flags||[],i.notes||[])),e.isEmpty,e.not)(t))(p,r);return{flags:o,sideProps:d||l?{hasMetadata:d,hasAdvancedAttributes:l,coordinates:t}:null}},ns=(t,i,s,r)=>e.addIndex(e.reduce)((i,s,n)=>{if(e.has("dimensions",s)){const a=e.pathOr([],["indexes",n],t),p=e.pathOr([],["parentsIndexes",n],t),o=e.pathOr([],["missingIndexes",n],t);let d={};const l=e.addIndex(e.reduce)((t,i,s)=>{const n=Math.abs(e.nth(s,a)),l=e.nth(s,p)||[],c=e.nth(s,o)||[],{parentsIndexes:u,missingParents:h}=r(Zi)(c,l,i,t),m=ts(n,u,i,t,h),y=e.pipe(e.prop("data"),e.last,e.prop("values"),e.last)(m);return d=e.assoc(i.id,y,d),m},e.over(e.lensProp("data"),e.append({dimension:e.pick(["id","name"],s),values:[]}))(i),e.propOr([],"dimensions",s)),c=((t,i,s)=>e.over(e.lensProp("data"),e.over(e.lensIndex(-1),r=>({...r,values:e.reduce((r,n)=>{if(e.has(n,t))return e.append(e.prop(n,t),r);if(e.has(n,i.fixedDimValues||{}))return e.append(e.prop(n,i.fixedDimValues),r);if(e.has(n,s)){const t=e.path([n,"value"],s);return e.append(t,r)}return r},[],i.concepts)}))))(d,s,i.attributes)(l);return e.over(e.lensProp("attributes"),e.omit(s.concepts),c)}const a=Math.abs(e.path(["indexes",n],t)),p=e.pathOr([],["parentsIndexes",n],t),o=e.pathOr([],["missingIndexes",n],t),{parentsIndexes:d,missingParents:l}=r(Qi)(o,p,s,i);return es(a,d,s,i,l)},{data:[],key:"",attributes:s},i),as=(t,i,s,r,n,a,p=[])=>{const o=[],d=is(t.indexes,s,i),l=is(t.rejected||[],d,p),c=Ki(l,s),u=ss(c,r),{attributes:h,...m}=ns(t,i,u,t=>(i,s,r,n)=>e.reduce((i,s)=>{const a=Ji(t)(s,i.parentsIndexes,r,n);return o.push({...e.dissoc("attributes",a),sideProps:null,flags:[],isEmpty:!0}),e.over(e.lensProp("parentsIndexes"),e.append(s),i)},{parentsIndexes:s,missingParents:[]},i)),y=Ki(s),{flags:f,sideProps:g}=rs(l,e=>c(e)&&!y(e),h,n,a,m.data);return e.append({...m,flags:f,sideProps:g,coordinates:l},o)},ps=(t,i,{metadataCoordinates:s,attributesSeries:r,customAttributes:n,topCoordinates:a={},rejectedDimensions:p=[]})=>{const{header:o,sections:d,...l}=t,c=e.reduce((t,o)=>{const d=as(o,i.header,a,r,n,s,p);return e.concat(t,d)},[],o),u=e.map(([t,o])=>{const d=((t,i,s,r,n,a,p=[])=>{const o=is(t.indexes,s,i),d=is(t.rejected||[],o,p),l=Ki(d,s),c=ss(l,r),{attributes:u,...h}=ns(t,i,c,()=>(t,i,s)=>e.reduce((t,i)=>({parentsIndexes:e.append(i,t.parentsIndexes),missingParents:e.append(e.prop("value",Ui(i,s,t.parentsIndexes)),t.missingParents)}),{parentsIndexes:i,missingParents:[]},t)),{flags:m,sideProps:y}=rs(d,l,u,n,a,h.data);return{...h,flags:m,sideProps:y,coordinates:d}})(t,i.sections,a,r,n,s,p);return[d,e.reduce((t,o)=>{const l=as(o,i.rows,e.propOr(a,"coordinates",d),r,n,s,p);return e.concat(t,l)},[],o)]},d);return{headerData:c,sectionsData:u,...l}},os=(t,i)=>e.reduce((i,s)=>{if(!s.series)return i;if(e.isEmpty(s.relationship||[]))return e.assoc(s.id,s.id,i);const r=e.indexBy(e.identity,t.header),n=e.indexBy(e.identity,t.sections),a={...n,...e.indexBy(e.identity,t.rows)},[p,o]=e.partition(t=>e.has(t,r),s.relationship);if(e.isEmpty(o))return i;if(!e.isEmpty(p))return e.assoc(s.id,s.id,i);{const t=e.reject(t=>e.has(t,n),s.relationship);if(e.isEmpty(t))return i;const r=e.reject(t=>e.has(t,a),t);if(e.isEmpty(r))return i}return e.assoc(s.id,s.id,i)},{},i),ds=(t,i,s)=>{const r=e.pluck("id",i);return e.reject(t=>{const i=e.concat(s.header,r);if(e.isEmpty(e.omit(i,t)))return!0;const n=[...s.sections,...s.rows,...r];return e.isEmpty(e.omit(n,t))},t)},ls=(t,i)=>{const s=e.pipe(e.map(e.pluck("id")),e.values,e.unnest,e.indexBy(e.identity))(t),[r,n]=e.partition(t=>e.has(t.id,s),i);return{cells:n,layout:r}},cs=(t,i,s,r,n)=>a=>{const p=e.pipe(e.propOr([],"layout"),e.pluck("concepts"),e.unnest)(s),o=e.pipe(e.propOr([],"cells"),e.pluck("concepts"),e.unnest)(s),d=e.over(e.lensProp("notes"),t=>e.pipe(e.concat,e.uniq)(t||[],p))(t);return e.mapObjIndexed(t=>{const a="OBS_VAL"!==e.pathOr("OBS_VAL",["indexedDimValIds","OBS_ATTR"],t),p=a?[]:((t,i,s)=>e.filter(t=>{if(e.isNil(t.value))return!1;if(e.has(t.id,s))return!0;const r=e.path([t.serieKey,t.id],i);return e.isNil(r)},t))(t.attributes,r,i),l=a?[]:vi(e.omit(o,p),d),c=a?[]:((t,i)=>e.reduce((i,s)=>{const r=e.reduce((i,r)=>e.has(r,s.fixedDimValues||{})?e.append(e.prop(r,s.fixedDimValues),i):e.has(r,t||{})?e.append(e.path([r,"value"],t),i):i,[],s.concepts);return e.isEmpty(r)?i:e.append({...e.pick(["id","name"],s),values:r},i)},[],i))(p,s.cells||[]),u=!a&&e.pipe(e.omit(e.unnest([d.flags||[],d.notes||[],o])),t=>!e.isEmpty(t))(p),h=e.omit(e.unnest([d.flags||[],d.notes||[],o]),e.filter(t=>!e.isNil(t.value),t.attributes)),m=!a&&((t,i)=>"OBS_VALUE"===e.propOr("OBS_VALUE","OBS_ATTRIBUTES",i)&&e.pipe(e.find(t=>{const s=e.mergeLeft(t,i);return!e.isEmpty(t)&&e.equals(s,i)}),e.complement(e.isNil))(t))(n,t.indexedDimValIds);return{...e.pick(["indexedDimValIds","key"],t),flags:e.concat(l,c),sideProps:u||m?{hasMetadata:m,coordinates:t.indexedDimValIds,advancedAttributes:h}:null,intValue:e.is(Number,t.value)?t.value:null,value:t.formattedValue}},a)},us=(t,i)=>{const s=e.map(e.pipe(e.map(t=>e.has("dimensions",t)?e.pluck("id",t.dimensions||[]):t.id),e.unnest))(i);return e.pipe(e.values,e.reduce((t,i)=>{const r=e.map(e.pipe(e.map(t=>`${t}=${e.prop(t,i.indexedDimValIds)}`),e.join(":")),s);return e.over(e.lensPath(e.props(["header","sections","rows"],r)),t=>e.isNil(t)?[i]:e.append(i,t),t)},{}))(t)},hs=t=>e.pipe(e.pathOr({},["data","dataSets",0,"observations"]),e.mapObjIndexed((t,i)=>({key:i,value:e.head(t),attrValuesIndexes:e.tail(t),dimValuesIndexes:e.split(":",i)})))(t),ms=t=>e.isNil(t.parent)||e.isEmpty(t.parent)?t.id:`${t.parent}.${t.id}`,ys=(t,i)=>{const s=new Set([]);let r={};const n=e.reduce((t,i)=>i.isSelected?e.assoc(i.id,i,t):t,{},i.values||[]),a=(t,i)=>e.reduce((p,o)=>{const{codeID:d,hierarchicalCodes:l=[]}=o,c=e.has(d,n),u=e.length(i)!==e.length(t),h=a(e.append(d,t),c?((t,i)=>{const s=e.last(i);return e.append(e.isNil(s)?t:`${s}.${t}`,i)})(d,i):i)(l);if(!c)return e.concat(p,h);const m=e.join(".",t);let y={...e.prop(d,n),path:m,parents:i,parent:e.last(i),children:h};return u?(r=e.over(e.lensProp(y.id),t=>e.append(m,t||[]),r),y=e.assoc("unconfirmed",!0,y),e.append(y,p)):(s.add(d),e.append(y,p))},[]),p=a([],[])(t),o=e.pipe(e.reject(e=>s.has(e)),t=>e.pick(t,r))(e.keys(r)),d=(l=o,e.map(t=>[e.head(t)],l));var l;const c=e.reduce((t,i)=>{const s=c(i.children||[]);return e.concat(t,e.prepend(i,s))},[]),u=t=>!t.unconfirmed||t.path===e.head(d[t.id]||[]),h=e.reduce((t,i)=>{const r=c(i.children),n=e.prepend(i,r),a=e.filter(u,n);if(e.isEmpty(a))return t;const p=e.pipe(e.reduce((t,i)=>{s.add(i.id);const r=e.last(t),n=e.pipe(t=>e.isNil(t)?[]:e.append(ms(t),r.parents||[]),e.filter(t=>e.includes(t,i.parents)))(r),a={...e.omit(["unconfirmed","children","path"],i),parents:n,parent:e.isEmpty(n)?void 0:e.last(n)};return e.append(a,t)},[]))(a);return e.concat(t,p)},[]),m=h(p),y=e.pipe(e.keys,e.filter(e=>!s.has(e)),t=>e.props(t,n),e.map(e=>({...e,parents:[],parent:void 0})),e.sortBy(e.propOr(-1,"__indexPosition")))(n);let f={};return e.pipe(e.concat,e.addIndex(e.map)((t,i)=>{const s=e.props(t.parents,f),r=ms(t);return f[r]=i,{...e.dissoc("path",t),parents:s,__indexPosition:i}}),e=>({...i,values:e}))(y,m)},fs=t=>{const i=e.pipe(e.pathOr({},["data","structure","attributes"]),({dataSet:e=[],observation:t=[],series:i=[]})=>[...e,...t,...i])(t),s=e.find(({id:e})=>"REPORTING_YEAR_START_DAY"===e||"REPYEARSTART"===e,i)||{},r=e.pathOr("--01-01",["values",0,"value"],s),[n="01",a="01"]=e.match(/[\d]{2}/g,r);return{month:n,day:a}},gs=(t,i)=>{const s=e.keys(i);return e.reduce((s,r)=>{const n=e.prop(r,i),a=e.pipe(e.over(e.lensProp("orderedDimIndexes"),e.append(0)),e.over(e.lensProp("attributes"),e.omit(t)),e.assocPath(["indexedDimValIds","OBS_ATTRIBUTES"],"OBS_VALUE"))(n);return e.addIndex(e.reduce)((t,i,s)=>{const a=e.pathOr({},["attributes",i],n);if(e.isEmpty(a)||e.isNil(e.prop("value",a))||!e.pathOr(!0,["value","display"],a))return t;const p=`${r}:${s+1}`,o={...n,attributes:{},value:e.prop("value",a),formattedValue:e.prop("value",a),orderedDimIndexes:e.append(s+1,n.orderedDimIndexes),indexedDimValIds:{...n.indexedDimValIds,OBS_ATTRIBUTES:a.id}};return e.assoc(p,o,t)},e.assoc(`${r}:0`,a,s),t)},{},s)},vs=({isSameSerie:t,...i},s)=>({...e.mergeWith((t,i)=>e.append(t||[],i),i,s),isSameSerie:t}),xs=(t,i,s,r,n)=>e.addIndex(e.reduce)((t,r,a)=>{if(e.is(Array,r)){const p=e.isEmpty(i)?{}:e.map(e.nth(a),i),o=xs(r,p,e.pathOr([],[a,"dimensions"],s),t.isSameSerie,n);return vs(o,t)}const p=Math.abs(r),o=e.pathOr([],[a,"values",p,"parents"],s),d=e.pipe(e.path(["indexes",a]),t=>e.isNil(t)?-1:Math.abs(t))(i),l=t.isSameSerie?e.pipe(e.pathOr([],["parentsIndexes",a]),e.append(d))(i):[],c=t.isSameSerie?e.pathOr([],["missingIndexes",a],i):[],{presentParentsIndexes:u,missingParentsIndexes:h}=((t,i)=>{const s=new Set(i),r=e.findLastIndex(e=>s.has(e),t),[n,a]=-1!==r?e.splitAt(r+1,t):[[],t];return{presentParentsIndexes:e.filter(e=>s.has(e),n),missingParentsIndexes:a}})(o,n?l:e.concat(l,c));return vs({parentsIndexes:u,missingIndexes:h,isSameSerie:t.isSameSerie&&p===d},t)},{parentsIndexes:[],missingIndexes:[],isSameSerie:r},t),bs=(t,i,s=!1)=>e.reduce((t,{indexes:r,...n})=>{const a=e.last(t)||{},{isSameSerie:p,...o}=xs(r,a,i,!0,s);return e.append({indexes:r,...o,...n},t)},[],t),Os=(t,i)=>({header:bs(t.header,i.header),sections:e.pipe(e.transpose,([t,s])=>{if(e.isNil(t))return[];const r=bs(t,i.sections,!0),n=e.map(e=>bs(e,i.rows),s);return e.transpose([r,n])})(t.sections)}),ws=(t,i)=>e.map((t=>i=>e.reduce((i,s)=>e.has(s,t)?e.concat(i,e.prop(s,t)):e.append(s,i),[],i))(t),i),Ss=(t,i)=>{const{relationship:s=[]}=i,r=new Set(t.header),n=new Set(t.sections),a=new Set(t.rows),[p,o]=e.partition(e=>r.has(e),s),[d,l]=e.reduce((t,i)=>n.has(i)?e.over(e.lensIndex(0),e.append(i),t):a.has(i)?e.over(e.lensIndex(1),e.append(i),t):e.over(e.lensIndex(2),e.append(i),t),[[],[],[]],o);return!e.isEmpty(p)&&e.isEmpty(d)&&e.isEmpty(l)?"header":e.isEmpty(p)?!e.isEmpty(d)&&e.isEmpty(l)?"sections":e.isEmpty(l)?"blank":"rows":null},Es=(t,i,s={})=>{const r=((t,i)=>{const{header:s=[],sections:r=[],rows:n=[]}=i,a=new Set([...s,...r,...n]);return e.reject(e=>a.has(e.id),t)})(t,i);if(e.isEmpty(r))return i;const n=(t=>e.reduce((t,i)=>{const{id:s,relationship:r=[]}=i;return e.assoc(s,r,t)},{},t))(t);let a=ws(n,i);const p=ws(n,s);return e.reduce((t,i)=>{let s=Ss(a,i);if(e.isNil(s))return t;if(e.equals("blank",s)){if(s=Ss(p,i),e.isNil(s))return t;s=e.equals("blank",s)?"rows":s}a[s]=e.concat(a[s],i.relationship);const r=(n=i,t=>{const{id:i,concepts:s=[]}=n,r=new Set(s);let a=!0;const p=e.reduce((t,s)=>r.has(s)?a?(a=!1,e.append(i,t)):t:e.append(s,t),[],t);return a?e.append(i,p):p})(t[s]);var n;return e.assoc(s,r)(t)},i,r)},Ns=(t,i,s)=>{const r=e.find(t=>{if(e.has(t,i)){const r=e.find(e=>s.has(e),e.pathOr([],[t,"concepts"],i));return!e.isNil(r)}return!0},t);let n=e.reduce((t,s)=>e.assoc(s,(t=>e.has(t,i)?e.append(t,e.path([t,"relationship"],i)):[t])(s),t),{},t),a=[r];for(;!e.isEmpty(n);){const t=e.pickBy(t=>!e.isEmpty(e.intersection(a,t)),n);if(e.isEmpty(t))break;n=e.omit(e.keys(t),n),a=e.concat(a,e.unnest(e.values(t)))}const p=new Set(a);return e.partition(e=>p.has(e),t)},Is=/*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({__proto__:null,SDMX_3_0_CSV_DATA_FORMAT:"application/vnd.sdmx.data+csv;version=2.0",SDMX_3_0_JSON_DATA_FORMAT:"application/vnd.sdmx.data+json;version=2.0",applyHierarchicalCodesToDim:ys,declineObservationsOverAttributes:gs,duplicateObs:Vt,enhanceObservations:fi,getAttributes:ri,getAttributesSeries:gi,getCells:cs,getCellsAttributesIds:os,getCellsMetadataCoordinates:ds,getCombinationDefinitions:Wt,getCuratedCells:us,getDataflowAttributes:Oi,getDataflowTooltipAttributesIds:(t,i={})=>{const s=e.pathOr([],["data","dataSets",0,"annotations"],t),r=e.props(s,e.pathOr([],["data","structure","annotations"],t)),n=e.find(e.propEq("LAYOUT_FLAG","type"),r),a=e.find(e.propEq("LAYOUT_NOTE","type"),r),p=e.pipe(e.propOr("","title"),t=>e.isNil(t)||e.isEmpty(t)?[]:e.split(",",t))(n||{}),o=e.pipe(e.propOr("","title"),t=>e.isNil(t)||e.isEmpty(t)?[]:e.split(",",t),t=>e.difference(t,p))(a||{}),d=e.isNil(n)?e.difference(i.flags||[],o):p;return{flags:d,notes:e.isNil(a)?e.difference(i.notes||[],d):o}},getDimensionValuesIndexes:t=>e.addIndex(e.reduce)((t,i,s)=>{const r=i.__index;return e.over(e.lensProp(String(r)),e.ifElse(e.isNil,e.always([s]),e.append(s)))(t)},{},t),getFlagsAndNotes:vi,getHCodelistsRefs:Bt,getHCodelistsRefsInData:t=>{const i=e.pathOr([],["data","structure","annotations"],t);return Bt(i)},getHeaderCombinations:$i,getHeaderCoordinates:qi,getHeaderSubtitle:Si,getHeaderTitle:wi,getIndexedCombinationsByDisplay:ls,getLayout:Ci,getLayoutData:ps,getMSDInformations:t=>{const i=e.pathOr([],["data","metadataStructures",0,"metadataStructureComponents","reportStructures",0,"metadataAttributes"],t),s=e.pipe(e.pathOr([],["data","conceptSchemes",0,"concepts"]),e.indexBy(e.prop("id")))(t),r=t=>e.reduce((i,n)=>{const a=n.id,p=e.path([a,"name"],s),o="#ROOT"===t?a:`${t}.${a}`,d=e.path(["localRepresentation","textFormat","textType"],n);if(e.has("metadataAttributes",n)){const e=r(o)(n.metadataAttributes);return{...i,...e,[o]:{format:d,parent:t,id:a,name:p}}}return e.assoc(o,{format:d,parent:t,id:a,name:p},i)},{});return{attributes:r("#ROOT")(i)}},getManyValuesDimensions:xi,getMetadataCoordinates:jt,getNotDisplayedIds:Rt,getOneValueDimensions:bi,getSeriesCombinations:Ei,getSortedLayoutIndexes:_i,getTableLabelAccessor:t=>i=>e.is(Array,i)?ki(t,i):Ii(t,i),getTableLayoutIds:(t,i,s,r,n)=>{const a=(t=>e.reduce((e,t)=>t.header?e:e.add(t.id),new Set([]),t))(s),p=((t,i,s)=>{const r=e.indexBy(e.prop("id"),s);return e.reduce((t,s)=>{const{layoutConcepts:n,relationship:a}=e.reduce((t,s)=>{if(i.has(s))return e.map(e.append(s),t);if(e.has(s,r)){const i=e.prop(s,r);return i.series?{...t,relationship:e.concat(t.relationship,i.relationship)}:t}return t},{layoutConcepts:[],relationship:[]},s.concepts||[]);return e.isEmpty(a)?t:e.append({...s,relationship:a,concepts:n},t)},[],t)})(n,a,r),o=e.pipe(e.values,e.all(e.isEmpty))(i),d=e.pipe(e.pluck("_concepts"),e.unnest,e=>new Set(e))(n),l=e.filter(t=>t.series&&e.isEmpty(t.relationship||[])&&t.display&&!d.has(t),r),c=e.indexBy(e.prop("id"),p),u=((t,i,s)=>r=>{const n=e.map(e.reduce((i,s)=>e.has(s,t)?e.concat(i,e.path([s,"concepts"],t)):e.append(s,i),[]),r);return e.mapObjIndexed((r,a)=>e.filter(r=>{if("OBS_ATTRIBUTES"===r)return!e.isEmpty(s);if(e.has(r,t)){const s=e.prop(r,t),p=e.filter(e=>i.has(e),s.concepts);if(!e.isEmpty(p))return!0;const o="header"===a?e.concat(e.prop("sections",n),e.prop("rows",n)):e.prop("header",n);return e.isEmpty(e.intersection(s.relationship,o))}return i.has(r)},r),r)})(c,a,l)(o?t:i),h=Es(p,u,t),m=e.map(e.pipe(t=>e.pick(t,c),e.values,e.pluck("relationship"),e.unnest,e=>new Set(e)),h),y=e.pipe(e.map(e.reduce((t,i)=>e.has(i,c)?e.concat(t,e.path([i,"concepts"],c)):e.append(i,t),[])),e.values,e.unnest,e=>new Set(e))(h),f=e.map(e=>new Set(e),t),{nextLayout:g,remaining:v}=e.reduce((t,i)=>y.has(i.id)||i.header?t:m.header.has(i.id)||f.header.has(i.id)?e.over(e.lensPath(["nextLayout","header"]),e.append(i.id))(t):m.sections.has(i.id)||f.sections.has(i.id)?e.over(e.lensPath(["nextLayout","sections"]),e.append(i.id))(t):m.rows.has(i.id)||f.rows.has(i.id)?e.over(e.lensPath(["nextLayout","rows"]),e.append(i.id))(t):b(i)?e.over(e.lensPath(["nextLayout","header"]),e.append(i.id))(t):w(i)?e.over(e.lensPath(["nextLayout","rows"]),e.append(i.id))(t):e.over(e.lensProp("remaining"),e.append(i.id))(t),{nextLayout:h,remaining:[]},s);return((t,i,s,r)=>{let n=t,a=i;const p=e.find(t=>{if(r.has(t))return!0;const i=e.find(e=>r.has(e),e.pathOr([],[t,"concepts"],s));return!e.isNil(i)},n.rows);if(e.isNil(p))if(e.isEmpty(a)){const t=e.isEmpty(n.sections)?"header":"sections",[i,a]=Ns(e.prop(t,n),s,r);n={...n,rows:e.concat(n.rows,i),[t]:a}}else n=e.over(e.lensProp("rows"),e.append(e.head(a)))(n),a=e.tail(a);if(!e.isEmpty(a)){const t=e.isEmpty(n.header),i=e.head(a);a=t?e.tail(a):a,n={...n,sections:e.concat(n.sections,a),header:t?[i]:n.header}}return n})(g,v,c,a)},getTableProps:({data:t,layoutIds:i,customAttributes:s,limit:r,isTimeInverted:n})=>{const{observations:a,dimensions:p,combinations:o,oneValueDimensions:d,attributesSeries:l,metadataCoordinates:c,attributes:u,header:h,rejectedDimensions:m=[]}=t,y=e.filter(t=>t.series&&e.isEmpty(t.relationship)&&t.display&&!t.combined,u);let f=a;if(e.pipe(e.values,e.unnest,e.find(e.equals("OBS_ATTRIBUTES")))(i)){const t=e.pluck("id",y);f=gs(t,a)}const g=Ei(o,d),v=e.append({id:"OBS_ATTRIBUTES",values:e.prepend({id:"OBS_VALUE"},y)},p),x=Ci(i,v,g,n),b=e.map(e.reduce((t,i)=>e.has("dimensions",i)?e.concat(t,e.pluck("id",i.dimensions)):e.append(i.id,t),[]),x),O=_i(x,f,m),w=Os(O,x),S=zi({layout:x,observations:f,limit:r})(w),E=ps(S,x,{metadataCoordinates:c,attributesSeries:l,customAttributes:s,topCoordinates:h.coordinates,rejectedDimensions:m}),N=os(b,u),I=ls(x,g),D=ds(c,d,b),k=cs(s,N,I,l,D)(f);return{...E,cells:us(k,x),layout:x,combinations:g}},hierarchiseDimensionWithNativeHierarchy:Lt,injectCombinationsInLayout:Es,parseAttributes:ai,parseCombinationDefinition:Xt,parseCombinations:li,parseHierarchicalCodelist:(t,i)=>{const s=e.pathOr({},["data","hierarchicalCodelists",0],t),r=e.find(e.propEq(i,"id"),s.hierarchies||[]),n=(t,i)=>{const s=e.pluck("codeID",t),r=e.reduce((t,s)=>e.isEmpty(s.hierarchicalCodes||[])?t:{...t,...n(s.hierarchicalCodes,e.append(s.codeID,i))},{},t),a=e.isEmpty(i)?"#ROOT":e.join(".",i);return{...r,[a]:s}};return e.pipe(e.propOr([],"hierarchicalCodes"),e=>n(e,[]))(r)},parseLayoutIndexesHierarchies:Os,parseMetadataSeries:(t,i)=>{const s=e.pathOr([],["data","structures",0,"attributes","dimensionGroup"],t),r=e.length(s);if(!r)return{};const n=e.pipe(e.pathOr([],["data","structures",0,"dimensions"]),({series:t=[],observation:i=[]})=>e.concat(t,i),t=>e.isEmpty(i.dimensions||[])?t:e.props(e.pluck("id",i.dimensions),e.indexBy(e.prop("id"),t)))(t),{notDisplayedIds:a={}}=i,p=e.pipe(e.pathOr({},["data","dataSets",0,"dimensionGroupAttributes"]),t=>e.reduce((p,o)=>{const d=t[o],l=e.take(r,d),c=e.pipe(e.split(":"),e.addIndex(e.map)((t,s)=>{if(e.isEmpty(t)||e.equals("~",t))return"";const r=e.nth(s,n),a=e.nth(Number(t),r.values||[]),p=e.find(e.propEq(a.id,"id"))(e.propOr([],"values",e.nth(s,i.dimensions)));return e.propOr("","__index",p)}),e.join(":"))(o),u=e.pipe(e.addIndex(e.reduce)((t,r,n)=>{const p=e.nth(n,s),o=e.has(p.id,a);if(e.isNil(r)&&!p.isPresentational||o)return t;const d=e.pathOr({},["attributes",p.id],i).id,l=Mt(i.display)({...p,id:d}),c=e.prop("value",e.nth(r,p.values||[])),u=e.is(Object,c)?e.prop(i.locale,c):c;return e.append({...e.isNil(u)?{}:{value:u},id:p.id,label:l,handlerProps:e.omit(["id"],e.pathOr({},["attributes",p.id],i))},t)},[]),t=>{const s=e.groupBy(e.pathOr("#ROOT",["handlerProps","parent"]),t),r=e.indexBy(e.prop("id"),t);return e.reduce((t,s)=>e.has(s,r)||"#ROOT"===s?t:e.append({id:s,label:Mt(i.display)({id:s,name:e.path(["attributes",s,"name"],i)}),handlerProps:e.omit(["id"],e.pathOr({},["attributes",s],i))},t),t,e.keys(s))},t=>{const i=e.groupBy(e.pathOr("#ROOT",["handlerProps","parent"]),t),s=e.map(t=>{if(e.has(t.id,i)){const r=s(e.prop(t.id,i));return e.assoc("children",r,t)}return t});return s(e.propOr([],"#ROOT",i))})(l);return e.assoc(c,u,p)},{},e.keys(t)))(t);return p},parseValueHierarchy:(t,i,s)=>{const r=e.propOr([],"parents",t);if(e.isEmpty(r))return t;const n=e.propOr([],"parentsIds",i),a=e.isNil(i)?[]:e.append(e.prop("id",i),n),[p,o]=e.addIndex(e.splitWhen)((t,i)=>e.nth(i,a)!==t,r),d=e.pipe(e.propOr([],"parents"),e.pluck("id"))(i),l=e.pipe(e.takeLastWhile(t=>!e.includes(t,d)&&t!==e.prop("id",i)),t=>e.concat(t,o))(p),c=e.propOr([],"parents",i),u=e.isNil(i)?[]:e.append(e.pick(["id","name"],i),c),h=e.takeWhile(t=>e.includes(t.id,p),u),m=e.props(l,s);return{...t,parents:h,parentsIds:r,missingParents:m}},prepareData:(t,{customAttributes:i,locale:s,hierarchies:r,dataflow:n,display:a,defaultCombinations:p,dataquery:o})=>{const d=e.pathOr([],["data","structure","dimensions","observation"],t),l=e.pathOr([],["data","structure","annotations"],t),c=fs(t),{hiddenValues:u,hiddenCombinations:h}=Rt(l),m={dataquery:o,hiddenCombinations:h,hiddenValues:u,locale:s,reportYearStart:c},y=ni({annotations:l,dimensions:d,options:m}),f=e.pathOr([],["data","structure","attributes"],t),g=ri({attributes:f,annotations:l,options:m}),v=hs(t);let x=Wt(l,s);if(e.isEmpty(x)&&!e.isEmpty(p)){const{concepts:e,names:t}=p;x=Xt(s)(e,t)}const b=jt(t),O=ai(g,y,i),w=li(x,O,y),S=e.filter(e.prop("series"),w),E=ci(O,S),N=fi(y,v,E,{customAttributes:i}),I=gi(N),D=xi(y,I,i,S),k=bi(y,O),$=e.filter(e.prop("rejected"),d),q=qi(k),A=e.map(t=>e.isEmpty(e.propOr({},t.id,r))?Lt(t):ys(e.prop(t.id,r),t),D),C=Vt(e.values(A),N),T=Oi(O,w);return{observations:C,dimensions:A,combinations:w,oneValueDimensions:k,attributesSeries:I,metadataCoordinates:b,attributes:E,rejectedDimensions:$,header:{title:wi(n,T,a,i),subtitle:Si(k,w,i,a),combinations:$i(w,k,E,a),coordinates:q}}},refineAttributes:ci,refineDimensions:ni,refineLayoutSize:zi,refinePartialHierarchy:(t,i)=>{const{intact:s,broken:r}=e.pipe(e.keys,e.reduce(({intact:s,broken:r},n)=>{const a=e.filter(t=>e.has(t,i),t[n]);if("#ROOT"===n)return{broken:r,intact:e.assoc(n,a,s)};const p=e.split(".",n),o=e.takeLastWhile(t=>e.has(t,i),p);if(e.length(o)===e.length(p))return{broken:r,intact:e.assoc(n,a,s)};const d=e.isEmpty(o)?"#ROOT":e.join(".",o);return{intact:s,broken:e.over(e.lensProp(d),e.ifElse(e.isNil,e.always([a]),e.append(a)))(r)}},{intact:{},broken:{}}))(t),n=e.pipe(e.values,e.unnest)(s),a=e.pipe(e.omit(n),e.over(e.lensProp("#ROOT"),e.pipe(t=>e.isNil(t)?[]:t,e.unnest,e.reject(e.flip(e.includes)(n)))),e.map(e.pipe(e.unnest,Yt)))(r);return{...a,...s,"#ROOT":e.concat(a["#ROOT"],s["#ROOT"])}},sdmx_3_0_DataFormatPatch:t=>{const i=e.pipe(e.pathOr({},["data","dataSets"]),e.head)(t),s=e.prop("structure",i),r=e.pipe(e.pathOr([],["data","structures"]),e.nth(s))(t);return e.set(e.lensPath(["data","structure"]),r)(t)}},Symbol.toStringTag,{value:"Module"})),Ds=(t,i)=>{const{id:s,xId:r,yId:n}=i,a=e.pathOr([],["structure","dimensions","observation"],t),p=e.find(e.propEq(s,"id"),a);return!e.isNil(p)&&e.pipe(e.propOr([],"values"),e.indexBy(e.prop("id")),e.pick([r,n]),e.values,e.length,e.equals(2))(p)},ks=(t,i)=>{const{id:s,serie:r}=i,n=e.pluck("id",r);return e.pipe(e.pathOr([],["structure","dimensions","observation"]),e.indexBy(e.prop("id")),e.pathOr([],[s,"values"]),e.indexBy(e.prop("id")),e.pick(n),e.values,e.length,e.equals(e.length(n)))(t)},$s=(t,i)=>{const{id:s}=i;return e.pipe(e.pathOr([],["structure","dimensions","observation"]),e.filter(e.pipe(e.propOr([],"values"),e.length,e.lt(1))),e.indexBy(e.prop("id")),e.has(s))(t)},qs=e.both(e.is(Number),e.complement(e.equals(NaN))),As={A:"yyyy",S:"yyyy-",Q:"yyyy-'Q'Q",M:"yyyy-MMM",W:"yyyy-'W'II",B:"yyyy-'W'II",D:"yyyy-MM-dd",H:"yyyy-MM-dd[T]HH:mm:ss",N:"yyyy-MM-dd[T]HH:mm:ss"},Cs=(t,i={},s)=>{if("W"===t||"B"===t)return e=>{if(1!==H(e))return N.format(e,"yyyy-'W'II",{locale:Tt(s)});const t=N.endOfWeek(e,{weekStartsOn:1});return N.format(t,"yyyy-'W'II",{locale:Tt(s)})};const r=e.pipe(e.mergeRight(As),e.ifElse(e.has(t),e.prop(t),e.prop("A")))(i);return e=>N.format(Ct(new Date(e)),r,{locale:Tt(s)})},Ts=t=>{const i=e.prop("frequency",t);if("W"===i||"B"===i){const t=e.pathOr(["series",0,"datapoints","x"]);return e.cond([[_,e.always("monday")],[R,e.always("tueday")],[B,e.always("wednesday")],[j,e.always("thursday")],[V,e.always("friday")],[Y,e.always("saturday")],[L,e.always("sunday")],[e.T,e.always("monday")]])(t)}return e.cond([[e.equals("A"),e.always("year")],[e.equals("S"),e.always("month")],[e.equals("Q"),e.always("month")],[e.equals("M"),e.always("month")],[e.equals("D"),e.always("day")],[e.equals("H"),e.always("hour")],[e.equals("N"),e.always("minute")],[e.T,e.always("year")]])(i)},Ps=e.cond([[e.equals("A"),e.always(1)],[e.equals("S"),e.always(6)],[e.equals("Q"),e.always(3)],[e.equals("M"),e.always(1)],[e.equals("W"),e.always(1)],[e.equals("B"),e.always(1)],[e.equals("D"),e.always(1)],[e.equals("H"),e.always(1)],[e.equals("N"),e.always(1)],[e.T,e.always(1)]]),Ms=(t,i,s,r,n)=>{const a={linear:{pivot:{color:"white"}},ordinal:{gap:.3,padding:.3},thickness:0},p=e=>Math.abs(e)<.01&&e?v(e).format("0.[00]e+0"):v(e).format("0,0.[00]");return e.pipe(e.propOr({},"axis"),e.mergeDeepRight({x:a,y:a}),e.cond([[e.always(e.equals(K,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}}),e.over(e.lensPath(["y","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(U,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:0}}}),e.over(e.lensPath(["x","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(G,i)),e.mergeDeepRight({x:{format:{proc:p},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}})],[e.always(e.equals(Q,i)),e.pipe(e.mergeDeepRight({x:{format:{isTime:!0,pattern:null,proc:Cs(e.prop("frequency",t),r,n)},tick:{size:-6,minorSize:-3,thickness:2,minorThickness:2,color:"white"}},y:{font:{baseline:"ideographic"},format:{proc:e=>v(e).format("0,0.[00]")},padding:10,tick:{thickness:0}}}),e.evolve({x:e.pipe(e.set(e.lensPath(["linear","frequency"]),Ts(t)),e.set(e.lensPath(["linear","step"]),Ps(e.prop("frequency",t))),e.over(e.lensPath(["tick","step"]),e.pipe(e.when(e.isNil,e.always(1)),e.multiply(Ps(e.prop("frequency",t))))))}))],[e.always(e.equals(Z,i)),e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:5}}})],[e.always(e.equals(J,i)),e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}})],[e.always(e.equals(ee,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:e.identity},tick:{thickness:0,size:0}},y:{font:{baseline:"ideographic"},format:{proc:p},padding:10,tick:{thickness:0}}}),e.over(e.lensPath(["y","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.always(e.equals(te,i)),e.pipe(e.mergeDeepRight({x:{format:{proc:p},orient:"top",padding:10,tick:{thickness:0}},y:{format:{proc:e.identity},ordinal:{minDisplaySize:300},tick:{thickness:0,size:0}}}),e.over(e.lensPath(["x","linear","pivot","value"]),e.when(e.isNil,e.always(0))))],[e.T,e.identity]]))(s)},_s=(t,i)=>e.pipe(e.propOr({},"base"),e.cond([[e.always(e.equals(K,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(U,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,padding:{top:10,left:10,right:20}})],[e.always(e.equals(G,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:100,padding:{top:40,right:10}})],[e.always(e.equals(Q,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,isAnnotated:!1,padding:{top:20},innerPadding:{left:40,right:40}})],[e.always(e.equals(Z,t)),e.mergeDeepRight({minDisplayHeight:300,minDisplayWidth:100,padding:{top:10,left:10,right:20}})],[e.always(e.equals(J,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(ee,t)),e.mergeDeepRight({minDisplayHeight:100,minDisplayWidth:300,padding:{top:20},innerPadding:{left:20,right:20,bottom:10}})],[e.always(e.equals(te,t)),e.mergeDeepRight({padding:{top:10,left:10,right:20}})],[e.T,e.identity]]))(i),Rs=(t,i)=>{const s={baselines:[0],color:"white"};return e.assoc("thickness",0),e.pipe(e.propOr({},"grid"),e.mergeDeepRight({x:s,y:s}),e.cond([[e.always(e.equals(K,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(U,t)),e.mergeDeepRight({y:{thickness:0}})],[e.always(e.equals(Q,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(Z,t)),e.mergeDeepRight({y:{thickness:0}})],[e.always(e.equals(J,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(ee,t)),e.mergeDeepRight({x:{thickness:0}})],[e.always(e.equals(te,t)),e.mergeDeepRight({y:{thickness:0}})],[e.T,e.identity]]))(i)},Bs=(t,i,s,r={},n={},a)=>{const p=t=>`\n font-size: ${e.pathOr(12,["primary","fontSize"],r)}px;\n font-family: ${e.pathOr("inherit",["primary","fontFamily"],r)};\n font-weight: ${e.pathOr("normal",["primary","fontWeight"],r)};\n color: ${t};\n padding: 5px;\n border: 1px solid ${t};\n background: white;\n opacity: .8;\n `,o=`\n font-family: ${e.pathOr("inherit",["secondary","fontFamily"],r)};\n font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;\n font-weight: ${e.pathOr("normal",["secondary","fontWeight"],r)};\n `,d=e=>v(e).format("0,0.[00]");return e.pipe(e.prop("frequency"),e=>Cs(e,n,a),e.when(e.anyPass([e.isNil,e.complement(e.is)(Function)]),e.always(e=>I(e,"MMM YY"))))(t),e.pipe(e.pathOr({},["serie","tooltip"]),e.cond([[e.always(e.equals(K,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.x}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.y)}\n </div>\n </div>\n `})],[e.always(e.equals(U,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.y}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.x)}\n </div>\n <div>\n `})],[e.always(e.equals(G,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pipe(e.propOr({},"dimensionValues"),e.values,e.pluck("name"),e.join(" "))(i)}\n </div>\n <div style="text-align: right;">\n ${e.path(["dimensionValues","x","name"],t)}\n <span style="${o}">\n ${i.xFormat||d(i.x)}\n </span>\n </div>\n <div style="text-align: right;">\n ${e.path(["dimensionValues","y","name"],t)}\n <span style="${o}">\n ${i.yFormat||d(i.y)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(Q,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pipe(e.propOr({},"dimensionValues"),e.values,e.pluck("name"),e.join("<br />"))(i)}\n </div>\n <div style="text-align: right;">\n ${i.timeLabel}\n </div>\n <div style="text-align: right; ${o}">\n ${i.formatedValue||d(i.y)}\n </div>\n </div>\n `})],[e.always(e.equals(Z,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.y}\n <br />\n ${t.symbolValue}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.x)}\n </div>\n </div>\n `})],[e.always(e.equals(J,i)),e.mergeRight({layout:(e,t,i)=>`\n <div style="${p(i)}">\n <div style="text-align: right;">\n ${t.x}\n <br />\n ${t.symbolValue}\n </div>\n <div style="text-align: right; ${o}">\n ${t.formatedValue||d(t.y)}\n </div>\n </div>\n `})],[e.always(e.equals(ee,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${i.x}\n </div>\n <div style="text-align: right;">\n ${i.layerLabel}\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Value:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.height):d(i.height)}\n </span>\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Cumulated:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.y):d(i.y)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(te,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${i.y}\n </div>\n <div style="text-align: right;">\n ${i.layerLabel}\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Value:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.width):d(i.width)}\n </span>\n </div>\n <div style="text-align: right; font-size: ${e.pathOr(12,["secondary","fontSize"],r)}px;">\n Cumulated:\n <span style="${o}">\n ${e.is(Function,i.formater)?i.formater(i.x):d(i.x)}\n </span>\n </div>\n </div>\n `})],[e.always(e.equals(ie,i)),e.mergeRight({layout:(t,i,s)=>`\n <div style="${p(s)}">\n <div style="text-align: right;">\n ${e.pathOr("",["properties","label"],i)}\n </div>\n <div style="text-align: right;">\n ${e.pathOr("",["properties","category"],i)}\n </div>\n <div style="text-align: right; ${o}">\n ${e.pipe(e.pathOr(null,["properties","value"]),d)(i)}\n </div>\n </div>\n `})],[e.T,e.identity]]))(s)},js=["#E73741","#0F8FD9","#993484","#DF521E","#719E24","#E1B400","#32A674","#0B68AF"],Vs=["#0B1E2D"],Ys=()=>{const e={circle:e=>{const t=Math.sqrt(e)/2;return`M0,${t} A${t},${t} 0 1,1 0,${-t} A${t},${t} 0 1,1 0,${t} Z`},square:e=>{const t=Math.sqrt(e)/2;return`M${-t},${-t} L${t},${-t} ${t},${t} ${-t},${t} Z`},cross:e=>{const t=Math.sqrt(e)/2;return`M${-t},${t} L${t},${-t} M${t},${t} L${-t},${-t}`},triangle:e=>{const t=Math.sqrt(e)/Math.sqrt(3),i=Math.sqrt(e)/2;return`M0,${-i} L${t},${i} ${-t},${i} Z`}};return[{style:{stroke:"#39617D",fill:"#39617D"},path:e.circle},{style:{stroke:"#39617D",fill:"#DBEBF2"},rotate:45,path:e.square},{style:{stroke:"#39617D",fill:"#39617D",strokeWidth:2},path:e.cross},{style:{stroke:"#39617D",fill:"#DBEBF2"},path:e.square},{style:{stroke:"#39617D",fill:"#39617D"},path:e.triangle}]},Ls=(t,i)=>e.pipe(e.pathOr({},["serie","annotation"]),e.mergeRight({format:{datapoint:{proc:e=>v(e).format("0,0.[00]")}}}),e.cond([[e.always(e.equals(G,t)),e.mergeRight({display:"never"})],[e.always(e.equals(Q,t)),e.mergeDeepRight({format:{datapoint:{pattern:".2f"}}})],[e.T,e.identity]]))(i);const Hs=({type:t,series:i,focusOptions:s})=>{switch(t){case"ScatterChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.isEmpty(s)&&e.isEmpty(r)?t:e.over(e.lensPath([0,"datapoints"]),e.map(t=>{const i=i=>{const s=e.path(["options","dimensionId"],i);return e.path(["dimensionValues",s,"id"],t)===e.path(["options","dimensionValueId"],i)};return{...t,highlightIndex:e.findIndex(i,s),baselineIndex:e.head(r)&&i(e.head(r))?0:-1}}),t)}(i,s);case"TimelineChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.map(t=>({...t,highlightIndex:e.findIndex(e.propEq(t.key,"value"),s),baselineIndex:e.path([0,"value"],r)===t.key?0:-1}),t)}(i,s);case"BarChart":case"RowChart":case"StackedBarChart":case"StackedRowChart":case"HorizontalSymbolChart":case"VerticalSymbolChart":return function(t,i){const{highlight:s=[],baseline:r=[]}=i||{};return e.isEmpty(s)&&e.isEmpty(r)?t:e.over(e.lensPath([0,"datapoints"]),e.map(t=>({...t,highlightIndex:e.findIndex(e.propEq(t.key,"value"),s),baselineIndex:e.path([0,"value"],r)===t.key?0:-1})),t||[])}(i,s);default:return i}},Xs=/*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({__proto__:null,dimensionValueDisplay:W,getAvailableChartTypes:t=>{const i=(t=>{if(e.isNil(t))return;const i=e.pipe(e.pathOr({},["dataSets",0,"observations"]),e.values,e.find(t=>e.not(e.either(e.isNil,e.isEmpty)(e.head(t)))))(t);if(e.isNil(i))return;const s=e.head(i);return e.is(Number,s)?ae:e.ifElse(e.equals(NaN),e.always("OBS_TYPE_STRING"),e.always(pe))(Number(s))})(t);if(!e.includes(i,[ae,pe]))return{};const s=e.pathOr([],["structure","dimensions","observation"],t),r=x({dimensions:s}),n=O({dimensions:s}),a=e.anyPass([e.isNil,e.pipe(e.propOr([],"values"),e.length,e.gte(1))])(r);return e.pipe(e.when(e.always(a),e.omit([Q])),e.when(e.always(e.isNil(n)),e.omit([ie])))(ne)},getCellValue:t=>{const i=e.prop("value",t);if(e.is(Boolean,i))return i;if(e.is(String,i)){const t=i.match(/^--([\d]{2})$/);if(e.is(Array,t))return e.nth(1,t);const s=i.match(/^--([\d]{2}-[\d]{2})$/);if(e.is(Array,s))return e.nth(1,s);const r=i.match(/^---([\d]{2})$/);return e.is(Array,r)?e.nth(1,r):i}const s=Number(t.prefscale),r=e.ifElse(e.always(qs(s)),e=>v(e).multiply(Math.pow(10,-1*Number(s))).value(),e.identity),n=Number(t.decimals),a=e.ifElse(e.always(qs(n)),t=>v(t).format(e.ifElse(e.equals(0),e.always("0,0"),t=>`0,0.${e.join("",e.times(e.always("0"),t))}`)(n)),e=>v(e).format("0,0.[0000000]"));return e.ifElse(qs,e.pipe(r,a),e.always(".."))(t.value)},getChartOptions:(t,i,s,r,n,a)=>{const p=e.ifElse(e.anyPass([e.equals(ee),e.equals(te)]),e.always(["#607D8B"]),e.always(["#8EA4B1"]))(i);return{axis:Ms(t,i,s,n,a),background:e.pipe(e.propOr({},"background"),e.mergeRight({color:"#DBEBF2"}))(s),base:_s(i,s),grid:Rs(i,s),map:e.pipe(e.propOr({},"map"),e.mergeRight({intBoundariesColor:"#8EA4B1"}))(s),serie:{...e.propOr({},"serie",s),annotation:Ls(i,s),choropleth:e.pipe(e.pathOr({},["serie","choropleth"]),e.mergeRight({divisions:4,domain:"YlorRd",invert:!1,labelDisplay:"none"}))(s),stacked:e.pipe(e.pathOr({},["serie","stacked"]),e.mergeRight({strokeThickness:1,strokeColor:"#F8FAFC"}))(s),symbol:e.pipe(e.pathOr({},["serie","symbol"]),e.mergeRight({markers:Ys(),markerDefaultSize:60,markerDefaultStrokeWidth:1,gapMinMaxColor:"#607D8B",gapMinMaxThickness:1,gapAxisMinColor:"white",gapAxisMinThickness:1}))(s),colors:e.pathOr(p,["serie","colors"],s),overColors:e.pathOr(["#39617D"],["serie","overColors"],s),highlightColors:e.pathOr(js,["serie","highlightColors"],s),baselineColors:e.pathOr(Vs,["serie","baselineColors"],s),tooltip:Bs(t,i,s,r,n,a)}}},getChartSeries:({type:e,data:t,options:i,singularity:s,focusOptions:r})=>{const n=De({type:e,data:t,options:i,singularity:s});return Hs({type:e,series:n,focusOptions:r})},getFooterProps:(e,t)=>({withCopyright:!Ae(e.type)||t.withCopyright,withLogo:!Ae(e.type)||t.withLogo,sourceLabel:St(e,t)}),getFullName:qt,getObservations:hs,getReportingYearStart:fs,getTimePeriodLabel:(t,i="yyyy MMM")=>e.pipe(e.when(e.isNil,e.always("")),e.when(At,((e,t)=>i=>N.format(i,t,{locale:Tt(e)}))(t,i))),isSharedLayoutCompatible:(t,i)=>{const s=e.prop("type",i);if("table"===s){const s=e.pathOr({},["config","table","layoutIds"],i),r=e.path(["config","sdmxSource","dataquery"],i),n=e.pathOr({},["structure","annotations"],t),a=e.pathOr({},["config","table","locale"],i),p=e.pathOr({},["config","defaultCombinations"],i),{concepts:o="",names:d=""}=p,l=Xt(a)(o,d),c=Wt(n,a);return((t,i,s=[],r="")=>{const n=e.indexBy(e.prop("id"),s),a=fs(t),p=e.pipe(e.pathOr([],["structure","dimensions","observation"]),e=>ni({dimensions:e,options:{dataquery:r,reportYearStart:a}}),e.reject(t=>e.prop("header",t)||!e.length(t.values||[])),e.indexBy(e.prop("id")))(t);let o=p;const d=e.pipe(e.values,e.unnest)(i);let l=!1;return e.forEach(t=>{e.has(t,p)?o=e.dissoc(t,o):e.has(t,n)?o=e.omit(e.pathOr([],[t,"concepts"],n),o):"OBS_ATTRIBUTES"!==t&&(l=!0)},d),e.isEmpty(o)&&!l})(t,s,e.isNil(c)||e.isEmpty(c)?l:c,r)}return((t,i,s)=>e.cond([[e.always(e.equals(G,i)),Ds],[e.always(e.equals(Z,i)||e.equals(J,i)),ks],[e.always(e.anyPass([e.equals(ee),e.equals(te)])(i)),$s],[e.T,e.T]])(t,s))(t,s,e.pathOr({},["config","chart","chartDimension"],i))},parseDisplay:X,parseFocus:(t,i,s,r,{baseline:n,highlight:a})=>{const p=He(t,i,s,r),o=new Set(e.pluck("value",p)),d=e.reject(({value:e})=>!o.has(e));return{baseline:d(n),highlight:d(a)}},stateFromNewProps:(t,i)=>{const s=((t,i)=>!e.has(t.type,Ye)||e.isNil(t.data)?{}:Ke(t,null,i))(t,i),r=((t,i)=>{const{data:s,type:r}=t,n=Ge(void 0,void 0,void 0);if(!Ze(r))return n;if(e.isNil(s))return{};const a=Te(s);if(e.isEmpty(a))return{...n,highlight:[],baseline:[]};let p=Ue(t.data,i);if(e.isNil(p)){const t=e.reject(w,a);p=e.head(e.isEmpty(t)?a:t)}const o=e.prop("values",p),d=e.prop("scatterX",i);let l,c,u=e.prop("scatterY",i);d===u&&(u=void 0),e.forEach(t=>{e.prop("id",t)===d?l=t:e.prop("id",t)===u&&(c=t)},o);const h=e.isNil(l)?e.head(e.reject(e.propEq(e.prop("id",c),"id"),o)):l,m=e.isNil(c)?e.head(e.reject(e.propEq(e.prop("id",h),"id"),o)):c,y=Ge(p,h,m);return{...y,...Ke(t,Qe(y),i)}})(t,i),n=((t,i)=>{const{data:s,type:r}=t;if(!rt(r))return nt(void 0);if(e.isNil(s))return{};const n=Te(s);if(e.isEmpty(n))return{...nt(void 0),baseline:[],highlight:[]};let a=st(s,i);if(e.isNil(a)){const{area:t,other:i,time:r}=_e(s);a=e.isNil(i)||e.isEmpty(i)?e.isNil(r)||e.isEmpty(r)?e.head(t):e.head(r):e.head(i)}const p=nt(a);return{...p,...Ke(t,at(s,p),i)}})(t,i),a=((t,i)=>{const{data:s,type:r}=t;if(!lt(r))return ct(void 0,void 0);if(e.isNil(s))return{};const n=Te(s);if(e.isEmpty(n))return{...ct(void 0,void 0),baseline:[],highlight:[]};let a=ot(s,i);if(e.isNil(a))if(1===e.length(n))a=e.find(e.prop("header"),s.dimensions);else{const{area:t,time:i,other:r}=_e(s);a=e.isNil(t)||e.isEmpty(t)?e.isNil(i)||e.isEmpty(i)?e.head(r):e.head(i):e.head(t)}const p=e.prop("stackedMode",i),o=e.has(p,dt)?p:re,d=ct(a,o);return{...d,...Ke(t,ut(d),i)}})(t,i);return{...s,...r,...n,...a,...(t=>{const i=gt(t)?{}:bt,s=vt(t)?{}:Ot;return{...i,...e.when(e.always(lt(t)),e.assoc("pivotY",0))(s)}})(t.type),fixedWidth:e.prop("fixedWidth",i),fixedHeight:e.prop("fixedHeight",i),responsiveWidth:e.prop("responsiveWidth",i),responsiveHeight:e.prop("responsiveHeight",i),freqStep:t.type===Q?e.prop("freqStep",i)||"1":void 0,type:e.prop("type",t)}},toChartOptions:(t,i)=>{const s=e.propOr({},"options",t),r=e.propOr({},"base",s),n=e.propOr({},"axis",s),a=e.propOr({},"x",n),p=e.propOr({},"y",n),o=e.propOr({},"linear",a),d=e.propOr({},"linear",p),l=e.propOr({},"tick",a),c=e.propOr({},"pivot",o),u=e.propOr({},"pivot",d),h=e.propOr({},"map",t);return{...s,axis:{...n,x:{...a,tick:{...l,step:kt(t,i)},linear:{...o,max:Dt(i.maxX,o.max),min:Dt(i.minX,o.min),pivot:{value:Dt(i.pivotX,c.value)},step:Dt(t.type===Q?1:i.stepX,o.step)}},y:{...p,linear:{...d,max:Dt(i.maxY,d.max),min:Dt(i.minY,d.min),pivot:{value:Dt(i.pivotY,u.value)},step:Dt(i.stepY,d.step)}}},map:e.pick(["projection","scale"],h),base:{...r,height:Dt(i.fixedHeight,r.height),width:Dt(i.fixedWidth,r.width)}}},toProperties:(t,i,s)=>({...wt(t,i,s),highlight:{id:"highlight",isActive:Ce(t.type),onChange:e.pipe(We,e=>{s({highlight:e})}),options:Xe(t,i,"baseline",Nt(t,i)),value:e.prop("highlight",i)},baseline:{id:"baseline",isActive:Ce(t.type),onChange:e.pipe(We,e=>s({baseline:e})),options:Xe(t,i,"highlight",Nt(t,i)),value:e.prop("baseline",i)},width:{id:"width",isActive:Ae(t.type),onChange:e=>s({fixedWidth:qe(e)?e:void 0}),placeholder:e.when(e.complement(e.isNil),e=>String(Math.floor(Number(e))))(i.responsiveWidth),value:e.prop("fixedWidth",i)},height:{id:"height",isActive:Ae(t.type),onChange:e=>s({fixedHeight:qe(e)?e:void 0}),placeholder:e.when(e.complement(e.isNil),e=>String(Math.floor(Number(e))))(i.responsiveHeight)},freqStep:{id:"freqStep",isActive:t.type===Q,onChange:e=>s({freqStep:qe(e)?String(e):void 0}),value:e.prop("freqStep",i)},title:{id:"title",isActive:Ae(t.type),isDefault:e.isNil(i.title),onChange:e=>s({title:e}),value:e.isNil(i.title)||e.isEmpty(i.title)?e.pathOr("",["title","label"],t):i.title,onReset:e.isNil(i.title)?null:()=>s({title:null})},subtitle:{id:"subtitle",isActive:Ae(t.type),isDefault:e.isNil(i.subtitle),onChange:e=>s({subtitle:e}),value:e.isNil(i.subtitle)||e.isEmpty(i.subtitle)?Et(t.subtitle||[]):i.subtitle,onReset:e.isNil(i.subtitle)?null:()=>s({subtitle:null})},source:{id:"source",isActive:Ae(t.type),isDefault:e.isNil(i.sourceLabel),onChange:e=>s({sourceLabel:e}),value:St(t,i),onReset:e.isNil(i.sourceLabel)?null:()=>s({sourceLabel:null})},scatterDimension:{id:"scatterDimension",isActive:Ze(t.type),onChange:e.pipe(Re,et(t,i),s),options:Ve(t,Ze),value:je("scatterDimension")(t,i)},scatterX:{id:"scatterX",isActive:Ze(t.type),onChange:e.pipe(Re,it(t,i,"scatterX","scatterY"),s),options:Je(t,i),value:tt("scatterX",t,i)},scatterY:{id:"scatterY",isActive:Ze(t.type),onChange:e.pipe(Re,it(t,i,"scatterY","scatterX"),s),options:Je(t,i),value:tt("scatterY",t,i)},symbolDimension:{id:"symbolDimension",isActive:rt(t.type),options:Ve(t,rt),onChange:e.pipe(Re,pt(t),s),value:je("symbolDimension")(t,i)},stackedDimension:{id:"stackedDimension",isActive:yt(t),options:Ve(t,lt),onChange:e.pipe(Re,ht(t),s),value:je("stackedDimension")(t,i)},stackedMode:{id:"stackedMode",isActive:lt(t.type),options:mt,onChange:e.pipe(Re,ft,s),value:e.prop("stackedMode",i)},logo:{id:"logo",isActive:Ae(t.type),checked:!i.withLogo,onChange:()=>s({withLogo:!i.withLogo})},copyright:{id:"copyright",isActive:Ae(t.type),checked:!i.withCopyright,onChange:()=>s({withCopyright:!i.withCopyright})}}),toSingularity:Nt},Symbol.toStringTag,{value:"Module"}));export{Xs as rules,Is as rules2};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|