@epam/statgpt-sdmx-toolkit 0.7.0-dev.3 → 0.7.0-dev.30
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/index.cjs +1 -2
- package/index.mjs +941 -4265
- package/models/datasets-metadata.d.ts +2 -0
- package/package.json +5 -3
- package/utils/build-dataset-dimensions-metadata-map.d.ts +2 -1
- package/LICENSE +0 -21
package/index.cjs
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=t=>{if(t!=null){const e=t.split("=");return e.length===1?t:e[1]}},S=t=>{if(t==null)return{};const e=B(t),n={agency:"",id:"",version:""};return e&&(e.includes(":")&&(n.agency=e.split(":")[0],n.id=e.split(":")[1].split("(")[0]),e.includes("(")&&e.includes(")")&&(n.version=e.split("(")[1]?.split(")")[0])),n},Oe=t=>{const[e,n]=t.split(")."),{agency:r,id:s,version:a}=S(e+")");return{childId:n,agency:r,id:s,version:a}},ne=(t,e,n)=>{const r=e===""?"":`(${e})`;return`${n}:${t}${r}`};var re=(t=>(t.DESCENDANTS="descendants",t.NONE="none",t.ALL="all",t))(re||{}),Re=(t=>(t.EXACT="exact",t.AVAILABLE="available",t))(Re||{});function On(t){return{data:{codelists:t.data.codelists,conceptSchemes:t.data.conceptSchemes,dataConstraints:t.data.dataConstraints?.map(Rn),dataflows:t.data.dataflows,dataStructures:t.data.dataStructures,metadataStructures:t.data.metadataStructures}}}function Rn(t){return{...t,cubeRegions:t.cubeRegions?.map(_n)}}function _n(t){return{isIncluded:t.include,memberSelection:t.keyValues.map(Nn)}}function Nn(t){return{included:t.include,componentId:t.id,selectionValues:t.values.map(In)}}function In(t){return{memberValue:t.value}}const kn=(t="",e="",n="")=>`sdmx/3.0/availability/dataflow/${t}/${e}/${n}`;class Sn{constructor(e){this.client=e}async getConstraints(e,n,r){const{agency:s,id:a,version:o}=S(e),c={filters:n||[],mode:Re.AVAILABLE,references:re.NONE},i=kn(s,a,o),u=!!this.client.config.sdmxProxyUrl,d=u||this.client.config.isDialProxyMode,l=u?this.client.config.sdmxProxyUrl:this.client.config.constrainsApiUrl||this.client.config.apiUrl;if(d){const m=await this.client.postRequest(i,{body:c},l,r);return On(m)}return await this.client.postRequest(i,{body:c},l,r)}}var k=(t=>(t.CSV="csv",t.JSON="json",t.XML="xml",t))(k||{}),mt=(t=>(t.ID="id",t.NAME="name",t.ID_NAME="both",t))(mt||{}),ht=(t=>(t.FULL_DATASET="full",t.DATA_IN_TABLE="query",t))(ht||{});const gt=(t,e)=>{switch(t){case k.CSV:return Ve("application/vnd.sdmx.data+csv;version=2.0.0",e);case k.XML:return"application/vnd.sdmx.data+xml;version=3.0.0";case k.JSON:return"application/vnd.sdmx.data+json;version=2.1";default:return Ve("application/vnd.sdmx.data+csv;version=2.0.0",e)}},wt=t=>{switch(t){case k.CSV:return"text/csv; charset=utf-8";case k.XML:return"application/xml; charset=utf-8";case k.JSON:return"application/json; charset=utf-8";default:return"text/csv; charset=utf-8"}},Ve=(t,e)=>`${t}; labels=${e}`;var _e=(t=>(t.REFERENCE_PARTIAL="referencepartial",t.FULL="full",t))(_e||{});const Cn="all",yt="sdmx/3.0/data/dataflow",Yn="&",Ge=":",Ln="=",Ne="+",Wn=",",pt="*",De=(t,e,n)=>{const{filterKey:r,timeFilter:s}=n,{agency:a,id:o,version:c}=S(t),i=[s||"",e].filter(d=>!!d).join(Yn);return`${`${yt}/${a}/${o}/${c}`}/${r||pt}?${i}`},$n=(t="",e="",n="",r=re.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${t}/${e}/${n}?references=${r}&detail=${_e.REFERENCE_PARTIAL}`;class qn{constructor(e){this.client=e}async getDataSet(e,n,r){const{agency:s,id:a,version:o}=S(e);return await this.client.getRequest($n(s,a,o,n),void 0,r)}async getDatasetData(e,n,r){const s=new URLSearchParams({includeHistory:"false",limit:"1000",attributes:Cn,dimensionAtObservation:"TIME_PERIOD"}).toString(),a=De(e,s,n);return await this.client.getRequest(a,void 0,r)}async downloadDataSet(e,n,r,s,a,o,c=!1,i){const u=new URLSearchParams({compress:"false",attributes:c?"all":"none",limit:"1000"}).toString(),d=De(e,u,a);return this.client.streamRequest(d,{method:"GET",headers:{Accept:gt(n,s),"Accept-language":r}},o,i,wt(n))}}const Fn=(t,e)=>t.error||t.message||`${e.status} ${e.statusText}`,Un="application/json",Qn="Content-Type",z="Api-Key",Hn="X-CONVERSATION-ID",K="Ocp-Apim-Subscription-Key",Xe="X-Source-Artefact-Urn";class je extends Error{constructor(e){super(e.message),this.isHttpError=!0,this.name="HttpError",this.code=e.code,this.status=e.status,this.details=e.details,this.displayMessage=e.displayMessage}}const Dt=6048e5,Bn=864e5,Ie=6e4,ke=36e5,Vn=1e3,ze=Symbol.for("constructDateFrom");function E(t,e){return typeof t=="function"?t(e):t&&typeof t=="object"&&ze in t?t[ze](e):t instanceof Date?new t.constructor(e):new Date(e)}function p(t,e){return E(e||t,t)}function bt(t,e,n){const r=p(t,n?.in);return isNaN(e)?E(n?.in||t,NaN):(e&&r.setDate(r.getDate()+e),r)}let Gn={};function $(){return Gn}function C(t,e){const n=$(),r=e?.weekStartsOn??e?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,s=p(t,e?.in),a=s.getDay(),o=(a<r?7:0)+a-r;return s.setDate(s.getDate()-o),s.setHours(0,0,0,0),s}function W(t,e){return C(t,{...e,weekStartsOn:1})}function Tt(t,e){const n=p(t,e?.in),r=n.getFullYear(),s=E(n,0);s.setFullYear(r+1,0,4),s.setHours(0,0,0,0);const a=W(s),o=E(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);const c=W(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=c.getTime()?r:r-1}function J(t){const e=p(t),n=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return n.setUTCFullYear(e.getFullYear()),+t-+n}function Xn(t,...e){const n=E.bind(null,e.find(r=>typeof r=="object"));return e.map(n)}function Ke(t,e){const n=p(t,e?.in);return n.setHours(0,0,0,0),n}function jn(t,e,n){const[r,s]=Xn(n?.in,t,e),a=Ke(r),o=Ke(s),c=+a-J(a),i=+o-J(o);return Math.round((c-i)/Bn)}function zn(t,e){const n=Tt(t,e),r=E(t,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),W(r)}function Kn(t){return t instanceof Date||typeof t=="object"&&Object.prototype.toString.call(t)==="[object Date]"}function be(t){return!(!Kn(t)&&typeof t!="number"||isNaN(+p(t)))}function Jn(t,e){const n=p(t,e?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const Zn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},er=(t,e,n)=>{let r;const s=Zn[t];return typeof s=="string"?r=s:e===1?r=s.one:r=s.other.replace("{{count}}",e.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function ye(t){return(e={})=>{const n=e.width?String(e.width):t.defaultWidth;return t.formats[n]||t.formats[t.defaultWidth]}}const tr={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},nr={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},rr={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},sr={date:ye({formats:tr,defaultWidth:"full"}),time:ye({formats:nr,defaultWidth:"full"}),dateTime:ye({formats:rr,defaultWidth:"full"})},ar={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},or=(t,e,n,r)=>ar[t];function U(t){return(e,n)=>{const r=n?.context?String(n.context):"standalone";let s;if(r==="formatting"&&t.formattingValues){const o=t.defaultFormattingWidth||t.defaultWidth,c=n?.width?String(n.width):o;s=t.formattingValues[c]||t.formattingValues[o]}else{const o=t.defaultWidth,c=n?.width?String(n.width):t.defaultWidth;s=t.values[c]||t.values[o]}const a=t.argumentCallback?t.argumentCallback(e):e;return s[a]}}const ir={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},cr={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ur={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},dr={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},lr={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},fr={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},mr=(t,e)=>{const n=Number(t),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},hr={ordinalNumber:mr,era:U({values:ir,defaultWidth:"wide"}),quarter:U({values:cr,defaultWidth:"wide",argumentCallback:t=>t-1}),month:U({values:ur,defaultWidth:"wide"}),day:U({values:dr,defaultWidth:"wide"}),dayPeriod:U({values:lr,defaultWidth:"wide",formattingValues:fr,defaultFormattingWidth:"wide"})};function Q(t){return(e,n={})=>{const r=n.width,s=r&&t.matchPatterns[r]||t.matchPatterns[t.defaultMatchWidth],a=e.match(s);if(!a)return null;const o=a[0],c=r&&t.parsePatterns[r]||t.parsePatterns[t.defaultParseWidth],i=Array.isArray(c)?wr(c,l=>l.test(o)):gr(c,l=>l.test(o));let u;u=t.valueCallback?t.valueCallback(i):i,u=n.valueCallback?n.valueCallback(u):u;const d=e.slice(o.length);return{value:u,rest:d}}}function gr(t,e){for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)&&e(t[n]))return n}function wr(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return n}function yr(t){return(e,n={})=>{const r=e.match(t.matchPattern);if(!r)return null;const s=r[0],a=e.match(t.parsePattern);if(!a)return null;let o=t.valueCallback?t.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;const c=e.slice(s.length);return{value:o,rest:c}}}const pr=/^(\d+)(th|st|nd|rd)?/i,Dr=/\d+/i,br={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Tr={any:[/^b/i,/^(a|c)/i]},Er={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},xr={any:[/1/i,/2/i,/3/i,/4/i]},Pr={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Mr={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},vr={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Ar={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Or={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Rr={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},_r={ordinalNumber:yr({matchPattern:pr,parsePattern:Dr,valueCallback:t=>parseInt(t,10)}),era:Q({matchPatterns:br,defaultMatchWidth:"wide",parsePatterns:Tr,defaultParseWidth:"any"}),quarter:Q({matchPatterns:Er,defaultMatchWidth:"wide",parsePatterns:xr,defaultParseWidth:"any",valueCallback:t=>t+1}),month:Q({matchPatterns:Pr,defaultMatchWidth:"wide",parsePatterns:Mr,defaultParseWidth:"any"}),day:Q({matchPatterns:vr,defaultMatchWidth:"wide",parsePatterns:Ar,defaultParseWidth:"any"}),dayPeriod:Q({matchPatterns:Or,defaultMatchWidth:"any",parsePatterns:Rr,defaultParseWidth:"any"})},Et={code:"en-US",formatDistance:er,formatLong:sr,formatRelative:or,localize:hr,match:_r,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Nr(t,e){const n=p(t,e?.in);return jn(n,Jn(n))+1}function xt(t,e){const n=p(t,e?.in),r=+W(n)-+zn(n);return Math.round(r/Dt)+1}function Se(t,e){const n=p(t,e?.in),r=n.getFullYear(),s=$(),a=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??s.firstWeekContainsDate??s.locale?.options?.firstWeekContainsDate??1,o=E(e?.in||t,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);const c=C(o,e),i=E(e?.in||t,0);i.setFullYear(r,0,a),i.setHours(0,0,0,0);const u=C(i,e);return+n>=+c?r+1:+n>=+u?r:r-1}function Ir(t,e){const n=$(),r=e?.firstWeekContainsDate??e?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,s=Se(t,e),a=E(e?.in||t,0);return a.setFullYear(s,0,r),a.setHours(0,0,0,0),C(a,e)}function Pt(t,e){const n=p(t,e?.in),r=+C(n,e)-+Ir(n,e);return Math.round(r/Dt)+1}function g(t,e){const n=t<0?"-":"",r=Math.abs(t).toString().padStart(e,"0");return n+r}const I={y(t,e){const n=t.getFullYear(),r=n>0?n:1-n;return g(e==="yy"?r%100:r,e.length)},M(t,e){const n=t.getMonth();return e==="M"?String(n+1):g(n+1,2)},d(t,e){return g(t.getDate(),e.length)},a(t,e){const n=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];default:return n==="am"?"a.m.":"p.m."}},h(t,e){return g(t.getHours()%12||12,e.length)},H(t,e){return g(t.getHours(),e.length)},m(t,e){return g(t.getMinutes(),e.length)},s(t,e){return g(t.getSeconds(),e.length)},S(t,e){const n=e.length,r=t.getMilliseconds(),s=Math.trunc(r*Math.pow(10,n-3));return g(s,e.length)}},L={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},Je={G:function(t,e,n){const r=t.getFullYear()>0?1:0;switch(e){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});default:return n.era(r,{width:"wide"})}},y:function(t,e,n){if(e==="yo"){const r=t.getFullYear(),s=r>0?r:1-r;return n.ordinalNumber(s,{unit:"year"})}return I.y(t,e)},Y:function(t,e,n,r){const s=Se(t,r),a=s>0?s:1-s;if(e==="YY"){const o=a%100;return g(o,2)}return e==="Yo"?n.ordinalNumber(a,{unit:"year"}):g(a,e.length)},R:function(t,e){const n=Tt(t);return g(n,e.length)},u:function(t,e){const n=t.getFullYear();return g(n,e.length)},Q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"Q":return String(r);case"QQ":return g(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(t,e,n){const r=Math.ceil((t.getMonth()+1)/3);switch(e){case"q":return String(r);case"qq":return g(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(t,e,n){const r=t.getMonth();switch(e){case"M":case"MM":return I.M(t,e);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(t,e,n){const r=t.getMonth();switch(e){case"L":return String(r+1);case"LL":return g(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(t,e,n,r){const s=Pt(t,r);return e==="wo"?n.ordinalNumber(s,{unit:"week"}):g(s,e.length)},I:function(t,e,n){const r=xt(t);return e==="Io"?n.ordinalNumber(r,{unit:"week"}):g(r,e.length)},d:function(t,e,n){return e==="do"?n.ordinalNumber(t.getDate(),{unit:"date"}):I.d(t,e)},D:function(t,e,n){const r=Nr(t);return e==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):g(r,e.length)},E:function(t,e,n){const r=t.getDay();switch(e){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(t,e,n,r){const s=t.getDay(),a=(s-r.weekStartsOn+8)%7||7;switch(e){case"e":return String(a);case"ee":return g(a,2);case"eo":return n.ordinalNumber(a,{unit:"day"});case"eee":return n.day(s,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(s,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(s,{width:"short",context:"formatting"});default:return n.day(s,{width:"wide",context:"formatting"})}},c:function(t,e,n,r){const s=t.getDay(),a=(s-r.weekStartsOn+8)%7||7;switch(e){case"c":return String(a);case"cc":return g(a,e.length);case"co":return n.ordinalNumber(a,{unit:"day"});case"ccc":return n.day(s,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(s,{width:"narrow",context:"standalone"});case"cccccc":return n.day(s,{width:"short",context:"standalone"});default:return n.day(s,{width:"wide",context:"standalone"})}},i:function(t,e,n){const r=t.getDay(),s=r===0?7:r;switch(e){case"i":return String(s);case"ii":return g(s,e.length);case"io":return n.ordinalNumber(s,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(t,e,n){const s=t.getHours()/12>=1?"pm":"am";switch(e){case"a":case"aa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(s,{width:"narrow",context:"formatting"});default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(t,e,n){const r=t.getHours();let s;switch(r===12?s=L.noon:r===0?s=L.midnight:s=r/12>=1?"pm":"am",e){case"b":case"bb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(s,{width:"narrow",context:"formatting"});default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(t,e,n){const r=t.getHours();let s;switch(r>=17?s=L.evening:r>=12?s=L.afternoon:r>=4?s=L.morning:s=L.night,e){case"B":case"BB":case"BBB":return n.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(s,{width:"narrow",context:"formatting"});default:return n.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(t,e,n){if(e==="ho"){let r=t.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return I.h(t,e)},H:function(t,e,n){return e==="Ho"?n.ordinalNumber(t.getHours(),{unit:"hour"}):I.H(t,e)},K:function(t,e,n){const r=t.getHours()%12;return e==="Ko"?n.ordinalNumber(r,{unit:"hour"}):g(r,e.length)},k:function(t,e,n){let r=t.getHours();return r===0&&(r=24),e==="ko"?n.ordinalNumber(r,{unit:"hour"}):g(r,e.length)},m:function(t,e,n){return e==="mo"?n.ordinalNumber(t.getMinutes(),{unit:"minute"}):I.m(t,e)},s:function(t,e,n){return e==="so"?n.ordinalNumber(t.getSeconds(),{unit:"second"}):I.s(t,e)},S:function(t,e){return I.S(t,e)},X:function(t,e,n){const r=t.getTimezoneOffset();if(r===0)return"Z";switch(e){case"X":return et(r);case"XXXX":case"XX":return Y(r);default:return Y(r,":")}},x:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"x":return et(r);case"xxxx":case"xx":return Y(r);default:return Y(r,":")}},O:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"O":case"OO":case"OOO":return"GMT"+Ze(r,":");default:return"GMT"+Y(r,":")}},z:function(t,e,n){const r=t.getTimezoneOffset();switch(e){case"z":case"zz":case"zzz":return"GMT"+Ze(r,":");default:return"GMT"+Y(r,":")}},t:function(t,e,n){const r=Math.trunc(+t/1e3);return g(r,e.length)},T:function(t,e,n){return g(+t,e.length)}};function Ze(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),s=Math.trunc(r/60),a=r%60;return a===0?n+String(s):n+String(s)+e+g(a,2)}function et(t,e){return t%60===0?(t>0?"-":"+")+g(Math.abs(t)/60,2):Y(t,e)}function Y(t,e=""){const n=t>0?"-":"+",r=Math.abs(t),s=g(Math.trunc(r/60),2),a=g(r%60,2);return n+s+e+a}const tt=(t,e)=>{switch(t){case"P":return e.date({width:"short"});case"PP":return e.date({width:"medium"});case"PPP":return e.date({width:"long"});default:return e.date({width:"full"})}},Mt=(t,e)=>{switch(t){case"p":return e.time({width:"short"});case"pp":return e.time({width:"medium"});case"ppp":return e.time({width:"long"});default:return e.time({width:"full"})}},kr=(t,e)=>{const n=t.match(/(P+)(p+)?/)||[],r=n[1],s=n[2];if(!s)return tt(t,e);let a;switch(r){case"P":a=e.dateTime({width:"short"});break;case"PP":a=e.dateTime({width:"medium"});break;case"PPP":a=e.dateTime({width:"long"});break;default:a=e.dateTime({width:"full"});break}return a.replace("{{date}}",tt(r,e)).replace("{{time}}",Mt(s,e))},Te={p:Mt,P:kr},Sr=/^D+$/,Cr=/^Y+$/,Yr=["D","DD","YY","YYYY"];function vt(t){return Sr.test(t)}function At(t){return Cr.test(t)}function Ee(t,e,n){const r=Lr(t,e,n);if(console.warn(r),Yr.includes(t))throw new RangeError(r)}function Lr(t,e,n){const r=t[0]==="Y"?"years":"days of the month";return`Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const Wr=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,$r=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,qr=/^'([^]*?)'?$/,Fr=/''/g,Ur=/[a-zA-Z]/;function Qr(t,e,n){const r=$(),s=r.locale??Et,a=r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=r.weekStartsOn??r.locale?.options?.weekStartsOn??0,c=p(t,n?.in);if(!be(c))throw new RangeError("Invalid time value");let i=e.match($r).map(d=>{const l=d[0];if(l==="p"||l==="P"){const m=Te[l];return m(d,s.formatLong)}return d}).join("").match(Wr).map(d=>{if(d==="''")return{isToken:!1,value:"'"};const l=d[0];if(l==="'")return{isToken:!1,value:Hr(d)};if(Je[l])return{isToken:!0,value:d};if(l.match(Ur))throw new RangeError("Format string contains an unescaped latin alphabet character `"+l+"`");return{isToken:!1,value:d}});s.localize.preprocessor&&(i=s.localize.preprocessor(c,i));const u={firstWeekContainsDate:a,weekStartsOn:o,locale:s};return i.map(d=>{if(!d.isToken)return d.value;const l=d.value;(At(l)||vt(l))&&Ee(l,e,String(t));const m=Je[l[0]];return m(c,l,s.localize,u)}).join("")}function Hr(t){const e=t.match(qr);return e?e[1].replace(Fr,"'"):t}function Br(){return Object.assign({},$())}function Vr(t,e){const n=p(t,e?.in).getDay();return n===0?7:n}function Gr(t,e){const n=Xr(e)?new e(0):E(e,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n.setHours(t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()),n}function Xr(t){return typeof t=="function"&&t.prototype?.constructor===t}const jr=10;class Ot{subPriority=0;validate(e,n){return!0}}class zr extends Ot{constructor(e,n,r,s,a){super(),this.value=e,this.validateValue=n,this.setValue=r,this.priority=s,a&&(this.subPriority=a)}validate(e,n){return this.validateValue(e,this.value,n)}set(e,n,r){return this.setValue(e,n,this.value,r)}}class Kr extends Ot{priority=jr;subPriority=-1;constructor(e,n){super(),this.context=e||(r=>E(n,r))}set(e,n){return n.timestampIsSet?e:E(e,Gr(e,this.context))}}class h{run(e,n,r,s){const a=this.parse(e,n,r,s);return a?{setter:new zr(a.value,this.validate,this.set,this.priority,this.subPriority),rest:a.rest}:null}validate(e,n,r){return!0}}class Jr extends h{priority=140;parse(e,n,r){switch(n){case"G":case"GG":case"GGG":return r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"});case"GGGGG":return r.era(e,{width:"narrow"});default:return r.era(e,{width:"wide"})||r.era(e,{width:"abbreviated"})||r.era(e,{width:"narrow"})}}set(e,n,r){return n.era=r,e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["R","u","t","T"]}const b={month:/^(1[0-2]|0?\d)/,date:/^(3[0-1]|[0-2]?\d)/,dayOfYear:/^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,week:/^(5[0-3]|[0-4]?\d)/,hour23h:/^(2[0-3]|[0-1]?\d)/,hour24h:/^(2[0-4]|[0-1]?\d)/,hour11h:/^(1[0-1]|0?\d)/,hour12h:/^(1[0-2]|0?\d)/,minute:/^[0-5]?\d/,second:/^[0-5]?\d/,singleDigit:/^\d/,twoDigits:/^\d{1,2}/,threeDigits:/^\d{1,3}/,fourDigits:/^\d{1,4}/,anyDigitsSigned:/^-?\d+/,singleDigitSigned:/^-?\d/,twoDigitsSigned:/^-?\d{1,2}/,threeDigitsSigned:/^-?\d{1,3}/,fourDigitsSigned:/^-?\d{1,4}/},O={basicOptionalMinutes:/^([+-])(\d{2})(\d{2})?|Z/,basic:/^([+-])(\d{2})(\d{2})|Z/,basicOptionalSeconds:/^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,extended:/^([+-])(\d{2}):(\d{2})|Z/,extendedOptionalSeconds:/^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/};function T(t,e){return t&&{value:e(t.value),rest:t.rest}}function y(t,e){const n=e.match(t);return n?{value:parseInt(n[0],10),rest:e.slice(n[0].length)}:null}function R(t,e){const n=e.match(t);if(!n)return null;if(n[0]==="Z")return{value:0,rest:e.slice(1)};const r=n[1]==="+"?1:-1,s=n[2]?parseInt(n[2],10):0,a=n[3]?parseInt(n[3],10):0,o=n[5]?parseInt(n[5],10):0;return{value:r*(s*ke+a*Ie+o*Vn),rest:e.slice(n[0].length)}}function Rt(t){return y(b.anyDigitsSigned,t)}function D(t,e){switch(t){case 1:return y(b.singleDigit,e);case 2:return y(b.twoDigits,e);case 3:return y(b.threeDigits,e);case 4:return y(b.fourDigits,e);default:return y(new RegExp("^\\d{1,"+t+"}"),e)}}function Z(t,e){switch(t){case 1:return y(b.singleDigitSigned,e);case 2:return y(b.twoDigitsSigned,e);case 3:return y(b.threeDigitsSigned,e);case 4:return y(b.fourDigitsSigned,e);default:return y(new RegExp("^-?\\d{1,"+t+"}"),e)}}function Ce(t){switch(t){case"morning":return 4;case"evening":return 17;case"pm":case"noon":case"afternoon":return 12;default:return 0}}function _t(t,e){const n=e>0,r=n?e:1-e;let s;if(r<=50)s=t||100;else{const a=r+50,o=Math.trunc(a/100)*100,c=t>=a%100;s=t+o-(c?100:0)}return n?s:1-s}function Nt(t){return t%400===0||t%4===0&&t%100!==0}class Zr extends h{priority=130;incompatibleTokens=["Y","R","u","w","I","i","e","c","t","T"];parse(e,n,r){const s=a=>({year:a,isTwoDigitYear:n==="yy"});switch(n){case"y":return T(D(4,e),s);case"yo":return T(r.ordinalNumber(e,{unit:"year"}),s);default:return T(D(n.length,e),s)}}validate(e,n){return n.isTwoDigitYear||n.year>0}set(e,n,r){const s=e.getFullYear();if(r.isTwoDigitYear){const o=_t(r.year,s);return e.setFullYear(o,0,1),e.setHours(0,0,0,0),e}const a=!("era"in n)||n.era===1?r.year:1-r.year;return e.setFullYear(a,0,1),e.setHours(0,0,0,0),e}}class es extends h{priority=130;parse(e,n,r){const s=a=>({year:a,isTwoDigitYear:n==="YY"});switch(n){case"Y":return T(D(4,e),s);case"Yo":return T(r.ordinalNumber(e,{unit:"year"}),s);default:return T(D(n.length,e),s)}}validate(e,n){return n.isTwoDigitYear||n.year>0}set(e,n,r,s){const a=Se(e,s);if(r.isTwoDigitYear){const c=_t(r.year,a);return e.setFullYear(c,0,s.firstWeekContainsDate),e.setHours(0,0,0,0),C(e,s)}const o=!("era"in n)||n.era===1?r.year:1-r.year;return e.setFullYear(o,0,s.firstWeekContainsDate),e.setHours(0,0,0,0),C(e,s)}incompatibleTokens=["y","R","u","Q","q","M","L","I","d","D","i","t","T"]}class ts extends h{priority=130;parse(e,n){return Z(n==="R"?4:n.length,e)}set(e,n,r){const s=E(e,0);return s.setFullYear(r,0,4),s.setHours(0,0,0,0),W(s)}incompatibleTokens=["G","y","Y","u","Q","q","M","L","w","d","D","e","c","t","T"]}class ns extends h{priority=130;parse(e,n){return Z(n==="u"?4:n.length,e)}set(e,n,r){return e.setFullYear(r,0,1),e.setHours(0,0,0,0),e}incompatibleTokens=["G","y","Y","R","w","I","i","e","c","t","T"]}class rs extends h{priority=120;parse(e,n,r){switch(n){case"Q":case"QQ":return D(n.length,e);case"Qo":return r.ordinalNumber(e,{unit:"quarter"});case"QQQ":return r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"});case"QQQQQ":return r.quarter(e,{width:"narrow",context:"formatting"});default:return r.quarter(e,{width:"wide",context:"formatting"})||r.quarter(e,{width:"abbreviated",context:"formatting"})||r.quarter(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=1&&n<=4}set(e,n,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","M","L","w","I","d","D","i","e","c","t","T"]}class ss extends h{priority=120;parse(e,n,r){switch(n){case"q":case"qq":return D(n.length,e);case"qo":return r.ordinalNumber(e,{unit:"quarter"});case"qqq":return r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"});case"qqqqq":return r.quarter(e,{width:"narrow",context:"standalone"});default:return r.quarter(e,{width:"wide",context:"standalone"})||r.quarter(e,{width:"abbreviated",context:"standalone"})||r.quarter(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=1&&n<=4}set(e,n,r){return e.setMonth((r-1)*3,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","Q","M","L","w","I","d","D","i","e","c","t","T"]}class as extends h{incompatibleTokens=["Y","R","q","Q","L","w","I","D","i","e","c","t","T"];priority=110;parse(e,n,r){const s=a=>a-1;switch(n){case"M":return T(y(b.month,e),s);case"MM":return T(D(2,e),s);case"Mo":return T(r.ordinalNumber(e,{unit:"month"}),s);case"MMM":return r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"});case"MMMMM":return r.month(e,{width:"narrow",context:"formatting"});default:return r.month(e,{width:"wide",context:"formatting"})||r.month(e,{width:"abbreviated",context:"formatting"})||r.month(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}}class os extends h{priority=110;parse(e,n,r){const s=a=>a-1;switch(n){case"L":return T(y(b.month,e),s);case"LL":return T(D(2,e),s);case"Lo":return T(r.ordinalNumber(e,{unit:"month"}),s);case"LLL":return r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"});case"LLLLL":return r.month(e,{width:"narrow",context:"standalone"});default:return r.month(e,{width:"wide",context:"standalone"})||r.month(e,{width:"abbreviated",context:"standalone"})||r.month(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.setMonth(r,1),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","w","I","D","i","e","c","t","T"]}function is(t,e,n){const r=p(t,n?.in),s=Pt(r,n)-e;return r.setDate(r.getDate()-s*7),p(r,n?.in)}class cs extends h{priority=100;parse(e,n,r){switch(n){case"w":return y(b.week,e);case"wo":return r.ordinalNumber(e,{unit:"week"});default:return D(n.length,e)}}validate(e,n){return n>=1&&n<=53}set(e,n,r,s){return C(is(e,r,s),s)}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","i","t","T"]}function us(t,e,n){const r=p(t,n?.in),s=xt(r,n)-e;return r.setDate(r.getDate()-s*7),r}class ds extends h{priority=100;parse(e,n,r){switch(n){case"I":return y(b.week,e);case"Io":return r.ordinalNumber(e,{unit:"week"});default:return D(n.length,e)}}validate(e,n){return n>=1&&n<=53}set(e,n,r){return W(us(e,r))}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","e","c","t","T"]}const ls=[31,28,31,30,31,30,31,31,30,31,30,31],fs=[31,29,31,30,31,30,31,31,30,31,30,31];class ms extends h{priority=90;subPriority=1;parse(e,n,r){switch(n){case"d":return y(b.date,e);case"do":return r.ordinalNumber(e,{unit:"date"});default:return D(n.length,e)}}validate(e,n){const r=e.getFullYear(),s=Nt(r),a=e.getMonth();return s?n>=1&&n<=fs[a]:n>=1&&n<=ls[a]}set(e,n,r){return e.setDate(r),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","w","I","D","i","e","c","t","T"]}class hs extends h{priority=90;subpriority=1;parse(e,n,r){switch(n){case"D":case"DD":return y(b.dayOfYear,e);case"Do":return r.ordinalNumber(e,{unit:"date"});default:return D(n.length,e)}}validate(e,n){const r=e.getFullYear();return Nt(r)?n>=1&&n<=366:n>=1&&n<=365}set(e,n,r){return e.setMonth(0,r),e.setHours(0,0,0,0),e}incompatibleTokens=["Y","R","q","Q","M","L","w","I","d","E","i","e","c","t","T"]}function Ye(t,e,n){const r=$(),s=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,a=p(t,n?.in),o=a.getDay(),i=(e%7+7)%7,u=7-s,d=e<0||e>6?e-(o+u)%7:(i+u)%7-(o+u)%7;return bt(a,d,n)}class gs extends h{priority=90;parse(e,n,r){switch(n){case"E":case"EE":case"EEE":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"EEEEE":return r.day(e,{width:"narrow",context:"formatting"});case"EEEEEE":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,s){return e=Ye(e,r,s),e.setHours(0,0,0,0),e}incompatibleTokens=["D","i","e","c","t","T"]}class ws extends h{priority=90;parse(e,n,r,s){const a=o=>{const c=Math.floor((o-1)/7)*7;return(o+s.weekStartsOn+6)%7+c};switch(n){case"e":case"ee":return T(D(n.length,e),a);case"eo":return T(r.ordinalNumber(e,{unit:"day"}),a);case"eee":return r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});case"eeeee":return r.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"});default:return r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,s){return e=Ye(e,r,s),e.setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","c","t","T"]}class ys extends h{priority=90;parse(e,n,r,s){const a=o=>{const c=Math.floor((o-1)/7)*7;return(o+s.weekStartsOn+6)%7+c};switch(n){case"c":case"cc":return T(D(n.length,e),a);case"co":return T(r.ordinalNumber(e,{unit:"day"}),a);case"ccc":return r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});case"ccccc":return r.day(e,{width:"narrow",context:"standalone"});case"cccccc":return r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"});default:return r.day(e,{width:"wide",context:"standalone"})||r.day(e,{width:"abbreviated",context:"standalone"})||r.day(e,{width:"short",context:"standalone"})||r.day(e,{width:"narrow",context:"standalone"})}}validate(e,n){return n>=0&&n<=6}set(e,n,r,s){return e=Ye(e,r,s),e.setHours(0,0,0,0),e}incompatibleTokens=["y","R","u","q","Q","M","L","I","d","D","E","i","e","t","T"]}function ps(t,e,n){const r=p(t,n?.in),s=Vr(r,n),a=e-s;return bt(r,a,n)}class Ds extends h{priority=90;parse(e,n,r){const s=a=>a===0?7:a;switch(n){case"i":case"ii":return D(n.length,e);case"io":return r.ordinalNumber(e,{unit:"day"});case"iii":return T(r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),s);case"iiiii":return T(r.day(e,{width:"narrow",context:"formatting"}),s);case"iiiiii":return T(r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),s);default:return T(r.day(e,{width:"wide",context:"formatting"})||r.day(e,{width:"abbreviated",context:"formatting"})||r.day(e,{width:"short",context:"formatting"})||r.day(e,{width:"narrow",context:"formatting"}),s)}}validate(e,n){return n>=1&&n<=7}set(e,n,r){return e=ps(e,r),e.setHours(0,0,0,0),e}incompatibleTokens=["y","Y","u","q","Q","M","L","w","d","D","E","e","c","t","T"]}class bs extends h{priority=80;parse(e,n,r){switch(n){case"a":case"aa":case"aaa":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"aaaaa":return r.dayPeriod(e,{width:"narrow",context:"formatting"});default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(Ce(r),0,0,0),e}incompatibleTokens=["b","B","H","k","t","T"]}class Ts extends h{priority=80;parse(e,n,r){switch(n){case"b":case"bb":case"bbb":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"bbbbb":return r.dayPeriod(e,{width:"narrow",context:"formatting"});default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(Ce(r),0,0,0),e}incompatibleTokens=["a","B","H","k","t","T"]}class Es extends h{priority=80;parse(e,n,r){switch(n){case"B":case"BB":case"BBB":return r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"});case"BBBBB":return r.dayPeriod(e,{width:"narrow",context:"formatting"});default:return r.dayPeriod(e,{width:"wide",context:"formatting"})||r.dayPeriod(e,{width:"abbreviated",context:"formatting"})||r.dayPeriod(e,{width:"narrow",context:"formatting"})}}set(e,n,r){return e.setHours(Ce(r),0,0,0),e}incompatibleTokens=["a","b","t","T"]}class xs extends h{priority=70;parse(e,n,r){switch(n){case"h":return y(b.hour12h,e);case"ho":return r.ordinalNumber(e,{unit:"hour"});default:return D(n.length,e)}}validate(e,n){return n>=1&&n<=12}set(e,n,r){const s=e.getHours()>=12;return s&&r<12?e.setHours(r+12,0,0,0):!s&&r===12?e.setHours(0,0,0,0):e.setHours(r,0,0,0),e}incompatibleTokens=["H","K","k","t","T"]}class Ps extends h{priority=70;parse(e,n,r){switch(n){case"H":return y(b.hour23h,e);case"Ho":return r.ordinalNumber(e,{unit:"hour"});default:return D(n.length,e)}}validate(e,n){return n>=0&&n<=23}set(e,n,r){return e.setHours(r,0,0,0),e}incompatibleTokens=["a","b","h","K","k","t","T"]}class Ms extends h{priority=70;parse(e,n,r){switch(n){case"K":return y(b.hour11h,e);case"Ko":return r.ordinalNumber(e,{unit:"hour"});default:return D(n.length,e)}}validate(e,n){return n>=0&&n<=11}set(e,n,r){return e.getHours()>=12&&r<12?e.setHours(r+12,0,0,0):e.setHours(r,0,0,0),e}incompatibleTokens=["h","H","k","t","T"]}class vs extends h{priority=70;parse(e,n,r){switch(n){case"k":return y(b.hour24h,e);case"ko":return r.ordinalNumber(e,{unit:"hour"});default:return D(n.length,e)}}validate(e,n){return n>=1&&n<=24}set(e,n,r){const s=r<=24?r%24:r;return e.setHours(s,0,0,0),e}incompatibleTokens=["a","b","h","H","K","t","T"]}class As extends h{priority=60;parse(e,n,r){switch(n){case"m":return y(b.minute,e);case"mo":return r.ordinalNumber(e,{unit:"minute"});default:return D(n.length,e)}}validate(e,n){return n>=0&&n<=59}set(e,n,r){return e.setMinutes(r,0,0),e}incompatibleTokens=["t","T"]}class Os extends h{priority=50;parse(e,n,r){switch(n){case"s":return y(b.second,e);case"so":return r.ordinalNumber(e,{unit:"second"});default:return D(n.length,e)}}validate(e,n){return n>=0&&n<=59}set(e,n,r){return e.setSeconds(r,0),e}incompatibleTokens=["t","T"]}class Rs extends h{priority=30;parse(e,n){const r=s=>Math.trunc(s*Math.pow(10,-n.length+3));return T(D(n.length,e),r)}set(e,n,r){return e.setMilliseconds(r),e}incompatibleTokens=["t","T"]}class _s extends h{priority=10;parse(e,n){switch(n){case"X":return R(O.basicOptionalMinutes,e);case"XX":return R(O.basic,e);case"XXXX":return R(O.basicOptionalSeconds,e);case"XXXXX":return R(O.extendedOptionalSeconds,e);default:return R(O.extended,e)}}set(e,n,r){return n.timestampIsSet?e:E(e,e.getTime()-J(e)-r)}incompatibleTokens=["t","T","x"]}class Ns extends h{priority=10;parse(e,n){switch(n){case"x":return R(O.basicOptionalMinutes,e);case"xx":return R(O.basic,e);case"xxxx":return R(O.basicOptionalSeconds,e);case"xxxxx":return R(O.extendedOptionalSeconds,e);default:return R(O.extended,e)}}set(e,n,r){return n.timestampIsSet?e:E(e,e.getTime()-J(e)-r)}incompatibleTokens=["t","T","X"]}class Is extends h{priority=40;parse(e){return Rt(e)}set(e,n,r){return[E(e,r*1e3),{timestampIsSet:!0}]}incompatibleTokens="*"}class ks extends h{priority=20;parse(e){return Rt(e)}set(e,n,r){return[E(e,r),{timestampIsSet:!0}]}incompatibleTokens="*"}const Ss={G:new Jr,y:new Zr,Y:new es,R:new ts,u:new ns,Q:new rs,q:new ss,M:new as,L:new os,w:new cs,I:new ds,d:new ms,D:new hs,E:new gs,e:new ws,c:new ys,i:new Ds,a:new bs,b:new Ts,B:new Es,h:new xs,H:new Ps,K:new Ms,k:new vs,m:new As,s:new Os,S:new Rs,X:new _s,x:new Ns,t:new Is,T:new ks},Cs=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ys=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,Ls=/^'([^]*?)'?$/,Ws=/''/g,$s=/\S/,qs=/[a-zA-Z]/;function Fs(t,e,n,r){const s=()=>E(n,NaN),a=Br(),o=a.locale??Et,c=a.firstWeekContainsDate??a.locale?.options?.firstWeekContainsDate??1,i=a.weekStartsOn??a.locale?.options?.weekStartsOn??0;if(!e)return t?s():p(n,r?.in);const u={firstWeekContainsDate:c,weekStartsOn:i,locale:o},d=[new Kr(r?.in,n)],l=e.match(Ys).map(f=>{const w=f[0];if(w in Te){const P=Te[w];return P(f,o.formatLong)}return f}).join("").match(Cs),m=[];for(let f of l){At(f)&&Ee(f,e,t),vt(f)&&Ee(f,e,t);const w=f[0],P=Ss[w];if(P){const{incompatibleTokens:A}=P;if(Array.isArray(A)){const F=m.find(G=>A.includes(G.token)||G.token===w);if(F)throw new RangeError(`The format string mustn't contain \`${F.fullToken}\` and \`${f}\` at the same time`)}else if(P.incompatibleTokens==="*"&&m.length>0)throw new RangeError(`The format string mustn't contain \`${f}\` and any other token at the same time`);m.push({token:w,fullToken:f});const q=P.run(t,f,o.match,u);if(!q)return s();d.push(q.setter),t=q.rest}else{if(w.match(qs))throw new RangeError("Format string contains an unescaped latin alphabet character `"+w+"`");if(f==="''"?f="'":w==="'"&&(f=Us(f)),t.indexOf(f)===0)t=t.slice(f.length);else return s()}}if(t.length>0&&$s.test(t))return s();const M=d.map(f=>f.priority).sort((f,w)=>w-f).filter((f,w,P)=>P.indexOf(f)===w).map(f=>d.filter(w=>w.priority===f).sort((w,P)=>P.subPriority-w.subPriority)).map(f=>f[0]);let x=p(n,r?.in);if(isNaN(+x))return s();const v={};for(const f of M){if(!f.validate(x,u))return s();const w=f.set(x,v,u);Array.isArray(w)?(x=w[0],Object.assign(v,w[1])):x=w}return x}function Us(t){return t.match(Ls)[1].replace(Ws,"'")}function Qs(t,e){const n=()=>E(e?.in,NaN),s=Gs(t);let a;if(s.date){const u=Xs(s.date,2);a=js(u.restDateString,u.year)}if(!a||isNaN(+a))return n();const o=+a;let c=0,i;if(s.time&&(c=zs(s.time),isNaN(c)))return n();if(s.timezone){if(i=Ks(s.timezone),isNaN(i))return n()}else{const u=new Date(o+c),d=p(0,e?.in);return d.setFullYear(u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()),d.setHours(u.getUTCHours(),u.getUTCMinutes(),u.getUTCSeconds(),u.getUTCMilliseconds()),d}return p(o+c+i,e?.in)}const X={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},Hs=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,Bs=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,Vs=/^([+-])(\d{2})(?::?(\d{2}))?$/;function Gs(t){const e={},n=t.split(X.dateTimeDelimiter);let r;if(n.length>2)return e;if(/:/.test(n[0])?r=n[0]:(e.date=n[0],r=n[1],X.timeZoneDelimiter.test(e.date)&&(e.date=t.split(X.timeZoneDelimiter)[0],r=t.substr(e.date.length,t.length))),r){const s=X.timezone.exec(r);s?(e.time=r.replace(s[1],""),e.timezone=s[1]):e.time=r}return e}function Xs(t,e){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+e)+"})|(\\d{2}|[+-]\\d{"+(2+e)+"})$)"),r=t.match(n);if(!r)return{year:NaN,restDateString:""};const s=r[1]?parseInt(r[1]):null,a=r[2]?parseInt(r[2]):null;return{year:a===null?s:a*100,restDateString:t.slice((r[1]||r[2]).length)}}function js(t,e){if(e===null)return new Date(NaN);const n=t.match(Hs);if(!n)return new Date(NaN);const r=!!n[4],s=H(n[1]),a=H(n[2])-1,o=H(n[3]),c=H(n[4]),i=H(n[5])-1;if(r)return na(e,c,i)?Js(e,c,i):new Date(NaN);{const u=new Date(0);return!ea(e,a,o)||!ta(e,s)?new Date(NaN):(u.setUTCFullYear(e,a,Math.max(s,o)),u)}}function H(t){return t?parseInt(t):1}function zs(t){const e=t.match(Bs);if(!e)return NaN;const n=pe(e[1]),r=pe(e[2]),s=pe(e[3]);return ra(n,r,s)?n*ke+r*Ie+s*1e3:NaN}function pe(t){return t&&parseFloat(t.replace(",","."))||0}function Ks(t){if(t==="Z")return 0;const e=t.match(Vs);if(!e)return 0;const n=e[1]==="+"?-1:1,r=parseInt(e[2]),s=e[3]&&parseInt(e[3])||0;return sa(r,s)?n*(r*ke+s*Ie):NaN}function Js(t,e,n){const r=new Date(0);r.setUTCFullYear(t,0,4);const s=r.getUTCDay()||7,a=(e-1)*7+n+1-s;return r.setUTCDate(r.getUTCDate()+a),r}const Zs=[31,null,31,30,31,30,31,31,30,31,30,31];function It(t){return t%400===0||t%4===0&&t%100!==0}function ea(t,e,n){return e>=0&&e<=11&&n>=1&&n<=(Zs[e]||(It(t)?29:28))}function ta(t,e){return e>=1&&e<=(It(t)?366:365)}function na(t,e,n){return e>=1&&e<=53&&n>=0&&n<=6}function ra(t,e,n){return t===24?e===0&&n===0:n>=0&&n<60&&e>=0&&e<60&&t>=0&&t<25}function sa(t,e){return e>=0&&e<=59}const j=t=>{if(!t.includes("T")){for(const n of aa){const r=Fs(t,n,new Date);if(be(r))return r}return null}const e=Qs(t);return be(e)?e:null},aa=["yyyy-MM-dd","MM-dd-yyyy"],xe=(t,e,n)=>{const r={};return e?.contentType!==null&&(r[Qn]=e?.contentType||Un),e?.jwt?r.Authorization=`Bearer ${e.jwt}`:t&&(r[z]=t),e?.chatReference&&(r[Hn]=e.chatReference),{...r,...n}},oa=t=>{const e={...t};return e[z]&&(e[z]=e[z].substring(0,8)+"...[REDACTED]"),e.Authorization&&(e.Authorization="Bearer [REDACTED]"),e[K]&&(e[K]=e[K].substring(0,8)+"...[REDACTED]"),e},nt=async(t,e,n)=>await fetch(t,{method:n.method||"GET",headers:e,body:n.body?JSON.stringify(n.body):void 0}),ia=async(t,e,n)=>{const r=n?.body===void 0?void 0:n?.isFormData?n.body:JSON.stringify(n.body);return await fetch(t,{method:n.method,headers:e,body:r,signal:n?.signal})};class ca{constructor(){this.decoder=new TextDecoder}async streamChat(e,n,r={},s){const{onMessage:a,onError:o,onComplete:c,signal:i}=r;try{const u=await this.initializeStreamRequest(e,n,i,s);await this.processStreamData(u,a),c?.()}catch(u){this.handleStreamError(u,o)}}async initializeStreamRequest(e,n,r,s){const a=xe(void 0,{jwt:s}),o=await ia(e,{Accept:"text/event-stream",...a},{method:"POST",body:n,signal:r});if(!o.ok){const c=await o.text();let i={};try{i=JSON.parse(c)}catch{i.error="Failed to parse error body"}throw new je({status:o.status,message:i.error??"No response body"})}if(!o.body)throw new je({message:"No response body",status:o.status});return o.body.getReader()}async processStreamData(e,n){let r="";try{for(;;){const{done:s,value:a}=await e.read();if(s){r.trim()&&this.parseSSEDataLine(r,n);break}const o=this.decoder.decode(a,{stream:!0});r+=o;const c=r.split(`
|
|
2
|
-
`);r=c.pop()||"";for(const i of c)this.parseSSEDataLine(i,n)}}finally{e.releaseLock()}}handleStreamError(e,n){const r=e instanceof Error?e:new Error(String(e));throw n?.(r),r}parseSSEDataLine(e,n){const r=e.trim();if(!(!r||r.startsWith(":"))&&r.startsWith("data: ")){const s=r.slice(6);if(s==="[DONE]"){console.info("SSE: Stream completed");return}let a;try{a=JSON.parse(s)}catch(o){console.error(`Failed to parse SSE data: ${s} ${o}`)}n?.(a)}}}new ca;class ua{constructor(e){this.config=e,console.info("SdmxApiClient initialized",{apiUrl:e.apiUrl||"NOT SET"})}async getRequest(e,n,r){return this.request(e,{...n,method:"GET"},void 0,r)}async postRequest(e,n,r,s){return this.request(e,{...n,method:"POST"},r,s)}async streamRequest(e,n,r,s,a){const o=`${this.config.apiUrl}/${e}`,c=this.buildHeaders(s,n.headers),i=new ReadableStream({async start(d){try{const l=await nt(o,c,n);if(!l.ok){const v=await l.text();throw console.error(`Fetch failed! Status: ${l.status}, Body: ${v}`),new Error(`Fetch failed with status ${l.status}`)}const m=l.body?.getReader();if(!m)throw new Error("Failed to create stream reader");const M=new Uint8Array([239,187,191]);d.enqueue(M);const x=async()=>{const{done:v,value:f}=await m.read();v?d.close():(d.enqueue(f),await x())};x()}catch(l){d.error(l)}}}),u=new Headers({"Content-Disposition":`attachment; filename=${encodeURIComponent(r)}`,...a?{"Content-Type":a}:{}});return new Response(i,{headers:u})}async request(e,n,r,s){const a=Date.now(),o=`${r||this.config.apiUrl}/${e}`,c=this.buildHeaders(s,n.headers);this.addInfoRequestLog("API Request",o,n,c);try{const i=await nt(o,c,n),u=Date.now()-a;let d;const l=await i.text();try{d=l?JSON.parse(l):{}}catch{if(this.addErrorRequestParsing(o,n,i,u,l),!i.ok)throw new Error(`API request failed: ${i.status} ${i.statusText} - ${l.substring(0,100)}`);d={data:l}}if(!i.ok){this.addErrorRequestLog(o,n,i,u,d);const m=Fn(d,i);throw new Error(`API request failed: ${m}`)}return d}catch(i){const u=Date.now()-a;throw console.error("API Request Exception",{method:n.method,url:o,duration:`${u}ms`,error:i instanceof Error?i.message:String(i)}),i}}buildHeaders(e,n){if(this.config.isDialProxyMode)return{...xe(this.config.dialApiKey,{jwt:e}),...n};const r={...xe(void 0,{jwt:this.config.jwt}),...n};return this.config.apiKey!=null&&(r[K]=this.config.apiKey),r}addInfoRequestLog(e,n,r,s){const a={method:r.method||"GET",url:n,headers:oa(s)};r.body&&(a.body=r.body),console.info(e,a)}addErrorRequestLog(e,n,r,s,a){console.error("API Request Failed",{method:n.method,url:e,status:r.status,statusText:r.statusText,duration:`${s}ms`,response:a})}addErrorRequestParsing(e,n,r,s,a){console.error("API Response Parse Error",{method:n.method,url:e,status:r.status,statusText:r.statusText,duration:`${s}ms`,responseText:a.substring(0,200),error:"Response is not valid JSON"})}}var se=(t=>(t.LAST_UPDATE_AT="lastUpdatedAt",t.SERIES_COUNT="series_count",t))(se||{});function da(t){return t?.annotations?.find(e=>{if(e.id===se.LAST_UPDATE_AT)return e})?.value}const ae=(t,e)=>t?.names&&t?.names[e]||t?.name,kt=(t,e,n)=>{if(!(!t||e?.has(t?.id))&&(e?.set(t?.id,t),t?.parent)){const r=n?.get(t?.parent);kt(r,e,n)}},St=(t,e)=>{const n=new Map,r=new Map(t?.map(s=>[s.id,s]));return e?.forEach(s=>{kt(s,n,r)}),Array.from(n?.values())};var Ct=(t=>(t.C="c",t))(Ct||{}),_=(t=>(t.EQUALS="eq",t.NOT_EQUALS="ne",t.LESS="lt",t.LESS_OR_EQUAL="le",t.GREATER="gt",t.GREATER_OR_EQUAL="ge",t.CONTAINS="co",t.NOT_CONTAINS="nc",t.STARTS="sw",t.ENDS="ew",t))(_||{}),Yt=(t=>(t.BOOLEAN="Boolean",t.DATE_TIME="DateTime",t.DECIMAL="Decimal",t.INTEGER="Integer",t.OBSERVATION_TIME_PERIOD="ObservationalTimePeriod",t.STRING="String",t.TIME="Time",t.TIME_RANGE="TimeRange",t.URI="URI",t))(Yt||{}),Lt=(t=>(t.ANNUAL="A",t.QUARTERLY="Q",t.MONTHLY="M",t))(Lt||{});const la=["FREQ","FREQUENCY"],Wt="TIME_PERIOD",$t="time_period_start",qt="time_period_end",fa=t=>{const e=t?.find(a=>a.id===$t),n=t?.find(a=>a.id===qt),r=n?.title?new Date(n?.title):null;return{startPeriod:e?.title?new Date(e?.title):null,endPeriod:r}},ma=(t,e)=>t.id.localeCompare(e.id),ha=(t,e)=>t.memberValue.localeCompare(e.memberValue),ga=(t,e)=>{const n=new Array(t.length),r=t.map((o,c)=>[o,c]);r.sort((o,c)=>ma(o[0],c[0]));const s=[...e];s.sort(ha);let a=0;for(const o of r){const c=o[0];for(;a<s.length&&s[a].memberValue.localeCompare(c.id)<0;)a+=1;a<s.length&&s[a].memberValue===c.id&&(n[o[1]]=o[0])}return n.filter(o=>o!=null)},wa=t=>!!t?.some(e=>e.parent),ya=(t,e,n,r,s=[])=>{let a=t||[];if(pa(n||[],e||"")){const o=(n||[])[0].cubeRegions?.find(({isIncluded:c})=>c);if(o){const c=o.memberSelection?.find(({componentId:i})=>i===e);c?a=a.length===0?(c.selectionValues||[]).map(({memberValue:i})=>({id:i,name:i})):ga(a,c.selectionValues):a=[]}}else s.length!==0&&(a=a.filter(({id:o})=>s.includes(o)));return wa(t)&&(a=St(t,a)),a?.map(o=>({...o,name:r?ae(o,r):o?.name}))},pa=(t,e)=>t!=null&&t.length>0&&e!=null,Ft=t=>{const e=[];return t?.filters?.forEach(n=>{n.componentCode!==Wt&&e.push({componentCode:n.componentCode,operator:_.EQUALS,value:n.values.join(",")})}),e},Da=t=>{const e=new Map;return t?.forEach(n=>{e.set(n.urn,Ft(n))}),e},ba=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,rt=t=>{if(typeof t!="string")throw new TypeError("Invalid argument expected string");const e=t.match(ba);if(!e)throw new Error(`Invalid argument not valid semver ('${t}' received)`);return e.shift(),e},st=t=>t==="*"||t==="x"||t==="X",at=t=>{const e=parseInt(t,10);return isNaN(e)?t:e},Ta=(t,e)=>typeof t!=typeof e?[String(t),String(e)]:[t,e],Ea=(t,e)=>{if(st(t)||st(e))return 0;const[n,r]=Ta(at(t),at(e));return n>r?1:n<r?-1:0},ot=(t,e)=>{for(let n=0;n<Math.max(t.length,e.length);n++){const r=Ea(t[n]||"0",e[n]||"0");if(r!==0)return r}return 0},xa=(t,e)=>{const n=rt(t),r=rt(e),s=n.pop(),a=r.pop(),o=ot(n,r);return o!==0?o:s&&a?ot(s.split("."),a.split(".")):s||a?s?-1:1:0},Pa=(t,e,n)=>{Ma(n);const r=xa(t,e);return Ut[n].includes(r)},Ut={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},it=Object.keys(Ut),Ma=t=>{if(it.indexOf(t)===-1)throw new Error(`Invalid operator, expected one of ${it.join("|")}`)},ee="+",oe=(t,e)=>{const{agency:n,id:r,version:s}=S(t),a=e.filter(i=>i.agencyID===n&&i.id===r&&!i?.version?.includes(ee));if(a.length===1)return a[0];if(!s?.includes(ee))return a.find(i=>i.version===s);const o=a.map(i=>i.version),c=Qt(s,o);return a.find(i=>i.version===c[0])},Qt=(t,e)=>{const n=va(t,e);return n.length>0?[n[0]]:[]},va=(t,e)=>{const n=[];return e.forEach(r=>{Bt(t,r)&&n.push(r)}),n},Ht=t=>{const e=t.trim(),n=e.indexOf("+");if(n<=0)return"";let r=n;for(;r>0&&e[r-1]>="0"&&e[r-1]<="9";)r--;return r>0?e.slice(0,r):""},Bt=(t,e)=>{const n=t.trim().replace(/\+/,""),r=Ht(t);return e.startsWith(r)&&Pa(e,n,">=")},ie=(t,e)=>{const{concept:n}=Vt(t,e);return n},Vt=(t,e)=>{if(t==null)return{concept:void 0,scheme:void 0};const{childId:n,agency:r,id:s,version:a}=Oe(t);if(a?.includes(ee)){const o=oe(t,e);return{concept:Pe(o?.concepts||[],n),scheme:o}}for(const o of e)if(Aa(o,s,r,a))return{concept:Pe(o?.concepts||[],n),scheme:o};return{concept:void 0,scheme:void 0}},Pe=(t,e)=>t?.find(n=>n.id===e),Aa=(t,e,n,r)=>t.id===e&&t.agencyID===n&&t.version===r,Oa=(t=[],e=[],n)=>{const r=n?.conceptIdentity||"",s=ie(r,e),a=B(n?.localRepresentation?.enumeration),o=B(s?.coreRepresentation?.enumeration),c=a||o;if(c!=null)return oe(c,t)},Gt=(t,e)=>{const n=t?.data?.dataSets?.[0],s=t?.data?.structures?.[0]?.attributes?.dimensionGroup||[],a=n?.dimensionGroupAttributes,o={};for(const c of s){const i=c.relationship.dimensions,{codedSeriesKey:u,decodedSeriesKey:d}=Le(t,e,i);o[c.id]={values:a?.[u]||[],decodedSeriesKey:d,codedSeriesKey:u}}return o},Le=(t,e,n)=>{const r=t?.data?.structures?.[0],s=[...r?.dimensions.series||[],...r?.dimensions.observation||[]],a=new Array(s?.length),o=new Array(s?.length);return n?.forEach(c=>{const i=s?.findIndex(l=>l.id===c)||0,u=e[i],d=s[i].values.findIndex(l=>l.id===u||l.value===u)||0;a[i]=d>=0?d:u,o[i]=u}),{codedSeriesKey:a.join(":"),decodedSeriesKey:o.join(":")}},Ra=(t,e,n)=>{const r=t?.data?.dataSets?.[0],s=t?.data?.structures?.[0],a=(s?.attributes?.dimensionGroup||[]).filter(l=>l.relationship.dimensions?.length===1&&l.relationship.dimensions.includes(e||"")),o=r?.dimensionGroupAttributes,c=[...s?.dimensions.series||[],...s?.dimensions.observation||[]],i=c?.findIndex(l=>l.id===e),u=new Array(c?.length);u[i]=n||"";const d={};for(const l of a){const m=l.relationship.dimensions,{codedSeriesKey:M,decodedSeriesKey:x}=Le(t,u,m);d[l.id]={values:o?.[M]||[],decodedSeriesKey:x,codedSeriesKey:M}}return d},Xt=(t,e)=>{if(e==null)return;const n=t.values?.[e];return n??(e instanceof Array?{values:e}:{value:e.toString()})},_a=(t,e,n,r)=>{const s=e?.find(a=>a?.id===t?.id)?.values;return n?.filter(a=>s?.some(o=>o.id===a.id))?.map(a=>({...a,name:r?ae(a,r):a?.name}))||[]},jt=(t,e)=>{const n=e?.dataStructureComponents?.attributeList,r=t?.metadataStructureComponents?.metadataAttributeList;return n?.metadataAttributeUsages?.map(s=>{const a=r?.metadataAttributes?.find(o=>o?.id===s?.metadataAttributeReference);return{...a,id:a?.id??s.metadataAttributeReference,attributeRelationship:s.attributeRelationship,isMandatory:Number(a?.minOccurs)>0}})},Na=(t=[],e,n)=>{const r=B(e?.conceptIdentity)||"",s=ie(r,t);return n?ae(s,n):s?.name??s?.id??e?.id};var zt=(t=>(t.CONDITIONAL="Conditional",t.MANDATORY="Mandatory",t))(zt||{}),ce=(t=>(t.DIMENSION="Dimension",t.MEASURE_DIMENSION="MeasureDimension",t.TIME_DIMENSION="TimeDimension",t))(ce||{}),Kt=(t=>(t.UNBOUNDED="unbounded",t))(Kt||{});function Me(t){return t?.dataStructures?.[0]?.dataStructureComponents?.dimensionList}function Ia(t){return t?.data?.structures?.[0]?.dimensions?.series||[]}function ka(t){return t?.data?.structures?.[0]?.dimensions?.observation?.[0].values.map(e=>e.value?e.value:e.id).filter(e=>e!=null)||[]}function Sa(t){return t.find(e=>e.type===ce.TIME_DIMENSION)}const Ca=t=>{const e=new Map,n=t?.dataStructures?.[0],r=t?.metadataStructures?.[0],s=t?.conceptSchemes||[],a=t?.codelists||[];if(t){const o=jt(r,n);[...Me(t)?.dimensions||[],...Me(t)?.timeDimensions||[],...o,...n?.dataStructureComponents?.attributeList?.attributes||[]].forEach(i=>{const u=ie(i?.conceptIdentity,s),d=i?.localRepresentation?.enumeration||u?.coreRepresentation?.enumeration,l=oe(d,a);i?.id&&(d?e.set(i?.id,{...l,name:u?.name,names:u?.names}):e.set(i?.id,{id:i?.id,name:u?.name,names:u?.names}))})}return e},Ya=t=>t?.find(e=>e.id===se.SERIES_COUNT)?.title||"",We=1440*60*1e3,$e=7*We;function qe(t){const e=`${t}-01-01`,n=new Date(e);if(n.getDay()!==4){const s=1+(4-n.getDay()+7)%7;n.setMonth(0,s)}return n}function La(t){const e=new Date(t),r=-((e.getDay()+6)%7)+3;return e.setDate(e.getDate()+r),new Date(e.valueOf())}function ve(t,e="W"){const n=`${t}-12-31`,r=V(new Date(n),e);if(r.weekYear===t)return r.weekNumber;const s=`${t}-12-24`;return V(new Date(s),e).weekNumber}function Fe(t,e,n="W"){return`${t}-${n}${e<10?"0"+e:e}`}function V(t,e="W"){const n=La(t),r=n.getFullYear(),s=qe(r),a=1+Math.ceil((n.getTime()-s.getTime())/$e);return{code:Fe(r,a,e),weekNumber:a,weekYear:r}}function Jt(t){const[e,n]=t.split("-W"),s=qe(+e).getTime()+(+n-1)*$e-3*We;return new Date(s)}function Zt(t){const[e,n]=t.split("-W"),s=qe(+e).getTime()+(+n-1)*$e+3*We;return new Date(s)}const ct="/api/download",Wa=6e4,$a=/[\x00-\x1F\x7F<>:"/\\|?*]/g,Ue=t=>t.normalize("NFKC").replace($a,"_").replace(/_+/g,"_").replace(/\s+/g," ").replace(/^[._ ]+/,"").trim()||"download",qa=(t,e,n,r,s,a,o)=>{const c=new URL(ct,window.location.origin);if(c.search=new URLSearchParams({urn:t,format:e,compress:"false",filename:a,filters:JSON.stringify(s),attribute:r,language:n,isMetadata:o?"true":"none"}).toString(),c.origin!==window.location.origin||c.pathname!==ct)throw new Error("Invalid download URL");return c.toString()},Fa=(t,e)=>{const n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=Ue(e),r.rel="noopener noreferrer",r.click(),window.setTimeout(()=>URL.revokeObjectURL(n),Wa)},Ua=async(t,e,n,r,s,a,o,c)=>{const i=Ue(a),u=qa(t,e,n,r,s,i,o),d=await fetch(u,{method:"GET",credentials:"same-origin",signal:c});if(!d.ok){const m=await d.text();throw new Error(`Download request failed: ${d.status} ${d.statusText}${m?` - ${m}`:""}`)}const l=await d.blob();c?.aborted||Fa(l,i)},Qa=(t,e)=>{const n=[];for(const r of t){if(r.type!==ce.DIMENSION)continue;const s=e.find(a=>a.componentCode===r.id);s!=null&&s.values?.length>0?n.push(s.values?.join(Ne)):n.push("*")}return n.join(".")},en=(t,e)=>{if(!t||!t.startPeriod&&!t.endPeriod)return null;const n=[],{startPeriod:r,endPeriod:s}=t;if(r&&n.push(`${_.GREATER_OR_EQUAL}${Ge}${ut(r)}`),s&&n.push(`${_.LESS_OR_EQUAL}${Ge}${ut(s)}`),n.length===0)return null;const a=e,o=n.join(Ne);return`${encodeURIComponent(`c[${a}]`)}${Ln}${encodeURIComponent(o)}`},ut=t=>Qr(t,"yyyy-MM-dd"),Ha=(t,e)=>{const n=tn(t,e)||null;return n?en(n,e?.id):null},tn=(t,e)=>{const n=e.id,r=t?.filters?.find(i=>i.componentCode===n);if(!r||!r.values)return null;const s=r.values?.filter(i=>!!i);if(!s.length)return null;const a=r.operator;if(a===_.LESS_OR_EQUAL||a===_.LESS)return{startPeriod:null,endPeriod:j(s[0])};if(a===_.GREATER_OR_EQUAL||a===_.GREATER)return{startPeriod:j(s[0]),endPeriod:null};const o=j(s[0]),c=j(s[1]);return{startPeriod:o,endPeriod:c}},nn="Observation",Ba=t=>{const e=t?.data?.dataSets,n=t?.data?.structures?.[0];if(!e||!n)return[];const r=n.attributes,s=n.dimensions,a=r?.dimensionGroup||[],o=e[0].series||e[0].observations,c=s.series?.length?s.series:s.observation,i=[];for(const u in o){const d=[],{name:l,parsedTimeSeriesValue:m}=rn(u,c),M=o[u],x=M.attributes||[];if(Object.keys(M).length===0){i.push({name:l,parsedTimeSeriesValue:m,values:d,attributes:[],dataSetAttrs:[]});continue}d.push(...Ga(M,n));const v=te(r?.series||[],A=>x[A]),f=Xa(n.attributes?.dataSet||[],e[0].attributes?.filter(A=>A!=null)||[]),w=Gt(t,m),P=a.map((A,q)=>{const F=w[A.id],G=Xt(A,F.values[q]);return{attribute:A,dimensionGroupValue:G,dimensionGroupData:F}});i.push({name:l,parsedTimeSeriesValue:m,values:d,attributes:v,dataSetAttrs:f,dimensionGroupAttributes:P})}return i},rn=(t,e)=>{const n=t.split(new RegExp("(?<!\\|):(?!\\||$)")),r=[];for(let s=0;s<n.length;s++){const a=e?.[s],o=Number(n[s]);if(o<0||a==null)continue;const c=a.values[o];if(c==null){r.push(n[s].replace("|:",":"));continue}r.push(c?.id||c?.value||"")}return{name:sn(r),parsedTimeSeriesValue:r}},te=(t,e)=>{const n=[];for(let r=0;r<t.length;r++){const s=t[r],a=e(r),o=a!=null&&s.values!=null?Va(a,s):void 0;n.push({name:s.id,value:o})}return n},Va=(t,e)=>{const n=e.values[t];return n==null?typeof t=="object"?t:t.toString():n?.id||n?.value||n?.ids||n?.values},sn=t=>t.map(e=>e?an(e):"").join("."),an=t=>t.replace(/\./g,"|.").replace(/:/g,"|:"),Ga=(t,e)=>{const n=e.measures?.observation?.length;if(t.observations==null)return[{values:dt(t,e.measures),obsAttributes:te(e.attributes?.observation||[],o=>t[o+n]),dimensionAtObservation:nn}];const r=t.observations,s=e.dimensions.observation?.[0],a=[];for(const o in r){const c=s?.values[o];a.push({dimensionAtObservation:c?.value||c?.id,values:dt(r[o],e.measures),obsAttributes:te(e.attributes?.observation||[],i=>r[o][i+n])})}return a},dt=(t,e)=>e?.observation?.map((n,r)=>({name:n.id,value:t[r]}))||[],Xa=(t,e)=>t.reduce((n,r,s)=>{const a=e[s];return ja(n,r,a,""),n},[]),ja=(t,e,n,r)=>{const s=n!=null?e?.values?.length>0?e.values[n]?.id||e.values[n]?.value:String(n):r;t.push({name:e.id,value:s||""})},on=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,cn=/^[0-9][0-9][0-9][0-9]-W(0[1-9]|[1-4][0-9]|5[0-3])$/,un=/^[0-9][0-9][0-9][0-9]-S[1-2]$/,dn=/^[0-9][0-9][0-9][0-9]$/,ln=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,fn=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,ue=t=>dn.exec(t),de=t=>!!ue(t),mn=t=>un.exec(t),le=t=>!!mn(t),fe=t=>fn.exec(t),me=t=>!!fe(t),he=t=>on.exec(t),ge=t=>!!he(t),hn=t=>ln.exec(t),gn=t=>!!hn(t),wn=t=>cn.exec(t),we=t=>!!wn(t);function Qe(t){return de(t)?za(t):le(t)?Ja(t):ge(t)?eo(t):me(t)?no(t):we(t)?Jt(t):so(t)}function He(t){return de(t)?Ka(t):le(t)?Za(t):ge(t)?to(t):me(t)?ro(t):we(t)?Zt(t):ao(t)}function za(t){const e=ue(t);if(e)return new Date(Number(e[0]),0,1)}function Ka(t){const e=ue(t);if(e)return new Date(Number(e[0])+1,0,1)}function Ja(t){const[e,n]=t.split("-S");switch(+n){case 1:return new Date(+e,0,1);case 2:return new Date(+e,6,1)}}function Za(t){const[e,n]=t.split("-S");switch(+n){case 1:return new Date(+e,6,1);case 2:return new Date(+e+1,0,1)}}function eo(t){const e=he(t);if(!e)return;const[n,r]=e[0].split("-Q");switch(+r){case 1:return new Date(+n,0,1);case 2:return new Date(+n,3,1);case 3:return new Date(+n,6,1);case 4:return new Date(+n,9,1)}}function to(t){const e=he(t);if(!e)return;const[n,r]=e[0].split("-Q");switch(+r){case 1:return new Date(+n,3,1);case 2:return new Date(+n,6,1);case 3:return new Date(+n,9,1);case 4:return new Date(+n+1,0,1)}}function no(t){const e=fe(t);if(!e)return;const[n,r]=e[0].split("-M");return new Date(+n,+r-1,1)}function ro(t){const e=fe(t);if(!e)return;const[n,r]=e[0].split("-M");return new Date(+n,+r,1)}const so=t=>new Date(`${t}T00:00:00`),ao=t=>{const e=new Date(`${t}T23:59:00`);return e.setMinutes(e.getMinutes()+1),e},oo=1,yn=(t,e,n,r=!0,s="Q")=>{const a=[],o=e&&e>3?mo(e,r):1,c=n?Math.floor((n-1)/3):4;for(let i=o;i<=c;i++)a.push(`${t}-${s}${i}`);return a},pn=(t,e,n,r="S")=>{const s=[];return(e||1)<7&&(n||12)>6&&s.push(`${t}-${r}1`),n==null&&s.push(`${t}-${r}2`),s},io=t=>Math.ceil(t/3),Dn=(t,e,n="M")=>`${t}-${n}${e.toString().padStart(2,"0")}`,co=(t,e,n="M")=>{const r=[];for(let s=e;s<=12;s++)r.push(Dn(t,s,n));return r},uo=(t,e,n,r="M")=>{const s=[];for(let a=e;a<n;a++)s.push(Dn(t,a,r));return s},bn=(t,e,n,r="M")=>{const s=e||1,a=n==null,o=n||12;return a?co(t,s,r):uo(t,s,o,r)},lo=(t,e,n="M")=>{switch(e){case 0:return[`${t}-${n}01`,`${t}-${n}02`,`${t}-${n}03`];case 1:return[`${t}-${n}04`,`${t}-${n}05`,`${t}-${n}06`];case 2:return[`${t}-${n}07`,`${t}-${n}08`,`${t}-${n}09`];case 3:return[`${t}-${n}10`,`${t}-${n}11`,`${t}-${n}12`];default:return[]}},Tn=(t,e)=>{const n=N(e,!0),r=N(t),s=n.getFullYear(),a=r.getFullYear(),o=n.getTime()<=r.getTime()?a+oo-s:0;return Array.from({length:o},(i,u)=>s+u)},N=(t,e=!1)=>{const n=fo(t,e);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},fo=(t,e=!1)=>{const n=Number(t);return t.toString().length!==13?e?Qe(t):He(t):isNaN(n)?new Date(`${t}T00:00:00.000Z`):new Date(n)},mo=(t,e)=>e?Math.floor((t+1)/3):Math.ceil((t+1)/3),ho=(t,e)=>{const n=ft(t)-ft(e);if(n===0&&t!==e){const r=lt(t),s=lt(e);return r-s}return n},lt=t=>de(t)?6:le(t)?5:ge(t)?4:me(t)?3:we(t)?2:gn(t)?1:0,ft=(t,e=!1)=>(e?Qe(t):He(t))?.getTime()||0,Be=(t,e,n)=>{const r=N(e,!0),s=N(n),a=N(t,!0),o=N(t),c=r.getTime()>a.getTime()?r:a,i=s.getTime()<o.getTime()?s:o;return{start:c,end:i}},En=(t,e,n,r="W")=>{const s=+t,{start:a,end:o}=Be(t,e,n);if(a.getTime()>o.getTime())return[];const c=V(a,r),i=c.weekYear===s?c.weekNumber:c.weekYear<s?1:ve(s,r),u=V(o,r),d=u.weekYear===s?u.weekNumber:u.weekYear>s?ve(s,r):1,l=[];if(i<d)for(let m=i;m<=d;m++)l.push(Fe(s,m,r));return l},go=t=>{const e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e.toISOString().slice(0,10)},xn=(t,e,n)=>{const{start:r,end:s}=Be(t,e,n);if(r.getTime()>s.getTime())return[];const a=[],o=new Date(r.getFullYear(),r.getMonth(),r.getDate()),c=new Date(s.getFullYear(),s.getMonth(),s.getDate());for(;o.getTime()<c.getTime();){const i=go(o);a.push(i),o.setDate(o.getDate()+1)}return a},Pn=t=>({isDailyExist:!!t?.some(({memberValue:e})=>e==="D"),isWeeklyExist:!!t?.some(({memberValue:e})=>e==="W"),isMonthlyExist:!!t?.some(({memberValue:e})=>e==="M"),isQuarterlyExist:!!t?.some(({memberValue:e})=>e==="Q"),isSemiAnnualExist:!!t?.some(({memberValue:e})=>e==="S"),isYearlyExist:!!t?.some(({memberValue:e})=>e==="A"||e==="Y")}),wo=(t,e,n,r)=>{const s=r===0?N(e.toString(),!0)?.getMonth()+1:void 0,a=r===t.length-1?N(n.toString())?.getMonth()+1||1:void 0;return{startMonth:s,endMonth:a}},Mn=["FREQUENCY","FREQ"],yo=(t,e)=>{const n=t?.[0]?.cubeRegions?.[0]?.memberSelection?.find(i=>Mn.includes(i.componentId))?.selectionValues,r=Pn(n||[]),s=e?.startPeriod?.getTime()||1,a=e?.endPeriod?.getTime()||1,o=Tn(a,s),c=[];return o.forEach((i,u)=>{const d=[],{startMonth:l,endMonth:m}=wo(o,new Date(s),new Date(a),u),{isDailyExist:M,isWeeklyExist:x,isMonthlyExist:v,isQuarterlyExist:f,isSemiAnnualExist:w,isYearlyExist:P}=r;P&&d.push(i.toString()),w&&d.push(...pn(i,l,m)),f&&d.push(...yn(i,l,m,!1)),v&&d.push(...bn(i,l,m)),x&&d.push(...En(i,s.toString(),a.toString())),M&&d.push(...xn(i,s.toString(),a.toString())),c.push(...d)}),c};function po(t){const{urn:e}=t.details;return ne(e.resourceId,e.version,e.agencyId)}function Do(t){const e={};for(const n of t.datasets){const r=n.dataset,s=po(r);e[s]=r.details.dimensions}return e}function bo(t){return t?.codelists?.length?t.codelists.map(e=>({id:e.id,agencyID:e.agencyID??"",version:e.version??"",name:e.name,codes:e.codes?.map(n=>({id:n.id,name:n.name,description:n.description}))})):(t?.glossaries??[]).map(e=>({id:e.id,agencyID:e.agencyID??"",version:e.version??"",name:e.name,codes:e.terms?.map(n=>({id:n.id,name:n.name,description:n.description}))}))}function vn(t,e){const n=r=>{const s=r.indexOf("(");if(s===-1)return r;const a=r.indexOf(")",s);return a===-1?r:r.slice(0,s+1)+"*"+r.slice(a)};return n(t)===n(e)}function Ae(t){return ne(t.id,t.version??"",t.agencyID??"")}function An(t,e,n){e?.forEach(r=>{const{childId:s,agency:a,id:o,version:c}=Oe(r.code),i=ne(o,c,a),u=n?.find(l=>vn(i,Ae(l))),d=u?.codes?.find(l=>l.id===s);if(d!=null){const l=r.code.replace(i,Ae(u));t.push({...d,code:l})}An(t,r.hierarchicalCodes,n)})}function To(t,e){const n=[];return An(n,t?.hierarchicalCodes,e),n}function Eo(t){const e={};return t?.forEach(n=>{e[Ae(n)]=n.codes}),e}function xo(t,e,n){if(!n||n.length===0||!e)return t;const r=n[0].cubeRegions?.find(o=>o.isIncluded);if(!r)return t;const s=r.memberSelection?.find(o=>o.componentId===e);if(!s)return[];const a=new Set(s.selectionValues.map(o=>o.memberValue));return t.filter(o=>a.has(o.id))}class Po{constructor(e){this.client=e}async getAvailableHierarchies(e,n,r){const{agency:s,id:a,version:o}=S(e),i=`${this.client.config.sdmxProxyUrl?this.client.config.sdmxProxyUrl:this.client.config.apiUrl}/sdmx/3.0/structure/codelist`,u=r?{[Xe]:r}:void 0;return this.client.request(`${s}/${a}/${o}?references=hierarchy&detail=allcompletestubs`,{method:"GET",headers:u},i,n)}async getHierarchy(e,n,r){const{agency:s,id:a,version:o}=S(e),i=`${this.client.config.sdmxProxyUrl?this.client.config.sdmxProxyUrl:this.client.config.apiUrl}/sdmx/3.0/structure/hierarchy`,u=r?{[Xe]:r}:void 0;return this.client.request(`${s}/${a}/${o}?references=descendants&detail=full`,{method:"GET",headers:u},i,n)}}exports.Annotations=se;exports.AssignmentStatus=zt;exports.AvailabilityApi=Sn;exports.DATASET_DATA_URL=yt;exports.DatasetApi=qn;exports.DimensionType=ce;exports.DownloadType=ht;exports.FREQUENCY_DIMENSION_ID=la;exports.FREQUENCY_DIM_ID=Mn;exports.FileColumnsAttribute=mt;exports.GET_v3_FILTER_ALL=pt;exports.GET_v3_FILTER_AND=Wn;exports.GET_v3_FILTER_OR=Ne;exports.HierarchyApi=Po;exports.OBSERVATION_KEY=nn;exports.OccurrenceType=Kt;exports.Periods=Lt;exports.RepresentationTextType=Yt;exports.SDMX_DATA_QUERY_PARAMS=Ct;exports.SINGLE_WILDCARD_SYMBOL=ee;exports.SdmxApiClient=ua;exports.SdmxAvailabilityMode=Re;exports.SdmxDataFormat=k;exports.SdmxDetails=_e;exports.SdmxReferences=re;exports.SeriesFilterOperator=_;exports.TIME_PERIOD=Wt;exports.TIME_PERIOD_END_ANNOTATION_KEY=qt;exports.TIME_PERIOD_START_ANNOTATION_KEY=$t;exports.buildDatasetDimensionsMetadataMap=Do;exports.dailyPattern=ln;exports.decodeDimensionId=an;exports.findCodelistByDimension=Oa;exports.generateDatasetDataRequest=De;exports.generateShortUrn=ne;exports.getAdditionalColumns=yo;exports.getAnnotationPeriod=fa;exports.getArtifactByUrnWithWildCard=oe;exports.getAttachedDimensionsSeriesByDimension=Ra;exports.getAttachedDimensionsSeriesByTsId=Gt;exports.getAttachedDimensionsSeriesKey=Le;exports.getAttributeValueFromDataQueryResponse=Xt;exports.getAvailableCodes=_a;exports.getAvailableCodesFromConstrains=ya;exports.getChildParsedUrn=Oe;exports.getCodeListsData=Eo;exports.getConcept=ie;exports.getConceptByUrn=Pe;exports.getConceptWithScheme=Vt;exports.getConvertedMetaAttributes=jt;exports.getDailyRegExp=hn;exports.getDaysColumns=xn;exports.getDimensionTitle=Na;exports.getDimensions=Me;exports.getFilteredItemsWithParents=St;exports.getFiltersDtoFromDataQuery=Ft;exports.getFiltersDtoMapFromDataQuery=Da;exports.getHierarchyAvailableCodes=xo;exports.getHierarchyCodes=To;exports.getISOWeek=V;exports.getKeyFromUrn=B;exports.getLastUpdatedTime=da;exports.getLastWeekNumberOfYear=ve;exports.getLocalizedName=ae;exports.getMonthlyData=bn;exports.getMonthlyDataByQuarter=lo;exports.getMonthlyRegExp=fe;exports.getParsedEndPeriodDate=He;exports.getParsedResponse=Ba;exports.getParsedStartPeriodDate=Qe;exports.getPeriodDate=N;exports.getPeriods=Pn;exports.getQuarterByMonth=io;exports.getQuarterlyRegExp=he;exports.getQuartersData=yn;exports.getQueryTimePeriodFilters=en;exports.getRequestAcceptHeader=gt;exports.getResolvedVersionBySingleWildcard=Qt;exports.getResponseContentType=wt;exports.getSemiAnnualData=pn;exports.getSemiAnnuallyRegExp=mn;exports.getSeriesAttributes=te;exports.getSeriesName=rn;exports.getStructureComponentsMap=Ca;exports.getStructureDimensions=Ia;exports.getTimeDimension=Sa;exports.getTimePeriods=ka;exports.getTimeQueryFilter=Ha;exports.getTimeRangeFromAttachment=tn;exports.getTimeSeriesCount=Ya;exports.getTimeSeriesFilterKey=Qa;exports.getTimeSeriesId=sn;exports.getWeekCode=Fe;exports.getWeeklyPeriodEndDate=Zt;exports.getWeeklyPeriodStartDate=Jt;exports.getWeeklyRegExp=wn;exports.getWeeksColumns=En;exports.getWildCardPrefix=Ht;exports.getYearPeriod=Be;exports.getYearlyRegExp=ue;exports.getYears=Tn;exports.isDaily=gn;exports.isMonthly=me;exports.isQuarterly=ge;exports.isSemiAnnually=le;exports.isWeekly=we;exports.isWildCardVersionCorrect=Bt;exports.isYearly=de;exports.monthlyPattern=fn;exports.openDownloadWindow=Ua;exports.quarterPattern=on;exports.resolveCodelistsFromResponse=bo;exports.sanitizeDownloadFilename=Ue;exports.semiAnnuallyPattern=un;exports.sortPeriods=ho;exports.splitUrn=S;exports.urnMatchesIgnoreVersion=vn;exports.weeklyPattern=cn;exports.yearlyPattern=dn;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@epam/statgpt-dial-toolkit"),t=require("@epam/statgpt-shared-toolkit"),n=require("compare-versions"),r=require("date-fns");var i=e=>{if(e!=null){let t=e.split(`=`);return t.length===1?e:t[1]}},a=e=>{if(e==null)return{};let t=i(e),n={agency:``,id:``,version:``};return t&&(t.includes(`:`)&&(n.agency=t.split(`:`)[0],n.id=t.split(`:`)[1].split(`(`)[0]),t.includes(`(`)&&t.includes(`)`)&&(n.version=t.split(`(`)[1]?.split(`)`)[0])),n},o=e=>{let[t,n]=e.split(`).`),{agency:r,id:i,version:o}=a(t+`)`);return{childId:n,agency:r,id:i,version:o}},s=(e,t,n)=>`${n}:${e}${t===``?``:`(${t})`}`,c=function(e){return e.DESCENDANTS=`descendants`,e.NONE=`none`,e.ALL=`all`,e}({}),l=function(e){return e.EXACT=`exact`,e.AVAILABLE=`available`,e}({});function u(e){return{data:{codelists:e.data.codelists,conceptSchemes:e.data.conceptSchemes,dataConstraints:e.data.dataConstraints?.map(d),dataflows:e.data.dataflows,dataStructures:e.data.dataStructures,metadataStructures:e.data.metadataStructures}}}function d(e){return{...e,cubeRegions:e.cubeRegions?.map(f)}}function f(e){return{isIncluded:e.include,memberSelection:e.keyValues.map(p)}}function p(e){return{included:e.include,componentId:e.id,selectionValues:e.values.map(m)}}function m(e){return{memberValue:e.value}}var h=(e=``,t=``,n=``)=>`sdmx/3.0/availability/dataflow/${e}/${t}/${n}`,ee=class{constructor(e){this.client=e}async getConstraints(e,t,n){let{agency:r,id:i,version:o}=a(e),s={filters:t||[],mode:l.AVAILABLE,references:c.NONE},d=h(r,i,o),f=!!this.client.config.sdmxProxyUrl,p=f||this.client.config.isDialProxyMode,m=f?this.client.config.sdmxProxyUrl:this.client.config.constrainsApiUrl||this.client.config.apiUrl;return p?u(await this.client.postRequest(d,{body:s},m,n)):await this.client.postRequest(d,{body:s},m,n)}},g=function(e){return e.CSV=`csv`,e.JSON=`json`,e.XML=`xml`,e}({}),te=function(e){return e.ID=`id`,e.NAME=`name`,e.ID_NAME=`both`,e}({}),ne=function(e){return e.FULL_DATASET=`full`,e.DATA_IN_TABLE=`query`,e}({}),re=(e,t)=>{switch(e){case g.CSV:return ie(`application/vnd.sdmx.data+csv;version=2.0.0`,t);case g.XML:return`application/vnd.sdmx.data+xml;version=3.0.0`;case g.JSON:return`application/vnd.sdmx.data+json;version=2.1`;default:return ie(`application/vnd.sdmx.data+csv;version=2.0.0`,t)}},_=e=>{switch(e){case g.CSV:return`text/csv; charset=utf-8`;case g.XML:return`application/xml; charset=utf-8`;case g.JSON:return`application/json; charset=utf-8`;default:return`text/csv; charset=utf-8`}},ie=(e,t)=>`${e}; labels=${t}`,ae=function(e){return e.REFERENCE_PARTIAL=`referencepartial`,e.FULL=`full`,e}({}),oe=`sdmx/3.0/data/dataflow`,se=`+`,ce=`,`,le=`*`,v=(e,t,n)=>{let{filterKey:r,timeFilter:i}=n,{agency:o,id:s,version:c}=a(e),l=[i||``,t].filter(e=>!!e).join(`&`);return`${`${oe}/${o}/${s}/${c}`}/${r||`*`}?${l}`},ue=(e=``,t=``,n=``,r=c.DESCENDANTS)=>`sdmx/3.0/structure/dataflow/${e}/${t}/${n}?references=${r}&detail=${ae.REFERENCE_PARTIAL}`,de=class{constructor(e){this.client=e}async getDataSet(e,t,n){let{agency:r,id:i,version:o}=a(e);return await this.client.getRequest(ue(r,i,o,t),void 0,n)}async getDatasetData(e,t,n){let r=v(e,new URLSearchParams({includeHistory:`false`,limit:`1000`,attributes:`all`,dimensionAtObservation:`TIME_PERIOD`}).toString(),t);return await this.client.getRequest(r,void 0,n)}async downloadDataSet(e,t,n,r,i,a,o=!1,s){let c=v(e,new URLSearchParams({compress:`false`,attributes:o?`all`:`none`,limit:`1000`}).toString(),i);return this.client.streamRequest(c,{method:`GET`,headers:{Accept:re(t,r),"Accept-language":n}},a,s,_(t))}},fe=class{constructor(e){this.config=e,console.info(`SdmxApiClient initialized`,{apiUrl:e.apiUrl||`NOT SET`})}async getRequest(e,t,n){return this.request(e,{...t,method:`GET`},void 0,n)}async postRequest(e,t,n,r){return this.request(e,{...t,method:`POST`},n,r)}async streamRequest(e,n,r,i,a){let o=`${this.config.apiUrl}/${e}`,s=this.buildHeaders(i,n.headers),c=new ReadableStream({async start(e){try{let r=await(0,t.sendRequest)(o,s,n);if(!r.ok){let e=await r.text();throw console.error(`Fetch failed! Status: ${r.status}, Body: ${e}`),Error(`Fetch failed with status ${r.status}`)}let i=r.body?.getReader();if(!i)throw Error(`Failed to create stream reader`);let a=new Uint8Array([239,187,191]);e.enqueue(a);let c=async()=>{let{done:t,value:n}=await i.read();t?e.close():(e.enqueue(n),await c())};c()}catch(t){e.error(t)}}}),l=new Headers({"Content-Disposition":`attachment; filename=${encodeURIComponent(r)}`,...a?{"Content-Type":a}:{}});return new Response(c,{headers:l})}async request(n,r,i,a){let o=Date.now(),s=`${i||this.config.apiUrl}/${n}`,c=this.buildHeaders(a,r.headers);this.addInfoRequestLog(`API Request`,s,r,c);try{let n=await(0,t.sendRequest)(s,c,r),i=Date.now()-o,a,l=await n.text();try{a=l?JSON.parse(l):{}}catch{if(this.addErrorRequestParsing(s,r,n,i,l),!n.ok)throw Error(`API request failed: ${n.status} ${n.statusText} - ${l.substring(0,100)}`);a={data:l}}if(!n.ok){this.addErrorRequestLog(s,r,n,i,a);let t=(0,e.getErrorMessage)(a,n);throw Error(`API request failed: ${t}`)}return a}catch(e){let t=Date.now()-o;throw console.error(`API Request Exception`,{method:r.method,url:s,duration:`${t}ms`,error:e instanceof Error?e.message:String(e)}),e}}buildHeaders(e,n){if(this.config.isDialProxyMode)return{...(0,t.getHeaders)(this.config.dialApiKey,{jwt:e}),...n};let r={...(0,t.getHeaders)(void 0,{jwt:this.config.jwt}),...n};return this.config.apiKey!=null&&(r[t.OCP_APIM_SUBSCRIPTION_KEY_HEADER]=this.config.apiKey),r}addInfoRequestLog(e,n,r,i){let a={method:r.method||`GET`,url:n,headers:(0,t.sanitizeHeaders)(i)};r.body&&(a.body=r.body),console.info(e,a)}addErrorRequestLog(e,t,n,r,i){console.error(`API Request Failed`,{method:t.method,url:e,status:n.status,statusText:n.statusText,duration:`${r}ms`,response:i})}addErrorRequestParsing(e,t,n,r,i){console.error(`API Response Parse Error`,{method:t.method,url:e,status:n.status,statusText:n.statusText,duration:`${r}ms`,responseText:i.substring(0,200),error:`Response is not valid JSON`})}},y=function(e){return e.LAST_UPDATE_AT=`lastUpdatedAt`,e.SERIES_COUNT=`series_count`,e}({});function pe(e){return e?.annotations?.find(e=>{if(e.id===y.LAST_UPDATE_AT)return e})?.text}var b=(e,t)=>e?.names&&e?.names[t]||e?.name,me=(e,t,n)=>{if(!(!e||t?.has(e?.id))&&(t?.set(e?.id,e),e?.parent)){let r=n?.get(e?.parent);me(r,t,n)}},he=(e,t)=>{let n=new Map,r=new Map(e?.map(e=>[e.id,e]));return t?.forEach(e=>{me(e,n,r)}),Array.from(n?.values())},ge=function(e){return e.C=`c`,e}({}),x=function(e){return e.EQUALS=`eq`,e.NOT_EQUALS=`ne`,e.LESS=`lt`,e.LESS_OR_EQUAL=`le`,e.GREATER=`gt`,e.GREATER_OR_EQUAL=`ge`,e.CONTAINS=`co`,e.NOT_CONTAINS=`nc`,e.STARTS=`sw`,e.ENDS=`ew`,e}({}),_e=function(e){return e.BOOLEAN=`Boolean`,e.DATE_TIME=`DateTime`,e.DECIMAL=`Decimal`,e.INTEGER=`Integer`,e.OBSERVATION_TIME_PERIOD=`ObservationalTimePeriod`,e.STRING=`String`,e.TIME=`Time`,e.TIME_RANGE=`TimeRange`,e.URI=`URI`,e}({}),ve=function(e){return e.ANNUAL=`A`,e.QUARTERLY=`Q`,e.MONTHLY=`M`,e}({}),ye=[`FREQ`,`FREQUENCY`],be=`TIME_PERIOD`,xe=`time_period_start`,Se=`time_period_end`,Ce=e=>{let t=e?.find(e=>e.id===xe),n=e?.find(e=>e.id===Se),r=n?.title?new Date(n?.title):null;return{startPeriod:t?.title?new Date(t?.title):null,endPeriod:r}},we=(e,t)=>e.id.localeCompare(t.id),Te=(e,t)=>e.memberValue.localeCompare(t.memberValue),Ee=(e,t)=>{let n=Array(e.length),r=e.map((e,t)=>[e,t]);r.sort((e,t)=>we(e[0],t[0]));let i=[...t];i.sort(Te);let a=0;for(let e of r){let t=e[0];for(;a<i.length&&i[a].memberValue.localeCompare(t.id)<0;)a+=1;a<i.length&&i[a].memberValue===t.id&&(n[e[1]]=e[0])}return n.filter(e=>e!=null)},De=e=>!!e?.some(e=>e.parent),Oe=(e,t,n,r,i=[])=>{let a=e||[];if(ke(n||[],t||``)){let e=(n||[])[0].cubeRegions?.find(({isIncluded:e})=>e);if(e){let n=e.memberSelection?.find(({componentId:e})=>e===t);a=n?a.length===0?(n.selectionValues||[]).map(({memberValue:e})=>({id:e,name:e})):Ee(a,n.selectionValues):[]}}else i.length!==0&&(a=a.filter(({id:e})=>i.includes(e)));return De(e)&&(a=he(e,a)),a?.map(e=>({...e,name:r?b(e,r):e?.name}))},ke=(e,t)=>e!=null&&e.length>0&&t!=null,S=e=>{let t=[];return e?.filters?.forEach(e=>{e.componentCode!==`TIME_PERIOD`&&t.push({componentCode:e.componentCode,operator:x.EQUALS,value:e.values.join(`,`)})}),t},Ae=e=>{let t=new Map;return e?.forEach(e=>{t.set(e.urn,S(e))}),t},je=`+`,C=(e,t)=>{let{agency:n,id:r,version:i}=a(e),o=t.filter(e=>e.agencyID===n&&e.id===r&&!e?.version?.includes(`+`));if(o.length===1)return o[0];if(!i?.includes(`+`))return o.find(e=>e.version===i);let s=w(i,o.map(e=>e.version));return o.find(e=>e.version===s[0])},w=(e,t)=>{let n=Me(e,t);return n.length>0?[n[0]]:[]},Me=(e,t)=>{let n=[];return t.forEach(t=>{E(e,t)&&n.push(t)}),n},T=e=>{let t=e.trim(),n=t.indexOf(`+`);if(n<=0)return``;let r=n;for(;r>0&&t[r-1]>=`0`&&t[r-1]<=`9`;)r--;return r>0?t.slice(0,r):``},E=(e,t)=>{let r=e.trim().replace(/\+/,``),i=T(e);return t.startsWith(i)&&(0,n.compare)(t,r,`>=`)},D=(e,t)=>{let{concept:n}=Ne(e,t);return n},Ne=(e,t)=>{if(e==null)return{concept:void 0,scheme:void 0};let{childId:n,agency:r,id:i,version:a}=o(e);if(a?.includes(`+`)){let r=C(e,t);return{concept:O(r?.concepts||[],n),scheme:r}}for(let e of t)if(Pe(e,i,r,a))return{concept:O(e?.concepts||[],n),scheme:e};return{concept:void 0,scheme:void 0}},O=(e,t)=>e?.find(e=>e.id===t),Pe=(e,t,n,r)=>e.id===t&&e.agencyID===n&&e.version===r,Fe=(e=[],t=[],n)=>{let r=D(n?.conceptIdentity||``,t),a=i(n?.localRepresentation?.enumeration),o=i(r?.coreRepresentation?.enumeration),s=a||o;if(s!=null)return C(s,e)},Ie=(e,t)=>{let n=e?.data?.dataSets?.[0],r=(e?.data?.structures?.[0])?.attributes?.dimensionGroup||[],i=n?.dimensionGroupAttributes,a={};for(let n of r){let r=n.relationship.dimensions,{codedSeriesKey:o,decodedSeriesKey:s}=k(e,t,r);a[n.id]={values:i?.[o]||[],decodedSeriesKey:s,codedSeriesKey:o}}return a},k=(e,t,n)=>{let r=e?.data?.structures?.[0],i=[...r?.dimensions.series||[],...r?.dimensions.observation||[]],a=Array(i?.length),o=Array(i?.length);return n?.forEach(e=>{let n=i?.findIndex(t=>t.id===e)||0,r=t[n],s=i[n].values.findIndex(e=>e.id===r||e.value===r)||0;a[n]=s>=0?s:r,o[n]=r}),{codedSeriesKey:a.join(`:`),decodedSeriesKey:o.join(`:`)}},Le=(e,t,n)=>{let r=e?.data?.dataSets?.[0],i=e?.data?.structures?.[0],a=(i?.attributes?.dimensionGroup||[]).filter(e=>e.relationship.dimensions?.length===1&&e.relationship.dimensions.includes(t||``)),o=r?.dimensionGroupAttributes,s=[...i?.dimensions.series||[],...i?.dimensions.observation||[]],c=s?.findIndex(e=>e.id===t),l=Array(s?.length);l[c]=n||``;let u={};for(let t of a){let n=t.relationship.dimensions,{codedSeriesKey:r,decodedSeriesKey:i}=k(e,l,n);u[t.id]={values:o?.[r]||[],decodedSeriesKey:i,codedSeriesKey:r}}return u},Re=(e,t)=>t==null?void 0:e.values?.[t]??(t instanceof Array?{values:t}:{value:t.toString()}),ze=(e,t,n,r)=>{let i=t?.find(t=>t?.id===e?.id)?.values;return n?.filter(e=>i?.some(t=>t.id===e.id))?.map(e=>({...e,name:r?b(e,r):e?.name}))||[]},Be=(e,t)=>{let n=t?.dataStructureComponents?.attributeList,r=e?.metadataStructureComponents?.metadataAttributeList;return n?.metadataAttributeUsages?.map(e=>{let t=r?.metadataAttributes?.find(t=>t?.id===e?.metadataAttributeReference);return{...t,id:t?.id??e.metadataAttributeReference,attributeRelationship:e.attributeRelationship,isMandatory:Number(t?.minOccurs)>0}})},Ve=(e=[],t,n)=>{let r=D(i(t?.conceptIdentity)||``,e);return n?b(r,n):r?.name??r?.id??t?.id},He=function(e){return e.CONDITIONAL=`Conditional`,e.MANDATORY=`Mandatory`,e}({}),A=function(e){return e.DIMENSION=`Dimension`,e.MEASURE_DIMENSION=`MeasureDimension`,e.TIME_DIMENSION=`TimeDimension`,e}({}),Ue=function(e){return e.UNBOUNDED=`unbounded`,e}({});function j(e){return e?.dataStructures?.[0]?.dataStructureComponents?.dimensionList}function We(e){return e?.data?.structures?.[0]?.dimensions?.series||[]}function Ge(e){return e?.data?.structures?.[0]?.dimensions?.observation?.[0].values.map(e=>e.value?e.value:e.id).filter(e=>e!=null)||[]}function Ke(e){return e.find(e=>e.type===A.TIME_DIMENSION)}var qe=e=>{let t=new Map,n=e?.dataStructures?.[0],r=e?.metadataStructures?.[0],i=e?.conceptSchemes||[],a=e?.codelists||[];if(e){let o=Be(r,n);[...j(e)?.dimensions||[],...j(e)?.timeDimensions||[],...o,...n?.dataStructureComponents?.attributeList?.attributes||[]].forEach(e=>{let n=D(e?.conceptIdentity,i),r=e?.localRepresentation?.enumeration||n?.coreRepresentation?.enumeration,o=C(r,a);e?.id&&(r?t.set(e?.id,{...o,name:n?.name,names:n?.names}):t.set(e?.id,{id:e?.id,name:n?.name,names:n?.names}))})}return t},Je=e=>e?.find(e=>e.id===y.SERIES_COUNT)?.title||``,M=1440*60*1e3,N=7*M;function P(e){let t=`${e}-01-01`,n=new Date(t);if(n.getDay()!==4){let e=1+(4-n.getDay()+7)%7;n.setMonth(0,e)}return n}function Ye(e){let t=new Date(e),n=-((t.getDay()+6)%7)+3;return t.setDate(t.getDate()+n),new Date(t.valueOf())}function F(e,t=`W`){let n=`${e}-12-31`,r=L(new Date(n),t);if(r.weekYear===e)return r.weekNumber;let i=`${e}-12-24`;return L(new Date(i),t).weekNumber}function I(e,t,n=`W`){return`${e}-${n}${t<10?`0`+t:t}`}function L(e,t=`W`){let n=Ye(e),r=n.getFullYear(),i=P(r),a=1+Math.ceil((n.getTime()-i.getTime())/N);return{code:I(r,a,t),weekNumber:a,weekYear:r}}function R(e){let[t,n]=e.split(`-W`),r=P(+t).getTime()+(n-1)*N-3*M;return new Date(r)}function Xe(e){let[t,n]=e.split(`-W`),r=P(+t).getTime()+(n-1)*N+3*M;return new Date(r)}var Ze=`/api/download`,Qe=6e4,$e=/[\x00-\x1F\x7F<>:"/\\|?*]/g,z=e=>e.normalize(`NFKC`).replace($e,`_`).replace(/_+/g,`_`).replace(/\s+/g,` `).replace(/^[._ ]+/,``).trim()||`download`,et=(e,t,n,r,i,a,o)=>{let s=new URL(Ze,window.location.origin);if(s.search=new URLSearchParams({urn:e,format:t,compress:`false`,filename:a,filters:JSON.stringify(i),attribute:r,language:n,isMetadata:o?`true`:`none`}).toString(),s.origin!==window.location.origin||s.pathname!==Ze)throw Error(`Invalid download URL`);return s.toString()},tt=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=z(t),r.rel=`noopener noreferrer`,r.click(),window.setTimeout(()=>URL.revokeObjectURL(n),Qe)},nt=async(e,t,n,r,i,a,o,s)=>{let c=z(a),l=et(e,t,n,r,i,c,o),u=await fetch(l,{method:`GET`,credentials:`same-origin`,signal:s});if(!u.ok){let e=await u.text();throw Error(`Download request failed: ${u.status} ${u.statusText}${e?` - ${e}`:``}`)}let d=await u.blob();s?.aborted||tt(d,c)},rt=(e,t)=>{let n=[];for(let r of e){if(r.type!==A.DIMENSION)continue;let e=t.find(e=>e.componentCode===r.id);e!=null&&e.values?.length>0?n.push(e.values?.join(`+`)):n.push(`*`)}return n.join(`.`)},it=(e,t)=>{if(!e||!e.startPeriod&&!e.endPeriod)return null;let n=[],{startPeriod:r,endPeriod:i}=e;if(r&&n.push(`${x.GREATER_OR_EQUAL}:${at(r)}`),i&&n.push(`${x.LESS_OR_EQUAL}:${at(i)}`),n.length===0)return null;let a=t,o=n.join(`+`);return`${encodeURIComponent(`c[${a}]`)}=${encodeURIComponent(o)}`},at=e=>(0,r.format)(e,`yyyy-MM-dd`),ot=(e,t)=>{let n=st(e,t)||null;return n?it(n,t?.id):null},st=(e,n)=>{let r=n.id,i=e?.filters?.find(e=>e.componentCode===r);if(!i||!i.values)return null;let a=i.values?.filter(e=>!!e);if(!a.length)return null;let o=i.operator;return o===x.LESS_OR_EQUAL||o===x.LESS?{startPeriod:null,endPeriod:(0,t.getTimePeriod)(a[0])}:o===x.GREATER_OR_EQUAL||o===x.GREATER?{startPeriod:(0,t.getTimePeriod)(a[0]),endPeriod:null}:{startPeriod:(0,t.getTimePeriod)(a[0]),endPeriod:(0,t.getTimePeriod)(a[1])}},ct=`Observation`,lt=e=>{let t=e?.data?.dataSets,n=e?.data?.structures?.[0];if(!t||!n)return[];let r=n.attributes,i=n.dimensions,a=r?.dimensionGroup||[],o=t[0].series||t[0].observations,s=i.series?.length?i.series:i.observation,c=[];for(let i in o){let l=[],{name:u,parsedTimeSeriesValue:d}=ut(i,s),f=o[i],p=f.attributes||[];if(Object.keys(f).length===0){c.push({name:u,parsedTimeSeriesValue:d,values:l,attributes:[],dataSetAttrs:[]});continue}l.push(...mt(f,n));let m=B(r?.series||[],e=>p[e]),h=gt(n.attributes?.dataSet||[],t[0].attributes?.filter(e=>e!=null)||[]),ee=Ie(e,d),g=a.map((e,t)=>{let n=ee[e.id];return{attribute:e,dimensionGroupValue:Re(e,n.values[t]),dimensionGroupData:n}});c.push({name:u,parsedTimeSeriesValue:d,values:l,attributes:m,dataSetAttrs:h,dimensionGroupAttributes:g})}return c},ut=(e,t)=>{let n=e.split(/(?<!\|):(?!\||$)/),r=[];for(let e=0;e<n.length;e++){let i=t?.[e],a=Number(n[e]);if(a<0||i==null)continue;let o=i.values[a];if(o==null){r.push(n[e].replace(`|:`,`:`));continue}r.push(o?.id||o?.value||``)}return{name:ft(r),parsedTimeSeriesValue:r}},B=(e,t)=>{let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t(r),o=a!=null&&i.values!=null?dt(a,i):void 0;n.push({name:i.id,value:o})}return n},dt=(e,t)=>{let n=t.values[e];return n==null?typeof e==`object`?e:e.toString():n?.id||n?.value||n?.ids||n?.values},ft=e=>e.map(e=>e?pt(e):``).join(`.`),pt=e=>e.replace(/\./g,`|.`).replace(/:/g,`|:`),mt=(e,t)=>{let n=t.measures?.observation?.length;if(e.observations==null)return[{values:ht(e,t.measures),obsAttributes:B(t.attributes?.observation||[],t=>e[t+n]),dimensionAtObservation:ct}];let r=e.observations,i=t.dimensions.observation?.[0],a=[];for(let e in r){let o=i?.values[e];a.push({dimensionAtObservation:o?.value||o?.id,values:ht(r[e],t.measures),obsAttributes:B(t.attributes?.observation||[],t=>r[e][t+n])})}return a},ht=(e,t)=>t?.observation?.map((t,n)=>({name:t.id,value:e[n]}))||[],gt=(e,t)=>e.reduce((e,n,r)=>{let i=t[r];return _t(e,n,i,``),e},[]),_t=(e,t,n,r)=>{let i=n==null?r:t?.values?.length>0?t.values[n]?.id||t.values[n]?.value:String(n);e.push({name:t.id,value:i||``})},vt=/^[0-9][0-9][0-9][0-9]-Q[1-4]$/,yt=/^[0-9][0-9][0-9][0-9]-W(0[1-9]|[1-4][0-9]|5[0-3])$/,bt=/^[0-9][0-9][0-9][0-9]-S[1-2]$/,xt=/^[0-9][0-9][0-9][0-9]$/,St=/^[0-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-[0-9][0-9]$/,Ct=/^[0-9][0-9][0-9][0-9]-M(0[1-9]|(1[0-2]))$/,V=e=>xt.exec(e),H=e=>!!V(e),wt=e=>bt.exec(e),U=e=>!!wt(e),W=e=>Ct.exec(e),G=e=>!!W(e),K=e=>vt.exec(e),q=e=>!!K(e),Tt=e=>St.exec(e),Et=e=>!!Tt(e),Dt=e=>yt.exec(e),J=e=>!!Dt(e);function Y(e){return H(e)?Ot(e):U(e)?At(e):q(e)?Mt(e):G(e)?Pt(e):J(e)?R(e):It(e)}function X(e){return H(e)?kt(e):U(e)?jt(e):q(e)?Nt(e):G(e)?Ft(e):J(e)?Xe(e):Lt(e)}function Ot(e){let t=V(e);if(t)return new Date(Number(t[0]),0,1)}function kt(e){let t=V(e);if(t)return new Date(Number(t[0])+1,0,1)}function At(e){let[t,n]=e.split(`-S`);switch(+n){case 1:return new Date(+t,0,1);case 2:return new Date(+t,6,1)}}function jt(e){let[t,n]=e.split(`-S`);switch(+n){case 1:return new Date(+t,6,1);case 2:return new Date(+t+1,0,1)}}function Mt(e){let t=K(e);if(!t)return;let[n,r]=t[0].split(`-Q`);switch(+r){case 1:return new Date(+n,0,1);case 2:return new Date(+n,3,1);case 3:return new Date(+n,6,1);case 4:return new Date(+n,9,1)}}function Nt(e){let t=K(e);if(!t)return;let[n,r]=t[0].split(`-Q`);switch(+r){case 1:return new Date(+n,3,1);case 2:return new Date(+n,6,1);case 3:return new Date(+n,9,1);case 4:return new Date(+n+1,0,1)}}function Pt(e){let t=W(e);if(!t)return;let[n,r]=t[0].split(`-M`);return new Date(+n,r-1,1)}function Ft(e){let t=W(e);if(!t)return;let[n,r]=t[0].split(`-M`);return new Date(+n,+r,1)}var It=e=>new Date(`${e}T00:00:00`),Lt=e=>{let t=new Date(`${e}T23:59:00`);return t.setMinutes(t.getMinutes()+1),t},Rt=1,zt=(e,t,n,r=!0,i=`Q`)=>{let a=[],o=t&&t>3?Yt(t,r):1,s=n?Math.floor((n-1)/3):4;for(let t=o;t<=s;t++)a.push(`${e}-${i}${t}`);return a},Bt=(e,t,n,r=`S`)=>{let i=[];return(t||1)<7&&(n||12)>6&&i.push(`${e}-${r}1`),n??i.push(`${e}-${r}2`),i},Vt=e=>Math.ceil(e/3),Ht=(e,t,n=`M`)=>`${e}-${n}${t.toString().padStart(2,`0`)}`,Ut=(e,t,n=`M`)=>{let r=[];for(let i=t;i<=12;i++)r.push(Ht(e,i,n));return r},Wt=(e,t,n,r=`M`)=>{let i=[];for(let a=t;a<n;a++)i.push(Ht(e,a,r));return i},Gt=(e,t,n,r=`M`)=>{let i=t||1;return n==null?Ut(e,i,r):Wt(e,i,n||12,r)},Kt=(e,t,n=`M`)=>{switch(t){case 0:return[`${e}-${n}01`,`${e}-${n}02`,`${e}-${n}03`];case 1:return[`${e}-${n}04`,`${e}-${n}05`,`${e}-${n}06`];case 2:return[`${e}-${n}07`,`${e}-${n}08`,`${e}-${n}09`];case 3:return[`${e}-${n}10`,`${e}-${n}11`,`${e}-${n}12`];default:return[]}},qt=(e,t)=>{let n=Z(t,!0),r=Z(e),i=n.getFullYear(),a=r.getFullYear(),o=n.getTime()<=r.getTime()?a+Rt-i:0;return Array.from({length:o},(e,t)=>i+t)},Z=(e,t=!1)=>{let n=Jt(e,t);return n?(n.getTimezoneOffset()>0&&n.setMinutes(n.getMinutes()+n.getTimezoneOffset()),n):new Date},Jt=(e,t=!1)=>{let n=Number(e);return e.toString().length===13?isNaN(n)?new Date(`${e}T00:00:00.000Z`):new Date(n):t?Y(e):X(e)},Yt=(e,t)=>t?Math.floor((e+1)/3):Math.ceil((e+1)/3),Xt=(e,t)=>{let n=Qt(e)-Qt(t);return n===0&&e!==t?Zt(e)-Zt(t):n},Zt=e=>H(e)?6:U(e)?5:q(e)?4:G(e)?3:J(e)?2:+!!Et(e),Qt=(e,t=!1)=>(t?Y(e):X(e))?.getTime()||0,Q=(e,t,n)=>{let r=Z(t,!0),i=Z(n),a=Z(e,!0),o=Z(e);return{start:r.getTime()>a.getTime()?r:a,end:i.getTime()<o.getTime()?i:o}},$t=(e,t,n,r=`W`)=>{let i=+e,{start:a,end:o}=Q(e,t,n);if(a.getTime()>o.getTime())return[];let s=L(a,r),c=s.weekYear===i?s.weekNumber:s.weekYear<i?1:F(i,r),l=L(o,r),u=l.weekYear===i?l.weekNumber:l.weekYear>i?F(i,r):1,d=[];if(c<u)for(let e=c;e<=u;e++)d.push(I(i,e,r));return d},en=e=>{let t=new Date(e);return t.setMinutes(t.getMinutes()-t.getTimezoneOffset()),t.toISOString().slice(0,10)},tn=(e,t,n)=>{let{start:r,end:i}=Q(e,t,n);if(r.getTime()>i.getTime())return[];let a=[],o=new Date(r.getFullYear(),r.getMonth(),r.getDate()),s=new Date(i.getFullYear(),i.getMonth(),i.getDate());for(;o.getTime()<s.getTime();){let e=en(o);a.push(e),o.setDate(o.getDate()+1)}return a},nn=e=>({isDailyExist:!!e?.some(({memberValue:e})=>e===`D`),isWeeklyExist:!!e?.some(({memberValue:e})=>e===`W`),isMonthlyExist:!!e?.some(({memberValue:e})=>e===`M`),isQuarterlyExist:!!e?.some(({memberValue:e})=>e===`Q`),isSemiAnnualExist:!!e?.some(({memberValue:e})=>e===`S`),isYearlyExist:!!e?.some(({memberValue:e})=>e===`A`||e===`Y`)}),rn=(e,t,n,r)=>({startMonth:r===0?Z(t.toString(),!0)?.getMonth()+1:void 0,endMonth:r===e.length-1?Z(n.toString())?.getMonth()+1||1:void 0}),an=[`FREQUENCY`,`FREQ`],on=(e,t)=>{let n=e?.[0]?.cubeRegions?.[0]?.memberSelection?.find(e=>an.includes(e.componentId))?.selectionValues,r=nn(n||[]),i=t?.startPeriod?.getTime()||1,a=t?.endPeriod?.getTime()||1,o=qt(a,i),s=[];return o.forEach((e,t)=>{let n=[],{startMonth:c,endMonth:l}=rn(o,new Date(i),new Date(a),t),{isDailyExist:u,isWeeklyExist:d,isMonthlyExist:f,isQuarterlyExist:p,isSemiAnnualExist:m,isYearlyExist:h}=r;h&&n.push(e.toString()),m&&n.push(...Bt(e,c,l)),p&&n.push(...zt(e,c,l,!1)),f&&n.push(...Gt(e,c,l)),d&&n.push(...$t(e,i.toString(),a.toString())),u&&n.push(...tn(e,i.toString(),a.toString())),s.push(...n)}),s};function sn(e){let{urn:t}=e.details;return s(t.resourceId,t.version,t.agencyId)}function cn(e){let t={};for(let n of e.datasets){let e=n.dataset,r=sn(e);t[r]=e.details.dimensions}return t}function ln(e){let t={};for(let n of e.datasets)n.last_updated_at&&(t[sn(n.dataset)]=n.last_updated_at);return t}function un(e){return e?.codelists?.length?e.codelists.map(e=>({id:e.id,agencyID:e.agencyID??``,version:e.version??``,name:e.name,codes:e.codes?.map(e=>({id:e.id,name:e.name,description:e.description}))})):(e?.glossaries??[]).map(e=>({id:e.id,agencyID:e.agencyID??``,version:e.version??``,name:e.name,codes:e.terms?.map(e=>({id:e.id,name:e.name,description:e.description}))}))}function dn(e,t){let n=e=>{let t=e.indexOf(`(`);if(t===-1)return e;let n=e.indexOf(`)`,t);return n===-1?e:e.slice(0,t+1)+`*`+e.slice(n)};return n(e)===n(t)}function $(e){return s(e.id,e.version??``,e.agencyID??``)}function fn(e,t,n){t?.forEach(t=>{let{childId:r,agency:i,id:a,version:c}=o(t.code),l=s(a,c,i),u=n?.find(e=>dn(l,$(e))),d=u?.codes?.find(e=>e.id===r);if(d!=null){let n=t.code.replace(l,$(u));e.push({...d,code:n})}fn(e,t.hierarchicalCodes,n)})}function pn(e,t){let n=[];return fn(n,e?.hierarchicalCodes,t),n}function mn(e){let t={};return e?.forEach(e=>{t[$(e)]=e.codes}),t}function hn(e,t,n){if(!n||n.length===0||!t)return e;let r=n[0].cubeRegions?.find(e=>e.isIncluded);if(!r)return e;let i=r.memberSelection?.find(e=>e.componentId===t);if(!i)return[];let a=new Set(i.selectionValues.map(e=>e.memberValue));return e.filter(e=>a.has(e.id))}var gn=class{constructor(e){this.client=e}async getAvailableHierarchies(e,n,r){let{agency:i,id:o,version:s}=a(e),c=`${this.client.config.sdmxProxyUrl?this.client.config.sdmxProxyUrl:this.client.config.apiUrl}/sdmx/3.0/structure/codelist`,l=r?{[t.X_SOURCE_ARTEFACT_URN_HEADER]:r}:void 0;return this.client.request(`${i}/${o}/${s}?references=hierarchy&detail=allcompletestubs`,{method:`GET`,headers:l},c,n)}async getHierarchy(e,n,r){let{agency:i,id:o,version:s}=a(e),c=`${this.client.config.sdmxProxyUrl?this.client.config.sdmxProxyUrl:this.client.config.apiUrl}/sdmx/3.0/structure/hierarchy`,l=r?{[t.X_SOURCE_ARTEFACT_URN_HEADER]:r}:void 0;return this.client.request(`${i}/${o}/${s}?references=descendants&detail=full`,{method:`GET`,headers:l},c,n)}};exports.Annotations=y,exports.AssignmentStatus=He,exports.AvailabilityApi=ee,exports.DATASET_DATA_URL=oe,exports.DatasetApi=de,exports.DimensionType=A,exports.DownloadType=ne,exports.FREQUENCY_DIMENSION_ID=ye,exports.FREQUENCY_DIM_ID=an,exports.FileColumnsAttribute=te,exports.GET_v3_FILTER_ALL=le,exports.GET_v3_FILTER_AND=ce,exports.GET_v3_FILTER_OR=se,exports.HierarchyApi=gn,exports.OBSERVATION_KEY=ct,exports.OccurrenceType=Ue,exports.Periods=ve,exports.RepresentationTextType=_e,exports.SDMX_DATA_QUERY_PARAMS=ge,exports.SINGLE_WILDCARD_SYMBOL=je,exports.SdmxApiClient=fe,exports.SdmxAvailabilityMode=l,exports.SdmxDataFormat=g,exports.SdmxDetails=ae,exports.SdmxReferences=c,exports.SeriesFilterOperator=x,exports.TIME_PERIOD=be,exports.TIME_PERIOD_END_ANNOTATION_KEY=Se,exports.TIME_PERIOD_START_ANNOTATION_KEY=xe,exports.buildDatasetDimensionsMetadataMap=cn,exports.buildDatasetLastUpdatedMap=ln,exports.dailyPattern=St,exports.decodeDimensionId=pt,exports.findCodelistByDimension=Fe,exports.generateDatasetDataRequest=v,exports.generateShortUrn=s,exports.getAdditionalColumns=on,exports.getAnnotationPeriod=Ce,exports.getArtifactByUrnWithWildCard=C,exports.getAttachedDimensionsSeriesByDimension=Le,exports.getAttachedDimensionsSeriesByTsId=Ie,exports.getAttachedDimensionsSeriesKey=k,exports.getAttributeValueFromDataQueryResponse=Re,exports.getAvailableCodes=ze,exports.getAvailableCodesFromConstrains=Oe,exports.getChildParsedUrn=o,exports.getCodeListsData=mn,exports.getConcept=D,exports.getConceptByUrn=O,exports.getConceptWithScheme=Ne,exports.getConvertedMetaAttributes=Be,exports.getDailyRegExp=Tt,exports.getDaysColumns=tn,exports.getDimensionTitle=Ve,exports.getDimensions=j,exports.getFilteredItemsWithParents=he,exports.getFiltersDtoFromDataQuery=S,exports.getFiltersDtoMapFromDataQuery=Ae,exports.getHierarchyAvailableCodes=hn,exports.getHierarchyCodes=pn,exports.getISOWeek=L,exports.getKeyFromUrn=i,exports.getLastUpdatedTime=pe,exports.getLastWeekNumberOfYear=F,exports.getLocalizedName=b,exports.getMonthlyData=Gt,exports.getMonthlyDataByQuarter=Kt,exports.getMonthlyRegExp=W,exports.getParsedEndPeriodDate=X,exports.getParsedResponse=lt,exports.getParsedStartPeriodDate=Y,exports.getPeriodDate=Z,exports.getPeriods=nn,exports.getQuarterByMonth=Vt,exports.getQuarterlyRegExp=K,exports.getQuartersData=zt,exports.getQueryTimePeriodFilters=it,exports.getRequestAcceptHeader=re,exports.getResolvedVersionBySingleWildcard=w,exports.getResponseContentType=_,exports.getSemiAnnualData=Bt,exports.getSemiAnnuallyRegExp=wt,exports.getSeriesAttributes=B,exports.getSeriesName=ut,exports.getStructureComponentsMap=qe,exports.getStructureDimensions=We,exports.getTimeDimension=Ke,exports.getTimePeriods=Ge,exports.getTimeQueryFilter=ot,exports.getTimeRangeFromAttachment=st,exports.getTimeSeriesCount=Je,exports.getTimeSeriesFilterKey=rt,exports.getTimeSeriesId=ft,exports.getWeekCode=I,exports.getWeeklyPeriodEndDate=Xe,exports.getWeeklyPeriodStartDate=R,exports.getWeeklyRegExp=Dt,exports.getWeeksColumns=$t,exports.getWildCardPrefix=T,exports.getYearPeriod=Q,exports.getYearlyRegExp=V,exports.getYears=qt,exports.isDaily=Et,exports.isMonthly=G,exports.isQuarterly=q,exports.isSemiAnnually=U,exports.isWeekly=J,exports.isWildCardVersionCorrect=E,exports.isYearly=H,exports.monthlyPattern=Ct,exports.openDownloadWindow=nt,exports.quarterPattern=vt,exports.resolveCodelistsFromResponse=un,exports.sanitizeDownloadFilename=z,exports.semiAnnuallyPattern=bt,exports.sortPeriods=Xt,exports.splitUrn=a,exports.urnMatchesIgnoreVersion=dn,exports.weeklyPattern=yt,exports.yearlyPattern=xt;
|