1const T={fr:"fr-FR",en:"en-US",it:"it-IT",es:"es-ES"},i="Europe/Paris";function u(t){return T[t]??t}function N(t,e){return new Intl.NumberFormat(u(e),{style:"currency",currency:"EUR",maximumFractionDigits:0}).format(t)}function p(t,e){return new Intl.DateTimeFormat(u(e),{dateStyle:"long",timeZone:i}).format(new Date(t))}function E(t,e){return new Intl.DateTimeFormat(u(e),{dateStyle:"long",timeStyle:"short",timeZone:i}).format(new Date(t))}function y(t){return Object.fromEntries(new Intl.DateTimeFormat("en-CA",{timeZone:i,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"}).formatToParts(new Date(t)).filter(e=>e.type!=="literal").map(e=>[e.type,e.value]))}function o(t){const e=y(t);return`${e.year}-${e.month}-${e.day}T${e.hour}:${e.minute}`}function $(t){const e=t.match(/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::(\d{2}))?$/);if(!e)throw new RangeError("Date et heure invalides");const[,m,s,c,l,d,b="00"]=e,f=Date.UTC(Number(m),Number(s)-1,Number(c),Number(l),Number(d),Number(b));let n=f;for(let w=0;w<3;w+=1){const r=y(new Date(n)),g=Date.UTC(Number(r.year),Number(r.month)-1,Number(r.day),Number(r.hour),Number(r.minute),Number(r.second));n+=f-g}const D=new Date(n),a=`${m}-${s}-${c}T${l}:${d}`;if(o(D)!==a)throw new RangeError("Ce créneau nâexiste pas dans le fuseau Europe/Paris");const h=3600*1e3;if(o(new Date(n-h))===a||o(new Date(n+h))===a)throw new RangeError("Ce créneau est ambigu dans le fuseau Europe/Paris");return D.toISOString()}export{E as a,o as b,p as c,N as f,$ as p};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.