@liquid-js/qr-code-styling 5.5.0-0 → 5.5.0-1

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.
@@ -1,2 +1,2 @@
1
- var e=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])),t={action:"ACTION",description:"DESCRIPTION",duration:"DURATION",repeat:"REPEAT",summary:"SUMMARY",trigger:"TRIGGER",attachments:"ATTACH",attendees:"ATTENDEE"};e(t),e({method:"METHOD",prodId:"PRODID",version:"VERSION",name:"X-WR-CALNAME"});var r={alarms:"ALARM",categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",timeTransparent:"TRANSP",url:"URL",end:"DTEND",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"};e(r),e({id:"TZID",lastModified:"LAST-MODIFIED",url:"TZURL"}),e({comment:"COMMENT",name:"TZNAME",offsetFrom:"TZOFFSETFROM",offsetTo:"TZOFFSETTO",recurrenceDate:"RDATE",recurrenceRule:"RRULE",start:"DTSTART"}),e({byDay:"BYDAY",byHour:"BYHOUR",byMinute:"BYMINUTE",byMonth:"BYMONTH",byMonthday:"BYMONTHDAY",bySecond:"BYSECOND",bySetPos:"BYSETPOS",byWeekNo:"BYWEEKNO",byYearday:"BYYEARDAY",count:"COUNT",frequency:"FREQ",interval:"INTERVAL",until:"UNTIL",workweekStart:"WKST"}),e({categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT",completed:"COMPLETED",due:"DUE",percentComplete:"PERCENT-COMPLETE"}),e({categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"}),e({stamp:"DTSTAMP",start:"DTSTART",uid:"UID",url:"URL",organizer:"ORGANIZER",attendees:"ATTENDEE",comment:"COMMENT",end:"DTEND",freeBusy:"FREEBUSY"});var n=/\r\n/,a=(e,t,r)=>r?null==t?"":`${e};${r}:${t}\r`:`${e}:${t}\r`,o=e=>{if(!(e.length<1))return`${e.map(e=>`${e.key}=${e.value}`).join(";")}`},i=(e,t)=>t?`"MAILTO:${e}"`:`MAILTO:${e}`,l=(e,t)=>{var r=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.delegatedFrom&&{key:"DELEGATED-FROM",value:i(e.delegatedFrom,!0)},e.member&&{key:"MEMBER",value:i(e.member,!0)},e.role&&{key:"ROLE",value:e.role},e.name&&{key:"CN",value:e.name},e.partstat&&{key:"PARTSTAT",value:e.partstat},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy,!0)},void 0!==e.rsvp&&(!0===e.rsvp||!1===e.rsvp)&&{key:"RSVP",value:!0===e.rsvp?"TRUE":"FALSE"},e.cutype&&{key:"CUTYPE",value:e.cutype}].filter(e=>!!e));return a(t,i(e.email),r)},u=e=>{if(0!==Object.values(e).filter(e=>"number"==typeof e).length){var t="";return e.before&&(t+="-"),t+="P",void 0!==e.weeks&&(t+=`${e.weeks}W`),void 0!==e.days&&(t+=`${e.days}D`),(void 0!==e.hours||void 0!==e.minutes||void 0!==e.seconds)&&(t+="T",void 0!==e.hours&&(t+=`${e.hours}H`),void 0!==e.minutes&&(t+=`${e.minutes}M`),void 0!==e.seconds&&(t+=`${e.seconds}S`)),t}},s=Symbol.for("constructDateFrom");function c(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&s in e?e[s](t):e instanceof Date?new e.constructor(t):new Date(t)}function d(e,t){return c(t||e,e)}function v(e,t,r){var n=d(e,null==r?void 0:r.in);return isNaN(t)?c((null==r?void 0:r.in)||e,NaN):(t&&n.setDate(n.getDate()+t),n)}function y(e,t){var r=d(e,void 0);if(isNaN(t))return c(e,NaN);if(!t)return r;var n=r.getDate();return(e=c(e,r.getTime())).setMonth(r.getMonth()+t+1,0),n>=(t=e.getDate())?e:(r.setFullYear(e.getFullYear(),e.getMonth(),n),r)}var E={};function f(e,t){var r,n,a,o,i=(null==t?void 0:t.weekStartsOn)??(null==(n=null==(r=null==t?void 0:t.locale)?void 0:r.options)?void 0:n.weekStartsOn)??E.weekStartsOn??(null==(o=null==(a=E.locale)?void 0:a.options)?void 0:o.weekStartsOn)??0;return i=((t=(e=d(e,null==t?void 0:t.in)).getDay())<i?7:0)+t-i,e.setDate(e.getDate()-i),e.setHours(0,0,0,0),e}function p(e,t){return(e=d(e,void 0)).setTime(e.getTime()+6e4*t),e}function T(e,t){return(e=+d(e)-+d(t))<0?-1:e>0?1:e}function m(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}function D(e){var t=(e=d(e,void 0)).getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e}function g(e){var[t,r]=function(e,...t){return e=c.bind(null,t.find(e=>"object"==typeof e)),t.map(e)}(void 0,e.start,e.end),{start:n,end:a}={start:t,end:r},o=(e=+n>+a)?+n:+a,i=e?a:n;i.setHours(0,0,0,0);for(var l=[];+i<=o;)l.push(c(n,i)),i.setDate(i.getDate()+1),i.setHours(0,0,0,0);return e?l.reverse():l}function A(e){return(e=d(e,void 0)).setDate(1),e.setHours(0,0,0,0),e}function M(e){var t=d(e,void 0);e=t.getFullYear();var r=t.getMonth();return(t=c(t,0)).setFullYear(e,r+1,0),t.setHours(0,0,0,0),t.getDate()}function S(e,t,r){var n,a,o,i,l=(null==r?void 0:r.weekStartsOn)??(null==(a=null==(n=null==r?void 0:r.locale)?void 0:n.options)?void 0:a.weekStartsOn)??E.weekStartsOn??(null==(i=null==(o=E.locale)?void 0:o.options)?void 0:i.weekStartsOn)??0;return n=(e=d(e,null==r?void 0:r.in)).getDay(),l=7-l,v(e,t<0||t>6?t-(n+l)%7:((t%7+7)%7+l)%7-(n+l)%7,r)}function R(e,t){e=+d(e,void 0);var[r,n]=[+d(t.start,void 0),+d(t.end,void 0)].sort((e,t)=>e-t);return e>=r&&e<=n}var O="SU MO TU WE TH FR SA".split(" "),h=(e,t)=>void 0!==t&&e>=t,Y=(e,t,r,n,a)=>void 0!==a?a<0?(n=S(t,r,{weekStartsOn:n}),N(function(e){return(e=d(e,void 0)).setHours(0,0,0,0),e}(v(n,7*-(-(a||1)-1+(t<n?1:0)),void 0)))):v(n=S(e,r,{weekStartsOn:n}),7*((a||1)-1+(e>n?1:0)),void 0):g({start:e,end:t}).map(e=>p(e,-e.getTimezoneOffset())).filter(r=>R(r,{start:e,end:t})).filter(e=>r===d(e,void 0).getDay()),N=e=>p(e,-e.getTimezoneOffset()),b=(e,t,r)=>(e.byMonth&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0),n=r.getFullYear(),a=r.getDate(),o=c(e,0);return o.setFullYear(n,t,15),o.setHours(0,0,0,0),n=M(o),r.setMonth(t,Math.min(a,n)),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonth)),e.byWeekNo&&(r=((e,t,r,n)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r,a,o,i,l,u,s,v,y={weekStartsOn:n},p=d(e,null==y?void 0:y.in),T=d(p,null==y?void 0:y.in),m=+f(T,y),D=(null==y?void 0:y.firstWeekContainsDate)??(null==(a=null==(r=null==y?void 0:y.locale)?void 0:r.options)?void 0:a.firstWeekContainsDate)??E.firstWeekContainsDate??(null==(i=null==(o=E.locale)?void 0:o.options)?void 0:i.firstWeekContainsDate)??1;return a=(r=d(T,null==y?void 0:y.in)).getFullYear(),o=(null==y?void 0:y.firstWeekContainsDate)??(null==(u=null==(l=null==y?void 0:y.locale)?void 0:l.options)?void 0:u.firstWeekContainsDate)??E.firstWeekContainsDate??(null==(v=null==(s=E.locale)?void 0:s.options)?void 0:v.firstWeekContainsDate)??1,(l=c((null==y?void 0:y.in)||T,0)).setFullYear(a+1,0,o),l.setHours(0,0,0,0),l=f(l,y),(u=c((null==y?void 0:y.in)||T,0)).setFullYear(a,0,o),u.setHours(0,0,0,0),u=f(u,y),l=+r>=+l?a+1:+r>=+u?a:a-1,(T=c((null==y?void 0:y.in)||T,0)).setFullYear(l,0,D),T.setHours(0,0,0,0),D=f(T,y),t=Math.round((m-+D)/6048e5)+1-t,p.setDate(p.getDate()-7*t),d(p,null==y?void 0:y.in)}))):t)(e,r,e.byWeekNo,t.weekStartsOn)),e.byYearday&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMonth(0),r.setDate(t),r}))):"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getFullYear()))))(e,r,e.byYearday)),e.byMonthday&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency?t.map(e=>e.flatMap(e=>{var t=M(e);return r.map(r=>{if(r>t)r=void 0;else{let t=d(e,void 0);t.setDate(r),r=t}return r}).filter(e=>!!e)})):"WEEKLY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonthday)),e.byDay&&(r=((e,t,r,n)=>{var a=r.map(({day:e,occurrence:t})=>({occurrence:t,day:O.indexOf(e)}));return"YEARLY"===e.frequency?e.byYearday||e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):e.byWeekNo?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):e.byMonth?t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>{var a=Y,o=d(e,void 0);o.setFullYear(o.getFullYear(),0,1),o.setHours(0,0,0,0),o=p(o,-o.getTimezoneOffset());var i=d(e,void 0),l=i.getFullYear();return i.setFullYear(l+1,0,0),i.setHours(23,59,59,999),a(o,p(i,-i.getTimezoneOffset()),t,n,r)}))):"MONTHLY"===e.frequency?e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):"WEEKLY"===e.frequency?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay())))})(e,r,e.byDay,t.weekStartsOn)),e.byHour&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setHours(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getHours()))))(e,r,e.byHour)),e.byMinute&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMinutes(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMinutes()))))(e,r,e.byMinute)),e.bySecond&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency||"MINUTELY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setSeconds(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e).getSeconds()))))(e,r,e.bySecond)),e.bySetPos&&(r=((e,t,r)=>e.byYearday||e.byWeekNo||e.byMonthday||e.byMonth||e.byDay||e.byHour||e.byMinute||e.bySecond?t.map(e=>e.sort(T).filter((t,n)=>r.some(t=>t>0?0!==n&&n%t===0:0===n?e.length-1+t===0:n%(e.length-1+t)===0))):t)(e,r,e.bySetPos)),r.map(e=>e.sort(T).filter(e=>!(t.exceptions.length>0&&t.exceptions.some(t=>+d(t)==+d(e))||!R(e,{start:t.start,end:t.end}))))),k=(e,t)=>{var r,n=t.start,a=(null==(r=e.until)?void 0:r.date)||(null==t?void 0:t.end)||y(n,24);t=t.exceptions||[],r=(e.workweekStart?O.indexOf(e.workweekStart):1)%7;var o=[[n]];return((e,{start:t,end:r},n)=>{if(!h(n.length,e.count)){var a=e.frequency,o=e.interval||1;if(a)if("SECONDLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=1e3*o,t=c(a,+d(a)+t),n.push([t]);else if("MINUTELY"===a)for(;t<r&&!h(n.length,e.count);)t=p(t,o),n.push([t]);else if("HOURLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=36e5*o,t=c(a,+d(a)+t),n.push([t]);else if("DAILY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,o),n.push([t]);else if("WEEKLY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,7*o,void 0),n.push([t]);else if("MONTHLY"===a)for(;t<r;)t=y(t,o),n.push([t]);else if("YEARLY"===a)for(;t<r;)t=y(t,12*o),n.push([t])}})(e,{start:n,end:a},o),n=b(e,{start:n,end:a,exceptions:t,weekStartsOn:r},o),e.count?n.flat().splice(0,e.count):n.flat()},I=e=>{var t="+"===e[0]?1:-1;return 1e3*(60*(60*Number(e.slice(1,3))+(e.length>3?Number(e.slice(3,5)):0))+(e=e.length>5?Number(e.slice(5,7)):0))*t},L=(e,t,r)=>{if(r=null==r?void 0:r.find(e=>e.id===t)){r=((e,t)=>t.flatMap(t=>!t.recurrenceRule||t.recurrenceRule.until&&t.recurrenceRule.until.date<e?t:k(t.recurrenceRule,{start:t.start,end:e}).map(e=>({...t,start:e}))))(e,r.props).sort((e,t)=>T(e.start,t.start));for(var n=0;n<r.length;n+=1)if(e<r[n].start)return{offset:e=(e=r[n-1]?r[n-1].offsetTo:r[n].offsetFrom).length>5?e.substring(0,5):e,milliseconds:I(e)};return{offset:e=(e=r[r.length-1].offsetTo).length>5?e.substring(0,5):e,milliseconds:I(e)}}if(e=((e,t)=>{var r=new Date(t.toLocaleString("en-US",{timeZone:"UTC"}));try{return new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-r.getTime()}catch{return t.getTime()-r.getTime()}})(t,e),!Number.isNaN(e))return r=Math.abs(Math.trunc(e/36e5)),n=Math.abs(Math.trunc(e/6e4))-60*r,{offset:`${e<0?"-":"+"}${1===r.toString().length?`0${r}`:r.toString()}${1===n.toString().length?`0${n}`:n.toString()}`,milliseconds:e}},C=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);var t=e.toISOString();return`${e=t.slice(0,4)}${t.slice(5,7)}${t=t.slice(8,10)}`},U=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);return H(e)},H=(e,t)=>{var r=e.toISOString();return`${e=r.slice(0,4)}${r.slice(5,7)}${r.slice(8,10)}T${r.slice(11,13)}${r.slice(14,16)}${r=r.slice(17,19)}${t?"":"Z"}`},$=e=>{var t="X-";for(let r of e)r===r.toUpperCase()&&(t+="-"),t+=r.toUpperCase();return t},F=(e,t)=>{var r=[],n="",a=0;for(let o=0;o<e.length;o++){let i=e[o],l=""===i?2:1;a+l>t?(r.push(0===r.length?n:`${n}`),n=i,a=l):(n+=i,a+=l)}return n&&r.push(0===r.length?n:`${n}`),r},w=(e,t)=>{var r=Object.keys(e),i=t.childComponents,l=i?Object.keys(i):[],u=t.generateArrayValues,s=u?Object.keys(u):[],c="";return c+=`BEGIN:${t.icsComponent}\r`,r.forEach(r=>{if(!l.includes(r)&&!s.includes(r)&&"nonStandard"!==r){var n=t.icsKeyMap[r];if(n){var o=e[r];if(null!=o){var i=t.generateValues[r];c=i?c+i({icsKey:n,value:o,key:r}):c+a(n,String(o))}}}}),i&&l&&l.length>0&&l.forEach(t=>{var r=e[t];r&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{var r=i[t];r&&(c+=r(e))})}),u&&s&&s.length>0&&s.forEach(r=>{var n=u[r];if(n){var a=t.icsKeyMap[r];a&&(r=e[r])&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{c+=n({icsKey:a,value:e})})}}),e.nonStandard&&(c+=((e,t)=>{if(!e)return"";var r="";return Object.entries(e).forEach(([e,n])=>{var i=null==t?void 0:t[e];i?(e=i.generate(n))&&(r+=a(i.name,e.value,e.options?o(Object.entries(e.options).map(([e,t])=>({key:e,value:t}))):void 0)):r+=a($(e),null==n?void 0:n.toString())}),r})(e.nonStandard,null==t?void 0:t.nonStandard)),c+=`END:${t.icsComponent}\r`,null!=t&&t.skipFormatLines?c:(e=>{var t=[];return e.split(n).forEach(e=>{(e=>{var t=(e.match(/\n/g)||[]).length;return e.length+t})(e)<75?t.push(e):F(e,75).forEach(e=>{t.push(e)})}),t.join("\r")})(c)},q=(e,r)=>w(e,{icsComponent:"VALARM",icsKeyMap:t,generateValues:{trigger:({value:e})=>(e=>{var t,r,n=o([(null==(t=e.options)?void 0:t.related)&&{key:"RELATED",value:e.options.related}].filter(e=>!!e));return"absolute"===e.type?a("TRIGGER",U(null==(r=e.value)?void 0:r.date)):"relative"===e.type?a("TRIGGER",u(e.value),n):void 0})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),repeat:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString())},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),attachments:({value:e})=>(e=>{if("uri"===e.type){var t=o([e.formatType&&{key:"FMTTYPE",value:e.formatType}].filter(e=>!!e));return a("ATTACH",e.url,t)}if("binary"===e.type)return t=o([e.value&&{key:"VALUE",value:e.value},e.encoding&&{key:"ENCODING",value:e.encoding}].filter(e=>!!e)),a("ATTACH",e.binary,t);throw Error(`IcsAttachment has no type! ${JSON.stringify(e)}`)})(e)},nonStandard:null==r?void 0:r.nonStandard,skipFormatLines:null==r?void 0:r.skipFormatLines}),K=(e,t,r=[],n)=>(r=o([t.type&&{key:"VALUE",value:t.type},t.local&&!(null!=n&&n.forceUtc)&&{key:"TZID",value:t.local.timezone},...r].filter(e=>!!e)),t="DATE"===t.type?C(t.date):!t.local||null!=n&&n.forceUtc?U(t.date):((e,t,r)=>{var n=t.date;if(!m(n))throw Error(`Incorrect date object: ${n}`);return L(n,t.timezone,r)?H(n,!0):U(e)})(t.date,t.local,null==n?void 0:n.timezones),a(e,t,r)),P=e=>e.replace(/([\\;,])|(\n)/g,(e,t)=>t?`\\${t}`:"\\n"),W=e=>w(e,{icsComponent:"VEVENT",icsKeyMap:r,generateValues:{stamp:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0,forceUtc:!0}),start:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),end:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),created:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),lastModified:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),categories:({icsKey:e,value:t})=>a(e,t.join(",")),description:({icsKey:t,value:r})=>{var n=e.descriptionAltRep?[{key:"ALTREP",value:`"${e.descriptionAltRep}"`}]:void 0;return a(t,P(r),n?o(n):void 0)},location:({icsKey:e,value:t})=>a(e,P(t),void 0),comment:({icsKey:e,value:t})=>a(e,P(t),void 0),summary:({icsKey:e,value:t})=>a(e,P(t),void 0),recurrenceRule:({value:e})=>(e=>{var t,r="",n=o([e.frequency&&{key:"FREQ",value:e.frequency},e.byDay&&{key:"BYDAY",value:e.byDay.map(e=>e.occurrence?`${e.occurrence}${e.day}`:e.day).join(",")},e.byHour&&{key:"BYHOUR",value:e.byHour.join(",")},e.byMinute&&{key:"BYMINUTE",value:e.byMinute.join(",")},e.byMonth&&{key:"BYMONTH",value:e.byMonth.map(e=>e+1).join(",")},e.byMonthday&&{key:"BYMONTHDAY",value:e.byMonthday.join(",")},e.bySecond&&{key:"BYSECOND",value:e.bySecond.join(",")},e.bySetPos&&{key:"BYSETPOS",value:e.bySetPos.join(",")},e.byWeekNo&&{key:"BYWEEKNO",value:e.byWeekNo.join(",")},e.byYearday&&{key:"BYYEARDAY",value:e.byYearday.join(",")},e.count&&{key:"COUNT",value:e.count.toString()},e.interval&&{key:"INTERVAL",value:e.interval.toString()},e.until&&{key:"UNTIL",value:"DATE"===e.until.type?C(e.until.date):U((null==(t=e.until.local)?void 0:t.date)||e.until.date)},e.workweekStart&&{key:"WKST",value:e.workweekStart}].filter(e=>!!e));return r+a("RRULE",n)})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),organizer:({value:e})=>(e=>{var t=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.name&&{key:"CN",value:e.name},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy)}].filter(e=>!!e));return a("ORGANIZER",i(e.email),t)})(e),sequence:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString()),recurrenceId:({value:e})=>{var t="";return t+=K("RECURRENCE-ID",e.value,e.range?[{key:"RANGE",value:e.range}]:void 0,{timezones:void 0})}},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),exceptionDates:({value:e})=>K("EXDATE",e,void 0,{timezones:void 0})},childComponents:{alarms:e=>q(e,{nonStandard:void 0,skipFormatLines:!0})},nonStandard:void 0,skipFormatLines:void 0});export default class{pluginOptions;uuid;constructor(e,t){this.pluginOptions=e,this.uuid=t}configure(e){return e.data=W({...this.pluginOptions,stamp:{date:this.pluginOptions.start,type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},start:{date:this.pluginOptions.start,type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},end:{date:this.pluginOptions.end,type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},geo:this.pluginOptions.geo?`${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}`:void 0,uid:this.uuid||""}),e}}
1
+ var e=e=>Object.fromEntries(Object.entries(e).map(([e,t])=>[t,e])),t={action:"ACTION",description:"DESCRIPTION",duration:"DURATION",repeat:"REPEAT",summary:"SUMMARY",trigger:"TRIGGER",attachments:"ATTACH",attendees:"ATTENDEE"};e(t),e({method:"METHOD",prodId:"PRODID",version:"VERSION",name:"X-WR-CALNAME"});var r={alarms:"ALARM",categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",timeTransparent:"TRANSP",url:"URL",end:"DTEND",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"};e(r),e({id:"TZID",lastModified:"LAST-MODIFIED",url:"TZURL"}),e({comment:"COMMENT",name:"TZNAME",offsetFrom:"TZOFFSETFROM",offsetTo:"TZOFFSETTO",recurrenceDate:"RDATE",recurrenceRule:"RRULE",start:"DTSTART"}),e({byDay:"BYDAY",byHour:"BYHOUR",byMinute:"BYMINUTE",byMonth:"BYMONTH",byMonthday:"BYMONTHDAY",bySecond:"BYSECOND",bySetPos:"BYSETPOS",byWeekNo:"BYWEEKNO",byYearday:"BYYEARDAY",count:"COUNT",frequency:"FREQ",interval:"INTERVAL",until:"UNTIL",workweekStart:"WKST"}),e({categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT",completed:"COMPLETED",due:"DUE",percentComplete:"PERCENT-COMPLETE"}),e({categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"}),e({stamp:"DTSTAMP",start:"DTSTART",uid:"UID",url:"URL",organizer:"ORGANIZER",attendees:"ATTENDEE",comment:"COMMENT",end:"DTEND",freeBusy:"FREEBUSY"});var n=/\r\n/,a=(e,t,r)=>r?null==t?"":`${e};${r}:${t}\r`:`${e}:${t}\r`,o=e=>{if(!(e.length<1))return`${e.map(e=>`${e.key}=${e.value}`).join(";")}`},i=(e,t)=>t?`"MAILTO:${e}"`:`MAILTO:${e}`,l=(e,t)=>{var r=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.delegatedFrom&&{key:"DELEGATED-FROM",value:i(e.delegatedFrom,!0)},e.member&&{key:"MEMBER",value:i(e.member,!0)},e.role&&{key:"ROLE",value:e.role},e.name&&{key:"CN",value:e.name},e.partstat&&{key:"PARTSTAT",value:e.partstat},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy,!0)},void 0!==e.rsvp&&(!0===e.rsvp||!1===e.rsvp)&&{key:"RSVP",value:!0===e.rsvp?"TRUE":"FALSE"},e.cutype&&{key:"CUTYPE",value:e.cutype}].filter(e=>!!e));return a(t,i(e.email),r)},u=e=>{if(0!==Object.values(e).filter(e=>"number"==typeof e).length){var t="";return e.before&&(t+="-"),t+="P",void 0!==e.weeks&&(t+=`${e.weeks}W`),void 0!==e.days&&(t+=`${e.days}D`),(void 0!==e.hours||void 0!==e.minutes||void 0!==e.seconds)&&(t+="T",void 0!==e.hours&&(t+=`${e.hours}H`),void 0!==e.minutes&&(t+=`${e.minutes}M`),void 0!==e.seconds&&(t+=`${e.seconds}S`)),t}},s=Symbol.for("constructDateFrom");function c(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&s in e?e[s](t):e instanceof Date?new e.constructor(t):new Date(t)}function d(e,t){return c(t||e,e)}function v(e,t,r){var n=d(e,null==r?void 0:r.in);return isNaN(t)?c((null==r?void 0:r.in)||e,NaN):(t&&n.setDate(n.getDate()+t),n)}function y(e,t){var r=d(e,void 0);if(isNaN(t))return c(e,NaN);if(!t)return r;var n=r.getDate();return(e=c(e,r.getTime())).setMonth(r.getMonth()+t+1,0),n>=(t=e.getDate())?e:(r.setFullYear(e.getFullYear(),e.getMonth(),n),r)}var f={};function E(e,t){var r,n,a,o,i=(null==t?void 0:t.weekStartsOn)??(null==(n=null==(r=null==t?void 0:t.locale)?void 0:r.options)?void 0:n.weekStartsOn)??f.weekStartsOn??(null==(o=null==(a=f.locale)?void 0:a.options)?void 0:o.weekStartsOn)??0;return i=((t=(e=d(e,null==t?void 0:t.in)).getDay())<i?7:0)+t-i,e.setDate(e.getDate()-i),e.setHours(0,0,0,0),e}function p(e,t){return(e=d(e,void 0)).setTime(e.getTime()+6e4*t),e}function T(e,t){return(e=+d(e)-+d(t))<0?-1:e>0?1:e}function m(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}function D(e){var t=(e=d(e,void 0)).getMonth();return e.setFullYear(e.getFullYear(),t+1,0),e.setHours(23,59,59,999),e}function g(e){var[t,r]=function(e,...t){return e=c.bind(null,t.find(e=>"object"==typeof e)),t.map(e)}(void 0,e.start,e.end),{start:n,end:a}={start:t,end:r},o=(e=+n>+a)?+n:+a,i=e?a:n;i.setHours(0,0,0,0);for(var l=[];+i<=o;)l.push(c(n,i)),i.setDate(i.getDate()+1),i.setHours(0,0,0,0);return e?l.reverse():l}function A(e){return(e=d(e,void 0)).setDate(1),e.setHours(0,0,0,0),e}function M(e){var t=d(e,void 0);e=t.getFullYear();var r=t.getMonth();return(t=c(t,0)).setFullYear(e,r+1,0),t.setHours(0,0,0,0),t.getDate()}function S(e,t,r){var n,a,o,i,l=(null==r?void 0:r.weekStartsOn)??(null==(a=null==(n=null==r?void 0:r.locale)?void 0:n.options)?void 0:a.weekStartsOn)??f.weekStartsOn??(null==(i=null==(o=f.locale)?void 0:o.options)?void 0:i.weekStartsOn)??0;return n=(e=d(e,null==r?void 0:r.in)).getDay(),l=7-l,v(e,t<0||t>6?t-(n+l)%7:((t%7+7)%7+l)%7-(n+l)%7,r)}function R(e,t){e=+d(e,void 0);var[r,n]=[+d(t.start,void 0),+d(t.end,void 0)].sort((e,t)=>e-t);return e>=r&&e<=n}var O="SU MO TU WE TH FR SA".split(" "),h=(e,t)=>void 0!==t&&e>=t,Y=(e,t,r,n,a)=>void 0!==a?a<0?(n=S(t,r,{weekStartsOn:n}),N(function(e){return(e=d(e,void 0)).setHours(0,0,0,0),e}(v(n,7*-(-(a||1)-1+(t<n?1:0)),void 0)))):v(n=S(e,r,{weekStartsOn:n}),7*((a||1)-1+(e>n?1:0)),void 0):g({start:e,end:t}).map(e=>p(e,-e.getTimezoneOffset())).filter(r=>R(r,{start:e,end:t})).filter(e=>r===d(e,void 0).getDay()),N=e=>p(e,-e.getTimezoneOffset()),b=(e,t,r)=>(e.byMonth&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0),n=r.getFullYear(),a=r.getDate(),o=c(e,0);return o.setFullYear(n,t,15),o.setHours(0,0,0,0),n=M(o),r.setMonth(t,Math.min(a,n)),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonth)),e.byWeekNo&&(r=((e,t,r,n)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r,a,o,i,l,u,s,v,y={weekStartsOn:n},p=d(e,null==y?void 0:y.in),T=d(p,null==y?void 0:y.in),m=+E(T,y),D=(null==y?void 0:y.firstWeekContainsDate)??(null==(a=null==(r=null==y?void 0:y.locale)?void 0:r.options)?void 0:a.firstWeekContainsDate)??f.firstWeekContainsDate??(null==(i=null==(o=f.locale)?void 0:o.options)?void 0:i.firstWeekContainsDate)??1;return a=(r=d(T,null==y?void 0:y.in)).getFullYear(),o=(null==y?void 0:y.firstWeekContainsDate)??(null==(u=null==(l=null==y?void 0:y.locale)?void 0:l.options)?void 0:u.firstWeekContainsDate)??f.firstWeekContainsDate??(null==(v=null==(s=f.locale)?void 0:s.options)?void 0:v.firstWeekContainsDate)??1,(l=c((null==y?void 0:y.in)||T,0)).setFullYear(a+1,0,o),l.setHours(0,0,0,0),l=E(l,y),(u=c((null==y?void 0:y.in)||T,0)).setFullYear(a,0,o),u.setHours(0,0,0,0),u=E(u,y),l=+r>=+l?a+1:+r>=+u?a:a-1,(T=c((null==y?void 0:y.in)||T,0)).setFullYear(l,0,D),T.setHours(0,0,0,0),D=E(T,y),t=Math.round((m-+D)/6048e5)+1-t,p.setDate(p.getDate()-7*t),d(p,null==y?void 0:y.in)}))):t)(e,r,e.byWeekNo,t.weekStartsOn)),e.byYearday&&(r=((e,t,r)=>"YEARLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMonth(0),r.setDate(t),r}))):"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getFullYear()))))(e,r,e.byYearday)),e.byMonthday&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency?t.map(e=>e.flatMap(e=>{var t=M(e);return r.map(r=>{if(r>t)r=void 0;else{let t=d(e,void 0);t.setDate(r),r=t}return r}).filter(e=>!!e)})):"WEEKLY"===e.frequency?t:t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMonth()))))(e,r,e.byMonthday)),e.byDay&&(r=((e,t,r,n)=>{var a=r.map(({day:e,occurrence:t})=>({occurrence:t,day:O.indexOf(e)}));return"YEARLY"===e.frequency?e.byYearday||e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):e.byWeekNo?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):e.byMonth?t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>{var a=Y,o=d(e,void 0);o.setFullYear(o.getFullYear(),0,1),o.setHours(0,0,0,0),o=p(o,-o.getTimezoneOffset());var i=d(e,void 0),l=i.getFullYear();return i.setFullYear(l+1,0,0),i.setHours(23,59,59,999),a(o,p(i,-i.getTimezoneOffset()),t,n,r)}))):"MONTHLY"===e.frequency?e.byMonthday?t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay()))):t.map(e=>e.flatMap(e=>a.flatMap(({day:t,occurrence:r})=>Y(N(A(e)),N(D(e)),t,n,r)))):"WEEKLY"===e.frequency?t.map(e=>e.flatMap(e=>a.map(({day:t})=>S(e,t,{weekStartsOn:n})))):t.map(e=>e.filter(e=>a.find(({day:t})=>t===d(e,void 0).getDay())))})(e,r,e.byDay,t.weekStartsOn)),e.byHour&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setHours(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getHours()))))(e,r,e.byHour)),e.byMinute&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setMinutes(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e,void 0).getMinutes()))))(e,r,e.byMinute)),e.bySecond&&(r=((e,t,r)=>"YEARLY"===e.frequency||"MONTHLY"===e.frequency||"WEEKLY"===e.frequency||"DAILY"===e.frequency||"HOURLY"===e.frequency||"MINUTELY"===e.frequency?t.map(e=>e.flatMap(e=>r.map(t=>{var r=d(e,void 0);return r.setSeconds(t),r}))):t.map(e=>e.filter(e=>r.includes(d(e).getSeconds()))))(e,r,e.bySecond)),e.bySetPos&&(r=((e,t,r)=>e.byYearday||e.byWeekNo||e.byMonthday||e.byMonth||e.byDay||e.byHour||e.byMinute||e.bySecond?t.map(e=>e.sort(T).filter((t,n)=>r.some(t=>t>0?0!==n&&n%t===0:0===n?e.length-1+t===0:n%(e.length-1+t)===0))):t)(e,r,e.bySetPos)),r.map(e=>e.sort(T).filter(e=>!(t.exceptions.length>0&&t.exceptions.some(t=>+d(t)==+d(e))||!R(e,{start:t.start,end:t.end}))))),k=(e,t)=>{var r,n=t.start,a=(null==(r=e.until)?void 0:r.date)||(null==t?void 0:t.end)||y(n,24);t=t.exceptions||[],r=(e.workweekStart?O.indexOf(e.workweekStart):1)%7;var o=[[n]];return((e,{start:t,end:r},n)=>{if(!h(n.length,e.count)){var a=e.frequency,o=e.interval||1;if(a)if("SECONDLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=1e3*o,t=c(a,+d(a)+t),n.push([t]);else if("MINUTELY"===a)for(;t<r&&!h(n.length,e.count);)t=p(t,o),n.push([t]);else if("HOURLY"===a)for(;t<r&&!h(n.length,e.count);)a=t,t=36e5*o,t=c(a,+d(a)+t),n.push([t]);else if("DAILY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,o),n.push([t]);else if("WEEKLY"===a)for(;t<r&&!h(n.length,e.count);)t=v(t,7*o,void 0),n.push([t]);else if("MONTHLY"===a)for(;t<r;)t=y(t,o),n.push([t]);else if("YEARLY"===a)for(;t<r;)t=y(t,12*o),n.push([t])}})(e,{start:n,end:a},o),n=b(e,{start:n,end:a,exceptions:t,weekStartsOn:r},o),e.count?n.flat().splice(0,e.count):n.flat()},I=e=>{var t="+"===e[0]?1:-1;return 1e3*(60*(60*Number(e.slice(1,3))+(e.length>3?Number(e.slice(3,5)):0))+(e=e.length>5?Number(e.slice(5,7)):0))*t},L=(e,t,r)=>{if(r=null==r?void 0:r.find(e=>e.id===t)){r=((e,t)=>t.flatMap(t=>!t.recurrenceRule||t.recurrenceRule.until&&t.recurrenceRule.until.date<e?t:k(t.recurrenceRule,{start:t.start,end:e}).map(e=>({...t,start:e}))))(e,r.props).sort((e,t)=>T(e.start,t.start));for(var n=0;n<r.length;n+=1)if(e<r[n].start)return{offset:e=(e=r[n-1]?r[n-1].offsetTo:r[n].offsetFrom).length>5?e.substring(0,5):e,milliseconds:I(e)};return{offset:e=(e=r[r.length-1].offsetTo).length>5?e.substring(0,5):e,milliseconds:I(e)}}if(e=((e,t)=>{var r=new Date(t.toLocaleString("en-US",{timeZone:"UTC"}));try{return new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-r.getTime()}catch{return t.getTime()-r.getTime()}})(t,e),!Number.isNaN(e))return r=Math.abs(Math.trunc(e/36e5)),n=Math.abs(Math.trunc(e/6e4))-60*r,{offset:`${e<0?"-":"+"}${1===r.toString().length?`0${r}`:r.toString()}${1===n.toString().length?`0${n}`:n.toString()}`,milliseconds:e}},C=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);var t=e.toISOString();return`${e=t.slice(0,4)}${t.slice(5,7)}${t=t.slice(8,10)}`},U=e=>{if(!m(e))throw Error(`Incorrect date object: ${e}`);return H(e)},H=(e,t)=>{var r=e.toISOString();return`${e=r.slice(0,4)}${r.slice(5,7)}${r.slice(8,10)}T${r.slice(11,13)}${r.slice(14,16)}${r=r.slice(17,19)}${t?"":"Z"}`},$=e=>{var t="X-";for(let r of e)r===r.toUpperCase()&&(t+="-"),t+=r.toUpperCase();return t},F=(e,t)=>{var r=[],n="",a=0;for(let o=0;o<e.length;o++){let i=e[o],l=""===i?2:1;a+l>t?(r.push(0===r.length?n:`${n}`),n=i,a=l):(n+=i,a+=l)}return n&&r.push(0===r.length?n:`${n}`),r},w=(e,t)=>{var r=Object.keys(e),i=t.childComponents,l=i?Object.keys(i):[],u=t.generateArrayValues,s=u?Object.keys(u):[],c="";return c+=`BEGIN:${t.icsComponent}\r`,r.forEach(r=>{if(!l.includes(r)&&!s.includes(r)&&"nonStandard"!==r){var n=t.icsKeyMap[r];if(n){var o=e[r];if(null!=o){var i=t.generateValues[r];c=i?c+i({icsKey:n,value:o,key:r}):c+a(n,String(o))}}}}),i&&l&&l.length>0&&l.forEach(t=>{var r=e[t];r&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{var r=i[t];r&&(c+=r(e))})}),u&&s&&s.length>0&&s.forEach(r=>{var n=u[r];if(n){var a=t.icsKeyMap[r];a&&(r=e[r])&&Array.isArray(r)&&0!==r.length&&r.forEach(e=>{c+=n({icsKey:a,value:e})})}}),e.nonStandard&&(c+=((e,t)=>{if(!e)return"";var r="";return Object.entries(e).forEach(([e,n])=>{var i=null==t?void 0:t[e];i?(e=i.generate(n))&&(r+=a(i.name,e.value,e.options?o(Object.entries(e.options).map(([e,t])=>({key:e,value:t}))):void 0)):r+=a($(e),null==n?void 0:n.toString())}),r})(e.nonStandard,null==t?void 0:t.nonStandard)),c+=`END:${t.icsComponent}\r`,null!=t&&t.skipFormatLines?c:(e=>{var t=[];return e.split(n).forEach(e=>{(e=>{var t=(e.match(/\n/g)||[]).length;return e.length+t})(e)<75?t.push(e):F(e,75).forEach(e=>{t.push(e)})}),t.join("\r")})(c)},q=(e,r)=>w(e,{icsComponent:"VALARM",icsKeyMap:t,generateValues:{trigger:({value:e})=>(e=>{var t,r,n=o([(null==(t=e.options)?void 0:t.related)&&{key:"RELATED",value:e.options.related}].filter(e=>!!e));return"absolute"===e.type?a("TRIGGER",U(null==(r=e.value)?void 0:r.date)):"relative"===e.type?a("TRIGGER",u(e.value),n):void 0})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),repeat:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString())},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),attachments:({value:e})=>(e=>{if("uri"===e.type){var t=o([e.formatType&&{key:"FMTTYPE",value:e.formatType}].filter(e=>!!e));return a("ATTACH",e.url,t)}if("binary"===e.type)return t=o([e.value&&{key:"VALUE",value:e.value},e.encoding&&{key:"ENCODING",value:e.encoding}].filter(e=>!!e)),a("ATTACH",e.binary,t);throw Error(`IcsAttachment has no type! ${JSON.stringify(e)}`)})(e)},nonStandard:null==r?void 0:r.nonStandard,skipFormatLines:null==r?void 0:r.skipFormatLines}),K=(e,t,r=[],n)=>(r=o([t.type&&{key:"VALUE",value:t.type},t.local&&!(null!=n&&n.forceUtc)&&{key:"TZID",value:t.local.timezone},...r].filter(e=>!!e)),t="DATE"===t.type?C(t.date):!t.local||null!=n&&n.forceUtc?U(t.date):((e,t,r)=>{var n=t.date;if(!m(n))throw Error(`Incorrect date object: ${n}`);return L(n,t.timezone,r)?H(n,!0):U(e)})(t.date,t.local,null==n?void 0:n.timezones),a(e,t,r)),P=e=>e.replace(/([\\;,])|(\n)/g,(e,t)=>t?`\\${t}`:"\\n"),W=e=>w(e,{icsComponent:"VEVENT",icsKeyMap:r,generateValues:{stamp:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0,forceUtc:!0}),start:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),end:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),created:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),lastModified:({icsKey:e,value:t})=>K(e,t,void 0,{timezones:void 0}),categories:({icsKey:e,value:t})=>a(e,t.join(",")),description:({icsKey:t,value:r})=>{var n=e.descriptionAltRep?[{key:"ALTREP",value:`"${e.descriptionAltRep}"`}]:void 0;return a(t,P(r),n?o(n):void 0)},location:({icsKey:e,value:t})=>a(e,P(t),void 0),comment:({icsKey:e,value:t})=>a(e,P(t),void 0),summary:({icsKey:e,value:t})=>a(e,P(t),void 0),recurrenceRule:({value:e})=>(e=>{var t,r="",n=o([e.frequency&&{key:"FREQ",value:e.frequency},e.byDay&&{key:"BYDAY",value:e.byDay.map(e=>e.occurrence?`${e.occurrence}${e.day}`:e.day).join(",")},e.byHour&&{key:"BYHOUR",value:e.byHour.join(",")},e.byMinute&&{key:"BYMINUTE",value:e.byMinute.join(",")},e.byMonth&&{key:"BYMONTH",value:e.byMonth.map(e=>e+1).join(",")},e.byMonthday&&{key:"BYMONTHDAY",value:e.byMonthday.join(",")},e.bySecond&&{key:"BYSECOND",value:e.bySecond.join(",")},e.bySetPos&&{key:"BYSETPOS",value:e.bySetPos.join(",")},e.byWeekNo&&{key:"BYWEEKNO",value:e.byWeekNo.join(",")},e.byYearday&&{key:"BYYEARDAY",value:e.byYearday.join(",")},e.count&&{key:"COUNT",value:e.count.toString()},e.interval&&{key:"INTERVAL",value:e.interval.toString()},e.until&&{key:"UNTIL",value:"DATE"===e.until.type?C(e.until.date):U((null==(t=e.until.local)?void 0:t.date)||e.until.date)},e.workweekStart&&{key:"WKST",value:e.workweekStart}].filter(e=>!!e));return r+a("RRULE",n)})(e),duration:({icsKey:e,value:t})=>a(e,u(t)),organizer:({value:e})=>(e=>{var t=o([e.dir&&{key:"DIR",value:`"${e.dir}"`},e.name&&{key:"CN",value:e.name},e.sentBy&&{key:"SENT-BY",value:i(e.sentBy)}].filter(e=>!!e));return a("ORGANIZER",i(e.email),t)})(e),sequence:({icsKey:e,value:t})=>a(e,Math.trunc(t).toString()),recurrenceId:({value:e})=>{var t="";return t+=K("RECURRENCE-ID",e.value,e.range?[{key:"RANGE",value:e.range}]:void 0,{timezones:void 0})}},generateArrayValues:{attendees:({value:e})=>l(e,"ATTENDEE"),exceptionDates:({value:e})=>K("EXDATE",e,void 0,{timezones:void 0})},childComponents:{alarms:e=>q(e,{nonStandard:void 0,skipFormatLines:!0})},nonStandard:void 0,skipFormatLines:void 0});function j(e){if(e)return"string"==typeof e?new Date(e):e}export default class{pluginOptions;uuid;constructor(e,t){this.pluginOptions=e,this.uuid=t}configure(e){return e.data=W({...this.pluginOptions,stamp:{date:j(this.pluginOptions.start),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},start:{date:j(this.pluginOptions.start),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},end:{date:j(this.pluginOptions.end),type:this.pluginOptions.allDay?"DATE":"DATE-TIME"},geo:this.pluginOptions.geo?`${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}`:void 0,uid:this.uuid||""}),e}}
2
2
  //# sourceMappingURL=event-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-plugin.js","sources":["../node_modules/ts-ics/dist/index.js","../src/plugins/event.ts"],"sourcesContent":["var x=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),I=t=>Object.keys(t);var Ce={action:\"ACTION\",description:\"DESCRIPTION\",duration:\"DURATION\",repeat:\"REPEAT\",summary:\"SUMMARY\",trigger:\"TRIGGER\",attachments:\"ATTACH\",attendees:\"ATTENDEE\"},$e=x(Ce),hn=I($e),Kn=I(Ce);var Ne={method:\"METHOD\",prodId:\"PRODID\",version:\"VERSION\",name:\"X-WR-CALNAME\"},Ze=x(Ne),Yn=I(Ze),Bn=I(Ne);var ve={alarms:\"ALARM\",categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",location:\"LOCATION\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",timeTransparent:\"TRANSP\",url:\"URL\",end:\"DTEND\",duration:\"DURATION\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",priority:\"PRIORITY\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\"},Xe=x(ve),Un=I(Xe),Wn=I(ve);var Ae={id:\"TZID\",lastModified:\"LAST-MODIFIED\",url:\"TZURL\"},Qe=x(Ae),wn=I(Qe),Hn=I(Ae);var be={comment:\"COMMENT\",name:\"TZNAME\",offsetFrom:\"TZOFFSETFROM\",offsetTo:\"TZOFFSETTO\",recurrenceDate:\"RDATE\",recurrenceRule:\"RRULE\",start:\"DTSTART\"},et=x(be),Zn=I(et),Xn=I(be);var St={byDay:\"BYDAY\",byHour:\"BYHOUR\",byMinute:\"BYMINUTE\",byMonth:\"BYMONTH\",byMonthday:\"BYMONTHDAY\",bySecond:\"BYSECOND\",bySetPos:\"BYSETPOS\",byWeekNo:\"BYWEEKNO\",byYearday:\"BYYEARDAY\",count:\"COUNT\",frequency:\"FREQ\",interval:\"INTERVAL\",until:\"UNTIL\",workweekStart:\"WKST\"},tt=x(St),to=I(tt),ro=I(St);var Ve={categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",location:\"LOCATION\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",url:\"URL\",duration:\"DURATION\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",priority:\"PRIORITY\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\",completed:\"COMPLETED\",due:\"DUE\",percentComplete:\"PERCENT-COMPLETE\"},rt=x(Ve),ao=I(rt),so=I(Ve);var Me={categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",url:\"URL\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\"},nt=x(Me),io=I(nt),uo=I(Me);var ze={stamp:\"DTSTAMP\",start:\"DTSTART\",uid:\"UID\",url:\"URL\",organizer:\"ORGANIZER\",attendees:\"ATTENDEE\",comment:\"COMMENT\",end:\"DTEND\",freeBusy:\"FREEBUSY\"},ot=x(ze),yo=I(ot),lo=I(ze);var at=\"BEGIN\",st=\"END\",Se=\"VCALENDAR\",X=\"VTIMEZONE\",ct=\"STANDARD\",mt=\"DAYLIGHT\",Q=\"VEVENT\",ee=\"VALARM\",te=\"VTODO\",re=\"VJOURNAL\",ne=\"VFREEBUSY\",Io=[Se,X,ct,mt,Q,ee,te,re,ne];var it=t=>new RegExp(`${at}:${t}([\\\\s\\\\S]*?)${st}:${t}`,\"g\"),Dt=t=>new RegExp(`${at}:${t}|${st}:${t}`,\"g\");var gt=/\\r\\n/,De=/\\r\\n|\\r|\\n/,Le=`\\r\n`,ut=`\n`,xt=\":\",b=\",\",Ot='\"',oe=\";\",Vo=\" \",ge=\"=\",dt=75;var _e=t=>`${t}${Le}`,f=(t,e,r)=>r?e==null?\"\":_e(`${t};${r}:${e}`):_e(`${t}:${e}`),Rt=t=>_e(`BEGIN:${t}`),Ct=t=>_e(`END:${t}`);var D=t=>{if(!(t.length<1))return`${t.map(e=>`${e.key}${ge}${e.value}`).join(oe)}`};var Nt=t=>{if(t.type===\"uri\"){let e=D([t.formatType&&{key:\"FMTTYPE\",value:t.formatType}].filter(r=>!!r));return f(\"ATTACH\",t.url,e)}if(t.type===\"binary\"){let e=D([t.value&&{key:\"VALUE\",value:t.value},t.encoding&&{key:\"ENCODING\",value:t.encoding}].filter(r=>!!r));return f(\"ATTACH\",t.binary,e)}throw Error(`IcsAttachment has no type! ${JSON.stringify(t)}`)};var k=(t,e)=>e?`\"MAILTO:${t}\"`:`MAILTO:${t}`;var V=(t,e)=>{let r=D([t.dir&&{key:\"DIR\",value:`\"${t.dir}\"`},t.delegatedFrom&&{key:\"DELEGATED-FROM\",value:k(t.delegatedFrom,!0)},t.member&&{key:\"MEMBER\",value:k(t.member,!0)},t.role&&{key:\"ROLE\",value:t.role},t.name&&{key:\"CN\",value:t.name},t.partstat&&{key:\"PARTSTAT\",value:t.partstat},t.sentBy&&{key:\"SENT-BY\",value:k(t.sentBy,!0)},t.rsvp!==void 0&&(t.rsvp===!0||t.rsvp===!1)&&{key:\"RSVP\",value:t.rsvp===!0?\"TRUE\":\"FALSE\"},t.cutype&&{key:\"CUTYPE\",value:t.cutype}].filter(n=>!!n));return f(e,k(t.email),r)};var M=t=>{if(Object.values(t).filter(r=>typeof r==\"number\").length===0)return;let e=\"\";return t.before&&(e+=\"-\"),e+=\"P\",t.weeks!==void 0&&(e+=`${t.weeks}W`),t.days!==void 0&&(e+=`${t.days}D`),(t.hours!==void 0||t.minutes!==void 0||t.seconds!==void 0)&&(e+=\"T\",t.hours!==void 0&&(e+=`${t.hours}H`),t.minutes!==void 0&&(e+=`${t.minutes}M`),t.seconds!==void 0&&(e+=`${t.seconds}S`)),e};var mn=Math.pow(10,8)*24*60*60*1e3,Go=-mn,vt=6048e5,At=864e5,ce=6e4,me=36e5;var un=3600;var bt=un*24,Jo=bt*7,dn=bt*365.2425,pn=dn/12,wo=pn*3,pt=Symbol.for(\"constructDateFrom\");function S(t,e){return typeof t==\"function\"?t(e):t&&typeof t==\"object\"&&pt in t?t[pt](e):t instanceof Date?new t.constructor(e):new Date(e)}function i(t,e){return S(e||t,t)}function Y(t,e,r){let n=i(t,r==null?void 0:r.in);return isNaN(e)?S((r==null?void 0:r.in)||t,NaN):(e&&n.setDate(n.getDate()+e),n)}function he(t,e,r){let n=i(t,r==null?void 0:r.in);if(isNaN(e))return S((r==null?void 0:r.in)||t,NaN);if(!e)return n;let o=n.getDate(),s=S((r==null?void 0:r.in)||t,n.getTime());s.setMonth(n.getMonth()+e+1,0);let a=s.getDate();return o>=a?s:(n.setFullYear(s.getFullYear(),s.getMonth(),o),n)}function z(t,e,r){return S((r==null?void 0:r.in)||t,+i(t)+e)}function Ke(t,e,r){return z(t,e*me,r)}var fn={};function B(){return fn}function ae(t,e){var c,m,u,p;let r=B(),n=(e==null?void 0:e.weekStartsOn)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.weekStartsOn)??r.weekStartsOn??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)??0,o=i(t,e==null?void 0:e.in),s=o.getDay(),a=(s<n?7:0)+s-n;return o.setDate(o.getDate()-a),o.setHours(0,0,0,0),o}function ft(t){let e=i(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function F(t,...e){let r=S.bind(null,t||e.find(n=>typeof n==\"object\"));return e.map(r)}function xe(t,e){let r=i(t,e==null?void 0:e.in);return r.setHours(0,0,0,0),r}function Vt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=xe(n),a=xe(o),c=+s-ft(s),m=+a-ft(a);return Math.round((c-m)/At)}function ie(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setTime(n.getTime()+e*ce),n}function Pe(t,e,r){return z(t,e*1e3,r)}function j(t,e,r){return Y(t,e*7,r)}function ke(t,e,r){return he(t,e*12,r)}function ue(t,e){let r=+i(t)-+i(e);return r<0?-1:r>0?1:r}function Ye(t){return t instanceof Date||typeof t==\"object\"&&Object.prototype.toString.call(t)===\"[object Date]\"}function Be(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=Mt(n,o),a=Math.abs(Vt(n,o));n.setDate(n.getDate()-s*a);let c=+(Mt(n,o)===-s),m=s*(a-c);return m===0?0:m}function Mt(t,e){let r=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return r<0?-1:r>0?1:r}function U(t){return e=>{let n=(t?Math[t]:Math.trunc)(e);return n===0?0:n}}function zt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=(+n-+o)/me;return U(r==null?void 0:r.roundingMethod)(s)}function Fe(t,e){return+i(t)-+i(e)}function Lt(t,e,r){let n=Fe(t,e)/ce;return U(r==null?void 0:r.roundingMethod)(n)}function yt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function _t(t,e,r){let n=Fe(t,e)/1e3;return U(r==null?void 0:r.roundingMethod)(n)}function ht(t,e,r){let n=Be(t,e,r)/7;return U(r==null?void 0:r.roundingMethod)(n)}function Kt(t,e){let[r,n]=F(t,e.start,e.end);return{start:r,end:n}}function Pt(t,e){let{start:r,end:n}=Kt(e==null?void 0:e.in,t),o=+r>+n,s=o?+r:+n,a=o?n:r;a.setHours(0,0,0,0);let c=(e==null?void 0:e.step)??1;if(!c)return[];c<0&&(c=-c,o=!o);let m=[];for(;+a<=s;)m.push(S(r,a)),a.setDate(a.getDate()+c),a.setHours(0,0,0,0);return o?m.reverse():m}function lt(t,e){let r=i(t,e==null?void 0:e.in);return r.setDate(1),r.setHours(0,0,0,0),r}function kt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear();return r.setFullYear(n+1,0,0),r.setHours(23,59,59,999),r}function Yt(t,e){let r=i(t,e==null?void 0:e.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}function Bt(t,e){var p,l,E,v;let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=B(),s=(e==null?void 0:e.firstWeekContainsDate)??((l=(p=e==null?void 0:e.locale)==null?void 0:p.options)==null?void 0:l.firstWeekContainsDate)??o.firstWeekContainsDate??((v=(E=o.locale)==null?void 0:E.options)==null?void 0:v.firstWeekContainsDate)??1,a=S((e==null?void 0:e.in)||t,0);a.setFullYear(n+1,0,s),a.setHours(0,0,0,0);let c=ae(a,e),m=S((e==null?void 0:e.in)||t,0);m.setFullYear(n,0,s),m.setHours(0,0,0,0);let u=ae(m,e);return+r>=+c?n+1:+r>=+u?n:n-1}function Ft(t,e){var c,m,u,p;let r=B(),n=(e==null?void 0:e.firstWeekContainsDate)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.firstWeekContainsDate)??r.firstWeekContainsDate??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.firstWeekContainsDate)??1,o=Bt(t,e),s=S((e==null?void 0:e.in)||t,0);return s.setFullYear(o,0,n),s.setHours(0,0,0,0),ae(s,e)}function jt(t,e){let r=i(t,e==null?void 0:e.in),n=+ae(r,e)-+Ft(r,e);return Math.round(n/vt)+1}function Oe(t,e){return i(t,e==null?void 0:e.in).getDay()}function je(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=r.getMonth(),s=S(r,0);return s.setFullYear(n,o+1,0),s.setHours(0,0,0,0),s.getDate()}function Ut(t,e){return i(t,e==null?void 0:e.in).getHours()}function Wt(t,e){return i(t,e==null?void 0:e.in).getMinutes()}function Ue(t,e){return i(t,e==null?void 0:e.in).getMonth()}function Gt(t){return i(t).getSeconds()}function Jt(t,e){return i(t,e==null?void 0:e.in).getFullYear()}function wt(t,e){return+i(t)==+i(e)}function Ht(t,e,r){let n=i(t,r==null?void 0:r.in),o=jt(n,r)-e;return n.setDate(n.getDate()-o*7),i(n,r==null?void 0:r.in)}function Re(t,e,r){var l,E,v,g;let n=B(),o=(r==null?void 0:r.weekStartsOn)??((E=(l=r==null?void 0:r.locale)==null?void 0:l.options)==null?void 0:E.weekStartsOn)??n.weekStartsOn??((g=(v=n.locale)==null?void 0:v.options)==null?void 0:g.weekStartsOn)??0,s=i(t,r==null?void 0:r.in),a=s.getDay(),m=(e%7+7)%7,u=7-o,p=e<0||e>6?e-(a+u)%7:(m+u)%7-(a+u)%7;return Y(s,p,r)}function We(t,e,r){let n=+i(t,r==null?void 0:r.in),[o,s]=[+i(e.start,r==null?void 0:r.in),+i(e.end,r==null?void 0:r.in)].sort((a,c)=>a-c);return n>=o&&n<=s}function qt(t){let e=t/me;return Math.trunc(e)}function $t(t){let e=t/ce;return Math.trunc(e)}function Zt(t,e,r){let n=i(t,r==null?void 0:r.in),o=n.getFullYear(),s=n.getDate(),a=S((r==null?void 0:r.in)||t,0);a.setFullYear(o,e,15),a.setHours(0,0,0,0);let c=je(a);return n.setMonth(e,Math.min(s,c)),n}function Xt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setDate(e),n}function Qt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMonth(0),n.setDate(e),n}function er(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setHours(e),n}function tr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMinutes(e),n}function rr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setSeconds(e),n}function nr(t,e,r){return z(t,-e,r)}function or(t,e,r){return j(t,-e,r)}var vc=(t,e)=>{let r=Math.abs(ht(e,t)),n=Math.abs(Be(e,t)),o=n-r*7,s=Math.abs(zt(e,t)),a=s-n*24,c=Math.abs(Lt(e,t)),m=c-s*60,p=Math.abs(_t(e,t))-c*60;return{before:t>e,weeks:r,days:o,hours:a,minutes:m,seconds:p}};var ar=(t,e)=>{let r=e.before?-1:1,n=(e.seconds||0)*r,o=(e.minutes||0)*r,s=(e.hours||0)*r,a=(e.days||0)*r,c=(e.weeks||0)*r;return j(Y(Ke(ie(Pe(t,n),o),s),a),c)};var zc=t=>t.end?t.end.date:ar(t.start.date,t.duration);var _c=[\"PUBLISH\"],hc=[\"2.0\"];var sr=[ct,mt];var Yc=[\"FREE\",\"BUSY\",\"BUSY-UNAVAILABLE\",\"BUSY-TENTATIVE\"];var Fc=[\"BASE64\"],jc=[\"BINARY\"];var Wc=[\"NEEDS-ACTION\",\"ACCEPTED\",\"DECLINED\",\"TENTATIVE\",\"DELEGATED\"];var Jc=[\"DATE\",\"DATE-TIME\"];var cr=[\"SECONDLY\",\"MINUTELY\",\"HOURLY\",\"DAILY\",\"WEEKLY\",\"MONTHLY\",\"YEARLY\"];var qc=[\"TENTATIVE\",\"CONFIRMED\",\"CANCELLED\"],$c=[\"NEEDS-ACTION\",\"COMPLETED\",\"IN-PROGRESS\",\"CANCELLED\"],Zc=[\"DRAFT\",\"FINAL\",\"CANCELLED\"];var Qc=[\"START\",\"END\"];var Ge=[\"SU\",\"MO\",\"TU\",\"WE\",\"TH\",\"FR\",\"SA\"];var rm=[\"PRIVATE\",\"PUBLIC\",\"CONFIDENTIAL\"];var om=[\"TRANSPARENT\",\"OPAQUE\"];var de=(t,e)=>e===void 0?!1:t>=e,mr=(t,{start:e,end:r},n)=>{if(de(n.length,t.count))return;let o=t.frequency,s=t.interval||1;if(!o)return;let a=e;if(o===\"SECONDLY\"){for(;a<r;){if(de(n.length,t.count))return;a=Pe(a,s),n.push([a])}return}if(o===\"MINUTELY\"){for(;a<r;){if(de(n.length,t.count))return;a=ie(a,s),n.push([a])}return}if(o===\"HOURLY\"){for(;a<r;){if(de(n.length,t.count))return;a=Ke(a,s),n.push([a])}return}if(o===\"DAILY\"){for(;a<r;){if(de(n.length,t.count))return;a=Y(a,s),n.push([a])}return}if(o===\"WEEKLY\"){for(;a<r;){if(de(n.length,t.count))return;a=j(a,s),n.push([a])}return}if(o===\"MONTHLY\"){for(;a<r;)a=he(a,s),n.push([a]);return}if(o===\"YEARLY\"){for(;a<r;)a=ke(a,s),n.push([a]);return}};var ir=(t,e,r,n)=>{let o=r.map(({day:s,occurrence:a})=>({occurrence:a,day:Ge.indexOf(s)}));return t.frequency===\"YEARLY\"?t.byYearday||t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):t.byWeekNo?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):t.byMonth?e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(Yt(a)),W(kt(a)),c,n,m)))):t.frequency===\"MONTHLY\"?t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):t.frequency===\"WEEKLY\"?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a))))},Tt=(t,e,r,n,o)=>{if(o!==void 0){if(!(o<0)){let p=Re(t,r,{weekStartsOn:n}),l=t>p;return j(p,(o||1)-1+(l?1:0))}let c=Re(e,r,{weekStartsOn:n}),m=e<c;return W(xe(or(c,-(o||1)-1+(m?1:0))))}return Pt({start:t,end:e}).map(a=>W(a)).filter(a=>We(a,{start:t,end:e})).filter(a=>r===Oe(a))},W=t=>ie(t,-t.getTimezoneOffset());var ur=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"?e.map(n=>n.flatMap(o=>r.map(s=>er(o,s)))):e.map(n=>n.filter(o=>r.includes(Ut(o))));var dr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"||t.frequency===\"HOURLY\"?e.map(n=>n.flatMap(o=>r.map(s=>tr(o,s)))):e.map(n=>n.filter(o=>r.includes(Wt(o))));var pr=(t,e,r)=>t.frequency===\"YEARLY\"?e.map(n=>n.flatMap(o=>r.map(s=>Zt(o,s)))):e.map(n=>n.filter(o=>r.includes(Ue(o))));var fr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"?e.map(n=>n.flatMap(o=>{let s=je(o);return r.map(a=>a>s?void 0:Xt(o,a)).filter(a=>!!a)})):t.frequency===\"WEEKLY\"?e:e.map(n=>n.filter(o=>r.includes(Ue(o))));var yr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"||t.frequency===\"HOURLY\"||t.frequency===\"MINUTELY\"?e.map(n=>n.flatMap(o=>r.map(s=>rr(o,s)))):e.map(n=>n.filter(o=>r.includes(Gt(o))));var lr=(t,e,r)=>!t.byYearday&&!t.byWeekNo&&!t.byMonthday&&!t.byMonth&&!t.byDay&&!t.byHour&&!t.byMinute&&!t.bySecond?e:e.map(n=>n.sort(ue).filter((o,s)=>r.some(a=>a>0?s===0?!1:s%a===0:s===0?n.length-1+a===0:s%(n.length-1+a)===0)));var Tr=(t,e,r,n)=>t.frequency===\"YEARLY\"?e.map(o=>o.flatMap(s=>r.map(a=>Ht(s,a,{weekStartsOn:n})))):e;var Ir=(t,e,r)=>t.frequency===\"YEARLY\"?e.map(n=>n.flatMap(o=>r.map(s=>Qt(o,s)))):t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"?e:e.map(n=>n.filter(o=>r.includes(Jt(o))));var Er=(t,e,r)=>{let n=r;return t.byMonth&&(n=pr(t,n,t.byMonth)),t.byWeekNo&&(n=Tr(t,n,t.byWeekNo,e.weekStartsOn)),t.byYearday&&(n=Ir(t,n,t.byYearday)),t.byMonthday&&(n=fr(t,n,t.byMonthday)),t.byDay&&(n=ir(t,n,t.byDay,e.weekStartsOn)),t.byHour&&(n=ur(t,n,t.byHour)),t.byMinute&&(n=dr(t,n,t.byMinute)),t.bySecond&&(n=yr(t,n,t.bySecond)),t.bySetPos&&(n=lr(t,n,t.bySetPos)),n.map(s=>s.sort(ue).filter(a=>!(e.exceptions.length>0&&e.exceptions.some(c=>wt(c,a))||!We(a,{start:e.start,end:e.end}))))};var yn=2,Sr=(t,e)=>{var u;let r=e.start,n=((u=t.until)==null?void 0:u.date)||(e==null?void 0:e.end)||ke(r,yn),o=e.exceptions||[],s=(t.workweekStart?Ge.indexOf(t.workweekStart):1)%7,a=[[r]];mr(t,{start:r,end:n},a);let c=Er(t,{start:r,end:n,exceptions:o,weekStartsOn:s},a);return t.count?c.flat().splice(0,t.count):c.flat()};var Dr=(t,e)=>e.flatMap(r=>!r.recurrenceRule||r.recurrenceRule.until&&r.recurrenceRule.until.date<t?r:Sr(r.recurrenceRule,{start:r.start,end:t}).map(o=>({...r,start:o})));var se=t=>{let e=t[0]===\"+\"?1:-1,r=Number(t.slice(1,3)),n=t.length>3?Number(t.slice(3,5)):0,o=t.length>5?Number(t.slice(5,7)):0;return((r*60+n)*60+o)*1e3*e};var gr=(t,e)=>{let r=\"en-US\",n=new Date(e.toLocaleString(r,{timeZone:\"UTC\"}));try{return new Date(e.toLocaleString(r,{timeZone:t})).getTime()-n.getTime()}catch{return e.getTime()-n.getTime()}};var Je=(t,e,r)=>{let n=r==null?void 0:r.find(s=>s.id===e);if(n){let s=Dr(t,n.props).sort((m,u)=>ue(m.start,u.start));for(let m=0;m<s.length;m+=1)if(t<s[m].start){let u=s[m-1]?s[m-1].offsetTo:s[m].offsetFrom,p=u.length>5?u.substring(0,5):u;return{offset:p,milliseconds:se(p)}}let a=s[s.length-1].offsetTo,c=a.length>5?a.substring(0,5):a;return{offset:c,milliseconds:se(c)}}let o=gr(e,t);if(!Number.isNaN(o)){let s=o<0,a=Math.abs(qt(o)),c=Math.abs($t(o))-a*60,m=a.toString().length===1?`0${a}`:a.toString(),u=c.toString().length===1?`0${c}`:c.toString();return{offset:`${s?\"-\":\"+\"}${m}${u}`,milliseconds:o}}};var we=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);let e=t.toISOString(),r=e.slice(0,4),n=e.slice(5,7),o=e.slice(8,10);return`${r}${n}${o}`},A=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);return It(t)},xr=(t,e,r)=>{let n=e.date;if(!Ye(n))throw Error(`Incorrect date object: ${n}`);return Je(n,e.timezone,r)?It(n,!0):A(t)},It=(t,e)=>{let r=t.toISOString(),n=r.slice(0,4),o=r.slice(5,7),s=r.slice(8,10),a=r.slice(11,13),c=r.slice(14,16),m=r.slice(17,19);return`${n}${o}${s}T${a}${c}${m}${e?\"\":\"Z\"}`},Or=(t,e)=>{let r=se(e),n=z(t,r);return It(n,!0)};var Rr=t=>{var r,n;let e=D([((r=t.options)==null?void 0:r.related)&&{key:\"RELATED\",value:t.options.related}].filter(o=>!!o));if(t.type===\"absolute\")return f(\"TRIGGER\",A((n=t.value)==null?void 0:n.date));if(t.type===\"relative\")return f(\"TRIGGER\",M(t.value),e)};var He=t=>Object.keys(t);var Cr=(t,e)=>{if(!t)return\"\";let r=\"\";return Object.entries(t).forEach(([n,o])=>{let s=e==null?void 0:e[n];if(!s){r+=f(ln(n),o==null?void 0:o.toString());return}let a=s.generate(o);a&&(r+=f(s.name,a.value,a.options?D(Object.entries(a.options).map(([c,m])=>({key:c,value:m}))):void 0))}),r},ln=t=>{let e=\"X-\";for(let r of t)r===r.toUpperCase()&&(e+=\"-\"),e+=r.toUpperCase();return e};var Tn=t=>{let e=(t.match(/\\n/g)||[]).length;return t.length+e},Nr=t=>{let e=t.split(gt),r=[];return e.forEach(n=>{if(Tn(n)<75){r.push(n);return}In(n,75).forEach(o=>{r.push(o)})}),r.join(Le)},In=(t,e)=>{let r=[],n=\"\",o=0;for(let s=0;s<t.length;s++){let a=t[s],m=a===`\n`?2:1;o+m>e?(r.push(r.length===0?n:` ${n}`),n=a,o=m):(n+=a,o+=m)}return n&&r.push(r.length===0?n:` ${n}`),r};var O=(t,e)=>{let r=He(t),n=e.childComponents,o=n?He(n):[],s=e.generateArrayValues,a=s?He(s):[],c=\"\";return c+=Rt(e.icsComponent),r.forEach(m=>{if(o.includes(m)||a.includes(m)||m===\"nonStandard\")return;let u=e.icsKeyMap[m];if(!u)return;let p=t[m];if(p==null)return;let l=e.generateValues[m];if(l){c+=l({icsKey:u,value:p,key:m});return}c+=f(u,String(p))}),n&&o&&o.length>0&&o.forEach(m=>{let u=t[m];!u||!Array.isArray(u)||u.length===0||u.forEach(p=>{let l=n[m];l&&(c+=l(p))})}),s&&a&&a.length>0&&a.forEach(m=>{let u=s[m];if(!u)return;let p=e.icsKeyMap[m];if(!p)return;let l=t[m];!l||!Array.isArray(l)||l.length===0||l.forEach(E=>{c+=u({icsKey:p,value:E})})}),t.nonStandard&&(c+=Cr(t.nonStandard,e==null?void 0:e.nonStandard)),c+=Ct(e.icsComponent),e!=null&&e.skipFormatLines?c:Nr(c)};var h=(t,e)=>f(t,Math.trunc(e).toString());var vr=(t,e)=>O(t,{icsComponent:ee,icsKeyMap:Ce,generateValues:{trigger:({value:r})=>Rr(r),duration:({icsKey:r,value:n})=>f(r,M(n)),repeat:({icsKey:r,value:n})=>h(r,n)},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),attachments:({value:r})=>Nt(r)},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var T=(t,e,r=[],n)=>{let o=D([e.type&&{key:\"VALUE\",value:e.type},e.local&&!(n!=null&&n.forceUtc)&&{key:\"TZID\",value:e.local.timezone},...r].filter(a=>!!a)),s=e.type===\"DATE\"?we(e.date):e.local&&!(n!=null&&n.forceUtc)?xr(e.date,e.local,n==null?void 0:n.timezones):A(e.date);return f(t,s,o)};var pe=(t,e,r)=>T(e,t,void 0,r);var G=t=>{let e=D([t.dir&&{key:\"DIR\",value:`\"${t.dir}\"`},t.name&&{key:\"CN\",value:t.name},t.sentBy&&{key:\"SENT-BY\",value:k(t.sentBy)}].filter(r=>!!r));return f(\"ORGANIZER\",k(t.email),e)};var Ar=t=>t.occurrence?`${t.occurrence}${t.day}`:t.day;var J=t=>{var n;let e=\"\",r=D([t.frequency&&{key:\"FREQ\",value:t.frequency},t.byDay&&{key:\"BYDAY\",value:t.byDay.map(o=>Ar(o)).join(\",\")},t.byHour&&{key:\"BYHOUR\",value:t.byHour.join(\",\")},t.byMinute&&{key:\"BYMINUTE\",value:t.byMinute.join(\",\")},t.byMonth&&{key:\"BYMONTH\",value:t.byMonth.map(o=>o+1).join(\",\")},t.byMonthday&&{key:\"BYMONTHDAY\",value:t.byMonthday.join(\",\")},t.bySecond&&{key:\"BYSECOND\",value:t.bySecond.join(\",\")},t.bySetPos&&{key:\"BYSETPOS\",value:t.bySetPos.join(\",\")},t.byWeekNo&&{key:\"BYWEEKNO\",value:t.byWeekNo.join(\",\")},t.byYearday&&{key:\"BYYEARDAY\",value:t.byYearday.join(\",\")},t.count&&{key:\"COUNT\",value:t.count.toString()},t.interval&&{key:\"INTERVAL\",value:t.interval.toString()},t.until&&{key:\"UNTIL\",value:t.until.type===\"DATE\"?we(t.until.date):A(((n=t.until.local)==null?void 0:n.date)||t.until.date)},t.workweekStart&&{key:\"WKST\",value:t.workweekStart}].filter(o=>!!o));return e+=f(\"RRULE\",r),e};var fe=(t,e)=>{let r=\"\";return r+=T(\"RECURRENCE-ID\",t.value,t.range?[{key:\"RANGE\",value:t.range}]:void 0,e),r};var br=t=>t.replace(/([\\\\;,])|(\\n)/g,(e,r)=>r?`\\\\${r}`:\"\\\\n\");var R=(t,e,r)=>f(t,br(e),r?D(r):void 0);var Vr=(t,e)=>O(t,{icsComponent:Q,icsKeyMap:ve,omitGenerateKeys:[\"descriptionAltRep\"],generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n,t.descriptionAltRep?[{key:\"ALTREP\",value:`\"${t.descriptionAltRep}\"`}]:void 0),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},childComponents:{alarms:r=>vr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var Mr=(t,e)=>O(t,{icsComponent:t.type,icsKeyMap:be,generateValues:{start:({icsKey:r,value:n})=>f(r,Or(n,t.offsetTo)),recurrenceRule:({value:r})=>J(r),recurrenceDate:({icsKey:r,value:n})=>T(r,n)},omitGenerateKeys:[\"type\"],nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var zr=(t,e)=>O(t,{icsComponent:X,icsKeyMap:Ae,generateValues:{lastModified:({icsKey:r,value:n})=>f(r,A(n))},childComponents:{props:r=>Mr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var Lr=(t,e)=>O(t,{icsComponent:te,icsKeyMap:Ve,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),due:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),completed:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),percentComplete:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var _r=(t,e)=>O(t,{icsComponent:re,icsKeyMap:Me,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var hr=(t,e)=>{let r=t.values.map(o=>`${A(o.start)}/${o.end?A(o.end):M(o.duration)}`).join(\",\"),n=D([t.type&&{key:\"FBTYPE\",value:t.type}].filter(o=>!!o));return f(e,r,n)};var Kr=(t,e)=>O(t,{icsComponent:ne,icsKeyMap:ze,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),comment:({icsKey:r,value:n})=>R(r,n),organizer:({value:r})=>G(r)},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),freeBusy:({value:r})=>hr(r,\"FREEBUSY\")},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var gd=(t,e)=>O(t,{icsComponent:Se,icsKeyMap:Ne,generateValues:{},childComponents:{timezones:r=>zr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0}),events:r=>Vr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),todos:r=>Lr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),journals:r=>_r(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),freeBusy:r=>Kr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard})},nonStandard:e==null?void 0:e.nonStandard});var d=(t,e)=>{if(t===void 0)return e;let r=t[\"~standard\"].validate(e);if(r instanceof Promise)throw new TypeError(\"Schema validation must be synchronous\");if(r.issues)throw new Error(JSON.stringify(r.issues,null,2));return r.value};var Pr=(t,e)=>{var n,o,s,a;let r=((n=e.options)==null?void 0:n.VALUE)===\"BINARY\"?{type:\"binary\",encoding:((o=e.options)==null?void 0:o.ENCODING)||\"BASE64\",binary:e.value,value:(s=e.options)==null?void 0:s.VALUE}:{type:\"uri\",url:e.value,formatType:(a=e.options)==null?void 0:a.FMTTYPE};return d(t,r)};var w=t=>t.replace(/mailto:/gi,\"\");var L=(t,e)=>{var r,n,o,s,a,c,m,u,p,l,E,v;return d(t,{email:w(e.value),delegatedFrom:(r=e.options)!=null&&r[\"DELEGATED-FROM\"]?w((n=e.options)==null?void 0:n[\"DELEGATED-FROM\"]):void 0,dir:(o=e.options)==null?void 0:o.DIR,member:(s=e.options)!=null&&s.MEMBER?w(e.options.MEMBER):void 0,name:(a=e.options)==null?void 0:a.CN,partstat:(c=e.options)==null?void 0:c.PARTSTAT,role:(m=e.options)==null?void 0:m.ROLE,sentBy:(u=e.options)!=null&&u[\"SENT-BY\"]?w(e.options[\"SENT-BY\"]):void 0,rsvp:(p=e.options)!=null&&p.RSVP?((l=e.options)==null?void 0:l.RSVP)===\"TRUE\"?!0:((E=e.options)==null?void 0:E.RSVP)===\"FALSE\"?!1:void 0:void 0,cutype:(v=e.options)==null?void 0:v.CUTYPE})};var _=(t,e)=>{let r=e.value,n={};r[0]===\"-\"&&(n.before=!0,r=r.slice(1)),r=r.slice(1);let o=r.split(\"T\"),s=o[0];if(s.includes(\"D\")){let[c,m]=s.split(\"D\");n.days=Number(c),s=m}if(s.includes(\"W\")){let[c,m]=s.split(\"W\");n.weeks=Number(c),s=m}let a=o[1];if(a){if(a.includes(\"H\")){let[c,m]=a.split(\"H\");n.hours=Number(c),a=m}if(a.includes(\"M\")){let[c,m]=a.split(\"M\");n.minutes=Number(c),a=m}if(a.includes(\"S\")){let[c,m]=a.split(\"S\");n.seconds=Number(c),a=m}}return d(t,n)};var kr=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=new Date(Date.UTC(r,n,o));return d(t,s)},H=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=Number.parseInt(e.value.slice(9,11),10),a=Number.parseInt(e.value.slice(11,13),10),c=Number.parseInt(e.value.slice(13,15),10),m=new Date(Date.UTC(r,n,o,s,a,c));return d(t,m)},Yr=(t,e,r)=>{let n=se(r),o=H(void 0,e),s=nr(o,n);return d(t,s)};var En=(t,e)=>{var s,a,c,m,u,p;if(((s=t.options)==null?void 0:s.VALUE)===\"DATE\")return{date:kr(void 0,t),type:(a=t.options)==null?void 0:a.VALUE};let r=((c=t.options)==null?void 0:c.VALUE)||\"DATE-TIME\",n=H(void 0,t);if(!((m=t.options)!=null&&m.TZID))return{date:n,type:r};let o=Je(n,t.options.TZID,e==null?void 0:e.timezones);return o?{date:z(n,-o.milliseconds),type:r,local:(u=t.options)!=null&&u.TZID?{date:n,timezone:(p=t.options)==null?void 0:p.TZID,tzoffset:o.offset}:void 0}:{date:n,type:r}},y=(t,e,r)=>d(t,En(e,r));var Br=(t,e,r)=>{var o,s,a,c;let n=((o=e.options)==null?void 0:o.VALUE)===\"DATE-TIME\"||((s=e.options)==null?void 0:s.VALUE)===\"DATE\"?{type:\"absolute\",value:y(void 0,e,r),options:{related:(a=e.options)==null?void 0:a.RELATED}}:{type:\"relative\",value:_(void 0,e),options:{related:(c=e.options)==null?void 0:c.RELATED}};return d(t,n)};var Sn=t=>t.startsWith('\"')&&t.endsWith('\"')?t.slice(1,-1):t,Et=t=>t.map(e=>{let[r,...n]=e.split(ge),o=n.join(ge);return{property:r,value:Sn(o)}},{}),Dn=t=>t.reduce((e,r)=>(e[r.property]=r.value,e),{}),Fr=t=>Dn(Et(t));var gn=t=>{let e=!1,r;for(let s=0;s<t.length&&r===void 0;s+=1)t.charAt(s)===Ot&&(e=!e),t.charAt(s)===xt&&!e&&(r=s);if(r===void 0)throw Error(`Line not valid: ${t}`);let n=t.substring(0,r),o=t.substring(r+1);return{property:n,value:o}},jr=t=>{let{property:e,value:r}=gn(t);if(e.includes(oe)){let[n,...o]=e.split(oe),s=Fr(o);return{property:n,line:{options:s,value:r}}}return{property:e,line:{value:r}}};var Ur=t=>/^[ \\t]/.test(t),xn=t=>/^[A-Z]+(?:-[A-Z]+)*[:;]/.test(t),Wr=t=>{let e=[],r=t.split(De);for(;r[0]===\"\";)r.shift();let n=r.length;for(;n>0&&r[n-1]===\"\";)n-=1,r.pop();for(let o=0;o<r.length;){let s=r[o];for(o+=1;r[o]!==void 0&&(Ur(r[o])||!xn(r[o]));)r[o]===\"\"?s+=ut:Ur(r[o])?s+=r[o].substring(1):(s+=ut,s+=r[o]),o+=1;e.push(s)}return e.filter(o=>o!==\"\")};var Gr=(t,e,r)=>{if(!e)return t;let n={};return Object.entries(e).forEach(([o,s])=>{let a=Object.entries(r||{}).find(([u,p])=>p.name===o);if(!a){n[On(o)]=s.value;return}let c=a[1].convert(s),m=a[1].schema;if(!m){n[a[0]]=c;return}n[a[0]]=d(m,c)}),t.nonStandard=n,t},On=t=>{let e=t.startsWith(\"X-\")?t.slice(2):t,r=\"\",n=!1;for(let o of e)o===\"-\"?n=!0:(r+=n?o.toUpperCase():o.toLowerCase(),n=!1);return r};var Jr=t=>t.startsWith(\"X-\");var C=(t,e,r)=>{let n=e.replace(Dt(r==null?void 0:r.icsComponent),\"\"),o=[...new Set(Object.values(r.childComponents||{}).flatMap(({icsComponent:l})=>l))],s=Wr(o.reduce((l,E)=>l.replace(it(E),\"\"),n)),a=r.defaultValues||{},c={};s.forEach(l=>{var P,Ee;let{property:E,line:v}=jr(l);Jr(E)&&(c[E]=v);let g=r.objectKeyMap[E];if(!g)return;let Ie=(P=r.convertArrayValues)==null?void 0:P[g];if(Ie){let Z=Ie({line:v});if(!Z)return;(a[g]===void 0||a[g]===null||!Array.isArray(a[g]))&&(a[g]=[]),Array.isArray(Z)?a[g].push(...Z):a[g].push(Z);return}let qe=(Ee=r.convertValues)==null?void 0:Ee[g];if(qe){let Z=qe({line:v});if(!Z)return;a[g]=Z;return}a[g]=v.value});let m=r.childComponents,u=m?Object.keys(m||{}):[];m&&u.length>0&&u.forEach(l=>{let E=m==null?void 0:m[l];if(!E)return;let v=Array.isArray(E.icsComponent)?E.icsComponent:[E.icsComponent],g=[],Ie=[];v.forEach(P=>{Ie.push(...n.matchAll(it(P)))}),Ie.map(P=>P[0]).forEach(P=>{let Ee=E.convert(P,{data:a});Ee&&g.push(Ee)}),g.length!==0&&(a[l]=g)});let p=d(t,a);return r!=null&&r.nonStandard?Gr(p,c,r==null?void 0:r.nonStandard):p};var q=(t,e)=>{var r,n,o;return d(t,{name:(r=e.options)==null?void 0:r.CN,dir:(n=e.options)==null?void 0:n.DIR,sentBy:(o=e.options)!=null&&o[\"SENT-BY\"]?w(e.options[\"SENT-BY\"]):void 0,email:w(e.value)})};var ye=(t,e,r)=>{var n;return d(t,{value:y(void 0,e,r),range:(n=e.options)==null?void 0:n.RANGE})};var Rn=t=>{if(t.length===2)return{day:t};let r=t.slice(0,-2);return{day:t.replace(r,\"\"),occurrence:Number(r)}},wr=(t,e)=>d(t,Rn(e.value));var Hr=(t,e)=>d(t,e.value);var Cn=[\"until\"],Nn=t=>Cn.includes(t),vn=[\"bySecond\",\"byMinute\",\"byHour\",\"byMonthday\",\"byYearday\",\"byWeekNo\",\"bySetPos\"],An=t=>vn.includes(t),bn=[\"byDay\"],Vn=t=>bn.includes(t),Mn=[\"count\",\"interval\"],zn=t=>Mn.includes(t),$=(t,e,r)=>{let n={};return Et(e.value.split(oe)).forEach(s=>{let{property:a,value:c}=s,m=tt[a];if(m){if(Nn(m)){n[m]=y(void 0,{value:c,options:{VALUE:c.includes(\"T\")?\"DATE-TIME\":\"DATE\"}},{timezones:r==null?void 0:r.timezones});return}if(An(m)){n[m]=c.split(b).map(u=>Number(u));return}if(m===\"byMonth\"){n[m]=c.split(b).map(u=>Number(u)-1);return}if(Vn(m)){n[m]=c.split(b).map(u=>wr(void 0,{value:u}));return}if(zn(m)){n[m]=Number(c);return}if(m===\"frequency\"){if(!c||!cr.includes(c))return;n[m]=c;return}if(m===\"workweekStart\"){n[m]=Hr(void 0,{value:c});return}}}),d(t,n)};var le=(t,e)=>d(t,e.value);var qr=(t,e)=>d(t,e.value);var Te=(t,e,r)=>d(t,e.value.split(\",\").map(n=>y(void 0,{value:n,options:e.options},r)));var $r=(t,e)=>d(t,e.value),Zr=(t,e)=>d(t,e.value),Xr=(t,e)=>d(t,e.value);var K=(t,e)=>d(t,Number.parseInt(e.value,10));var Qr=t=>t.replace(/\\\\(([,;\\\\])|([nN]))/g,(e,r,n)=>n||`\n`);var N=(t,e)=>d(t,Qr(e.value));var en=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ee,objectKeyMap:$e,convertValues:{trigger:({line:o})=>Br(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),repeat:({line:o})=>K(void 0,o)},convertArrayValues:{attachments:({line:o})=>Pr(void 0,o),attendees:({line:o})=>L(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var tn=(...t)=>{let[e,r,n]=t,o,s=C(e,r,{icsComponent:Q,objectKeyMap:Xe,convertValues:{stamp:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),start:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),end:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),created:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),lastModified:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),categories:({line:a})=>a.value.split(b),description:({line:a})=>{var c;return(c=a.options)!=null&&c.ALTREP&&(o=a.options.ALTREP),N(void 0,a)},location:({line:a})=>N(void 0,a),comment:({line:a})=>N(void 0,a),summary:({line:a})=>N(void 0,a),recurrenceRule:({line:a})=>$(void 0,a,{timezones:n==null?void 0:n.timezones}),duration:({line:a})=>_(void 0,a),organizer:({line:a})=>q(void 0,a),sequence:({line:a})=>K(void 0,a),class:({line:a})=>le(void 0,a),recurrenceId:({line:a})=>ye(void 0,a,{timezones:n==null?void 0:n.timezones}),status:({line:a})=>$r(void 0,a),timeTransparent:({line:a})=>qr(void 0,a)},convertArrayValues:{attendees:({line:a})=>L(void 0,a),exceptionDates:({line:a})=>Te(void 0,a,{timezones:n==null?void 0:n.timezones})},childComponents:{alarms:{icsComponent:ee,convert:a=>en(void 0,a,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},timezones:n==null?void 0:n.timezones,nonStandard:n==null?void 0:n.nonStandard});return o&&(s.descriptionAltRep=o),s};var rn=(...t)=>{let[e,r,n]=t,o=r.split(\"BEGIN:\")[1].split(De)[0],s=sr.includes(o)?o:\"STANDARD\",a=r.split(\"TZOFFSETTO:\")[1].split(De)[0];return C(e,r,{icsComponent:s,objectKeyMap:et,defaultValues:{type:s},convertValues:{start:({line:c})=>Yr(void 0,c,a),recurrenceRule:({line:c})=>$(void 0,c,{timezones:n==null?void 0:n.timezones}),recurrenceDate:({line:c})=>y(void 0,c,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var nn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:X,objectKeyMap:Qe,convertValues:{lastModified:({line:o})=>H(void 0,o)},childComponents:{props:{icsComponent:[\"DAYLIGHT\",\"STANDARD\"],convert:o=>rn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var on=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:te,objectKeyMap:rt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),due:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),completed:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),location:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),percentComplete:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Zr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var an=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:re,objectKeyMap:nt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Xr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var sn=(t,e)=>{var r;return d(t,{type:(r=e.options)==null?void 0:r.FBTYPE,values:e.value.split(\",\").map(n=>{let[o,s]=n.split(\"/\"),a=H(void 0,{value:o});if(s.startsWith(\"PT\")){let m=_(void 0,{value:s});return{start:a,duration:m}}let c=H(void 0,{value:s});return{start:a,end:c}})})};var cn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ne,objectKeyMap:ot,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),end:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),comment:({line:o})=>N(void 0,o),organizer:({line:o})=>q(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),freeBusy:({line:o})=>sn(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var xy=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:Se,objectKeyMap:Ze,convertValues:{version:({line:o})=>o.value},childComponents:{timezones:{icsComponent:X,convert:o=>nn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard})},events:{icsComponent:Q,convert:(o,{data:s})=>tn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},todos:{icsComponent:te,convert:(o,{data:s})=>on(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},journals:{icsComponent:re,convert:(o,{data:s})=>an(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},freeBusy:{icsComponent:ne,convert:(o,{data:s})=>cn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})}},nonStandard:n==null?void 0:n.nonStandard})};export{De as BREAK_REGEX,b as COMMA,Le as CRLF_BREAK,gt as CRLF_BREAK_REGEX,yn as DEFAULT_END_IN_YEARS,ge as EQUAL_SIGN,Io as ICS_COMPONENTS,ut as LF_BREAK,dt as MAX_LINE_LENGTH,st as OBJECT_END,at as OBJECT_START,Ot as QUOTE,to as RRULE_KEYS,ro as RRULE_OBJECT_KEYS,St as RRULE_TO_KEYS,tt as RRULE_TO_OBJECT_KEYS,oe as SEMICOLON,xt as SEPARATOR,Vo as SPACE,sr as TIMEZONE_PROP_COMPONENTS,hn as VALARM_KEYS,ee as VALARM_OBJECT_KEY,Kn as VALARM_OBJECT_KEYS,Ce as VALARM_TO_KEYS,$e as VALARM_TO_OBJECT_KEYS,Yn as VCALENDAR_KEYS,Se as VCALENDAR_OBJECT_KEY,Bn as VCALENDAR_OBJECT_KEYS,Ne as VCALENDAR_TO_KEYS,Ze as VCALENDAR_TO_OBJECT_KEYS,Un as VEVENT_KEYS,Q as VEVENT_OBJECT_KEY,Wn as VEVENT_OBJECT_KEYS,ve as VEVENT_TO_KEYS,Xe as VEVENT_TO_OBJECT_KEYS,yo as VFREEBUSY_KEYS,ne as VFREEBUSY_OBJECT_KEY,lo as VFREEBUSY_OBJECT_KEYS,ze as VFREEBUSY_TO_KEYS,ot as VFREEBUSY_TO_OBJECT_KEYS,io as VJOURNAL_KEYS,re as VJOURNAL_OBJECT_KEY,uo as VJOURNAL_OBJECT_KEYS,Me as VJOURNAL_TO_KEYS,nt as VJOURNAL_TO_OBJECT_KEYS,mt as VTIMEZONE_DAYLIGHT_OBJECT_KEY,wn as VTIMEZONE_KEYS,X as VTIMEZONE_OBJECT_KEY,Hn as VTIMEZONE_OBJECT_KEYS,Zn as VTIMEZONE_PROP_KEYS,Xn as VTIMEZONE_PROP_OBJECT_KEYS,be as VTIMEZONE_PROP_TO_KEYS,et as VTIMEZONE_PROP_TO_OBJECT_KEYS,ct as VTIMEZONE_STANDARD_OBJECT_KEY,Ae as VTIMEZONE_TO_KEYS,Qe as VTIMEZONE_TO_OBJECT_KEYS,ao as VTODO_KEYS,te as VTODO_OBJECT_KEY,so as VTODO_OBJECT_KEYS,Ve as VTODO_TO_KEYS,rt as VTODO_TO_OBJECT_KEYS,Fc as attachmentEncodingTypes,jc as attachmentValueTypes,Wc as attendeePartStatusTypes,_c as calendarMethods,hc as calendarVersions,rm as classTypes,en as convertIcsAlarm,Pr as convertIcsAttachment,L as convertIcsAttendee,xy as convertIcsCalendar,le as convertIcsClass,kr as convertIcsDate,H as convertIcsDateTime,_ as convertIcsDuration,tn as convertIcsEvent,$r as convertIcsEventStatus,Te as convertIcsExceptionDates,cn as convertIcsFreeBusy,K as convertIcsInteger,an as convertIcsJournal,Xr as convertIcsJournalStatus,Yr as convertIcsLocalOnlyDateTime,q as convertIcsOrganizer,ye as convertIcsRecurrenceId,$ as convertIcsRecurrenceRule,N as convertIcsText,y as convertIcsTimeStamp,qr as convertIcsTimeTransparent,nn as convertIcsTimezone,rn as convertIcsTimezoneProp,on as convertIcsTodo,Zr as convertIcsTodoStatus,Br as convertIcsTrigger,Hr as convertIcsWeekDay,wr as convertIcsWeekDayNumber,Gr as convertNonStandardValues,it as createGetRegex,Dt as createReplaceRegex,Jc as dateObjectTypes,qc as eventStatusTypes,Sr as extendByRecurrenceRule,Dr as extendTimezoneProps,Yc as freeBusyTypes,vr as generateIcsAlarm,Nt as generateIcsAttachment,V as generateIcsAttendee,gd as generateIcsCalendar,we as generateIcsDate,M as generateIcsDuration,Vr as generateIcsEvent,Kr as generateIcsFreeBusy,h as generateIcsInteger,_r as generateIcsJournal,xr as generateIcsLocalDateTime,Or as generateIcsLocalOnlyDateTime,k as generateIcsMail,G as generateIcsOrganizer,J as generateIcsRecurrenceRule,R as generateIcsText,T as generateIcsTimeStamp,zr as generateIcsTimezone,Mr as generateIcsTimezoneProp,Lr as generateIcsTodo,Rr as generateIcsTrigger,A as generateIcsUtcDateTime,Ar as generateIcsWeekdayNumber,Cr as generateNonStandardValues,vc as getDurationFromInterval,zc as getEventEnd,ar as getEventEndFromDuration,Je as getTimezoneObjectOffset,Zc as journalStatusTypes,zn as recurrenceObjectKeyIsNumber,An as recurrenceObjectKeyIsNumberArray,Nn as recurrenceObjectKeyIsTimeStamp,Vn as recurrenceObjectKeyIsWeekdayNumberArray,cr as recurrenceRuleFrequencies,om as timeTransparentTypes,se as timeZoneOffsetToMilliseconds,$c as todoStatusTypes,Qc as triggerRelations,Ge as weekDays};\n","import { generateIcsEvent } from 'ts-ics'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date\r\n end: Date\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: string\r\n lon: string\r\n }\r\n organizer: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = generateIcsEvent({\r\n ...this.pluginOptions,\r\n stamp: { date: this.pluginOptions.start, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n start: { date: this.pluginOptions.start, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n end: { date: this.pluginOptions.end, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n geo: this.pluginOptions.geo ? `${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}` : undefined,\r\n uid: this.uuid || ''\r\n })\r\n return options\r\n }\r\n\r\n}\r\n"],"names":["x","t","Object","fromEntries","entries","map","e","r","Ce","action","description","duration","repeat","summary","trigger","attachments","attendees","Ne","method","prodId","version","name","ve","alarms","categories","created","lastModified","location","exceptionDates","recurrenceRule","stamp","start","uid","timeTransparent","url","end","geo","class","organizer","priority","sequence","status","attach","recurrenceId","comment","k","Ae","id","be","offsetFrom","offsetTo","recurrenceDate","St","byDay","byHour","byMinute","byMonth","byMonthday","bySecond","bySetPos","byWeekNo","byYearday","count","frequency","interval","until","workweekStart","Ve","completed","due","percentComplete","Me","ze","freeBusy","gt","f","D","length","key","value","join","oe","V","dir","delegatedFrom","member","role","partstat","sentBy","rsvp","cutype","filter","n","email","M","values","before","weeks","days","hours","minutes","seconds","pt","Symbol","for","S","Date","constructor","i","Y","in","isNaN","NaN","setDate","getDate","he","o","s","getTime","setMonth","getMonth","setFullYear","getFullYear","fn","ae","c","m","u","p","weekStartsOn","locale","options","a","getDay","setHours","ie","setTime","ce","ue","Ye","prototype","toString","call","yt","Pt","F","bind","find","push","reverse","lt","je","Re","l","E","v","g","We","sort","Ge","split","de","Tt","W","xe","getTimezoneOffset","Er","flatMap","Math","min","includes","pr","h","q","firstWeekContainsDate","P","round","vt","Tr","Ir","fr","day","occurrence","indexOf","ir","getHours","ur","setMinutes","getMinutes","dr","setSeconds","getSeconds","yr","some","lr","exceptions","Sr","date","b","me","mr","flat","splice","se","Number","slice","Je","Dr","props","offset","substring","milliseconds","toLocaleString","timeZone","gr","abs","trunc","we","Error","toISOString","A","It","ln","toUpperCase","In","O","keys","childComponents","generateArrayValues","icsComponent","forEach","icsKeyMap","generateValues","icsKey","String","Array","isArray","nonStandard","generate","Cr","skipFormatLines","match","Tn","Le","Nr","vr","ee","related","type","Rr","formatType","encoding","binary","JSON","stringify","Nt","T","local","forceUtc","timezone","xr","timezones","br","replace","Vr","Q","d","descriptionAltRep","J","G","range","EventPlugin","pluginOptions","uuid","this","configure","data","generateIcsEvent","allDay","lat","lon","undefined"],"mappings":"AAAG,IAACA,EAAEC,GAAGC,OAAOC,YAAYD,OAAOE,QAAQH,GAAGI,IAAI,EAAEC,EAAEC,KAAK,CAACA,EAAED,KAA6BE,EAAG,CAACC,OAAO,SAASC,YAAY,cAAcC,SAAS,WAAWC,OAAO,SAASC,QAAQ,UAAUC,QAAQ,UAAUC,YAAY,SAASC,UAAU,YAAehB,EAAEQ,GAAwGR,EAA3EiB,CAACC,OAAO,SAASC,OAAO,SAASC,QAAQ,UAAUC,KAAK,iBAA+CC,IAAAA,EAAG,CAACC,OAAO,QAAQC,WAAW,aAAaC,QAAQ,UAAUf,YAAY,cAAcgB,aAAa,gBAAgBC,SAAS,WAAWC,eAAe,SAASC,eAAe,QAAQC,MAAM,UAAUC,MAAM,UAAUlB,QAAQ,UAAUmB,IAAI,MAAMC,gBAAgB,SAASC,IAAI,MAAMC,IAAI,QAAQxB,SAAS,WAAWyB,IAAI,MAAMC,MAAM,QAAQC,UAAU,YAAYC,SAAS,WAAWC,SAAS,WAAWC,OAAO,SAASC,OAAO,SAASC,aAAa,gBAAgB3B,UAAU,WAAW4B,QAAQ,WAAc5C,EAAEsB,GAAqFuB,EAAxDC,CAACC,GAAG,OAAOrB,aAAa,gBAAgBQ,IAAI,UAA8LlC,EAAnJgD,CAACJ,QAAQ,UAAUvB,KAAK,SAAS4B,WAAW,eAAeC,SAAS,aAAaC,eAAe,QAAQtB,eAAe,QAAQE,MAAM,YAAsT/B,EAAzQoD,CAACC,MAAM,QAAQC,OAAO,SAASC,SAAS,WAAWC,QAAQ,UAAUC,WAAW,aAAaC,SAAS,WAAWC,SAAS,WAAWC,SAAS,WAAWC,UAAU,YAAYC,MAAM,QAAQC,UAAU,OAAOC,SAAS,WAAWC,MAAM,QAAQC,cAAc,SAA0iBrB,EAAhgBsB,CAAC3C,WAAW,aAAaC,QAAQ,UAAUf,YAAY,cAAcgB,aAAa,gBAAgBC,SAAS,WAAWC,eAAe,SAASC,eAAe,QAAQC,MAAM,UAAUC,MAAM,UAAUlB,QAAQ,UAAUmB,IAAI,MAAME,IAAI,MAAMvB,SAAS,WAAWyB,IAAI,MAAMC,MAAM,QAAQC,UAAU,YAAYC,SAAS,WAAWC,SAAS,WAAWC,OAAO,SAASC,OAAO,SAASC,aAAa,gBAAgB3B,UAAU,WAAW4B,QAAQ,UAAUwB,UAAU,YAAYC,IAAI,MAAMC,gBAAgB,qBAAubzB,EAAjY0B,CAAC/C,WAAW,aAAaC,QAAQ,UAAUf,YAAY,cAAcgB,aAAa,gBAAgBE,eAAe,SAASC,eAAe,QAAQC,MAAM,UAAUC,MAAM,UAAUlB,QAAQ,UAAUmB,IAAI,MAAME,IAAI,MAAME,IAAI,MAAMC,MAAM,QAAQC,UAAU,YAAYE,SAAS,WAAWC,OAAO,SAASC,OAAO,SAASC,aAAa,gBAAgB3B,UAAU,WAAW4B,QAAQ,YAAmMC,EAAtJ2B,CAAC1C,MAAM,UAAUC,MAAM,UAAUC,IAAI,MAAME,IAAI,MAAMI,UAAU,YAAYtB,UAAU,WAAW4B,QAAQ,UAAUT,IAAI,QAAQsC,SAAS,iBAAoUC,EAAG,OAE/wFC,EAAE,CAAC1E,EAAEK,EAAEC,IAAIA,EAAK,MAAHD,EAAQ,GAAhC,GAAyCL,KAAKM,KAAKD,MAAnD,GAA8DL,KAAKK,MAAqDsE,EAAE3E,IAAI,KAAKA,EAAE4E,OAAO,GAAG,MAAO,GAAE5E,EAAEI,IAAIC,GAAI,GAAEA,EAAEwE,OAAWxE,EAAEyE,SAASC,KAA/NC,QAAolBpC,EAAE,CAAC5C,EAAEK,IAAIA,EAAG,WAAUL,KAAM,UAASA,IAAQiF,EAAE,CAACjF,EAAEK,KAAK,IAAIC,EAAEqE,EAAE,CAAC3E,EAAEkF,KAAK,CAACL,IAAI,MAAMC,MAAO,IAAG9E,EAAEkF,QAAQlF,EAAEmF,eAAe,CAACN,IAAI,iBAAiBC,MAAMlC,EAAE5C,EAAEmF,eAAc,IAAKnF,EAAEoF,QAAQ,CAACP,IAAI,SAASC,MAAMlC,EAAE5C,EAAEoF,QAAO,IAAKpF,EAAEqF,MAAM,CAACR,IAAI,OAAOC,MAAM9E,EAAEqF,MAAMrF,EAAEoB,MAAM,CAACyD,IAAI,KAAKC,MAAM9E,EAAEoB,MAAMpB,EAAEsF,UAAU,CAACT,IAAI,WAAWC,MAAM9E,EAAEsF,UAAUtF,EAAEuF,QAAQ,CAACV,IAAI,UAAUC,MAAMlC,EAAE5C,EAAEuF,QAAO,aAAKvF,EAAEwF,QAAyB,IAATxF,EAAEwF,OAAoB,IAATxF,EAAEwF,OAAY,CAACX,IAAI,OAAOC,OAAe,IAAT9E,EAAEwF,KAAU,OAAO,SAASxF,EAAEyF,QAAQ,CAACZ,IAAI,SAASC,MAAM9E,EAAEyF,SAASC,OAAOC,KAAKA,IAAI,OAAOjB,EAAErE,EAAEuC,EAAE5C,EAAE4F,OAAOtF,IAAQuF,EAAE7F,IAAI,GAA2D,IAAxDC,OAAO6F,OAAO9F,GAAG0F,OAAOpF,GAAa,iBAAHA,GAAasE,OAAlD,CAAoE,IAAIvE,EAAE,UAAUL,EAAE+F,SAAS1F,GAAG,KAAKA,GAAG,SAAc,IAAVL,EAAEgG,QAAiB3F,GAAI,GAAEL,EAAEgG,eAAmB,IAAThG,EAAEiG,OAAgB5F,GAAI,GAAEL,EAAEiG,mBAAUjG,EAAEkG,YAA4B,IAAZlG,EAAEmG,cAA8B,IAAZnG,EAAEoG,WAAoB/F,GAAG,SAAc,IAAVL,EAAEkG,QAAiB7F,GAAI,GAAEL,EAAEkG,eAAsB,IAAZlG,EAAEmG,UAAmB9F,GAAI,GAAEL,EAAEmG,iBAAwB,IAAZnG,EAAEoG,UAAmB/F,GAAI,GAAEL,EAAEoG,aAAa/F,CAAlX,GAAkgBgG,EAAGC,OAAOC,IAAI,qBAA8BC,SAAAA,EAAExG,EAAEK,GAAG,MAAiB,mBAAHL,EAAGA,EAAAK,GAAAL,GAAA,iBAAAA,GAAAqG,KAAArG,EAAAA,EAAAqG,GAAAhG,GAAAL,aAAAyG,KAAA,IAAAzG,EAAA0G,YAAArG,GAAA,IAAAoG,KAAApG,EAAlB,CAAkBsG,SAAAA,EAAA3G,EAAAK,GAAA,OAAAmG,EAAAnG,GAAAL,EAAAA,EAAA,CAAA4G,SAAAA,EAAA5G,EAAAK,EAAAC,GAAA,IAAAqF,EAAAgB,EAAA3G,EAAA,MAAAM,OAAA,EAAAA,EAAAuG,IAAA,OAAAC,MAAAzG,GAAAmG,GAAA,MAAAlG,OAAA,EAAAA,EAAAuG,KAAA7G,EAAA+G,MAAA1G,GAAAsF,EAAAqB,QAAArB,EAAAsB,UAAA5G,GAAAsF,EAAA,CAAAuB,SAAAA,EAAAlH,EAAAK,GAAA,IAAAsF,EAAAgB,EAAA3G,UAAA,GAAA8G,MAAAzG,GAAA,OAAAmG,EAAAxG,EAAA+G,KAAA,IAAA1G,EAAA,OAAAsF,EAAA,IAAAwB,EAAAxB,EAAAsB,UAAA,OAAAG,EAAAZ,EAAAxG,EAAA2F,EAAA0B,YAAAC,SAAA3B,EAAA4B,WAAAlH,EAAA,EAAA,GAAA8G,MAAAC,EAAAH,WAAAG,GAAAzB,EAAA6B,YAAAJ,EAAAK,cAAAL,EAAAG,WAAAJ,GAAAxB,EAAA,CAAA,IAAA+B,EAAA,CAAA,WAAAC,EAAA3H,EAAAK,GAAA,IAAAuH,EAAAC,EAAAC,EAAAC,EAAApC,GAAA,MAAAtF,OAAA,EAAAA,EAAA2H,gBAAA,OAAAH,EAAA,OAAAD,EAAA,MAAAvH,OAAA,EAAAA,EAAA4H,aAAA,EAAAL,EAAAM,cAAA,EAAAL,EAAAG,eAAAN,EAAAM,eAAA,OAAAD,EAAA,OAAAD,EAAAJ,EAAAO,aAAA,EAAAH,EAAAI,cAAA,EAAAH,EAAAC,eAAA,EAAA,OAAAG,OAAAhB,EAAAR,EAAA3G,EAAA,MAAAK,OAAA,EAAAA,EAAAwG,KAAAuB,UAAAzC,EAAA,EAAA,GAAAyB,EAAAzB,EAAAwB,EAAAH,QAAAG,EAAAF,UAAAkB,GAAAhB,EAAAkB,SAAA,EAAA,EAAA,EAAA,GAAAlB,CAAA,CAAAmB,SAAAA,EAAAtI,EAAAK,GAAA,OAAAsF,EAAAgB,EAAA3G,WAAAuI,QAAA5C,EAAA0B,UAAjJmB,IAAiJnI,GAAAsF,CAAA,CAAA8C,SAAAA,EAAAzI,EAAAK,GAAA,OAAAC,GAAAqG,EAAA3G,IAAA2G,EAAAtG,IAAA,GAAA,EAAAC,EAAA,EAAA,EAAAA,CAAA,CAAAoI,SAAAA,EAAA1I,GAAA,OAAAA,aAAAyG,MAAA,iBAAAzG,GAAA,kBAAAC,OAAA0I,UAAAC,SAAAC,KAAA7I,EAAA,CAAA8I,WAAA9I,GAAA,IAAA2F,GAAArF,EAAAqG,EAAA3G,OAAA,IAAAuH,WAAA,OAAAjH,EAAAkH,YAAAlH,EAAAmH,cAAA9B,EAAA,EAAA,GAAArF,EAAA+H,SAAA,GAAA,GAAA,GAAA,KAAA/H,CAAA,CAAAyI,SAAAA,EAAA/I,GAAA,IAAAM,EAAAqF,GAAAqD,SAAAhJ,KAAAK,GAAA,OAAAC,EAAAkG,EAAAyC,KAAA,KAAA5I,EAAA6I,KAAAvD,GAAA,qBAAAtF,EAAAD,IAAAE,EAAA,CAAA0I,MAAA,EAAAhJ,EAAA8B,MAAA9B,EAAAkC,MAAAJ,MAAAxB,EAAA4B,IAAAyD,GAAA,CAAA7D,MAAAxB,EAAA4B,IAAAyD,GAAAyB,GAAAD,GAAA7G,GAAAqF,IAAArF,GAAAqF,EAAAwC,EAAAhB,EAAAxB,EAAArF,EAAA6H,EAAAE,SAAA,EAAA,EAAA,EAAA,GAAA,IAAA,IAAAR,EAAA,IAAAM,GAAAf,GAAAS,EAAAsB,KAAA3C,EAAAlG,EAAA6H,IAAAA,EAAAnB,QAAAmB,EAAAlB,UAAAW,GAAAO,EAAAE,SAAA,EAAA,EAAA,EAAA,GAAA,OAAAlB,EAAAU,EAAAuB,UAAAvB,CAAA,CAAAwB,SAAAA,EAAArJ,UAAAM,EAAAqG,EAAA3G,OAAA,IAAAgH,QAAA,GAAA1G,EAAA+H,SAAA,EAAA,EAAA,EAAA,GAAA/H,CAAA,CAAAgJ,SAAAA,EAAAtJ,GAAA,IAAAM,EAAAqG,EAAA3G,OAAA,GAAA2F,EAAArF,EAAAmH,cAAA,IAAAN,EAAA7G,EAAAiH,WAAA,OAAAH,EAAAZ,EAAAlG,EAAA,IAAAkH,YAAA7B,EAAAwB,EAAA,EAAA,GAAAC,EAAAiB,SAAA,EAAA,EAAA,EAAA,GAAAjB,EAAAH,SAAA,CAAAsC,SAAAA,EAAAvJ,EAAAK,EAAAC,GAAA,IAAAkJ,EAAAC,EAAAC,EAAAC,EAAAxC,GAAA,MAAA7G,OAAA,EAAAA,EAAA0H,gBAAA,OAAAyB,EAAA,OAAAD,EAAA,MAAAlJ,OAAA,EAAAA,EAAA2H,aAAA,EAAAuB,EAAAtB,cAAA,EAAAuB,EAAAzB,eAAAN,EAAAM,eAAA,OAAA2B,EAAA,OAAAD,EAAAhC,EAAAO,aAAA,EAAAyB,EAAAxB,cAAA,EAAAyB,EAAA3B,eAAA,EAAA,OAAAG,GAAAf,EAAAT,EAAA3G,EAAA,MAAAM,OAAA,EAAAA,EAAAuG,KAAAuB,SAAAN,EAAA,EAAAX,EAAAP,EAAAQ,EAAA/G,EAAA,GAAAA,EAAA,EAAAA,GAAA8H,EAAAL,GAAA,IAAAzH,EAAA,EAAA,GAAA,EAAAyH,GAAA,GAAAK,EAAAL,GAAA,EAAAxH,EAAA,CAAAsJ,SAAAA,EAAA5J,EAAAK,GAAAsF,GAAAgB,EAAA3G,OAAA,GAAA,IAAAmH,EAAAC,GAAA,EAAAT,EAAAtG,EAAAyB,WAAA,IAAA6E,EAAAtG,EAAA6B,SAAA,IAAA2H,KAAA,CAAA1B,EAAAP,IAAAO,EAAAP,GAAA,OAAAjC,GAAAwB,GAAAxB,GAAAyB,CAAA,CAAA,IAAA0C,EAAA,uBAAAC,MAAA,KAAAC,EAAA,CAAAhK,EAAAK,SAAA,IAAAA,GAAAL,GAAAK,EAAA4J,EAAA,CAAAjK,EAAAK,EAAAC,EAAAqF,EAAAwB,SAAA,IAAAA,EAAAA,EAAA,GAAAS,EAAA2B,EAAAlJ,EAAAC,EAAA,CAAA0H,aAAArC,IAAAuE,EAAAC,SAAAnK,GAAA,OAAAM,EAAAqG,EAAA3G,OAAA,IAAAqI,SAAA,EAAA,EAAA,EAAA,GAAA/H,CAAA,CAAA6J,CAAAvD,EAAAgB,EAAA,MAAAT,GAAA,GAAA,GAAA9G,EAAAuH,EAAA,EAAA,SAAA,MAAAhB,EAAAmB,EAAAwB,EAAAvJ,EAAAM,EAAA,CAAA0H,aAAArC,IAAA,IAAAwB,GAAA,GAAA,GAAAnH,EAAA+H,EAAA,EAAA,YAAAgB,EAAA,CAAAjH,MAAA9B,EAAAkC,IAAA7B,IAAAD,IAAA+H,GAAAG,EAAAH,GAAAA,EAAAiC,sBAAA1E,OAAAyC,GAAAyB,EAAAzB,EAAA,CAAArG,MAAA9B,EAAAkC,IAAA7B,KAAAqF,OAAAyC,GAAA7H,IAAAqG,EAAAwB,UAAAC,UAAA8B,EAAAlK,GAAAsI,EAAAtI,GAAAA,EAAAoK,qBAAAC,EAAA,CAAArK,EAAAK,EAAAC,KAAAN,EAAAuD,UAAAoC,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,GAAA7G,EAAAF,IAAAgH,IAAA,IAAAzB,EAAAgB,EAAAQ,OAAA,GAAAA,EAAAxB,EAAA8B,cAAAL,EAAAzB,EAAAsB,UAAAkB,EAAA3B,EAAAW,EAAA,GAAA,OAAAgB,EAAAX,YAAAL,EAAAC,EAAA,IAAAe,EAAAE,SAAA,EAAA,EAAA,EAAA,GAAAT,EAAA0B,EAAAnB,GAAAxC,EAAA2B,SAAAF,EAAAmD,KAAAC,IAAApD,EAAAQ,IAAAjC,MAAAtF,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,OAAA,GAAAI,cAAAmD,CAAA1K,EAAA2F,EAAA3F,EAAAuD,UAAAvD,EAAA2D,WAAAgC,EAAA,EAAA3F,EAAAK,EAAAC,EAAAqF,IAAA,WAAA3F,EAAA8D,UAAAzD,EAAAD,IAAA+G,GAAAA,EAAAmD,QAAAlD,GAAA9G,EAAAF,IAAA+H,IAAA,IAAAP,EAAAC,EAAAC,EAAAC,EAAAD,EAAA0B,EAAAC,EAAAC,EAAAiB,EAAA,CAAA3C,aAAArC,GAAAA,EAAAgB,EAAAS,EAAA,MAAA9G,OAAA,EAAAA,EAAAuG,IAAAvG,EAAAqG,EAAAhB,EAAA,MAAArF,OAAA,EAAAA,EAAAuG,IAAA+D,GAAAjD,EAAArH,EAAAA,GAAAqF,GAAA,MAAArF,OAAA,EAAAA,EAAAuK,yBAAA,OAAAhD,EAAA,OAAAD,EAAA,MAAAtH,OAAA,EAAAA,EAAA2H,aAAA,EAAAL,EAAAM,cAAA,EAAAL,EAAAgD,wBAAAnD,EAAAmD,wBAAA,OAAA9C,EAAA,OAAAD,EAAAJ,EAAAO,aAAA,EAAAH,EAAAI,cAAA,EAAAH,EAAA8C,wBAAA,EAAA,OAAAlF,GAAArF,EAAAqG,EAAArG,EAAA,MAAAA,OAAA,EAAAA,EAAAuG,KAAAY,iBAAA,MAAAnH,OAAA,EAAAA,EAAAuK,yBAAA,OAAArB,EAAA,OAAAzB,EAAA,MAAAzH,OAAA,EAAAA,EAAA2H,aAAA,EAAAF,EAAAG,cAAA,EAAAsB,EAAAqB,wBAAAnD,EAAAmD,wBAAA,OAAAnB,EAAA,OAAAD,EAAA/B,EAAAO,aAAA,EAAAwB,EAAAvB,cAAA,EAAAwB,EAAAmB,wBAAA,GAAA1C,EAAA3B,GAAA,MAAAlG,SAAAA,EAAAuG,KAAAvG,EAAA,IAAAkH,YAAA7B,EAAA,EAAA,EAAAyB,GAAAe,EAAAE,SAAA,EAAA,EAAA,EAAA,GAAAT,EAAAD,EAAAQ,EAAA7H,IAAAuH,EAAArB,GAAA,MAAAlG,OAAA,EAAAA,EAAAuG,KAAAvG,EAAA,IAAAkH,YAAA7B,EAAA,EAAAyB,GAAAS,EAAAQ,SAAA,EAAA,EAAA,EAAA,GAAAP,EAAAH,EAAAE,EAAAvH,GAAAwH,GAAAxH,IAAAsH,EAAAjC,EAAA,GAAArF,IAAAwH,EAAAnC,EAAAA,EAAA,GAAAyB,EAAAZ,GAAA,MAAAlG,OAAA,EAAAA,EAAAuG,KAAAvG,EAAA,IAAAkH,YAAAL,EAAA,EAAAxB,GAAAyB,EAAAiB,SAAA,EAAA,EAAA,EAAA,GAAAyC,EAAAnD,EAAAP,EAAA9G,GAAA6G,EAAAoD,KAAAQ,OAAAH,GAAAE,GAApKE,QAAoK,EAAA7C,EAAAxC,EAAAqB,QAAArB,EAAAsB,UAAA,EAAAE,GAAAR,EAAAhB,EAAA,MAAArF,OAAA,EAAAA,EAAAuG,QAAAxG,EAAA4K,CAAAjL,EAAA2F,EAAA3F,EAAA2D,SAAAtD,EAAA2H,eAAAhI,EAAA4D,YAAA+B,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,GAAA7G,EAAAF,IAAAgH,IAAA,IAAAzB,EAAAgB,EAAAQ,OAAA,GAAA,OAAAxB,EAAA2B,SAAA,GAAA3B,EAAAqB,QAAAI,GAAAzB,MAAA,YAAA3F,EAAA8D,WAAA,WAAA9D,EAAA8D,WAAA,UAAA9D,EAAA8D,UAAAzD,EAAAA,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,OAAA,GAAAM,iBAAAyD,CAAAlL,EAAA2F,EAAA3F,EAAA4D,YAAA5D,EAAAwD,aAAAmC,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,WAAA,YAAA9D,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,IAAA,IAAAC,EAAAkC,EAAAnC,GAAA,OAAA7G,EAAAF,IAAA+H,IAAA,GAAAA,EAAAf,EAAAuC,OAAA,MAAA,CAAA,IAAAhE,EAAAgB,EAAA3G,OAAA,GAAA2F,EAAAqB,QAAA3G,GAAAsJ,EAAAhE,CAAA,CAAA,OAAAgE,IAAAjE,OAAAyC,KAAAA,MAAA,WAAAnI,EAAA8D,UAAAzD,EAAAA,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,OAAA,GAAAI,cAAA4D,CAAAnL,EAAA2F,EAAA3F,EAAAwD,aAAAxD,EAAAoD,QAAAuC,EAAA,EAAA3F,EAAAK,EAAAC,EAAAqF,KAAA,IAAAwB,EAAA7G,EAAAF,IAAA,EAAAgL,IAAAhE,EAAAiE,WAAAlD,MAAA,CAAAkD,WAAAlD,EAAAiD,IAAAtB,EAAAwB,QAAAlE,MAAA,MAAA,WAAApH,EAAA8D,UAAA9D,EAAA4D,WAAA5D,EAAAwD,WAAAnD,EAAAD,IAAAgH,GAAAA,EAAA1B,OAAAyC,GAAAhB,EAAA+B,KAAA,EAAAkC,IAAAxD,KAAAA,IAAAjB,EAAAwB,OAAA,GAAAC,YAAApI,EAAA2D,SAAAtD,EAAAD,IAAAgH,GAAAA,EAAAkD,QAAAnC,GAAAhB,EAAA/G,IAAA,EAAAgL,IAAAxD,KAAA2B,EAAApB,EAAAP,EAAA,CAAAI,aAAArC,OAAA3F,EAAAuD,QAAAlD,EAAAD,IAAAgH,GAAAA,EAAAkD,QAAAnC,GAAAhB,EAAAmD,QAAA,EAAAc,IAAAxD,EAAAyD,WAAAxD,KAAAoC,EAAAC,EAAAb,EAAAlB,IAAA+B,EAAApB,EAAAX,IAAAP,EAAAjC,EAAAkC,MAAAxH,EAAAD,IAAAgH,GAAAA,EAAAkD,QAAAnC,GAAAhB,EAAAmD,QAAA,EAAAc,IAAAxD,EAAAyD,WAAAxD,MAAAoC,IAAAA,EAAAA,EAAA3J,EAAAqG,EAAAwB,OAAA,GAAA7H,EAAAkH,YAAAlH,EAAAmH,cAAA,EAAA,GAAAnH,EAAA+H,SAAA,EAAA,EAAA,EAAA,GAAAuC,EAAAtC,EAAAtI,GAAAA,EAAAoK,qBAAA9J,IAAAA,EAAAqG,EAAAwB,OAAA,GAAAxC,EAAArF,EAAAmH,cAAA,OAAAnH,EAAAkH,YAAA7B,EAAA,EAAA,EAAA,GAAArF,EAAA+H,SAAA,GAAA,GAAA,GAAA,KAAA4B,EAAAW,EAAAtC,EAAAtI,GAAAA,EAAAoK,qBAAAxC,EAAAjC,EAAAkC,OAAA,YAAA7H,EAAA8D,UAAA9D,EAAAwD,WAAAnD,EAAAD,IAAAgH,GAAAA,EAAA1B,OAAAyC,GAAAhB,EAAA+B,KAAA,EAAAkC,IAAAxD,KAAAA,IAAAjB,EAAAwB,OAAA,GAAAC,YAAA/H,EAAAD,IAAAgH,GAAAA,EAAAkD,QAAAnC,GAAAhB,EAAAmD,QAAA,EAAAc,IAAAxD,EAAAyD,WAAAxD,KAAAoC,EAAAC,EAAAb,EAAAlB,IAAA+B,EAAApB,EAAAX,IAAAP,EAAAjC,EAAAkC,MAAA,WAAA7H,EAAA8D,UAAAzD,EAAAD,IAAAgH,GAAAA,EAAAkD,QAAAnC,GAAAhB,EAAA/G,IAAA,EAAAgL,IAAAxD,KAAA2B,EAAApB,EAAAP,EAAA,CAAAI,aAAArC,OAAAtF,EAAAD,IAAAgH,GAAAA,EAAA1B,OAAAyC,GAAAhB,EAAA+B,KAAA,EAAAkC,IAAAxD,KAAAA,IAAAjB,EAAAwB,UAAAC,aAAAmD,CAAAvL,EAAA2F,EAAA3F,EAAAoD,MAAA/C,EAAA2H,eAAAhI,EAAAqD,SAAAsC,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,WAAA,YAAA9D,EAAA8D,WAAA,WAAA9D,EAAA8D,WAAA,UAAA9D,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,GAAA7G,EAAAF,IAAAgH,IAAA,IAAAzB,EAAAgB,EAAAQ,OAAA,GAAA,OAAAxB,EAAA0C,SAAAjB,GAAAzB,MAAAtF,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,OAAA,GAAAqE,cAAAC,CAAAzL,EAAA2F,EAAA3F,EAAAqD,SAAArD,EAAAsD,WAAAqC,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,WAAA,YAAA9D,EAAA8D,WAAA,WAAA9D,EAAA8D,WAAA,UAAA9D,EAAA8D,WAAA,WAAA9D,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,GAAA7G,EAAAF,IAAAgH,IAAA,IAAAzB,EAAAgB,EAAAQ,OAAA,GAAA,OAAAxB,EAAA+F,WAAAtE,GAAAzB,MAAAtF,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,OAAA,GAAAwE,gBAAAC,CAAA5L,EAAA2F,EAAA3F,EAAAsD,WAAAtD,EAAAyD,WAAAkC,EAAA,EAAA3F,EAAAK,EAAAC,IAAA,WAAAN,EAAA8D,WAAA,YAAA9D,EAAA8D,WAAA,WAAA9D,EAAA8D,WAAA,UAAA9D,EAAA8D,WAAA,WAAA9D,EAAA8D,WAAA,aAAA9D,EAAA8D,UAAAzD,EAAAD,IAAAuF,GAAAA,EAAA2E,QAAAnD,GAAA7G,EAAAF,IAAAgH,IAAA,IAAAzB,EAAAgB,EAAAQ,OAAA,GAAA,OAAAxB,EAAAkG,WAAAzE,GAAAzB,MAAAtF,EAAAD,IAAAuF,GAAAA,EAAAD,OAAAyB,GAAA7G,EAAAmK,SAAA9D,EAAAQ,GAAA2E,gBAAAC,CAAA/L,EAAA2F,EAAA3F,EAAAyD,WAAAzD,EAAA0D,WAAAiC,EAAA,EAAA3F,EAAAK,EAAAC,IAAAN,EAAA4D,WAAA5D,EAAA2D,UAAA3D,EAAAwD,YAAAxD,EAAAuD,SAAAvD,EAAAoD,OAAApD,EAAAqD,QAAArD,EAAAsD,UAAAtD,EAAAyD,SAAApD,EAAAD,IAAAuF,GAAAA,EAAAkE,KAAApB,GAAA/C,OAAA,CAAAyB,EAAAC,IAAA9G,EAAA0L,KAAA7D,GAAAA,EAAA,EAAA,IAAAf,GAAAA,EAAAe,IAAA,EAAA,IAAAf,EAAAzB,EAAAf,OAAA,EAAAuD,IAAA,EAAAf,GAAAzB,EAAAf,OAAA,EAAAuD,KAAA,KAAA9H,EAAA4L,CAAAjM,EAAA2F,EAAA3F,EAAA0D,WAAAiC,EAAAvF,IAAAgH,GAAAA,EAAAyC,KAAApB,GAAA/C,OAAAyC,KAAA9H,EAAA6L,WAAAtH,OAAA,GAAAvE,EAAA6L,WAAAF,KAAApE,IAAAjB,EAAAiB,KAAAjB,EAAAwB,MAAAyB,EAAAzB,EAAA,CAAArG,MAAAzB,EAAAyB,MAAAI,IAAA7B,EAAA6B,UAAAiK,EAAA,CAAAnM,EAAAK,KAAA,IAAAyH,EAAAxH,EAAAD,EAAAyB,MAAA6D,GAAA,OAAAmC,EAAA9H,EAAAgE,YAAA,EAAA8D,EAAAsE,QAAA,MAAA/L,OAAA,EAAAA,EAAA6B,MAAAgF,EAAA5G,EAAA,IAAA6G,EAAA9G,EAAA6L,YAAA,GAAA9E,GAAApH,EAAAiE,cAAA6F,EAAAwB,QAAAtL,EAAAiE,eAAA,GAAA,EAAA,IAAAkE,EAAA,CAAA,CAAA7H,IAAA,MAAA,EAAAN,GAAA8B,MAAAzB,EAAA6B,IAAA5B,GAAAqF,KAAA,IAAAqE,EAAArE,EAAAf,OAAA5E,EAAA6D,OAAA,CAAA,IAAAsD,EAAAnH,EAAA8D,UAAAsD,EAAApH,EAAA+D,UAAA,EAAA,GAAAoD,EAAA,GAAA,aAAAA,EAAA,KAAAgB,EAAA7H,IAAA0J,EAAArE,EAAAf,OAAA5E,EAAA6D,QAAAsE,EAAAA,EAAAkE,EAAA,IAAAjF,EAAAiF,EAAA7F,EAAAxG,GAAA2G,EAAA3G,GAAAK,GAAAsF,EAAAwD,KAAA,CAAAhB,SAAA,GAAA,aAAAhB,EAAA,KAAAgB,EAAA7H,IAAA0J,EAAArE,EAAAf,OAAA5E,EAAA6D,QAAAsE,EAAAG,EAAAH,EAAAf,GAAAzB,EAAAwD,KAAA,CAAAhB,SAAA,GAAA,WAAAhB,EAAA,KAAAgB,EAAA7H,IAAA0J,EAAArE,EAAAf,OAAA5E,EAAA6D,QAAAsE,EAAAA,EAAAkE,EAA1IC,KAA0IlF,EAAAiF,EAAA7F,EAAAxG,GAAA2G,EAAA3G,GAAAK,GAAAsF,EAAAwD,KAAA,CAAAhB,SAAA,GAAA,UAAAhB,EAAA,KAAAgB,EAAA7H,IAAA0J,EAAArE,EAAAf,OAAA5E,EAAA6D,QAAAsE,EAAAvB,EAAAuB,EAAAf,GAAAzB,EAAAwD,KAAA,CAAAhB,YAAA,WAAAhB,EAAA,KAAAgB,EAAA7H,IAAA0J,EAAArE,EAAAf,OAAA5E,EAAA6D,QAAAsE,EAAAvB,EAAAuB,EAAA,EAAAf,OAAA,GAAAzB,EAAAwD,KAAA,CAAAhB,SAAA,GAAA,YAAAhB,EAAA,KAAAgB,EAAA7H,GAAA6H,EAAAjB,EAAAiB,EAAAf,GAAAzB,EAAAwD,KAAA,CAAAhB,SAAA,GAAA,WAAAhB,EAAA,KAAAgB,EAAA7H,GAAA6H,EAAAjB,EAAAiB,EAAA,GAAAf,GAAAzB,EAAAwD,KAAA,CAAAhB,GAAA,GAAAoE,CAAAvM,EAAA,CAAA8B,MAAAxB,EAAA4B,IAAAyD,GAAAwC,GAAAP,EAAAyC,EAAArK,EAAA,CAAA8B,MAAAxB,EAAA4B,IAAAyD,EAAAuG,WAAA/E,EAAAa,aAAAZ,GAAAe,GAAAnI,EAAA6D,MAAA+D,EAAA4E,OAAAC,OAAA,EAAAzM,EAAA6D,OAAA+D,EAAA4E,QAAAE,EAAA1M,IAAA,IAAAK,EAAA,MAAAL,EAAA,GAAA,GAAA,EAAA,OAAA,KAAA,IAAA,GAAA2M,OAAA3M,EAAA4M,MAAA,EAAA,KAAA5M,EAAA4E,OAAA,EAAA+H,OAAA3M,EAAA4M,MAAA,EAAA,IAAA,KAAAzF,EAAAnH,EAAA4E,OAAA,EAAA+H,OAAA3M,EAAA4M,MAAA,EAAA,IAAA,IAAAvM,GAAAwM,EAAA,CAAA7M,EAAAK,EAAAC,KAAA,GAAAqF,EAAA,MAAArF,OAAA,EAAAA,EAAA4I,KAAA9B,GAAAA,EAAAtE,KAAAzC,GAAA,CAAA+G,EAAA,EAAApH,EAAAK,IAAAA,EAAAiK,QAAAhK,IAAAA,EAAAsB,gBAAAtB,EAAAsB,eAAAoC,OAAA1D,EAAAsB,eAAAoC,MAAAoI,KAAApM,EAAAM,EAAA6L,EAAA7L,EAAAsB,eAAA,CAAAE,MAAAxB,EAAAwB,MAAAI,IAAAlC,IAAAI,IAAA+G,IAAA,IAAA7G,EAAAwB,MAAAqF,MAAA2F,CAAA9M,EAAA2F,EAAAoH,OAAAlD,KAAA,CAAAhC,EAAAC,IAAAW,EAAAZ,EAAA/F,MAAAgG,EAAAhG,QAAA,IAAA,IAAA+F,EAAA,EAAAA,EAAAT,EAAAxC,OAAAiD,GAAA,EAAA,GAAA7H,EAAAoH,EAAAS,GAAA/F,MAAA,MAAA,CAAAkL,OAAAjF,GAAAD,EAAAV,EAAAS,EAAA,GAAAT,EAAAS,EAAA,GAAA5E,SAAAmE,EAAAS,GAAA7E,YAAA4B,OAAA,EAAAkD,EAAAmF,UAAA,EAAA,GAAAnF,EAAAoF,aAAAR,EAAA3E,IAAA,MAAA,CAAAiF,OAAApF,GAAAO,EAAAf,EAAAA,EAAAxC,OAAA,GAAA3B,UAAA2B,OAAA,EAAAuD,EAAA8E,UAAA,EAAA,GAAA9E,EAAA+E,aAAAR,EAAA9E,GAAA,CAAA,GAAAT,EAAA,EAAAnH,EAAAK,KAAA,IAAAsF,EAAA,IAAAc,KAAApG,EAAA8M,eAAA7M,QAAA,CAAA8M,SAAA,SAAA,IAAA,OAAA/F,IAAAZ,KAAApG,EAAA8M,eAAA7M,QAAA,CAAA8M,SAAApN,KAAAqH,UAAA1B,EAAA0B,SAAA,CAAA,MAAA,OAAAhH,EAAAgH,UAAA1B,EAAA0B,SAAA,GAAAgG,CAAAhN,EAAAL,IAAA2M,OAAA7F,MAAAK,GAAA,OAAAgB,EAAAoC,KAAA+C,IAAA/C,KAAAgD,MAAApG,EAA1ImF,OAA0I1E,EAAA2C,KAAA+C,IAAA/C,KAAAgD,MAAApG,EAAjJqB,MAAiJ,GAAAL,EAAA,CAAA6E,OAAA,GAAA7F,EAAA,EAAA,IAAA,MAAA,IAAAgB,EAAAS,WAAAhE,OAAA,IAAAuD,IAAAA,EAAAS,aAAA,IAAAhB,EAAAgB,WAAAhE,OAAA,IAAAgD,IAAAA,EAAAgB,aAAAsE,aAAA/F,IAAAqG,EAAAxN,IAAA,IAAA0I,EAAA1I,GAAA,MAAAyN,MAAA,0BAAAzN,KAAA,IAAAK,EAAAL,EAAA0N,cAAA,MAAA,GAAApN,EAAAD,EAAAuM,MAAA,EAAA,KAAAvM,EAAAuM,MAAA,EAAA,KAAAzF,EAAA9G,EAAAuM,MAAA,EAAA,OAAAe,EAAA3N,IAAA,IAAA0I,EAAA1I,GAAA,YAAA,0BAAAA,KAAA,OAAA4N,EAAA5N,IAAA4N,EAAA,CAAA5N,EAAAK,KAAA,IAAAC,EAAAN,EAAA0N,cAAA,MAAA,GAAA/H,EAAArF,EAAAsM,MAAA,EAAA,KAAAtM,EAAAsM,MAAA,EAAA,KAAAtM,EAAAsM,MAAA,EAAA,OAAAtM,EAAAsM,MAAA,GAAA,MAAAtM,EAAAsM,MAAA,GAAA,MAAA/E,EAAAvH,EAAAsM,MAAA,GAAA,MAAAvM,EAAA,GAAA,OAAAwN,EAAA7N,IAAA,IAAAK,EAAA,KAAA,IAAA,IAAAC,KAAAN,EAAAM,IAAAA,EAAAwN,gBAAAzN,GAAA,KAAAA,GAAAC,EAAAwN,cAAA,OAAAzN,GAAA0N,EAAA,CAAA/N,EAAAK,KAAA,IAAAC,EAAA,GAAAqF,EAAA,GAAAwB,EAAA,EAAA,IAAA,IAAAC,EAAA,EAAAA,EAAApH,EAAA4E,OAAAwC,IAAA,CAAA,IAAAe,EAAAnI,EAAAoH,GAAAS,EAAA,KAAAM,EAAA,EAAA,EAAAhB,EAAAU,EAAAxH,GAAAC,EAAA6I,KAAA,IAAA7I,EAAAsE,OAAAe,EAAA,GAAAA,KAAAA,EAAAwC,EAAAhB,EAAAU,IAAAlC,GAAAwC,EAAAhB,GAAAU,EAAA,CAAA,OAAAlC,GAAArF,EAAA6I,KAAA,IAAA7I,EAAAsE,OAAAe,EAAA,GAAAA,KAAArF,GAAA0N,EAAA,CAAAhO,EAAAK,KAAA,IAAAC,EAAAL,OAAAgO,KAAAjO,GAAA2F,EAAAtF,EAAA6N,gBAAA/G,EAAAxB,EAAA1F,OAAAgO,KAAAtI,GAAA,GAAAyB,EAAA/G,EAAA8N,oBAAAhG,EAAAf,EAAAnH,OAAAgO,KAAA7G,GAAA,GAAAQ,EAAA,GAAA,OAAAA,GAAtqD,SAAsqDvH,EAAA+N,iBAAA9N,EAAA+N,QAAAxG,IAAA,IAAAV,EAAAsD,SAAA5C,KAAAM,EAAAsC,SAAA5C,IAAA,gBAAAA,EAAA,CAAA,IAAAC,EAAAzH,EAAAiO,UAAAzG,MAAAC,EAAA,CAAA,IAAAC,EAAA/H,EAAA6H,GAAA,GAAA,MAAAE,EAAA,CAAA,IAAAyB,EAAAnJ,EAAAkO,eAAA1G,GAAAD,EAAA4B,EAAA5B,EAAA4B,EAAA,CAAAgF,OAAA1G,EAAAhD,MAAAiD,EAAAlD,IAAAgD,IAAAD,EAAAlD,EAAAoD,EAAA2G,OAAA1G,GAAA,CAAA,CAAA,IAAApC,GAAAwB,GAAAA,EAAAvC,OAAA,GAAAuC,EAAAkH,QAAAxG,IAAA,IAAAC,EAAA9H,EAAA6H,GAAAC,GAAA4G,MAAAC,QAAA7G,IAAA,IAAAA,EAAAlD,QAAAkD,EAAAuG,QAAAtG,IAAA,IAAAyB,EAAA7D,EAAAkC,GAAA2B,IAAA5B,GAAA4B,EAAAzB,QAAAX,GAAAe,GAAAA,EAAAvD,OAAA,GAAAuD,EAAAkG,QAAAxG,IAAA,IAAAC,EAAAV,EAAAS,GAAA,GAAAC,EAAA,CAAA,IAAAC,EAAA1H,EAAAiO,UAAAzG,GAAAE,IAAAyB,EAAAxJ,EAAA6H,KAAA6G,MAAAC,QAAAnF,IAAA,IAAAA,EAAA5E,QAAA4E,EAAA6E,QAAA5E,IAAA7B,GAAAE,EAAA,CAAA0G,OAAAzG,EAAAjD,MAAA2E,KAAA,IAAAzJ,EAAA4O,cAAAhH,GAAA,EAAA5H,EAAAK,KAAA,IAAAL,EAAA,MAAA,GAAA,IAAAM,EAAA,UAAAL,OAAAE,QAAAH,GAAAqO,QAAA,EAAA1I,EAAAwB,MAAA,IAAAC,EAAA,MAAA/G,OAAA,EAAAA,EAAAsF,GAAAyB,GAAAe,EAAAf,EAAAyH,SAAA1H,MAAA7G,GAAAoE,EAAA0C,EAAAhG,KAAA+G,EAAArD,MAAAqD,EAAAD,QAAAvD,EAAA1E,OAAAE,QAAAgI,EAAAD,SAAA9H,IAAA,EAAAwH,EAAAC,MAAA,CAAAhD,IAAA+C,EAAA9C,MAAA+C,WAAA,IAAAvH,GAAAoE,EAAAmJ,EAAAlI,GAAA,MAAAwB,OAAA,EAAAA,EAAAyB,cAAAtI,GAAAwO,CAAA9O,EAAA4O,YAAA,MAAAvO,OAAA,EAAAA,EAAAuO,cAAAhH,GAAtqD,OAAsqDvH,EAAA+N,iBAAA,MAAA/N,GAAAA,EAAA0O,gBAAAnH,EAAA5H,KAAA,IAAAM,EAAA,GAAA,OAAAN,EAAA+J,MAAAtF,GAAA4J,QAAA1I,IAAA3F,KAAA,IAAAK,GAAAL,EAAAgP,MAAA,QAAA,IAAApK,OAAA,OAAA5E,EAAA4E,OAAAvE,GAAA4O,CAAAtJ,GAAA,GAAArF,EAAA6I,KAAAxD,GAAAoI,EAAApI,EAAA,IAAA0I,QAAAlH,IAAA7G,EAAA6I,KAAAhC,OAAA7G,EAAAyE,KAF+oCmK,OAE/oCC,CAAAvH,IAAAwH,EAAA,CAAApP,EAAAK,IAAA2N,EAAAhO,EAAA,CAAAoO,aAFm7BiB,SAEn7Bf,UAAA/N,EAAAgO,eAAA,CAAA1N,QAAA,EAAAiE,MAAAxE,KAAAN,KAAA,IAAAM,EAAAqF,EAAAtF,EAAAsE,EAAA,EAAA,OAAArE,EAAAN,EAAAkI,cAAA,EAAA5H,EAAAgP,UAAA,CAAAzK,IAAA,UAAAC,MAAA9E,EAAAkI,QAAAoH,UAAA5J,OAAAyB,KAAAA,IAAA,MAAA,aAAAnH,EAAAuP,KAAA7K,EAAA,UAAAiJ,EAAA,OAAAhI,EAAA3F,EAAA8E,YAAA,EAAAa,EAAAyG,OAAA,aAAApM,EAAAuP,KAAA7K,EAAA,UAAAmB,EAAA7F,EAAA8E,OAAAzE,QAAA,GAAAmP,CAAAlP,GAAAI,SAAA,EAAA8N,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAAuF,EAAAF,IAAAhF,OAAA,EAAA6N,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAAiK,KAAAgD,MAAA5H,GAAAiD,aAAAuF,oBAAA,CAAApN,UAAA,EAAA+D,MAAAxE,KAAA2E,EAAA3E,EAAA,YAAAQ,YAAA,EAAAgE,MAAAxE,KAAv9CN,KAAI,GAAY,QAATA,EAAEuP,KAAa,CAAC,IAAIlP,EAAEsE,EAAE,CAAC3E,EAAEyP,YAAY,CAAC5K,IAAI,UAAUC,MAAM9E,EAAEyP,aAAa/J,OAAOpF,KAAKA,IAAI,SAAS,SAASN,EAAEiC,IAAI5B,EAApG,CAAuG,GAAY,WAATL,EAAEuP,KAA8H,OAAzGlP,EAAEsE,EAAE,CAAC3E,EAAE8E,OAAO,CAACD,IAAI,QAAQC,MAAM9E,EAAE8E,OAAO9E,EAAE0P,UAAU,CAAC7K,IAAI,WAAWC,MAAM9E,EAAE0P,WAAWhK,OAAOpF,KAAKA,IAAWoE,EAAE,SAAS1E,EAAE2P,OAAOtP,GAAG,MAAMoN,MAAO,8BAA6BmC,KAAKC,UAAU7P,OAAgoC8P,CAAAxP,IAAAsO,YAAA,MAAAvO,OAAA,EAAAA,EAAAuO,YAAAG,gBAAA,MAAA1O,OAAA,EAAAA,EAAA0O,kBAAAgB,EAAA,CAAA/P,EAAAK,EAAAC,EAAA,GAAAqF,KAAAwB,EAAAxC,EAAA,CAAAtE,EAAAkP,MAAA,CAAA1K,IAAA,QAAAC,MAAAzE,EAAAkP,MAAAlP,EAAA2P,SAAA,MAAArK,GAAAA,EAAAsK,WAAA,CAAApL,IAAA,OAAAC,MAAAzE,EAAA2P,MAAAE,aAAA5P,GAAAoF,OAAAyC,KAAAA,IAAAf,EAAA,SAAA/G,EAAAkP,KAAA/B,EAAAnN,EAAA+L,OAAA/L,EAAA2P,OAAA,MAAArK,GAAAA,EAAAsK,SAAAtC,EAAAtN,EAAA+L,MAAA,EAAApM,EAAAK,EAAAC,KAAA,IAAAqF,EAAAtF,EAAA+L,KAAA,IAAA1D,EAAA/C,GAAA,MAAA8H,MAAA,0BAAA9H,KAAA,OAAAkH,EAAAlH,EAAAtF,EAAA6P,SAAA5P,GAAAsN,EAAAjI,GAAA,GAAAgI,EAAA3N,IAAAmQ,CAAA9P,EAAA+L,KAAA/L,EAAA2P,MAAA,MAAArK,OAAA,EAAAA,EAAAyK,WAAA1L,EAAA1E,EAAAoH,EAAAD,IAAAkJ,EAAArQ,GAAAA,EAAAsQ,QAAA,iBAAA,CAAAjQ,EAAAC,IAAAA,EAAA,KAAAA,IAAA,OAAAiQ,EAAAvQ,GAAAgO,EAAAhO,EAAA,CAAAoO,aAFu6BoC,SAEv6BlC,UAAAjN,EAAAkN,eAAA,CAAA1M,MAAA,EAAA2M,OAAAlO,EAAAwE,MAAAa,KAAAoK,EAAAzP,EAAAqF,SAAA,CAAAyK,eAAA,EAAAH,UAAA,IAAAnO,MAAA,EAAA0M,OAAAlO,EAAAwE,MAAAa,KAAAoK,EAAAzP,EAAAqF,OAAA,EAAA,CAAAyK,eAAA,IAAAlO,IAAA,EAAAsM,OAAAlO,EAAAwE,MAAAa,KAAAoK,EAAAzP,EAAAqF,OAAA,EAAA,CAAAyK,eAAA,IAAA5O,QAAA,EAAAgN,OAAAlO,EAAAwE,MAAAa,KAAAoK,EAAAzP,EAAAqF,OAAA,EAAA,CAAAyK,eAAA,IAAA3O,aAAA,EAAA+M,OAAAlO,EAAAwE,MAAAa,KAAAoK,EAAAzP,EAAAqF,SAAA,CAAAyK,eAAA,IAAA7O,WAAA,EAAAiN,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAAqF,EAAAZ,KAAA,MAAAtE,YAAA,EAAA+N,OAAAlO,EAAAwE,MAAAa,MAAA,IAAA8K,EAAAzQ,EAAA0Q,kBAAA,CAAA,CAAA7L,IAAA,SAAAC,MAAA,IAAA9E,EAAA0Q,4BAAA,EAAA,SAAApQ,EAAA+P,EAAA1K,GAAArF,EAAAqE,EAAArE,QAAA,IAAAoB,SAAA,EAAA8M,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAA+P,EAAA1K,QAAA,GAAAhD,QAAA,EAAA6L,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAA+P,EAAA1K,QAAA,GAAA/E,QAAA,EAAA4N,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAA+P,EAAA1K,WAAA/D,eAAA,EAAAkD,MAAAxE,KAAAN,KAAA,IAAA2F,EAAAtF,EAAA,GAAAC,EAAAqE,EAAA,CAAA3E,EAAA8D,WAAA,CAAAe,IAAA,OAAAC,MAAA9E,EAAA8D,WAAA9D,EAAAoD,OAAA,CAAAyB,IAAA,QAAAC,MAAA9E,EAAAoD,MAAAhD,IAAA+G,GAAAA,EAAAkE,WAAA,GAAAlE,EAAAkE,aAAAlE,EAAAiE,MAAAjE,EAAAiE,KAAArG,KAAA,MAAA/E,EAAAqD,QAAA,CAAAwB,IAAA,SAAAC,MAAA9E,EAAAqD,OAAA0B,KAAA,MAAA/E,EAAAsD,UAAA,CAAAuB,IAAA,WAAAC,MAAA9E,EAAAsD,SAAAyB,KAAA,MAAA/E,EAAAuD,SAAA,CAAAsB,IAAA,UAAAC,MAAA9E,EAAAuD,QAAAnD,IAAA+G,GAAAA,EAAA,GAAApC,KAAA,MAAA/E,EAAAwD,YAAA,CAAAqB,IAAA,aAAAC,MAAA9E,EAAAwD,WAAAuB,KAAA,MAAA/E,EAAAyD,UAAA,CAAAoB,IAAA,WAAAC,MAAA9E,EAAAyD,SAAAsB,KAAA,MAAA/E,EAAA0D,UAAA,CAAAmB,IAAA,WAAAC,MAAA9E,EAAA0D,SAAAqB,KAAA,MAAA/E,EAAA2D,UAAA,CAAAkB,IAAA,WAAAC,MAAA9E,EAAA2D,SAAAoB,KAAA,MAAA/E,EAAA4D,WAAA,CAAAiB,IAAA,YAAAC,MAAA9E,EAAA4D,UAAAmB,KAAA,MAAA/E,EAAA6D,OAAA,CAAAgB,IAAA,QAAAC,MAAA9E,EAAA6D,MAAA+E,YAAA5I,EAAA+D,UAAA,CAAAc,IAAA,WAAAC,MAAA9E,EAAA+D,SAAA6E,YAAA5I,EAAAgE,OAAA,CAAAa,IAAA,QAAAC,MAAA,SAAA9E,EAAAgE,MAAAuL,KAAA/B,EAAAxN,EAAAgE,MAAAoI,MAAAuB,GAAA,OAAAhI,EAAA3F,EAAAgE,MAAAgM,YAAA,EAAArK,EAAAyG,OAAApM,EAAAgE,MAAAoI,OAAApM,EAAAiE,eAAA,CAAAY,IAAA,OAAAC,MAAA9E,EAAAiE,gBAAAyB,OAAAyB,KAAAA,IAAA,SAAAzC,EAAA,QAAApE,IAAAqQ,CAAArQ,GAAAI,SAAA,EAAA8N,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAAuF,EAAAF,IAAAtD,UAAA,EAAAyC,MAAAxE,KAAAN,KAAA,IAAAK,EAAAsE,EAAA,CAAA3E,EAAAkF,KAAA,CAAAL,IAAA,MAAAC,MAAA,IAAA9E,EAAAkF,QAAAlF,EAAAoB,MAAA,CAAAyD,IAAA,KAAAC,MAAA9E,EAAAoB,MAAApB,EAAAuF,QAAA,CAAAV,IAAA,UAAAC,MAAAlC,EAAA5C,EAAAuF,UAAAG,OAAApF,KAAAA,IAAA,OAAAoE,EAAA,YAAA9B,EAAA5C,EAAA4F,OAAAvF,IAAAuQ,CAAAtQ,GAAAiC,SAAA,EAAAiM,OAAAlO,EAAAwE,MAAAa,KAAAjB,EAAApE,EAAAiK,KAAAgD,MAAA5H,GAAAiD,YAAAlG,aAAA,EAAAoC,MAAAxE,MAAA,IAAAA,EAAA,UAAAA,GAAAyP,EAAA,gBAAAzP,EAAAwE,MAAAxE,EAAAuQ,MAAA,CAAA,CAAAhM,IAAA,QAAAC,MAAAxE,EAAAuQ,aAAA,EAAAxQ,CAAA+P,eAAA,MAAAjC,oBAAA,CAAApN,UAAA,EAAA+D,MAAAxE,KAAA2E,EAAA3E,EAAA,YAAAqB,eAAA,EAAAmD,MAAAxE,KAAAyP,EAAA1P,SAAAC,OAAA,EAAAA,CAAA8P,oBAAAlC,gBAAA,CAAA5M,OAAAhB,GAAA8O,EAAA9O,EAAA,CAAAsO,iBAAA,EAAAG,iBAAA,KAAAH,iBAAA,EAAAG,qBAAA,mBCmB7sD+B,MAGIC,cACAC,KAFrBtK,WAAAA,CACqBqK,EACAC,GADAC,KAAAF,cAAAA,EACAE,KAAAD,KAAAA,CAAa,CAGlCE,SAAAA,CAAUhJ,GASN,OARAA,EAAQiJ,KAAOC,EAAiB,IACzBH,KAAKF,cACRlP,MAAO,CAAEuK,KAAM6E,KAAKF,cAAcjP,MAAOyN,KAAM0B,KAAKF,cAAcM,OAAS,OAAS,aACpFvP,MAAO,CAAEsK,KAAM6E,KAAKF,cAAcjP,MAAOyN,KAAM0B,KAAKF,cAAcM,OAAS,OAAS,aACpFnP,IAAK,CAAEkK,KAAM6E,KAAKF,cAAc7O,IAAKqN,KAAM0B,KAAKF,cAAcM,OAAS,OAAS,aAChFlP,IAAK8O,KAAKF,cAAc5O,IAAM,GAAG8O,KAAKF,cAAc5O,IAAImP,OAAOL,KAAKF,cAAc5O,IAAIoP,WAAQC,EAC9FzP,IAAKkP,KAAKD,MAAQ,MAPA","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"event-plugin.js","sources":["../node_modules/ts-ics/dist/index.js","../src/plugins/event.ts"],"sourcesContent":["var x=t=>Object.fromEntries(Object.entries(t).map(([e,r])=>[r,e])),I=t=>Object.keys(t);var Ce={action:\"ACTION\",description:\"DESCRIPTION\",duration:\"DURATION\",repeat:\"REPEAT\",summary:\"SUMMARY\",trigger:\"TRIGGER\",attachments:\"ATTACH\",attendees:\"ATTENDEE\"},$e=x(Ce),hn=I($e),Kn=I(Ce);var Ne={method:\"METHOD\",prodId:\"PRODID\",version:\"VERSION\",name:\"X-WR-CALNAME\"},Ze=x(Ne),Yn=I(Ze),Bn=I(Ne);var ve={alarms:\"ALARM\",categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",location:\"LOCATION\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",timeTransparent:\"TRANSP\",url:\"URL\",end:\"DTEND\",duration:\"DURATION\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",priority:\"PRIORITY\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\"},Xe=x(ve),Un=I(Xe),Wn=I(ve);var Ae={id:\"TZID\",lastModified:\"LAST-MODIFIED\",url:\"TZURL\"},Qe=x(Ae),wn=I(Qe),Hn=I(Ae);var be={comment:\"COMMENT\",name:\"TZNAME\",offsetFrom:\"TZOFFSETFROM\",offsetTo:\"TZOFFSETTO\",recurrenceDate:\"RDATE\",recurrenceRule:\"RRULE\",start:\"DTSTART\"},et=x(be),Zn=I(et),Xn=I(be);var St={byDay:\"BYDAY\",byHour:\"BYHOUR\",byMinute:\"BYMINUTE\",byMonth:\"BYMONTH\",byMonthday:\"BYMONTHDAY\",bySecond:\"BYSECOND\",bySetPos:\"BYSETPOS\",byWeekNo:\"BYWEEKNO\",byYearday:\"BYYEARDAY\",count:\"COUNT\",frequency:\"FREQ\",interval:\"INTERVAL\",until:\"UNTIL\",workweekStart:\"WKST\"},tt=x(St),to=I(tt),ro=I(St);var Ve={categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",location:\"LOCATION\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",url:\"URL\",duration:\"DURATION\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",priority:\"PRIORITY\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\",completed:\"COMPLETED\",due:\"DUE\",percentComplete:\"PERCENT-COMPLETE\"},rt=x(Ve),ao=I(rt),so=I(Ve);var Me={categories:\"CATEGORIES\",created:\"CREATED\",description:\"DESCRIPTION\",lastModified:\"LAST-MODIFIED\",exceptionDates:\"EXDATE\",recurrenceRule:\"RRULE\",stamp:\"DTSTAMP\",start:\"DTSTART\",summary:\"SUMMARY\",uid:\"UID\",url:\"URL\",geo:\"GEO\",class:\"CLASS\",organizer:\"ORGANIZER\",sequence:\"SEQUENCE\",status:\"STATUS\",attach:\"ATTACH\",recurrenceId:\"RECURRENCE-ID\",attendees:\"ATTENDEE\",comment:\"COMMENT\"},nt=x(Me),io=I(nt),uo=I(Me);var ze={stamp:\"DTSTAMP\",start:\"DTSTART\",uid:\"UID\",url:\"URL\",organizer:\"ORGANIZER\",attendees:\"ATTENDEE\",comment:\"COMMENT\",end:\"DTEND\",freeBusy:\"FREEBUSY\"},ot=x(ze),yo=I(ot),lo=I(ze);var at=\"BEGIN\",st=\"END\",Se=\"VCALENDAR\",X=\"VTIMEZONE\",ct=\"STANDARD\",mt=\"DAYLIGHT\",Q=\"VEVENT\",ee=\"VALARM\",te=\"VTODO\",re=\"VJOURNAL\",ne=\"VFREEBUSY\",Io=[Se,X,ct,mt,Q,ee,te,re,ne];var it=t=>new RegExp(`${at}:${t}([\\\\s\\\\S]*?)${st}:${t}`,\"g\"),Dt=t=>new RegExp(`${at}:${t}|${st}:${t}`,\"g\");var gt=/\\r\\n/,De=/\\r\\n|\\r|\\n/,Le=`\\r\n`,ut=`\n`,xt=\":\",b=\",\",Ot='\"',oe=\";\",Vo=\" \",ge=\"=\",dt=75;var _e=t=>`${t}${Le}`,f=(t,e,r)=>r?e==null?\"\":_e(`${t};${r}:${e}`):_e(`${t}:${e}`),Rt=t=>_e(`BEGIN:${t}`),Ct=t=>_e(`END:${t}`);var D=t=>{if(!(t.length<1))return`${t.map(e=>`${e.key}${ge}${e.value}`).join(oe)}`};var Nt=t=>{if(t.type===\"uri\"){let e=D([t.formatType&&{key:\"FMTTYPE\",value:t.formatType}].filter(r=>!!r));return f(\"ATTACH\",t.url,e)}if(t.type===\"binary\"){let e=D([t.value&&{key:\"VALUE\",value:t.value},t.encoding&&{key:\"ENCODING\",value:t.encoding}].filter(r=>!!r));return f(\"ATTACH\",t.binary,e)}throw Error(`IcsAttachment has no type! ${JSON.stringify(t)}`)};var k=(t,e)=>e?`\"MAILTO:${t}\"`:`MAILTO:${t}`;var V=(t,e)=>{let r=D([t.dir&&{key:\"DIR\",value:`\"${t.dir}\"`},t.delegatedFrom&&{key:\"DELEGATED-FROM\",value:k(t.delegatedFrom,!0)},t.member&&{key:\"MEMBER\",value:k(t.member,!0)},t.role&&{key:\"ROLE\",value:t.role},t.name&&{key:\"CN\",value:t.name},t.partstat&&{key:\"PARTSTAT\",value:t.partstat},t.sentBy&&{key:\"SENT-BY\",value:k(t.sentBy,!0)},t.rsvp!==void 0&&(t.rsvp===!0||t.rsvp===!1)&&{key:\"RSVP\",value:t.rsvp===!0?\"TRUE\":\"FALSE\"},t.cutype&&{key:\"CUTYPE\",value:t.cutype}].filter(n=>!!n));return f(e,k(t.email),r)};var M=t=>{if(Object.values(t).filter(r=>typeof r==\"number\").length===0)return;let e=\"\";return t.before&&(e+=\"-\"),e+=\"P\",t.weeks!==void 0&&(e+=`${t.weeks}W`),t.days!==void 0&&(e+=`${t.days}D`),(t.hours!==void 0||t.minutes!==void 0||t.seconds!==void 0)&&(e+=\"T\",t.hours!==void 0&&(e+=`${t.hours}H`),t.minutes!==void 0&&(e+=`${t.minutes}M`),t.seconds!==void 0&&(e+=`${t.seconds}S`)),e};var mn=Math.pow(10,8)*24*60*60*1e3,Go=-mn,vt=6048e5,At=864e5,ce=6e4,me=36e5;var un=3600;var bt=un*24,Jo=bt*7,dn=bt*365.2425,pn=dn/12,wo=pn*3,pt=Symbol.for(\"constructDateFrom\");function S(t,e){return typeof t==\"function\"?t(e):t&&typeof t==\"object\"&&pt in t?t[pt](e):t instanceof Date?new t.constructor(e):new Date(e)}function i(t,e){return S(e||t,t)}function Y(t,e,r){let n=i(t,r==null?void 0:r.in);return isNaN(e)?S((r==null?void 0:r.in)||t,NaN):(e&&n.setDate(n.getDate()+e),n)}function he(t,e,r){let n=i(t,r==null?void 0:r.in);if(isNaN(e))return S((r==null?void 0:r.in)||t,NaN);if(!e)return n;let o=n.getDate(),s=S((r==null?void 0:r.in)||t,n.getTime());s.setMonth(n.getMonth()+e+1,0);let a=s.getDate();return o>=a?s:(n.setFullYear(s.getFullYear(),s.getMonth(),o),n)}function z(t,e,r){return S((r==null?void 0:r.in)||t,+i(t)+e)}function Ke(t,e,r){return z(t,e*me,r)}var fn={};function B(){return fn}function ae(t,e){var c,m,u,p;let r=B(),n=(e==null?void 0:e.weekStartsOn)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.weekStartsOn)??r.weekStartsOn??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.weekStartsOn)??0,o=i(t,e==null?void 0:e.in),s=o.getDay(),a=(s<n?7:0)+s-n;return o.setDate(o.getDate()-a),o.setHours(0,0,0,0),o}function ft(t){let e=i(t),r=new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()));return r.setUTCFullYear(e.getFullYear()),+t-+r}function F(t,...e){let r=S.bind(null,t||e.find(n=>typeof n==\"object\"));return e.map(r)}function xe(t,e){let r=i(t,e==null?void 0:e.in);return r.setHours(0,0,0,0),r}function Vt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=xe(n),a=xe(o),c=+s-ft(s),m=+a-ft(a);return Math.round((c-m)/At)}function ie(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setTime(n.getTime()+e*ce),n}function Pe(t,e,r){return z(t,e*1e3,r)}function j(t,e,r){return Y(t,e*7,r)}function ke(t,e,r){return he(t,e*12,r)}function ue(t,e){let r=+i(t)-+i(e);return r<0?-1:r>0?1:r}function Ye(t){return t instanceof Date||typeof t==\"object\"&&Object.prototype.toString.call(t)===\"[object Date]\"}function Be(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=Mt(n,o),a=Math.abs(Vt(n,o));n.setDate(n.getDate()-s*a);let c=+(Mt(n,o)===-s),m=s*(a-c);return m===0?0:m}function Mt(t,e){let r=t.getFullYear()-e.getFullYear()||t.getMonth()-e.getMonth()||t.getDate()-e.getDate()||t.getHours()-e.getHours()||t.getMinutes()-e.getMinutes()||t.getSeconds()-e.getSeconds()||t.getMilliseconds()-e.getMilliseconds();return r<0?-1:r>0?1:r}function U(t){return e=>{let n=(t?Math[t]:Math.trunc)(e);return n===0?0:n}}function zt(t,e,r){let[n,o]=F(r==null?void 0:r.in,t,e),s=(+n-+o)/me;return U(r==null?void 0:r.roundingMethod)(s)}function Fe(t,e){return+i(t)-+i(e)}function Lt(t,e,r){let n=Fe(t,e)/ce;return U(r==null?void 0:r.roundingMethod)(n)}function yt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getMonth();return r.setFullYear(r.getFullYear(),n+1,0),r.setHours(23,59,59,999),r}function _t(t,e,r){let n=Fe(t,e)/1e3;return U(r==null?void 0:r.roundingMethod)(n)}function ht(t,e,r){let n=Be(t,e,r)/7;return U(r==null?void 0:r.roundingMethod)(n)}function Kt(t,e){let[r,n]=F(t,e.start,e.end);return{start:r,end:n}}function Pt(t,e){let{start:r,end:n}=Kt(e==null?void 0:e.in,t),o=+r>+n,s=o?+r:+n,a=o?n:r;a.setHours(0,0,0,0);let c=(e==null?void 0:e.step)??1;if(!c)return[];c<0&&(c=-c,o=!o);let m=[];for(;+a<=s;)m.push(S(r,a)),a.setDate(a.getDate()+c),a.setHours(0,0,0,0);return o?m.reverse():m}function lt(t,e){let r=i(t,e==null?void 0:e.in);return r.setDate(1),r.setHours(0,0,0,0),r}function kt(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear();return r.setFullYear(n+1,0,0),r.setHours(23,59,59,999),r}function Yt(t,e){let r=i(t,e==null?void 0:e.in);return r.setFullYear(r.getFullYear(),0,1),r.setHours(0,0,0,0),r}function Bt(t,e){var p,l,E,v;let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=B(),s=(e==null?void 0:e.firstWeekContainsDate)??((l=(p=e==null?void 0:e.locale)==null?void 0:p.options)==null?void 0:l.firstWeekContainsDate)??o.firstWeekContainsDate??((v=(E=o.locale)==null?void 0:E.options)==null?void 0:v.firstWeekContainsDate)??1,a=S((e==null?void 0:e.in)||t,0);a.setFullYear(n+1,0,s),a.setHours(0,0,0,0);let c=ae(a,e),m=S((e==null?void 0:e.in)||t,0);m.setFullYear(n,0,s),m.setHours(0,0,0,0);let u=ae(m,e);return+r>=+c?n+1:+r>=+u?n:n-1}function Ft(t,e){var c,m,u,p;let r=B(),n=(e==null?void 0:e.firstWeekContainsDate)??((m=(c=e==null?void 0:e.locale)==null?void 0:c.options)==null?void 0:m.firstWeekContainsDate)??r.firstWeekContainsDate??((p=(u=r.locale)==null?void 0:u.options)==null?void 0:p.firstWeekContainsDate)??1,o=Bt(t,e),s=S((e==null?void 0:e.in)||t,0);return s.setFullYear(o,0,n),s.setHours(0,0,0,0),ae(s,e)}function jt(t,e){let r=i(t,e==null?void 0:e.in),n=+ae(r,e)-+Ft(r,e);return Math.round(n/vt)+1}function Oe(t,e){return i(t,e==null?void 0:e.in).getDay()}function je(t,e){let r=i(t,e==null?void 0:e.in),n=r.getFullYear(),o=r.getMonth(),s=S(r,0);return s.setFullYear(n,o+1,0),s.setHours(0,0,0,0),s.getDate()}function Ut(t,e){return i(t,e==null?void 0:e.in).getHours()}function Wt(t,e){return i(t,e==null?void 0:e.in).getMinutes()}function Ue(t,e){return i(t,e==null?void 0:e.in).getMonth()}function Gt(t){return i(t).getSeconds()}function Jt(t,e){return i(t,e==null?void 0:e.in).getFullYear()}function wt(t,e){return+i(t)==+i(e)}function Ht(t,e,r){let n=i(t,r==null?void 0:r.in),o=jt(n,r)-e;return n.setDate(n.getDate()-o*7),i(n,r==null?void 0:r.in)}function Re(t,e,r){var l,E,v,g;let n=B(),o=(r==null?void 0:r.weekStartsOn)??((E=(l=r==null?void 0:r.locale)==null?void 0:l.options)==null?void 0:E.weekStartsOn)??n.weekStartsOn??((g=(v=n.locale)==null?void 0:v.options)==null?void 0:g.weekStartsOn)??0,s=i(t,r==null?void 0:r.in),a=s.getDay(),m=(e%7+7)%7,u=7-o,p=e<0||e>6?e-(a+u)%7:(m+u)%7-(a+u)%7;return Y(s,p,r)}function We(t,e,r){let n=+i(t,r==null?void 0:r.in),[o,s]=[+i(e.start,r==null?void 0:r.in),+i(e.end,r==null?void 0:r.in)].sort((a,c)=>a-c);return n>=o&&n<=s}function qt(t){let e=t/me;return Math.trunc(e)}function $t(t){let e=t/ce;return Math.trunc(e)}function Zt(t,e,r){let n=i(t,r==null?void 0:r.in),o=n.getFullYear(),s=n.getDate(),a=S((r==null?void 0:r.in)||t,0);a.setFullYear(o,e,15),a.setHours(0,0,0,0);let c=je(a);return n.setMonth(e,Math.min(s,c)),n}function Xt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setDate(e),n}function Qt(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMonth(0),n.setDate(e),n}function er(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setHours(e),n}function tr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setMinutes(e),n}function rr(t,e,r){let n=i(t,r==null?void 0:r.in);return n.setSeconds(e),n}function nr(t,e,r){return z(t,-e,r)}function or(t,e,r){return j(t,-e,r)}var vc=(t,e)=>{let r=Math.abs(ht(e,t)),n=Math.abs(Be(e,t)),o=n-r*7,s=Math.abs(zt(e,t)),a=s-n*24,c=Math.abs(Lt(e,t)),m=c-s*60,p=Math.abs(_t(e,t))-c*60;return{before:t>e,weeks:r,days:o,hours:a,minutes:m,seconds:p}};var ar=(t,e)=>{let r=e.before?-1:1,n=(e.seconds||0)*r,o=(e.minutes||0)*r,s=(e.hours||0)*r,a=(e.days||0)*r,c=(e.weeks||0)*r;return j(Y(Ke(ie(Pe(t,n),o),s),a),c)};var zc=t=>t.end?t.end.date:ar(t.start.date,t.duration);var _c=[\"PUBLISH\"],hc=[\"2.0\"];var sr=[ct,mt];var Yc=[\"FREE\",\"BUSY\",\"BUSY-UNAVAILABLE\",\"BUSY-TENTATIVE\"];var Fc=[\"BASE64\"],jc=[\"BINARY\"];var Wc=[\"NEEDS-ACTION\",\"ACCEPTED\",\"DECLINED\",\"TENTATIVE\",\"DELEGATED\"];var Jc=[\"DATE\",\"DATE-TIME\"];var cr=[\"SECONDLY\",\"MINUTELY\",\"HOURLY\",\"DAILY\",\"WEEKLY\",\"MONTHLY\",\"YEARLY\"];var qc=[\"TENTATIVE\",\"CONFIRMED\",\"CANCELLED\"],$c=[\"NEEDS-ACTION\",\"COMPLETED\",\"IN-PROGRESS\",\"CANCELLED\"],Zc=[\"DRAFT\",\"FINAL\",\"CANCELLED\"];var Qc=[\"START\",\"END\"];var Ge=[\"SU\",\"MO\",\"TU\",\"WE\",\"TH\",\"FR\",\"SA\"];var rm=[\"PRIVATE\",\"PUBLIC\",\"CONFIDENTIAL\"];var om=[\"TRANSPARENT\",\"OPAQUE\"];var de=(t,e)=>e===void 0?!1:t>=e,mr=(t,{start:e,end:r},n)=>{if(de(n.length,t.count))return;let o=t.frequency,s=t.interval||1;if(!o)return;let a=e;if(o===\"SECONDLY\"){for(;a<r;){if(de(n.length,t.count))return;a=Pe(a,s),n.push([a])}return}if(o===\"MINUTELY\"){for(;a<r;){if(de(n.length,t.count))return;a=ie(a,s),n.push([a])}return}if(o===\"HOURLY\"){for(;a<r;){if(de(n.length,t.count))return;a=Ke(a,s),n.push([a])}return}if(o===\"DAILY\"){for(;a<r;){if(de(n.length,t.count))return;a=Y(a,s),n.push([a])}return}if(o===\"WEEKLY\"){for(;a<r;){if(de(n.length,t.count))return;a=j(a,s),n.push([a])}return}if(o===\"MONTHLY\"){for(;a<r;)a=he(a,s),n.push([a]);return}if(o===\"YEARLY\"){for(;a<r;)a=ke(a,s),n.push([a]);return}};var ir=(t,e,r,n)=>{let o=r.map(({day:s,occurrence:a})=>({occurrence:a,day:Ge.indexOf(s)}));return t.frequency===\"YEARLY\"?t.byYearday||t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):t.byWeekNo?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):t.byMonth?e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(Yt(a)),W(kt(a)),c,n,m)))):t.frequency===\"MONTHLY\"?t.byMonthday?e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a)))):e.map(s=>s.flatMap(a=>o.flatMap(({day:c,occurrence:m})=>Tt(W(lt(a)),W(yt(a)),c,n,m)))):t.frequency===\"WEEKLY\"?e.map(s=>s.flatMap(a=>o.map(({day:c})=>Re(a,c,{weekStartsOn:n})))):e.map(s=>s.filter(a=>o.find(({day:c})=>c===Oe(a))))},Tt=(t,e,r,n,o)=>{if(o!==void 0){if(!(o<0)){let p=Re(t,r,{weekStartsOn:n}),l=t>p;return j(p,(o||1)-1+(l?1:0))}let c=Re(e,r,{weekStartsOn:n}),m=e<c;return W(xe(or(c,-(o||1)-1+(m?1:0))))}return Pt({start:t,end:e}).map(a=>W(a)).filter(a=>We(a,{start:t,end:e})).filter(a=>r===Oe(a))},W=t=>ie(t,-t.getTimezoneOffset());var ur=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"?e.map(n=>n.flatMap(o=>r.map(s=>er(o,s)))):e.map(n=>n.filter(o=>r.includes(Ut(o))));var dr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"||t.frequency===\"HOURLY\"?e.map(n=>n.flatMap(o=>r.map(s=>tr(o,s)))):e.map(n=>n.filter(o=>r.includes(Wt(o))));var pr=(t,e,r)=>t.frequency===\"YEARLY\"?e.map(n=>n.flatMap(o=>r.map(s=>Zt(o,s)))):e.map(n=>n.filter(o=>r.includes(Ue(o))));var fr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"?e.map(n=>n.flatMap(o=>{let s=je(o);return r.map(a=>a>s?void 0:Xt(o,a)).filter(a=>!!a)})):t.frequency===\"WEEKLY\"?e:e.map(n=>n.filter(o=>r.includes(Ue(o))));var yr=(t,e,r)=>t.frequency===\"YEARLY\"||t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"||t.frequency===\"HOURLY\"||t.frequency===\"MINUTELY\"?e.map(n=>n.flatMap(o=>r.map(s=>rr(o,s)))):e.map(n=>n.filter(o=>r.includes(Gt(o))));var lr=(t,e,r)=>!t.byYearday&&!t.byWeekNo&&!t.byMonthday&&!t.byMonth&&!t.byDay&&!t.byHour&&!t.byMinute&&!t.bySecond?e:e.map(n=>n.sort(ue).filter((o,s)=>r.some(a=>a>0?s===0?!1:s%a===0:s===0?n.length-1+a===0:s%(n.length-1+a)===0)));var Tr=(t,e,r,n)=>t.frequency===\"YEARLY\"?e.map(o=>o.flatMap(s=>r.map(a=>Ht(s,a,{weekStartsOn:n})))):e;var Ir=(t,e,r)=>t.frequency===\"YEARLY\"?e.map(n=>n.flatMap(o=>r.map(s=>Qt(o,s)))):t.frequency===\"MONTHLY\"||t.frequency===\"WEEKLY\"||t.frequency===\"DAILY\"?e:e.map(n=>n.filter(o=>r.includes(Jt(o))));var Er=(t,e,r)=>{let n=r;return t.byMonth&&(n=pr(t,n,t.byMonth)),t.byWeekNo&&(n=Tr(t,n,t.byWeekNo,e.weekStartsOn)),t.byYearday&&(n=Ir(t,n,t.byYearday)),t.byMonthday&&(n=fr(t,n,t.byMonthday)),t.byDay&&(n=ir(t,n,t.byDay,e.weekStartsOn)),t.byHour&&(n=ur(t,n,t.byHour)),t.byMinute&&(n=dr(t,n,t.byMinute)),t.bySecond&&(n=yr(t,n,t.bySecond)),t.bySetPos&&(n=lr(t,n,t.bySetPos)),n.map(s=>s.sort(ue).filter(a=>!(e.exceptions.length>0&&e.exceptions.some(c=>wt(c,a))||!We(a,{start:e.start,end:e.end}))))};var yn=2,Sr=(t,e)=>{var u;let r=e.start,n=((u=t.until)==null?void 0:u.date)||(e==null?void 0:e.end)||ke(r,yn),o=e.exceptions||[],s=(t.workweekStart?Ge.indexOf(t.workweekStart):1)%7,a=[[r]];mr(t,{start:r,end:n},a);let c=Er(t,{start:r,end:n,exceptions:o,weekStartsOn:s},a);return t.count?c.flat().splice(0,t.count):c.flat()};var Dr=(t,e)=>e.flatMap(r=>!r.recurrenceRule||r.recurrenceRule.until&&r.recurrenceRule.until.date<t?r:Sr(r.recurrenceRule,{start:r.start,end:t}).map(o=>({...r,start:o})));var se=t=>{let e=t[0]===\"+\"?1:-1,r=Number(t.slice(1,3)),n=t.length>3?Number(t.slice(3,5)):0,o=t.length>5?Number(t.slice(5,7)):0;return((r*60+n)*60+o)*1e3*e};var gr=(t,e)=>{let r=\"en-US\",n=new Date(e.toLocaleString(r,{timeZone:\"UTC\"}));try{return new Date(e.toLocaleString(r,{timeZone:t})).getTime()-n.getTime()}catch{return e.getTime()-n.getTime()}};var Je=(t,e,r)=>{let n=r==null?void 0:r.find(s=>s.id===e);if(n){let s=Dr(t,n.props).sort((m,u)=>ue(m.start,u.start));for(let m=0;m<s.length;m+=1)if(t<s[m].start){let u=s[m-1]?s[m-1].offsetTo:s[m].offsetFrom,p=u.length>5?u.substring(0,5):u;return{offset:p,milliseconds:se(p)}}let a=s[s.length-1].offsetTo,c=a.length>5?a.substring(0,5):a;return{offset:c,milliseconds:se(c)}}let o=gr(e,t);if(!Number.isNaN(o)){let s=o<0,a=Math.abs(qt(o)),c=Math.abs($t(o))-a*60,m=a.toString().length===1?`0${a}`:a.toString(),u=c.toString().length===1?`0${c}`:c.toString();return{offset:`${s?\"-\":\"+\"}${m}${u}`,milliseconds:o}}};var we=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);let e=t.toISOString(),r=e.slice(0,4),n=e.slice(5,7),o=e.slice(8,10);return`${r}${n}${o}`},A=t=>{if(!Ye(t))throw Error(`Incorrect date object: ${t}`);return It(t)},xr=(t,e,r)=>{let n=e.date;if(!Ye(n))throw Error(`Incorrect date object: ${n}`);return Je(n,e.timezone,r)?It(n,!0):A(t)},It=(t,e)=>{let r=t.toISOString(),n=r.slice(0,4),o=r.slice(5,7),s=r.slice(8,10),a=r.slice(11,13),c=r.slice(14,16),m=r.slice(17,19);return`${n}${o}${s}T${a}${c}${m}${e?\"\":\"Z\"}`},Or=(t,e)=>{let r=se(e),n=z(t,r);return It(n,!0)};var Rr=t=>{var r,n;let e=D([((r=t.options)==null?void 0:r.related)&&{key:\"RELATED\",value:t.options.related}].filter(o=>!!o));if(t.type===\"absolute\")return f(\"TRIGGER\",A((n=t.value)==null?void 0:n.date));if(t.type===\"relative\")return f(\"TRIGGER\",M(t.value),e)};var He=t=>Object.keys(t);var Cr=(t,e)=>{if(!t)return\"\";let r=\"\";return Object.entries(t).forEach(([n,o])=>{let s=e==null?void 0:e[n];if(!s){r+=f(ln(n),o==null?void 0:o.toString());return}let a=s.generate(o);a&&(r+=f(s.name,a.value,a.options?D(Object.entries(a.options).map(([c,m])=>({key:c,value:m}))):void 0))}),r},ln=t=>{let e=\"X-\";for(let r of t)r===r.toUpperCase()&&(e+=\"-\"),e+=r.toUpperCase();return e};var Tn=t=>{let e=(t.match(/\\n/g)||[]).length;return t.length+e},Nr=t=>{let e=t.split(gt),r=[];return e.forEach(n=>{if(Tn(n)<75){r.push(n);return}In(n,75).forEach(o=>{r.push(o)})}),r.join(Le)},In=(t,e)=>{let r=[],n=\"\",o=0;for(let s=0;s<t.length;s++){let a=t[s],m=a===`\n`?2:1;o+m>e?(r.push(r.length===0?n:` ${n}`),n=a,o=m):(n+=a,o+=m)}return n&&r.push(r.length===0?n:` ${n}`),r};var O=(t,e)=>{let r=He(t),n=e.childComponents,o=n?He(n):[],s=e.generateArrayValues,a=s?He(s):[],c=\"\";return c+=Rt(e.icsComponent),r.forEach(m=>{if(o.includes(m)||a.includes(m)||m===\"nonStandard\")return;let u=e.icsKeyMap[m];if(!u)return;let p=t[m];if(p==null)return;let l=e.generateValues[m];if(l){c+=l({icsKey:u,value:p,key:m});return}c+=f(u,String(p))}),n&&o&&o.length>0&&o.forEach(m=>{let u=t[m];!u||!Array.isArray(u)||u.length===0||u.forEach(p=>{let l=n[m];l&&(c+=l(p))})}),s&&a&&a.length>0&&a.forEach(m=>{let u=s[m];if(!u)return;let p=e.icsKeyMap[m];if(!p)return;let l=t[m];!l||!Array.isArray(l)||l.length===0||l.forEach(E=>{c+=u({icsKey:p,value:E})})}),t.nonStandard&&(c+=Cr(t.nonStandard,e==null?void 0:e.nonStandard)),c+=Ct(e.icsComponent),e!=null&&e.skipFormatLines?c:Nr(c)};var h=(t,e)=>f(t,Math.trunc(e).toString());var vr=(t,e)=>O(t,{icsComponent:ee,icsKeyMap:Ce,generateValues:{trigger:({value:r})=>Rr(r),duration:({icsKey:r,value:n})=>f(r,M(n)),repeat:({icsKey:r,value:n})=>h(r,n)},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),attachments:({value:r})=>Nt(r)},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var T=(t,e,r=[],n)=>{let o=D([e.type&&{key:\"VALUE\",value:e.type},e.local&&!(n!=null&&n.forceUtc)&&{key:\"TZID\",value:e.local.timezone},...r].filter(a=>!!a)),s=e.type===\"DATE\"?we(e.date):e.local&&!(n!=null&&n.forceUtc)?xr(e.date,e.local,n==null?void 0:n.timezones):A(e.date);return f(t,s,o)};var pe=(t,e,r)=>T(e,t,void 0,r);var G=t=>{let e=D([t.dir&&{key:\"DIR\",value:`\"${t.dir}\"`},t.name&&{key:\"CN\",value:t.name},t.sentBy&&{key:\"SENT-BY\",value:k(t.sentBy)}].filter(r=>!!r));return f(\"ORGANIZER\",k(t.email),e)};var Ar=t=>t.occurrence?`${t.occurrence}${t.day}`:t.day;var J=t=>{var n;let e=\"\",r=D([t.frequency&&{key:\"FREQ\",value:t.frequency},t.byDay&&{key:\"BYDAY\",value:t.byDay.map(o=>Ar(o)).join(\",\")},t.byHour&&{key:\"BYHOUR\",value:t.byHour.join(\",\")},t.byMinute&&{key:\"BYMINUTE\",value:t.byMinute.join(\",\")},t.byMonth&&{key:\"BYMONTH\",value:t.byMonth.map(o=>o+1).join(\",\")},t.byMonthday&&{key:\"BYMONTHDAY\",value:t.byMonthday.join(\",\")},t.bySecond&&{key:\"BYSECOND\",value:t.bySecond.join(\",\")},t.bySetPos&&{key:\"BYSETPOS\",value:t.bySetPos.join(\",\")},t.byWeekNo&&{key:\"BYWEEKNO\",value:t.byWeekNo.join(\",\")},t.byYearday&&{key:\"BYYEARDAY\",value:t.byYearday.join(\",\")},t.count&&{key:\"COUNT\",value:t.count.toString()},t.interval&&{key:\"INTERVAL\",value:t.interval.toString()},t.until&&{key:\"UNTIL\",value:t.until.type===\"DATE\"?we(t.until.date):A(((n=t.until.local)==null?void 0:n.date)||t.until.date)},t.workweekStart&&{key:\"WKST\",value:t.workweekStart}].filter(o=>!!o));return e+=f(\"RRULE\",r),e};var fe=(t,e)=>{let r=\"\";return r+=T(\"RECURRENCE-ID\",t.value,t.range?[{key:\"RANGE\",value:t.range}]:void 0,e),r};var br=t=>t.replace(/([\\\\;,])|(\\n)/g,(e,r)=>r?`\\\\${r}`:\"\\\\n\");var R=(t,e,r)=>f(t,br(e),r?D(r):void 0);var Vr=(t,e)=>O(t,{icsComponent:Q,icsKeyMap:ve,omitGenerateKeys:[\"descriptionAltRep\"],generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n,t.descriptionAltRep?[{key:\"ALTREP\",value:`\"${t.descriptionAltRep}\"`}]:void 0),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},childComponents:{alarms:r=>vr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var Mr=(t,e)=>O(t,{icsComponent:t.type,icsKeyMap:be,generateValues:{start:({icsKey:r,value:n})=>f(r,Or(n,t.offsetTo)),recurrenceRule:({value:r})=>J(r),recurrenceDate:({icsKey:r,value:n})=>T(r,n)},omitGenerateKeys:[\"type\"],nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var zr=(t,e)=>O(t,{icsComponent:X,icsKeyMap:Ae,generateValues:{lastModified:({icsKey:r,value:n})=>f(r,A(n))},childComponents:{props:r=>Mr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines});var Lr=(t,e)=>O(t,{icsComponent:te,icsKeyMap:Ve,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),due:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),completed:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n),location:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),duration:({icsKey:r,value:n})=>f(r,M(n)),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),percentComplete:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var _r=(t,e)=>O(t,{icsComponent:re,icsKeyMap:Me,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),created:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),lastModified:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),categories:({icsKey:r,value:n})=>f(r,n.join(\",\")),description:({icsKey:r,value:n})=>R(r,n),comment:({icsKey:r,value:n})=>R(r,n),summary:({icsKey:r,value:n})=>R(r,n),recurrenceRule:({value:r})=>J(r),organizer:({value:r})=>G(r),sequence:({icsKey:r,value:n})=>h(r,n),recurrenceId:({value:r})=>fe(r,{timezones:e==null?void 0:e.timezones})},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),exceptionDates:({value:r})=>pe(r,\"EXDATE\",{timezones:e==null?void 0:e.timezones})},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var hr=(t,e)=>{let r=t.values.map(o=>`${A(o.start)}/${o.end?A(o.end):M(o.duration)}`).join(\",\"),n=D([t.type&&{key:\"FBTYPE\",value:t.type}].filter(o=>!!o));return f(e,r,n)};var Kr=(t,e)=>O(t,{icsComponent:ne,icsKeyMap:ze,generateValues:{stamp:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones,forceUtc:!0}),start:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),end:({icsKey:r,value:n})=>T(r,n,void 0,{timezones:e==null?void 0:e.timezones}),comment:({icsKey:r,value:n})=>R(r,n),organizer:({value:r})=>G(r)},generateArrayValues:{attendees:({value:r})=>V(r,\"ATTENDEE\"),freeBusy:({value:r})=>hr(r,\"FREEBUSY\")},nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:e==null?void 0:e.skipFormatLines,timezones:e==null?void 0:e.timezones});var gd=(t,e)=>O(t,{icsComponent:Se,icsKeyMap:Ne,generateValues:{},childComponents:{timezones:r=>zr(r,{nonStandard:e==null?void 0:e.nonStandard,skipFormatLines:!0}),events:r=>Vr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),todos:r=>Lr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),journals:r=>_r(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard}),freeBusy:r=>Kr(r,{skipFormatLines:!0,timezones:t.timezones,nonStandard:e==null?void 0:e.nonStandard})},nonStandard:e==null?void 0:e.nonStandard});var d=(t,e)=>{if(t===void 0)return e;let r=t[\"~standard\"].validate(e);if(r instanceof Promise)throw new TypeError(\"Schema validation must be synchronous\");if(r.issues)throw new Error(JSON.stringify(r.issues,null,2));return r.value};var Pr=(t,e)=>{var n,o,s,a;let r=((n=e.options)==null?void 0:n.VALUE)===\"BINARY\"?{type:\"binary\",encoding:((o=e.options)==null?void 0:o.ENCODING)||\"BASE64\",binary:e.value,value:(s=e.options)==null?void 0:s.VALUE}:{type:\"uri\",url:e.value,formatType:(a=e.options)==null?void 0:a.FMTTYPE};return d(t,r)};var w=t=>t.replace(/mailto:/gi,\"\");var L=(t,e)=>{var r,n,o,s,a,c,m,u,p,l,E,v;return d(t,{email:w(e.value),delegatedFrom:(r=e.options)!=null&&r[\"DELEGATED-FROM\"]?w((n=e.options)==null?void 0:n[\"DELEGATED-FROM\"]):void 0,dir:(o=e.options)==null?void 0:o.DIR,member:(s=e.options)!=null&&s.MEMBER?w(e.options.MEMBER):void 0,name:(a=e.options)==null?void 0:a.CN,partstat:(c=e.options)==null?void 0:c.PARTSTAT,role:(m=e.options)==null?void 0:m.ROLE,sentBy:(u=e.options)!=null&&u[\"SENT-BY\"]?w(e.options[\"SENT-BY\"]):void 0,rsvp:(p=e.options)!=null&&p.RSVP?((l=e.options)==null?void 0:l.RSVP)===\"TRUE\"?!0:((E=e.options)==null?void 0:E.RSVP)===\"FALSE\"?!1:void 0:void 0,cutype:(v=e.options)==null?void 0:v.CUTYPE})};var _=(t,e)=>{let r=e.value,n={};r[0]===\"-\"&&(n.before=!0,r=r.slice(1)),r=r.slice(1);let o=r.split(\"T\"),s=o[0];if(s.includes(\"D\")){let[c,m]=s.split(\"D\");n.days=Number(c),s=m}if(s.includes(\"W\")){let[c,m]=s.split(\"W\");n.weeks=Number(c),s=m}let a=o[1];if(a){if(a.includes(\"H\")){let[c,m]=a.split(\"H\");n.hours=Number(c),a=m}if(a.includes(\"M\")){let[c,m]=a.split(\"M\");n.minutes=Number(c),a=m}if(a.includes(\"S\")){let[c,m]=a.split(\"S\");n.seconds=Number(c),a=m}}return d(t,n)};var kr=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=new Date(Date.UTC(r,n,o));return d(t,s)},H=(t,e)=>{let r=Number.parseInt(e.value.slice(0,4),10),n=Number.parseInt(e.value.slice(4,6),10)-1,o=Number.parseInt(e.value.slice(6,8),10),s=Number.parseInt(e.value.slice(9,11),10),a=Number.parseInt(e.value.slice(11,13),10),c=Number.parseInt(e.value.slice(13,15),10),m=new Date(Date.UTC(r,n,o,s,a,c));return d(t,m)},Yr=(t,e,r)=>{let n=se(r),o=H(void 0,e),s=nr(o,n);return d(t,s)};var En=(t,e)=>{var s,a,c,m,u,p;if(((s=t.options)==null?void 0:s.VALUE)===\"DATE\")return{date:kr(void 0,t),type:(a=t.options)==null?void 0:a.VALUE};let r=((c=t.options)==null?void 0:c.VALUE)||\"DATE-TIME\",n=H(void 0,t);if(!((m=t.options)!=null&&m.TZID))return{date:n,type:r};let o=Je(n,t.options.TZID,e==null?void 0:e.timezones);return o?{date:z(n,-o.milliseconds),type:r,local:(u=t.options)!=null&&u.TZID?{date:n,timezone:(p=t.options)==null?void 0:p.TZID,tzoffset:o.offset}:void 0}:{date:n,type:r}},y=(t,e,r)=>d(t,En(e,r));var Br=(t,e,r)=>{var o,s,a,c;let n=((o=e.options)==null?void 0:o.VALUE)===\"DATE-TIME\"||((s=e.options)==null?void 0:s.VALUE)===\"DATE\"?{type:\"absolute\",value:y(void 0,e,r),options:{related:(a=e.options)==null?void 0:a.RELATED}}:{type:\"relative\",value:_(void 0,e),options:{related:(c=e.options)==null?void 0:c.RELATED}};return d(t,n)};var Sn=t=>t.startsWith('\"')&&t.endsWith('\"')?t.slice(1,-1):t,Et=t=>t.map(e=>{let[r,...n]=e.split(ge),o=n.join(ge);return{property:r,value:Sn(o)}},{}),Dn=t=>t.reduce((e,r)=>(e[r.property]=r.value,e),{}),Fr=t=>Dn(Et(t));var gn=t=>{let e=!1,r;for(let s=0;s<t.length&&r===void 0;s+=1)t.charAt(s)===Ot&&(e=!e),t.charAt(s)===xt&&!e&&(r=s);if(r===void 0)throw Error(`Line not valid: ${t}`);let n=t.substring(0,r),o=t.substring(r+1);return{property:n,value:o}},jr=t=>{let{property:e,value:r}=gn(t);if(e.includes(oe)){let[n,...o]=e.split(oe),s=Fr(o);return{property:n,line:{options:s,value:r}}}return{property:e,line:{value:r}}};var Ur=t=>/^[ \\t]/.test(t),xn=t=>/^[A-Z]+(?:-[A-Z]+)*[:;]/.test(t),Wr=t=>{let e=[],r=t.split(De);for(;r[0]===\"\";)r.shift();let n=r.length;for(;n>0&&r[n-1]===\"\";)n-=1,r.pop();for(let o=0;o<r.length;){let s=r[o];for(o+=1;r[o]!==void 0&&(Ur(r[o])||!xn(r[o]));)r[o]===\"\"?s+=ut:Ur(r[o])?s+=r[o].substring(1):(s+=ut,s+=r[o]),o+=1;e.push(s)}return e.filter(o=>o!==\"\")};var Gr=(t,e,r)=>{if(!e)return t;let n={};return Object.entries(e).forEach(([o,s])=>{let a=Object.entries(r||{}).find(([u,p])=>p.name===o);if(!a){n[On(o)]=s.value;return}let c=a[1].convert(s),m=a[1].schema;if(!m){n[a[0]]=c;return}n[a[0]]=d(m,c)}),t.nonStandard=n,t},On=t=>{let e=t.startsWith(\"X-\")?t.slice(2):t,r=\"\",n=!1;for(let o of e)o===\"-\"?n=!0:(r+=n?o.toUpperCase():o.toLowerCase(),n=!1);return r};var Jr=t=>t.startsWith(\"X-\");var C=(t,e,r)=>{let n=e.replace(Dt(r==null?void 0:r.icsComponent),\"\"),o=[...new Set(Object.values(r.childComponents||{}).flatMap(({icsComponent:l})=>l))],s=Wr(o.reduce((l,E)=>l.replace(it(E),\"\"),n)),a=r.defaultValues||{},c={};s.forEach(l=>{var P,Ee;let{property:E,line:v}=jr(l);Jr(E)&&(c[E]=v);let g=r.objectKeyMap[E];if(!g)return;let Ie=(P=r.convertArrayValues)==null?void 0:P[g];if(Ie){let Z=Ie({line:v});if(!Z)return;(a[g]===void 0||a[g]===null||!Array.isArray(a[g]))&&(a[g]=[]),Array.isArray(Z)?a[g].push(...Z):a[g].push(Z);return}let qe=(Ee=r.convertValues)==null?void 0:Ee[g];if(qe){let Z=qe({line:v});if(!Z)return;a[g]=Z;return}a[g]=v.value});let m=r.childComponents,u=m?Object.keys(m||{}):[];m&&u.length>0&&u.forEach(l=>{let E=m==null?void 0:m[l];if(!E)return;let v=Array.isArray(E.icsComponent)?E.icsComponent:[E.icsComponent],g=[],Ie=[];v.forEach(P=>{Ie.push(...n.matchAll(it(P)))}),Ie.map(P=>P[0]).forEach(P=>{let Ee=E.convert(P,{data:a});Ee&&g.push(Ee)}),g.length!==0&&(a[l]=g)});let p=d(t,a);return r!=null&&r.nonStandard?Gr(p,c,r==null?void 0:r.nonStandard):p};var q=(t,e)=>{var r,n,o;return d(t,{name:(r=e.options)==null?void 0:r.CN,dir:(n=e.options)==null?void 0:n.DIR,sentBy:(o=e.options)!=null&&o[\"SENT-BY\"]?w(e.options[\"SENT-BY\"]):void 0,email:w(e.value)})};var ye=(t,e,r)=>{var n;return d(t,{value:y(void 0,e,r),range:(n=e.options)==null?void 0:n.RANGE})};var Rn=t=>{if(t.length===2)return{day:t};let r=t.slice(0,-2);return{day:t.replace(r,\"\"),occurrence:Number(r)}},wr=(t,e)=>d(t,Rn(e.value));var Hr=(t,e)=>d(t,e.value);var Cn=[\"until\"],Nn=t=>Cn.includes(t),vn=[\"bySecond\",\"byMinute\",\"byHour\",\"byMonthday\",\"byYearday\",\"byWeekNo\",\"bySetPos\"],An=t=>vn.includes(t),bn=[\"byDay\"],Vn=t=>bn.includes(t),Mn=[\"count\",\"interval\"],zn=t=>Mn.includes(t),$=(t,e,r)=>{let n={};return Et(e.value.split(oe)).forEach(s=>{let{property:a,value:c}=s,m=tt[a];if(m){if(Nn(m)){n[m]=y(void 0,{value:c,options:{VALUE:c.includes(\"T\")?\"DATE-TIME\":\"DATE\"}},{timezones:r==null?void 0:r.timezones});return}if(An(m)){n[m]=c.split(b).map(u=>Number(u));return}if(m===\"byMonth\"){n[m]=c.split(b).map(u=>Number(u)-1);return}if(Vn(m)){n[m]=c.split(b).map(u=>wr(void 0,{value:u}));return}if(zn(m)){n[m]=Number(c);return}if(m===\"frequency\"){if(!c||!cr.includes(c))return;n[m]=c;return}if(m===\"workweekStart\"){n[m]=Hr(void 0,{value:c});return}}}),d(t,n)};var le=(t,e)=>d(t,e.value);var qr=(t,e)=>d(t,e.value);var Te=(t,e,r)=>d(t,e.value.split(\",\").map(n=>y(void 0,{value:n,options:e.options},r)));var $r=(t,e)=>d(t,e.value),Zr=(t,e)=>d(t,e.value),Xr=(t,e)=>d(t,e.value);var K=(t,e)=>d(t,Number.parseInt(e.value,10));var Qr=t=>t.replace(/\\\\(([,;\\\\])|([nN]))/g,(e,r,n)=>n||`\n`);var N=(t,e)=>d(t,Qr(e.value));var en=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ee,objectKeyMap:$e,convertValues:{trigger:({line:o})=>Br(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),repeat:({line:o})=>K(void 0,o)},convertArrayValues:{attachments:({line:o})=>Pr(void 0,o),attendees:({line:o})=>L(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var tn=(...t)=>{let[e,r,n]=t,o,s=C(e,r,{icsComponent:Q,objectKeyMap:Xe,convertValues:{stamp:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),start:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),end:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),created:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),lastModified:({line:a})=>y(void 0,a,{timezones:n==null?void 0:n.timezones}),categories:({line:a})=>a.value.split(b),description:({line:a})=>{var c;return(c=a.options)!=null&&c.ALTREP&&(o=a.options.ALTREP),N(void 0,a)},location:({line:a})=>N(void 0,a),comment:({line:a})=>N(void 0,a),summary:({line:a})=>N(void 0,a),recurrenceRule:({line:a})=>$(void 0,a,{timezones:n==null?void 0:n.timezones}),duration:({line:a})=>_(void 0,a),organizer:({line:a})=>q(void 0,a),sequence:({line:a})=>K(void 0,a),class:({line:a})=>le(void 0,a),recurrenceId:({line:a})=>ye(void 0,a,{timezones:n==null?void 0:n.timezones}),status:({line:a})=>$r(void 0,a),timeTransparent:({line:a})=>qr(void 0,a)},convertArrayValues:{attendees:({line:a})=>L(void 0,a),exceptionDates:({line:a})=>Te(void 0,a,{timezones:n==null?void 0:n.timezones})},childComponents:{alarms:{icsComponent:ee,convert:a=>en(void 0,a,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},timezones:n==null?void 0:n.timezones,nonStandard:n==null?void 0:n.nonStandard});return o&&(s.descriptionAltRep=o),s};var rn=(...t)=>{let[e,r,n]=t,o=r.split(\"BEGIN:\")[1].split(De)[0],s=sr.includes(o)?o:\"STANDARD\",a=r.split(\"TZOFFSETTO:\")[1].split(De)[0];return C(e,r,{icsComponent:s,objectKeyMap:et,defaultValues:{type:s},convertValues:{start:({line:c})=>Yr(void 0,c,a),recurrenceRule:({line:c})=>$(void 0,c,{timezones:n==null?void 0:n.timezones}),recurrenceDate:({line:c})=>y(void 0,c,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var nn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:X,objectKeyMap:Qe,convertValues:{lastModified:({line:o})=>H(void 0,o)},childComponents:{props:{icsComponent:[\"DAYLIGHT\",\"STANDARD\"],convert:o=>rn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})}},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var on=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:te,objectKeyMap:rt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),due:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),completed:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),location:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),duration:({line:o})=>_(void 0,o),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),percentComplete:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Zr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var an=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:re,objectKeyMap:nt,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),created:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),lastModified:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),categories:({line:o})=>o.value.split(b),description:({line:o})=>N(void 0,o),comment:({line:o})=>N(void 0,o),summary:({line:o})=>N(void 0,o),recurrenceRule:({line:o})=>$(void 0,o,{timezones:n==null?void 0:n.timezones}),organizer:({line:o})=>q(void 0,o),sequence:({line:o})=>K(void 0,o),class:({line:o})=>le(void 0,o),recurrenceId:({line:o})=>ye(void 0,o,{timezones:n==null?void 0:n.timezones}),status:({line:o})=>Xr(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),exceptionDates:({line:o})=>Te(void 0,o,{timezones:n==null?void 0:n.timezones})},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var sn=(t,e)=>{var r;return d(t,{type:(r=e.options)==null?void 0:r.FBTYPE,values:e.value.split(\",\").map(n=>{let[o,s]=n.split(\"/\"),a=H(void 0,{value:o});if(s.startsWith(\"PT\")){let m=_(void 0,{value:s});return{start:a,duration:m}}let c=H(void 0,{value:s});return{start:a,end:c}})})};var cn=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:ne,objectKeyMap:ot,convertValues:{stamp:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),start:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),end:({line:o})=>y(void 0,o,{timezones:n==null?void 0:n.timezones}),comment:({line:o})=>N(void 0,o),organizer:({line:o})=>q(void 0,o)},convertArrayValues:{attendees:({line:o})=>L(void 0,o),freeBusy:({line:o})=>sn(void 0,o)},nonStandard:n==null?void 0:n.nonStandard,timezones:n==null?void 0:n.timezones})};var xy=(...t)=>{let[e,r,n]=t;return C(e,r,{icsComponent:Se,objectKeyMap:Ze,convertValues:{version:({line:o})=>o.value},childComponents:{timezones:{icsComponent:X,convert:o=>nn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard})},events:{icsComponent:Q,convert:(o,{data:s})=>tn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},todos:{icsComponent:te,convert:(o,{data:s})=>on(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},journals:{icsComponent:re,convert:(o,{data:s})=>an(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})},freeBusy:{icsComponent:ne,convert:(o,{data:s})=>cn(void 0,o,{nonStandard:n==null?void 0:n.nonStandard,timezones:s.timezones})}},nonStandard:n==null?void 0:n.nonStandard})};export{De as BREAK_REGEX,b as COMMA,Le as CRLF_BREAK,gt as CRLF_BREAK_REGEX,yn as DEFAULT_END_IN_YEARS,ge as EQUAL_SIGN,Io as ICS_COMPONENTS,ut as LF_BREAK,dt as MAX_LINE_LENGTH,st as OBJECT_END,at as OBJECT_START,Ot as QUOTE,to as RRULE_KEYS,ro as RRULE_OBJECT_KEYS,St as RRULE_TO_KEYS,tt as RRULE_TO_OBJECT_KEYS,oe as SEMICOLON,xt as SEPARATOR,Vo as SPACE,sr as TIMEZONE_PROP_COMPONENTS,hn as VALARM_KEYS,ee as VALARM_OBJECT_KEY,Kn as VALARM_OBJECT_KEYS,Ce as VALARM_TO_KEYS,$e as VALARM_TO_OBJECT_KEYS,Yn as VCALENDAR_KEYS,Se as VCALENDAR_OBJECT_KEY,Bn as VCALENDAR_OBJECT_KEYS,Ne as VCALENDAR_TO_KEYS,Ze as VCALENDAR_TO_OBJECT_KEYS,Un as VEVENT_KEYS,Q as VEVENT_OBJECT_KEY,Wn as VEVENT_OBJECT_KEYS,ve as VEVENT_TO_KEYS,Xe as VEVENT_TO_OBJECT_KEYS,yo as VFREEBUSY_KEYS,ne as VFREEBUSY_OBJECT_KEY,lo as VFREEBUSY_OBJECT_KEYS,ze as VFREEBUSY_TO_KEYS,ot as VFREEBUSY_TO_OBJECT_KEYS,io as VJOURNAL_KEYS,re as VJOURNAL_OBJECT_KEY,uo as VJOURNAL_OBJECT_KEYS,Me as VJOURNAL_TO_KEYS,nt as VJOURNAL_TO_OBJECT_KEYS,mt as VTIMEZONE_DAYLIGHT_OBJECT_KEY,wn as VTIMEZONE_KEYS,X as VTIMEZONE_OBJECT_KEY,Hn as VTIMEZONE_OBJECT_KEYS,Zn as VTIMEZONE_PROP_KEYS,Xn as VTIMEZONE_PROP_OBJECT_KEYS,be as VTIMEZONE_PROP_TO_KEYS,et as VTIMEZONE_PROP_TO_OBJECT_KEYS,ct as VTIMEZONE_STANDARD_OBJECT_KEY,Ae as VTIMEZONE_TO_KEYS,Qe as VTIMEZONE_TO_OBJECT_KEYS,ao as VTODO_KEYS,te as VTODO_OBJECT_KEY,so as VTODO_OBJECT_KEYS,Ve as VTODO_TO_KEYS,rt as VTODO_TO_OBJECT_KEYS,Fc as attachmentEncodingTypes,jc as attachmentValueTypes,Wc as attendeePartStatusTypes,_c as calendarMethods,hc as calendarVersions,rm as classTypes,en as convertIcsAlarm,Pr as convertIcsAttachment,L as convertIcsAttendee,xy as convertIcsCalendar,le as convertIcsClass,kr as convertIcsDate,H as convertIcsDateTime,_ as convertIcsDuration,tn as convertIcsEvent,$r as convertIcsEventStatus,Te as convertIcsExceptionDates,cn as convertIcsFreeBusy,K as convertIcsInteger,an as convertIcsJournal,Xr as convertIcsJournalStatus,Yr as convertIcsLocalOnlyDateTime,q as convertIcsOrganizer,ye as convertIcsRecurrenceId,$ as convertIcsRecurrenceRule,N as convertIcsText,y as convertIcsTimeStamp,qr as convertIcsTimeTransparent,nn as convertIcsTimezone,rn as convertIcsTimezoneProp,on as convertIcsTodo,Zr as convertIcsTodoStatus,Br as convertIcsTrigger,Hr as convertIcsWeekDay,wr as convertIcsWeekDayNumber,Gr as convertNonStandardValues,it as createGetRegex,Dt as createReplaceRegex,Jc as dateObjectTypes,qc as eventStatusTypes,Sr as extendByRecurrenceRule,Dr as extendTimezoneProps,Yc as freeBusyTypes,vr as generateIcsAlarm,Nt as generateIcsAttachment,V as generateIcsAttendee,gd as generateIcsCalendar,we as generateIcsDate,M as generateIcsDuration,Vr as generateIcsEvent,Kr as generateIcsFreeBusy,h as generateIcsInteger,_r as generateIcsJournal,xr as generateIcsLocalDateTime,Or as generateIcsLocalOnlyDateTime,k as generateIcsMail,G as generateIcsOrganizer,J as generateIcsRecurrenceRule,R as generateIcsText,T as generateIcsTimeStamp,zr as generateIcsTimezone,Mr as generateIcsTimezoneProp,Lr as generateIcsTodo,Rr as generateIcsTrigger,A as generateIcsUtcDateTime,Ar as generateIcsWeekdayNumber,Cr as generateNonStandardValues,vc as getDurationFromInterval,zc as getEventEnd,ar as getEventEndFromDuration,Je as getTimezoneObjectOffset,Zc as journalStatusTypes,zn as recurrenceObjectKeyIsNumber,An as recurrenceObjectKeyIsNumberArray,Nn as recurrenceObjectKeyIsTimeStamp,Vn as recurrenceObjectKeyIsWeekdayNumberArray,cr as recurrenceRuleFrequencies,om as timeTransparentTypes,se as timeZoneOffsetToMilliseconds,$c as todoStatusTypes,Qc as triggerRelations,Ge as weekDays};\n","import { generateIcsEvent } from 'ts-ics'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface EventPluginOptions {\r\n summary: string\r\n start: Date | string\r\n end: Date | string\r\n allDay?: boolean\r\n description?: string\r\n url?: string\r\n location?: string\r\n geo?: {\r\n lat: string\r\n lon: string\r\n }\r\n organizer: {\r\n name?: string\r\n email: string\r\n }\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport default class EventPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: EventPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = generateIcsEvent({\r\n ...this.pluginOptions,\r\n stamp: { date: toDate(this.pluginOptions.start)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n start: { date: toDate(this.pluginOptions.start)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n end: { date: toDate(this.pluginOptions.end)!, type: this.pluginOptions.allDay ? 'DATE' : 'DATE-TIME' },\r\n geo: this.pluginOptions.geo ? `${this.pluginOptions.geo.lat}:${this.pluginOptions.geo.lon}` : undefined,\r\n uid: this.uuid || ''\r\n })\r\n return options\r\n }\r\n\r\n}\r\n"],"names":["x","t","Object","fromEntries","entries","map","e","r","Ce","action","description","duration","repeat","summary","trigger","attachments","attendees","Ne","method","prodId","version","name","ve","alarms","categories","created","lastModified","location","exceptionDates","recurrenceRule","stamp","start","uid","timeTransparent","url","end","geo","class","organizer","priority","sequence","status","attach","recurrenceId","comment","k","Ae","id","be","offsetFrom","offsetTo","recurrenceDate","St","byDay","byHour","byMinute","byMonth","byMonthday","bySecond","bySetPos","byWeekNo","byYearday","count","frequency","interval","until","workweekStart","Ve","completed","due","percentComplete","Me","ze","freeBusy","gt","f","D","length","key","value","join","oe","V","dir","delegatedFrom","member","role","partstat","sentBy","rsvp","cutype","filter","n","email","M","values","before","weeks","days","hours","minutes","seconds","pt","Symbol","for","S","Date","constructor","i","Y","in","isNaN","NaN","setDate","getDate","he","o","s","getTime","setMonth","getMonth","setFullYear","getFullYear","fn","ae","c","m","u","p","weekStartsOn","locale","options","a","getDay","setHours","ie","setTime","ce","ue","Ye","prototype","toString","call","yt","Pt","F","bind","find","push","reverse","lt","je","Re","l","E","v","g","We","sort","Ge","split","de","Tt","W","xe","getTimezoneOffset","Er","flatMap","Math","min","includes","pr","h","q","firstWeekContainsDate","P","round","vt","Tr","Ir","fr","day","occurrence","indexOf","ir","getHours","ur","setMinutes","getMinutes","dr","setSeconds","getSeconds","yr","some","lr","exceptions","Sr","date","b","me","mr","flat","splice","se","Number","slice","Je","Dr","props","offset","substring","milliseconds","toLocaleString","timeZone","gr","abs","trunc","we","Error","toISOString","A","It","ln","toUpperCase","In","O","keys","childComponents","generateArrayValues","icsComponent","forEach","icsKeyMap","generateValues","icsKey","String","Array","isArray","nonStandard","generate","Cr","skipFormatLines","match","Tn","Le","Nr","vr","ee","related","type","Rr","formatType","encoding","binary","JSON","stringify","Nt","T","local","forceUtc","timezone","xr","timezones","br","replace","Vr","Q","d","descriptionAltRep","J","G","range","toDate","val","pluginOptions","uuid","this","configure","data","generateIcsEvent","allDay","lat","lon","undefined"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,8 +1,8 @@
1
1
  import { Options, Plugin } from '../utils/options.js';
2
2
  export interface EventPluginOptions {
3
3
  summary: string;
4
- start: Date;
5
- end: Date;
4
+ start: Date | string;
5
+ end: Date | string;
6
6
  allDay?: boolean;
7
7
  description?: string;
8
8
  url?: string;
@@ -27,12 +27,6 @@ export declare enum SocialType {
27
27
  QQ = "qq",
28
28
  GaduGadu = "gadu-gadu"
29
29
  }
30
- export interface Image {
31
- /** URL where photo can be found */
32
- url: string;
33
- /** the media type */
34
- mediaType: string;
35
- }
36
30
  export interface VCardPluginOptions {
37
31
  data: {
38
32
  fullName: string;
@@ -45,8 +39,7 @@ export interface VCardPluginOptions {
45
39
  nick?: string;
46
40
  };
47
41
  title?: string;
48
- birthday?: Date;
49
- photo?: Image;
42
+ birthday?: Date | string;
50
43
  phone?: Array<{
51
44
  type?: `${PhoneType}`;
52
45
  value: string;
@@ -59,7 +52,6 @@ export interface VCardPluginOptions {
59
52
  work?: Address;
60
53
  home?: Address;
61
54
  };
62
- logo?: Image;
63
55
  note?: string;
64
56
  company?: string;
65
57
  social?: Array<{
@@ -1,2 +1,2 @@
1
- import e from"path";import r from"fs";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var a,o,n,i={exports:{}};function s(){return a||(a=1,function(){function e(e){return e?("string"!=typeof e&&(e=""+e),e.replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;")):""}function r(){return"\r\n"}function t(r,t,a,n){return r+(o>=4?n?";ENCODING=b;MEDIATYPE=image/":";MEDIATYPE=image/":3===o?n?";ENCODING=b;TYPE=":";TYPE=":n?";ENCODING=BASE64;":";")+a+":"+e(t)+"\r\n"}function a(e){return e.getFullYear()+("0"+(e.getMonth()+1)).slice(-2)+("0"+e.getDate()).slice(-2)}var o="3";i.exports={getFormattedString:function(n){o=n.getMajorVersion();var i="";i+="BEGIN:VCARD\r\n",i+="VERSION:"+n.version+"\r\n";var s=o>=4?"":";CHARSET=UTF-8",l=n.formattedName;if(l||(l="",[n.firstName,n.middleName,n.lastName].forEach(function(e){e&&l&&(l+=" "),l+=e})),i+="FN"+s+":"+e(l)+"\r\n",i+="N"+s+":"+e(n.lastName)+";"+e(n.firstName)+";"+e(n.middleName)+";"+e(n.namePrefix)+";"+e(n.nameSuffix)+"\r\n",n.nickname&&o>=3&&(i+="NICKNAME"+s+":"+e(n.nickname)+"\r\n"),n.gender&&(i+="GENDER:"+e(n.gender)+"\r\n"),n.uid&&(i+="UID"+s+":"+e(n.uid)+"\r\n"),n.birthday&&(i+="BDAY:"+a(n.birthday)+"\r\n"),n.anniversary&&(i+="ANNIVERSARY:"+a(n.anniversary)+"\r\n"),n.email&&(Array.isArray(n.email)||(n.email=[n.email]),n.email.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=HOME:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=HOME,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";HOME;INTERNET:"+e(r)+"\r\n"})),n.workEmail&&(Array.isArray(n.workEmail)||(n.workEmail=[n.workEmail]),n.workEmail.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=WORK:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=WORK,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";WORK;INTERNET:"+e(r)+"\r\n"})),n.otherEmail&&(Array.isArray(n.otherEmail)||(n.otherEmail=[n.otherEmail]),n.otherEmail.forEach(function(r){i=o>=4?i+"EMAIL"+s+";type=OTHER:"+e(r)+"\r\n":o>=3&&o<4?i+"EMAIL"+s+";type=OTHER,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";OTHER;INTERNET:"+e(r)+"\r\n"})),n.logo.url&&(i+=t("LOGO",n.logo.url,n.logo.mediaType,n.logo.base64)),n.photo.url&&(i+=t("PHOTO",n.photo.url,n.photo.mediaType,n.photo.base64)),n.cellPhone&&(Array.isArray(n.cellPhone)||(n.cellPhone=[n.cellPhone]),n.cellPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=CELL:"+e(r)+"\r\n"})),n.pagerPhone&&(Array.isArray(n.pagerPhone)||(n.pagerPhone=[n.pagerPhone]),n.pagerPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="pager,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=PAGER:"+e(r)+"\r\n"})),n.homePhone&&(Array.isArray(n.homePhone)||(n.homePhone=[n.homePhone]),n.homePhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,VOICE:"+e(r)+"\r\n"})),n.workPhone&&(Array.isArray(n.workPhone)||(n.workPhone=[n.workPhone]),n.workPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,VOICE:"+e(r)+"\r\n"})),n.homeFax&&(Array.isArray(n.homeFax)||(n.homeFax=[n.homeFax]),n.homeFax.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="fax,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,FAX:"+e(r)+"\r\n"})),n.workFax&&(Array.isArray(n.workFax)||(n.workFax=[n.workFax]),n.workFax.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="fax,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,FAX:"+e(r)+"\r\n"})),n.otherPhone&&(Array.isArray(n.otherPhone)||(n.otherPhone=[n.otherPhone]),n.otherPhone.forEach(function(r){i=o>=4?i+'TEL;VALUE=uri;TYPE="voice,other":tel:'+e(r)+"\r\n":i+"TEL;TYPE=OTHER:"+e(r)+"\r\n"})),[{details:n.homeAddress,type:"HOME"},{details:n.workAddress,type:"WORK"}].forEach(function(r){var t=i,a="";(r.details.label||r.details.street||r.details.city||r.details.stateProvince||r.details.postalCode||r.details.countryRegion)&&(o>=4?a="ADR"+s+";TYPE="+r.type+(r.details.label?';LABEL="'+e(r.details.label)+'"':"")+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n":(r.details.label&&(a="LABEL"+s+";TYPE="+r.type+":"+e(r.details.label)+"\r\n"),a+="ADR"+s+";TYPE="+r.type+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n")),i=t+a}),n.title&&(i+="TITLE"+s+":"+e(n.title)+"\r\n"),n.role&&(i+="ROLE"+s+":"+e(n.role)+"\r\n"),n.organization&&(i+="ORG"+s+":"+e(n.organization)+"\r\n"),n.url&&(i+="URL"+s+":"+e(n.url)+"\r\n"),n.workUrl&&(i+="URL;type=WORK"+s+":"+e(n.workUrl)+"\r\n"),n.note&&(i+="NOTE"+s+":"+e(n.note)+"\r\n"),n.socialUrls)for(var u in n.socialUrls)n.socialUrls.hasOwnProperty(u)&&n.socialUrls[u]&&(i+="X-SOCIALPROFILE"+s+";TYPE="+u+":"+e(n.socialUrls[u])+r());return n.source&&(i+="SOURCE"+s+":"+e(n.source)+"\r\n"),i+="REV:"+(new Date).toISOString()+"\r\n",n.isOrganization&&(i+="X-ABShowAs:COMPANY\r\n"),i+="END:VCARD\r\n"}}}()),i.exports}n||(n=1,o=function(){function t(){return{url:"",mediaType:"",base64:!1,attachFromUrl:function(e,r){this.url=e,this.mediaType=r,this.base64=!1},embedFromFile:function(t){var a=r;this.mediaType=e.extname(t).toUpperCase().replace(/\./g,""),this.url=a.readFileSync(t).toString("base64"),this.base64=!0},embedFromString:function(e,r){this.mediaType=r,this.url=e,this.base64=!0}}}return{uid:"",birthday:"",cellPhone:"",pagerPhone:"",email:"",workEmail:"",firstName:"",formattedName:"",gender:"",homeAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},homePhone:"",homeFax:"",lastName:"",logo:t(),middleName:"",namePrefix:"",nameSuffix:"",nickname:"",note:"",organization:"",photo:t(),role:"",socialUrls:{facebook:"",linkedIn:"",twitter:"",flickr:""},source:"",title:"",url:"",workUrl:"",workAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},workPhone:"",workFax:"",version:"3.0",getMajorVersion:function(){var e=this.version?this.version.split(".")[0]:"4";return isNaN(e)?4:parseInt(e)},getFormattedString:function(){return s().getFormattedString(this)},saveToFile:function(e){var t=s().getFormattedString(this);r.writeFileSync(e,t,{encoding:"utf8"})}}});var l,u,c=t(o);var h,p,d,f,m,E={exports:{}};function y(){function e(r,t,a){if(!(this instanceof e))return new e(t);null!=a&&Object.assign(this,a),this._field=r,this._data=t,Object.defineProperty(this,"_field",{enumerable:!1}),Object.defineProperty(this,"_data",{enumerable:!1})}function r(e){return e.replace(/([A-Z])/g,"-$1").toUpperCase()}return d?p:(d=1,e.fromJSON=function(r){var t=r[0],a=r[1];return/text/i.test(r[2])||(a.value=r[2]),new e(t,r=Array.isArray(r[3])?r[3].join(";"):r[3],a)},e.prototype={constructor:e,is:function(e){return e=(e+"").toLowerCase(),Array.isArray(this.type)?this.type.indexOf(e)>=0:this.type===e},isEmpty:function(){return null==this._data&&0===Object.keys(this).length},clone:function(){return new e(this._field,this._data,this)},toString:function(e){for(var t=(this.group?this.group+".":"")+r(this._field),a=Object.keys(this),o=[],n=0;n<a.length;n++)if("group"!==a[n])switch(t){case"TEL":case"ADR":case"EMAIL":"2.1"===e?Array.isArray(this[a[n]])?o.push(this[a[n]].join(";")):o.push(this[a[n]]):o.push(r(a[n])+"="+this[a[n]]);break;default:o.push(r(a[n])+"="+this[a[n]])}return"2.1"===e||"3.0"===e?t+(o.length?";"+o.join(";").toUpperCase():o.toString().toUpperCase())+":"+(Array.isArray(this._data)?this._data.join(";"):this._data):t+(o.length?";"+o.join(";"):o)+":"+(Array.isArray(this._data)?this._data.join(";"):this._data)},valueOf:function(){return this._data},toJSON:function(){var e=Object.assign({},this);switch("text"===e.value&&(e.value=void 0,delete e.value),e=[this._field,e,this.value||"text"],this._field){default:e.push(this._data);break;case"adr":case"n":e.push(this._data.split(";"))}return e}},p=e)}function g(){function e(e,r,t){Array.isArray(e[r])?e[r].push(t):e[r]=null!=e[r]?[e[r],t]:t}function r(r,a){a=a.split("=");var o=t(a[0]),n=a[1];return null!=n&&""!==n||(n=a[0],o="type"),"type"===o?('"'===n[0]&&'"'===n[n.length-1]&&-1!==n.indexOf(",")&&(n=n.slice(1,-1)),n.toLowerCase().split(",").forEach(function(t){e(r,o,t)}),r):(e(r,o,n),r)}if(m)return f;m=1;var t=function(){if(h)return E.exports;h=1;var e=(e,r)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");return r=Object.assign({pascalCase:!1},r),e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim(),0===e.length?"":1===e.length?r.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=(e=>{var r=!1,t=!1,a=!1;for(let o=0;o<e.length;o++){let n=e[o];r&&/[a-zA-Z]/.test(n)&&n.toUpperCase()===n?(e=e.slice(0,o)+"-"+e.slice(o),r=!1,a=t,t=!0,o++):t&&a&&/[a-zA-Z]/.test(n)&&n.toLowerCase()===n?(e=e.slice(0,o-1)+"-"+e.slice(o-1),a=t,t=!1,r=!0):(r=n.toLowerCase()===n&&n.toUpperCase()!==n,a=t,t=n.toUpperCase()===n&&n.toLowerCase()!==n)}return e})(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),t=e,r.pascalCase?t.charAt(0).toUpperCase()+t.slice(1):t);var t};return E.exports=e,E.exports.default=e,E.exports}(),a=y();return f=function(o){for(var n,i={},s=/^([^;:]+)((?:;(?:[^;:]+))*)(?::([\s\S]+))?$/i,l=o.length-1,u=1;u<l;u++){n=o[u];var c=s.exec(n);if(c){var h=c[1].split(".");n=h.pop();var p=h.pop();h=c[3],c=(c[2]?c[2].replace(/^;|;$/g,"").split(";"):[]).reduce(r,p?{group:p}:{}),e(i,n=t(n),h=new a(n,h,c))}}return i}}var A,v,P,w=t(function(){function e(){if(!(this instanceof e))return new e;this.version=e.versions[e.versions.length-1],this.data={}}return v?A:(v=1,e.mimeType="text/vcard",e.extension=".vcf",e.versions=["2.1","3.0","4.0"],e.EOL="\r\n",e.foldLine=function(){function e(e,r,t){if(null!=r&&r<2)throw Error("Maximum length must not be less than 2");if(null!=r&&r>998)throw Error("Maximum length must not exceed 998");if(r=r||78,(e=e.replace(/[\r\n]+/g,"")).length<=r)return e;for(var a="",o=0,n=0,i=e.length,s=0,l=0;o<i;){if(!t&&~(n=e.lastIndexOf(" ",o+r))?n>o?(a+=e.slice(o,n)+"\r\n ",o=n):(a+=e.slice(o,o+r-l)+"\r\n ",o=o+r-l,t=!0):(a+=e.slice(o,o+r-l)+"\r\n ",o=o+r-l),i-o<r){a+=e.slice(o);break}0===s&&(l=1),s++}return a}return u?l:(u=1,e.unfold=function(e){return e.replace(/\r\n\s/gm,"")},l=e)}(),e.normalize=function(e){return(e+"").replace(/^[\s\r\n]+|[\s\r\n]+$/g,"").replace(/(\r\n)[\x09\x20]?(\r\n)|$/g,"$1").replace(/\r\n[\x20\x09]/g,"")},e.isSupported=function(r){return/^\d\.\d$/.test(r)&&-1!==e.versions.indexOf(r)},e.parse=function(r){r=(r+"").split(/(?=BEGIN:VCARD)/gi);for(var t=[],a=0;a<r.length;a++)t.push((new e).parse(r[a]));return t},e.parseLines=g(),e.fromJSON=function(r){if(null==(r="string"==typeof r?JSON.parse(r):r)||!Array.isArray(r))return new e;if(!/vcard/i.test(r[0]))throw Error("Object not in jCard format");var t=new e;return r[1].forEach(function(r){t.addProperty(e.Property.fromJSON(r))}),t},e.format=function(r,t){if(t=t||r.version||e.versions[e.versions.length-1],!e.isSupported(t))throw Error('Unsupported vCard version "'+t+'"');var a=[];a.push("BEGIN:VCARD"),a.push("VERSION:"+t);for(var o,n=Object.keys(r.data),i=0;i<n.length;i++)if("version"!==n[i])if(o=r.data[n[i]],Array.isArray(o))for(var s=0;s<o.length;s++)o[s].isEmpty()||a.push(e.foldLine(o[s].toString(t),75));else o.isEmpty()||a.push(e.foldLine(o.toString(t),75));return a.push("END:VCARD"),a.join(e.EOL)},e.Property=y(),e.prototype={constructor:e,get:function(e){return null==this.data[e]?this.data[e]:Array.isArray(this.data[e])?this.data[e].map(function(e){return e.clone()}):this.data[e].clone()},set:function(r,t,a){return this.setProperty(new e.Property(r,t,a))},add:function(r,t,a){return r=new e.Property(r,t,a),this.addProperty(r),this},setProperty:function(e){return this.data[e._field]=e,this},addProperty:function(e){var r=e._field;return Array.isArray(this.data[r])?this.data[r].push(e):this.data[r]=null!=this.data[r]?[this.data[r],e]:e,this},parse:function(r){var t=(r=e.normalize(r).split(/\r\n/g))[0],a=r[1],o=r[r.length-1],n=/VERSION:\d\.\d/i;if(!/BEGIN:VCARD/i.test(t))throw new SyntaxError('Invalid vCard: Expected "BEGIN:VCARD" but found "'+t+'"');if(!/END:VCARD/i.test(o))throw new SyntaxError('Invalid vCard: Expected "END:VCARD" but found "'+o+'"');if(!n.test(a)&&!(a=r.find(e=>n.test(e))))throw new SyntaxError('Invalid vCard: Expected "VERSION:\\d.\\d" but none found');if(this.version=a.substring(8,11),!e.isSupported(this.version))throw Error('Unsupported version "'+this.version+'"');return this.data=e.parseLines(r),this},toString:function(r){return r=r||this.version,e.format(this,r)},toJCard:function(e){e=e||"4.0";var r=Object.keys(this.data);e=[["version",{},"text",e]];for(var t,a=0;a<r.length;a++)if("version"!==r[a])if(t=this.data[r[a]],Array.isArray(t))for(var o=0;o<t.length;o++)e.push(t[o].toJSON());else e.push(t.toJSON());return["vcard",e]},toJSON:function(){return this.toJCard(this.version)}},A=e)}()),b=P||={};b.Home="home",b.Work="work";var O,x=O||={};x.Home="home",x.Work="work",x.Cell="cell",x.Pager="pager";var T,L=T||={};L.Messenger="messenger",L.Twitter="twitter",L.Facebook="facebook",L.LinkedIn="linkedin",L.SinaWeibo="weibo",L.Jabber="jabber",L.QQ="qq",L.GaduGadu="gadu-gadu";var k={[T.Twitter]:"https://x.com/",[T.Facebook]:"https://www.facebook.com/",[T.LinkedIn]:"https://www.linkedin.com/in/",[T.SinaWeibo]:"https://weibo.com/n/",[T.Messenger]:"https://www.messenger.com/t/"};export default class{pluginOptions;uuid;constructor(e,r){this.pluginOptions=e,this.uuid=r}configure(e){return e.data=this.generateVCard(),e}generateVCard(){var{data:e}=this.pluginOptions,r=c();r.version="3.0",r.formattedName=e.fullName;var t=[],a=1;if(e.name){let a=e.name;a.first&&(r.firstName=a.first),a.last&&(r.lastName=a.last),a.middle&&(r.middleName=a.middle),a.nick&&(r.nickname=a.nick,t.push(w.Property.fromJSON(["xAndroidCustom",{},"text",["vnd.android.cursor.item/nickname",a.nick,"1","","","","","","","","","","","","",""]]))),a.prefix&&(r.namePrefix=a.prefix),a.suffix&&(r.nameSuffix=a.suffix)}e.title&&(r.title=e.title),e.birthday&&(r.birthday=e.birthday),e.photo&&r.photo.attachFromUrl(e.photo.url,e.photo.mediaType),e.phone?.forEach(e=>{var t="otherPhone";switch(e.type){case O.Work:t="workPhone";break;case O.Cell:t="cellPhone";break;case O.Pager:t="pagerPhone";break;case O.Home:t="homePhone"}var a=r[t];Array.isArray(a)?a.push(e.value):r[t]=[e.value]}),e.email?.forEach(e=>{var t="otherEmail";switch(e.type){case P.Work:t="workEmail";break;case P.Home:t="email"}var a=r[t];Array.isArray(a)?a.push(e.value):r[t]=[e.value]}),e.address&&Object.entries(e.address).forEach(([e,t])=>{var a="homeAddress";switch(e){case"home":a="homeAddress";break;case"work":a="workAddress"}t.streetAddress&&(r[a].street=t.streetAddress),t.locality&&(r[a].city=t.locality),t.postalCode&&(r[a].postalCode=t.postalCode),t.stateProvince&&(r[a].stateProvince=t.stateProvince),e=[],t.region&&e.push(t.region),t.country&&e.push(t.country),(t=e.map(e=>e.trim()).filter(e=>!!e).join(", "))&&(r[a].countryRegion=t)}),e.logo&&r.logo.attachFromUrl(e.logo.url,e.logo.mediaType),e.note&&(r.note=e.note),e.company&&(r.organization=e.company);var o=(e,r,o,n)=>{var i="item"+a++;t.push(w.Property.fromJSON([r,{group:i},"text",e])),t.push(w.Property.fromJSON(["xAbLabel",{group:i},"text",n])),i="item"+a++,t.push(w.Property.fromJSON(["impp",{group:i,xServiceType:n},"text",`${o}:${e}`])),t.push(w.Property.fromJSON(["xAbLabel",{group:i},"text",n]))};e.social&&e.social.forEach(e=>{switch(e.type){case T.Messenger:t.push(w.Property.fromJSON(["xSocialprofile",{type:"messenger",xUser:e.value},"text","x-apple:messenger"]));var n="item"+a++;t.push(w.Property.fromJSON(["impp",{group:n,xServiceType:"Facebook"},"text",`xmpp:${e.value}`])),t.push(w.Property.fromJSON(["xAbLabel",{group:n},"text","Facebook"]));break;case T.Twitter:case T.Facebook:case T.LinkedIn:case T.SinaWeibo:(n=function({value:e,type:r}){if(e=e?.trim(),!e.match(/^https?:\/\//im))try{let t=new URL(k[r]);t.pathname=(t.pathname+"/"+e).replace(/[\/\\]+/g,"/"),e=t.toString()}catch{return}return e}(e))&&(r.socialUrls[e.type]=n);break;case T.Jabber:o(e.value,"xJabber","xmpp","Jabber");break;case T.QQ:o(e.value,"xQq","x-apple","QQ");break;case T.GaduGadu:o(e.value,"xGaduGadu","x-apple","GaduGadu")}}),e.website?.company&&(r.workUrl=e.website.company),e.website?.personal&&(r.url=e.website.personal),this.uuid&&(r.uid=this.uuid);var n=w.parse(r.getFormattedString())[0];return t.forEach(e=>n.addProperty(e)),n.toString("3.0").replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi,"X-SOCIALPROFILE;").replace(/X-AB-LABEL/gi,"X-ABLabel").replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi,(e,r)=>e.replace(r,r.toLowerCase().replace("type=messenger","type=Messenger"))).replace(/;TYPE=OTHER[^;:]*?([;:])/gi,(e,r)=>r)}}export{P as AddressType,O as PhoneType,T as SocialType};
1
+ function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e){if(Object.prototype.hasOwnProperty.call(e,"__esModule"))return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),t}var t=r(Object.freeze({__proto__:null,default:{}}));function n(e,r){for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t--;t)e.unshift("..");return e}var a=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;function o(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var a=t>=0?arguments[t]:"/";if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,r="/"===a.charAt(0))}return(r?"/":"")+(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||"."}function i(e){var r=s(e),t="/"===g(e,-1);return(e=n(d(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e}function s(e){return"/"===e.charAt(0)}function l(){return i(d(Array.prototype.slice.call(arguments,0),function(e){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function u(e,r){function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=o(e).substr(1),r=o(r).substr(1),e=t(e.split("/")),r=t(r.split("/"));for(var n=Math.min(e.length,r.length),a=n,i=0;i<n;i++)if(e[i]!==r[i]){a=i;break}for(n=[],i=a;i<e.length;i++)n.push("..");return(n=n.concat(r.slice(a))).join("/")}function c(e){var r=a.exec(e).slice(1);return e=r[0],r=r[1],e||r?(r&&=r.substr(0,r.length-1),e+r):"."}function p(e,r){return e=a.exec(e).slice(1)[2],r&&e.substr(-1*r.length)===r&&(e=e.substr(0,e.length-r.length)),e}function h(e){return a.exec(e).slice(1)[3]}var f={extname:h,basename:p,dirname:c,sep:"/",delimiter:":",relative:u,join:l,isAbsolute:s,normalize:i,resolve:o};function d(e,r){if(e.filter)return e.filter(r);for(var t=[],n=0;n<e.length;n++)r(e[n],n,e)&&t.push(e[n]);return t}var m,y,E,g="b"==="ab".substr(-1)?function(e,r,t){return e.substr(r,t)}:function(e,r,t){return r<0&&(r=e.length+r),e.substr(r,t)},v=r(Object.freeze({__proto__:null,basename:p,default:f,delimiter:":",dirname:c,extname:h,isAbsolute:s,join:l,normalize:i,relative:u,resolve:o,sep:"/"})),A={exports:{}};function b(){return m||(m=1,function(){function e(e){return e?("string"!=typeof e&&(e=""+e),e.replace(/\n/g,"\\n").replace(/,/g,"\\,").replace(/;/g,"\\;")):""}function r(){return"\r\n"}function t(r,t,n,o){return r+(a>=4?o?";ENCODING=b;MEDIATYPE=image/":";MEDIATYPE=image/":3===a?o?";ENCODING=b;TYPE=":";TYPE=":o?";ENCODING=BASE64;":";")+n+":"+e(t)+"\r\n"}function n(e){return e.getFullYear()+("0"+(e.getMonth()+1)).slice(-2)+("0"+e.getDate()).slice(-2)}var a="3";A.exports={getFormattedString:function(o){a=o.getMajorVersion();var i="";i+="BEGIN:VCARD\r\n",i+="VERSION:"+o.version+"\r\n";var s=a>=4?"":";CHARSET=UTF-8",l=o.formattedName;if(l||(l="",[o.firstName,o.middleName,o.lastName].forEach(function(e){e&&l&&(l+=" "),l+=e})),i+="FN"+s+":"+e(l)+"\r\n",i+="N"+s+":"+e(o.lastName)+";"+e(o.firstName)+";"+e(o.middleName)+";"+e(o.namePrefix)+";"+e(o.nameSuffix)+"\r\n",o.nickname&&a>=3&&(i+="NICKNAME"+s+":"+e(o.nickname)+"\r\n"),o.gender&&(i+="GENDER:"+e(o.gender)+"\r\n"),o.uid&&(i+="UID"+s+":"+e(o.uid)+"\r\n"),o.birthday&&(i+="BDAY:"+n(o.birthday)+"\r\n"),o.anniversary&&(i+="ANNIVERSARY:"+n(o.anniversary)+"\r\n"),o.email&&(Array.isArray(o.email)||(o.email=[o.email]),o.email.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=HOME:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=HOME,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";HOME;INTERNET:"+e(r)+"\r\n"})),o.workEmail&&(Array.isArray(o.workEmail)||(o.workEmail=[o.workEmail]),o.workEmail.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=WORK:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=WORK,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";WORK;INTERNET:"+e(r)+"\r\n"})),o.otherEmail&&(Array.isArray(o.otherEmail)||(o.otherEmail=[o.otherEmail]),o.otherEmail.forEach(function(r){i=a>=4?i+"EMAIL"+s+";type=OTHER:"+e(r)+"\r\n":a>=3&&a<4?i+"EMAIL"+s+";type=OTHER,INTERNET:"+e(r)+"\r\n":i+"EMAIL"+s+";OTHER;INTERNET:"+e(r)+"\r\n"})),o.logo.url&&(i+=t("LOGO",o.logo.url,o.logo.mediaType,o.logo.base64)),o.photo.url&&(i+=t("PHOTO",o.photo.url,o.photo.mediaType,o.photo.base64)),o.cellPhone&&(Array.isArray(o.cellPhone)||(o.cellPhone=[o.cellPhone]),o.cellPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=CELL:"+e(r)+"\r\n"})),o.pagerPhone&&(Array.isArray(o.pagerPhone)||(o.pagerPhone=[o.pagerPhone]),o.pagerPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="pager,cell":tel:'+e(r)+"\r\n":i+"TEL;TYPE=PAGER:"+e(r)+"\r\n"})),o.homePhone&&(Array.isArray(o.homePhone)||(o.homePhone=[o.homePhone]),o.homePhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,VOICE:"+e(r)+"\r\n"})),o.workPhone&&(Array.isArray(o.workPhone)||(o.workPhone=[o.workPhone]),o.workPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,VOICE:"+e(r)+"\r\n"})),o.homeFax&&(Array.isArray(o.homeFax)||(o.homeFax=[o.homeFax]),o.homeFax.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="fax,home":tel:'+e(r)+"\r\n":i+"TEL;TYPE=HOME,FAX:"+e(r)+"\r\n"})),o.workFax&&(Array.isArray(o.workFax)||(o.workFax=[o.workFax]),o.workFax.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="fax,work":tel:'+e(r)+"\r\n":i+"TEL;TYPE=WORK,FAX:"+e(r)+"\r\n"})),o.otherPhone&&(Array.isArray(o.otherPhone)||(o.otherPhone=[o.otherPhone]),o.otherPhone.forEach(function(r){i=a>=4?i+'TEL;VALUE=uri;TYPE="voice,other":tel:'+e(r)+"\r\n":i+"TEL;TYPE=OTHER:"+e(r)+"\r\n"})),[{details:o.homeAddress,type:"HOME"},{details:o.workAddress,type:"WORK"}].forEach(function(r){var t=i,n="";(r.details.label||r.details.street||r.details.city||r.details.stateProvince||r.details.postalCode||r.details.countryRegion)&&(a>=4?n="ADR"+s+";TYPE="+r.type+(r.details.label?';LABEL="'+e(r.details.label)+'"':"")+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n":(r.details.label&&(n="LABEL"+s+";TYPE="+r.type+":"+e(r.details.label)+"\r\n"),n+="ADR"+s+";TYPE="+r.type+":;;"+e(r.details.street)+";"+e(r.details.city)+";"+e(r.details.stateProvince)+";"+e(r.details.postalCode)+";"+e(r.details.countryRegion)+"\r\n")),i=t+n}),o.title&&(i+="TITLE"+s+":"+e(o.title)+"\r\n"),o.role&&(i+="ROLE"+s+":"+e(o.role)+"\r\n"),o.organization&&(i+="ORG"+s+":"+e(o.organization)+"\r\n"),o.url&&(i+="URL"+s+":"+e(o.url)+"\r\n"),o.workUrl&&(i+="URL;type=WORK"+s+":"+e(o.workUrl)+"\r\n"),o.note&&(i+="NOTE"+s+":"+e(o.note)+"\r\n"),o.socialUrls)for(var u in o.socialUrls)o.socialUrls.hasOwnProperty(u)&&o.socialUrls[u]&&(i+="X-SOCIALPROFILE"+s+";TYPE="+u+":"+e(o.socialUrls[u])+r());return o.source&&(i+="SOURCE"+s+":"+e(o.source)+"\r\n"),i+="REV:"+(new Date).toISOString()+"\r\n",o.isOrganization&&(i+="X-ABShowAs:COMPANY\r\n"),i+="END:VCARD\r\n"}}}()),A.exports}E||(E=1,y=function(){function e(){return{url:"",mediaType:"",base64:!1,attachFromUrl:function(e,r){this.url=e,this.mediaType=r,this.base64=!1},embedFromFile:function(e){this.mediaType=v.extname(e).toUpperCase().replace(/\./g,""),this.url=t.readFileSync(e).toString("base64"),this.base64=!0},embedFromString:function(e,r){this.mediaType=r,this.url=e,this.base64=!0}}}return{uid:"",birthday:"",cellPhone:"",pagerPhone:"",email:"",workEmail:"",firstName:"",formattedName:"",gender:"",homeAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},homePhone:"",homeFax:"",lastName:"",logo:e(),middleName:"",namePrefix:"",nameSuffix:"",nickname:"",note:"",organization:"",photo:e(),role:"",socialUrls:{facebook:"",linkedIn:"",twitter:"",flickr:""},source:"",title:"",url:"",workUrl:"",workAddress:{label:"",street:"",city:"",stateProvince:"",postalCode:"",countryRegion:""},workPhone:"",workFax:"",version:"3.0",getMajorVersion:function(){var e=this.version?this.version.split(".")[0]:"4";return isNaN(e)?4:parseInt(e)},getFormattedString:function(){return b().getFormattedString(this)},saveToFile:function(e){var r=b().getFormattedString(this);t.writeFileSync(e,r,{encoding:"utf8"})}}});var w,P,O=e(y);var x,T,k,L,N,C={exports:{}};function S(){function e(r,t,n){if(!(this instanceof e))return new e(t);null!=n&&Object.assign(this,n),this._field=r,this._data=t,Object.defineProperty(this,"_field",{enumerable:!1}),Object.defineProperty(this,"_data",{enumerable:!1})}function r(e){return e.replace(/([A-Z])/g,"-$1").toUpperCase()}return k?T:(k=1,e.fromJSON=function(r){var t=r[0],n=r[1];return/text/i.test(r[2])||(n.value=r[2]),new e(t,r=Array.isArray(r[3])?r[3].join(";"):r[3],n)},e.prototype={constructor:e,is:function(e){return e=(e+"").toLowerCase(),Array.isArray(this.type)?this.type.indexOf(e)>=0:this.type===e},isEmpty:function(){return null==this._data&&0===Object.keys(this).length},clone:function(){return new e(this._field,this._data,this)},toString:function(e){for(var t=(this.group?this.group+".":"")+r(this._field),n=Object.keys(this),a=[],o=0;o<n.length;o++)if("group"!==n[o])switch(t){case"TEL":case"ADR":case"EMAIL":"2.1"===e?Array.isArray(this[n[o]])?a.push(this[n[o]].join(";")):a.push(this[n[o]]):a.push(r(n[o])+"="+this[n[o]]);break;default:a.push(r(n[o])+"="+this[n[o]])}return"2.1"===e||"3.0"===e?t+(a.length?";"+a.join(";").toUpperCase():a.toString().toUpperCase())+":"+(Array.isArray(this._data)?this._data.join(";"):this._data):t+(a.length?";"+a.join(";"):a)+":"+(Array.isArray(this._data)?this._data.join(";"):this._data)},valueOf:function(){return this._data},toJSON:function(){var e=Object.assign({},this);switch("text"===e.value&&(e.value=void 0,delete e.value),e=[this._field,e,this.value||"text"],this._field){default:e.push(this._data);break;case"adr":case"n":e.push(this._data.split(";"))}return e}},T=e)}function R(){function e(e,r,t){Array.isArray(e[r])?e[r].push(t):e[r]=null!=e[r]?[e[r],t]:t}function r(r,n){n=n.split("=");var a=t(n[0]),o=n[1];return null!=o&&""!==o||(o=n[0],a="type"),"type"===a?('"'===o[0]&&'"'===o[o.length-1]&&-1!==o.indexOf(",")&&(o=o.slice(1,-1)),o.toLowerCase().split(",").forEach(function(t){e(r,a,t)}),r):(e(r,a,o),r)}if(N)return L;N=1;var t=function(){if(x)return C.exports;x=1;var e=(e,r)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");return r=Object.assign({pascalCase:!1},r),e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim(),0===e.length?"":1===e.length?r.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=(e=>{var r=!1,t=!1,n=!1;for(let a=0;a<e.length;a++){let o=e[a];r&&/[a-zA-Z]/.test(o)&&o.toUpperCase()===o?(e=e.slice(0,a)+"-"+e.slice(a),r=!1,n=t,t=!0,a++):t&&n&&/[a-zA-Z]/.test(o)&&o.toLowerCase()===o?(e=e.slice(0,a-1)+"-"+e.slice(a-1),n=t,t=!1,r=!0):(r=o.toLowerCase()===o&&o.toUpperCase()!==o,n=t,t=o.toUpperCase()===o&&o.toLowerCase()!==o)}return e})(e)),e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase()),t=e,r.pascalCase?t.charAt(0).toUpperCase()+t.slice(1):t);var t};return C.exports=e,C.exports.default=e,C.exports}(),n=S();return L=function(a){for(var o,i={},s=/^([^;:]+)((?:;(?:[^;:]+))*)(?::([\s\S]+))?$/i,l=a.length-1,u=1;u<l;u++){o=a[u];var c=s.exec(o);if(c){var p=c[1].split(".");o=p.pop();var h=p.pop();p=c[3],c=(c[2]?c[2].replace(/^;|;$/g,"").split(";"):[]).reduce(r,h?{group:h}:{}),e(i,o=t(o),p=new n(o,p,c))}}return i}}var I,U,j,F=e(function(){function e(){if(!(this instanceof e))return new e;this.version=e.versions[e.versions.length-1],this.data={}}return U?I:(U=1,e.mimeType="text/vcard",e.extension=".vcf",e.versions=["2.1","3.0","4.0"],e.EOL="\r\n",e.foldLine=function(){function e(e,r,t){if(null!=r&&r<2)throw Error("Maximum length must not be less than 2");if(null!=r&&r>998)throw Error("Maximum length must not exceed 998");if(r=r||78,(e=e.replace(/[\r\n]+/g,"")).length<=r)return e;for(var n="",a=0,o=0,i=e.length,s=0,l=0;a<i;){if(!t&&~(o=e.lastIndexOf(" ",a+r))?o>a?(n+=e.slice(a,o)+"\r\n ",a=o):(n+=e.slice(a,a+r-l)+"\r\n ",a=a+r-l,t=!0):(n+=e.slice(a,a+r-l)+"\r\n ",a=a+r-l),i-a<r){n+=e.slice(a);break}0===s&&(l=1),s++}return n}return P?w:(P=1,e.unfold=function(e){return e.replace(/\r\n\s/gm,"")},w=e)}(),e.normalize=function(e){return(e+"").replace(/^[\s\r\n]+|[\s\r\n]+$/g,"").replace(/(\r\n)[\x09\x20]?(\r\n)|$/g,"$1").replace(/\r\n[\x20\x09]/g,"")},e.isSupported=function(r){return/^\d\.\d$/.test(r)&&-1!==e.versions.indexOf(r)},e.parse=function(r){r=(r+"").split(/(?=BEGIN:VCARD)/gi);for(var t=[],n=0;n<r.length;n++)t.push((new e).parse(r[n]));return t},e.parseLines=R(),e.fromJSON=function(r){if(null==(r="string"==typeof r?JSON.parse(r):r)||!Array.isArray(r))return new e;if(!/vcard/i.test(r[0]))throw Error("Object not in jCard format");var t=new e;return r[1].forEach(function(r){t.addProperty(e.Property.fromJSON(r))}),t},e.format=function(r,t){if(t=t||r.version||e.versions[e.versions.length-1],!e.isSupported(t))throw Error('Unsupported vCard version "'+t+'"');var n=[];n.push("BEGIN:VCARD"),n.push("VERSION:"+t);for(var a,o=Object.keys(r.data),i=0;i<o.length;i++)if("version"!==o[i])if(a=r.data[o[i]],Array.isArray(a))for(var s=0;s<a.length;s++)a[s].isEmpty()||n.push(e.foldLine(a[s].toString(t),75));else a.isEmpty()||n.push(e.foldLine(a.toString(t),75));return n.push("END:VCARD"),n.join(e.EOL)},e.Property=S(),e.prototype={constructor:e,get:function(e){return null==this.data[e]?this.data[e]:Array.isArray(this.data[e])?this.data[e].map(function(e){return e.clone()}):this.data[e].clone()},set:function(r,t,n){return this.setProperty(new e.Property(r,t,n))},add:function(r,t,n){return r=new e.Property(r,t,n),this.addProperty(r),this},setProperty:function(e){return this.data[e._field]=e,this},addProperty:function(e){var r=e._field;return Array.isArray(this.data[r])?this.data[r].push(e):this.data[r]=null!=this.data[r]?[this.data[r],e]:e,this},parse:function(r){var t=(r=e.normalize(r).split(/\r\n/g))[0],n=r[1],a=r[r.length-1],o=/VERSION:\d\.\d/i;if(!/BEGIN:VCARD/i.test(t))throw new SyntaxError('Invalid vCard: Expected "BEGIN:VCARD" but found "'+t+'"');if(!/END:VCARD/i.test(a))throw new SyntaxError('Invalid vCard: Expected "END:VCARD" but found "'+a+'"');if(!o.test(n)&&!(n=r.find(e=>o.test(e))))throw new SyntaxError('Invalid vCard: Expected "VERSION:\\d.\\d" but none found');if(this.version=n.substring(8,11),!e.isSupported(this.version))throw Error('Unsupported version "'+this.version+'"');return this.data=e.parseLines(r),this},toString:function(r){return r=r||this.version,e.format(this,r)},toJCard:function(e){e=e||"4.0";var r=Object.keys(this.data);e=[["version",{},"text",e]];for(var t,n=0;n<r.length;n++)if("version"!==r[n])if(t=this.data[r[n]],Array.isArray(t))for(var a=0;a<t.length;a++)e.push(t[a].toJSON());else e.push(t.toJSON());return["vcard",e]},toJSON:function(){return this.toJCard(this.version)}},I=e)}()),_=j||={};_.Home="home",_.Work="work";var M,D=M||={};D.Home="home",D.Work="work",D.Cell="cell",D.Pager="pager";var V,Y=V||={};Y.Messenger="messenger",Y.Twitter="twitter",Y.Facebook="facebook",Y.LinkedIn="linkedin",Y.SinaWeibo="weibo",Y.Jabber="jabber",Y.QQ="qq",Y.GaduGadu="gadu-gadu";var J={[V.Twitter]:"https://x.com/",[V.Facebook]:"https://www.facebook.com/",[V.LinkedIn]:"https://www.linkedin.com/in/",[V.SinaWeibo]:"https://weibo.com/n/",[V.Messenger]:"https://www.messenger.com/t/"};export default class{pluginOptions;uuid;constructor(e,r){this.pluginOptions=e,this.uuid=r}configure(e){return e.data=this.generateVCard(),e}generateVCard(){var{data:e}=this.pluginOptions,r=O();r.version="3.0",r.formattedName=e.fullName;var t=[],n=1;if(e.name){let n=e.name;n.first&&(r.firstName=n.first),n.last&&(r.lastName=n.last),n.middle&&(r.middleName=n.middle),n.nick&&(r.nickname=n.nick,t.push(F.Property.fromJSON(["xAndroidCustom",{},"text",["vnd.android.cursor.item/nickname",n.nick,"1","","","","","","","","","","","","",""]]))),n.prefix&&(r.namePrefix=n.prefix),n.suffix&&(r.nameSuffix=n.suffix)}e.title&&(r.title=e.title),e.birthday&&(r.birthday=function(e){if(e)return"string"==typeof e?new Date(e):e}(e.birthday)),e.phone?.forEach(e=>{var t="otherPhone";switch(e.type){case M.Work:t="workPhone";break;case M.Cell:t="cellPhone";break;case M.Pager:t="pagerPhone";break;case M.Home:t="homePhone"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.email?.forEach(e=>{var t="otherEmail";switch(e.type){case j.Work:t="workEmail";break;case j.Home:t="email"}var n=r[t];Array.isArray(n)?n.push(e.value):r[t]=[e.value]}),e.address&&Object.entries(e.address).forEach(([e,t])=>{var n="homeAddress";switch(e){case"home":n="homeAddress";break;case"work":n="workAddress"}t.streetAddress&&(r[n].street=t.streetAddress),t.locality&&(r[n].city=t.locality),t.postalCode&&(r[n].postalCode=t.postalCode),t.stateProvince&&(r[n].stateProvince=t.stateProvince),e=[],t.region&&e.push(t.region),t.country&&e.push(t.country),(t=e.map(e=>e.trim()).filter(e=>!!e).join(", "))&&(r[n].countryRegion=t)}),e.note&&(r.note=e.note),e.company&&(r.organization=e.company);var a=(e,r,a,o)=>{var i="item"+n++;t.push(F.Property.fromJSON([r,{group:i},"text",e])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",o])),i="item"+n++,t.push(F.Property.fromJSON(["impp",{group:i,xServiceType:o},"text",`${a}:${e}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:i},"text",o]))};e.social&&e.social.forEach(e=>{switch(e.type){case V.Messenger:t.push(F.Property.fromJSON(["xSocialprofile",{type:"messenger",xUser:e.value},"text","x-apple:messenger"]));var o="item"+n++;t.push(F.Property.fromJSON(["impp",{group:o,xServiceType:"Facebook"},"text",`xmpp:${e.value}`])),t.push(F.Property.fromJSON(["xAbLabel",{group:o},"text","Facebook"]));break;case V.Twitter:case V.Facebook:case V.LinkedIn:case V.SinaWeibo:(o=function({value:e,type:r}){if(e=e?.trim(),!e.match(/^https?:\/\//im))try{let t=new URL(J[r]);t.pathname=(t.pathname+"/"+e).replace(/[\/\\]+/g,"/"),e=t.toString()}catch{return}return e}(e))&&(r.socialUrls[e.type]=o);break;case V.Jabber:a(e.value,"xJabber","xmpp","Jabber");break;case V.QQ:a(e.value,"xQq","x-apple","QQ");break;case V.GaduGadu:a(e.value,"xGaduGadu","x-apple","GaduGadu")}}),e.website?.company&&(r.workUrl=e.website.company),e.website?.personal&&(r.url=e.website.personal),this.uuid&&(r.uid=this.uuid);var o=F.parse(r.getFormattedString())[0];return t.forEach(e=>o.addProperty(e)),o.toString("3.0").replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi,"X-SOCIALPROFILE;").replace(/X-AB-LABEL/gi,"X-ABLabel").replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi,(e,r)=>e.replace(r,r.toLowerCase().replace("type=messenger","type=Messenger"))).replace(/;TYPE=OTHER[^;:]*?([;:])/gi,(e,r)=>r)}}export{j as AddressType,M as PhoneType,V as SocialType};
2
2
  //# sourceMappingURL=vcard-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vcard-plugin.js","sources":["../node_modules/vcards-js/lib/vCardFormatter.js","../node_modules/vcards-js/index.js","../node_modules/vcf/lib/property.js","../node_modules/vcf/lib/parse-lines.js","../node_modules/camelcase/index.js","../src/plugins/vcard.ts","../node_modules/vcf/lib/vcard.js","../node_modules/foldline/foldline.js"],"sourcesContent":["/********************************************************************************\n vCards-js, Eric J Nesser, November 2014,\n ********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * vCard formatter for formatting vCards in VCF format\n */\n(function vCardFormatter() {\n\tvar majorVersion = '3';\n\n\t/**\n\t * Encode string\n\t * @param {String} value to encode\n\t * @return {String} encoded string\n\t */\n\tfunction e(value) {\n\t\tif (value) {\n\t\t\tif (typeof(value) !== 'string') {\n\t\t\t\tvalue = '' + value;\n\t\t\t}\n\t\t\treturn value.replace(/\\n/g, '\\\\n').replace(/,/g, '\\\\,').replace(/;/g, '\\\\;');\n\t\t}\n\t\treturn '';\n\t}\n\n\t/**\n\t * Return new line characters\n\t * @return {String} new line characters\n\t */\n\tfunction nl() {\n\t\treturn '\\r\\n';\n\t}\n\n\t/**\n\t * Get formatted photo\n\t * @param {String} photoType Photo type (PHOTO, LOGO)\n\t * @param {String} url URL to attach photo from\n\t * @param {String} mediaType Media-type of photo (JPEG, PNG, GIF)\n\t * @return {String} Formatted photo\n\t */\n\tfunction getFormattedPhoto(photoType, url, mediaType, base64) {\n\n\t\tvar params;\n\n\t\tif (majorVersion >= 4) {\n\t\t\tparams = base64 ? ';ENCODING=b;MEDIATYPE=image/' : ';MEDIATYPE=image/';\n\t\t} else if (majorVersion === 3) {\n\t\t\tparams = base64 ? ';ENCODING=b;TYPE=' : ';TYPE=';\n\t\t} else {\n\t\t\tparams = base64 ? ';ENCODING=BASE64;' : ';';\n\t\t}\n\n\t\tvar formattedPhoto = photoType + params + mediaType + ':' + e(url) + nl();\n\t\treturn formattedPhoto;\n\t}\n\n\t/**\n\t * Get formatted address\n\t * @param {object} address\n\t * @param {object} encoding prefix\n\t * @return {String} Formatted address\n\t */\n\tfunction getFormattedAddress(encodingPrefix, address) {\n\n\t\tvar formattedAddress = '';\n\n\t\tif (address.details.label ||\n\t\t\taddress.details.street ||\n\t\t\taddress.details.city ||\n\t\t\taddress.details.stateProvince ||\n\t\t\taddress.details.postalCode ||\n\t\t\taddress.details.countryRegion) {\n\n\t\t\tif (majorVersion >= 4) {\n\t\t\t\tformattedAddress = 'ADR' + encodingPrefix + ';TYPE=' + address.type +\n\t\t\t\t\t(address.details.label ? ';LABEL=\"' + e(address.details.label) + '\"' : '') + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\t\t\t} else {\n\t\t\t\tif (address.details.label) {\n\t\t\t\t\tformattedAddress = 'LABEL' + encodingPrefix + ';TYPE=' + address.type + ':' + e(address.details.label) + nl();\n\t\t\t\t}\n\t\t\t\tformattedAddress += 'ADR' + encodingPrefix + ';TYPE=' + address.type + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\n\t\t\t}\n\t\t}\n\n\t\treturn formattedAddress;\n\t}\n\n\t/**\n\t * Convert date to YYYYMMDD format\n\t * @param {Date} date to encode\n\t * @return {String} encoded date\n\t */\n\tfunction YYYYMMDD(date) {\n\t\treturn date.getFullYear() + ('0' + (date.getMonth()+1)).slice(-2) + ('0' + date.getDate()).slice(-2);\n\t}\n\n\tmodule.exports = {\n\n\t\t/**\n\t\t * Get formatted vCard in VCF format\n\t\t * @param {object} vCard object\n\t\t * @return {String} Formatted vCard in VCF format\n\t\t */\n\t\tgetFormattedString: function(vCard) {\n\n\t\t\tmajorVersion = vCard.getMajorVersion();\n\n\t\t\tvar formattedVCardString = '';\n\t\t\tformattedVCardString += 'BEGIN:VCARD' + nl();\n\t\t\tformattedVCardString += 'VERSION:' + vCard.version + nl();\n\n\t\t\tvar encodingPrefix = majorVersion >= 4 ? '' : ';CHARSET=UTF-8';\n\t\t\tvar formattedName = vCard.formattedName;\n\n\t\t\tif (!formattedName) {\n\t\t\t\tformattedName = '';\n\n\t\t\t\t[vCard.firstName, vCard.middleName, vCard.lastName]\n\t\t\t\t\t.forEach(function(name) {\n\t\t\t\t\t\tif (name) {\n\t\t\t\t\t\t\tif (formattedName) {\n\t\t\t\t\t\t\t\tformattedName += ' ';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tformattedName += name;\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tformattedVCardString += 'FN' + encodingPrefix + ':' + e(formattedName) + nl();\n\t\t\tformattedVCardString += 'N' + encodingPrefix + ':' +\n\t\t\t\te(vCard.lastName) + ';' +\n\t\t\t\te(vCard.firstName) + ';' +\n\t\t\t\te(vCard.middleName) + ';' +\n\t\t\t\te(vCard.namePrefix) + ';' +\n\t\t\t\te(vCard.nameSuffix) + nl();\n\n\t\t\tif (vCard.nickname && majorVersion >= 3) {\n\t\t\t\tformattedVCardString += 'NICKNAME' + encodingPrefix + ':' + e(vCard.nickname) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.gender) {\n\t\t\t\tformattedVCardString += 'GENDER:' + e(vCard.gender) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.uid) {\n\t\t\t\tformattedVCardString += 'UID' + encodingPrefix + ':' + e(vCard.uid) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.birthday) {\n\t\t\t\tformattedVCardString += 'BDAY:' + YYYYMMDD(vCard.birthday) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.anniversary) {\n\t\t\t\tformattedVCardString += 'ANNIVERSARY:' + YYYYMMDD(vCard.anniversary) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.email) {\n\t\t\t\tif(!Array.isArray(vCard.email)){\n\t\t\t\t\tvCard.email = [vCard.email];\n\t\t\t\t}\n\t\t\t\tvCard.email.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';HOME;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workEmail) {\n\t\t\t\tif(!Array.isArray(vCard.workEmail)){\n\t\t\t\t\tvCard.workEmail = [vCard.workEmail];\n\t\t\t\t}\n\t\t\t\tvCard.workEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';WORK;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherEmail) {\n\t\t\t\tif(!Array.isArray(vCard.otherEmail)){\n\t\t\t\t\tvCard.otherEmail = [vCard.otherEmail];\n\t\t\t\t}\n\t\t\t\tvCard.otherEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';OTHER;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.logo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('LOGO', vCard.logo.url, vCard.logo.mediaType, vCard.logo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.photo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('PHOTO', vCard.photo.url, vCard.photo.mediaType, vCard.photo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.cellPhone) {\n\t\t\t\tif(!Array.isArray(vCard.cellPhone)){\n\t\t\t\t\tvCard.cellPhone = [vCard.cellPhone];\n\t\t\t\t}\n\t\t\t\tvCard.cellPhone.forEach(\n\t\t\t\t\tfunction(number){\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=CELL:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.pagerPhone) {\n\t\t\t\tif(!Array.isArray(vCard.pagerPhone)){\n\t\t\t\t\tvCard.pagerPhone = [vCard.pagerPhone];\n\t\t\t\t}\n\t\t\t\tvCard.pagerPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"pager,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=PAGER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homePhone) {\n\t\t\t\tif(!Array.isArray(vCard.homePhone)){\n\t\t\t\t\tvCard.homePhone = [vCard.homePhone];\n\t\t\t\t}\n\t\t\t\tvCard.homePhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,home\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workPhone) {\n\t\t\t\tif(!Array.isArray(vCard.workPhone)){\n\t\t\t\t\tvCard.workPhone = [vCard.workPhone];\n\t\t\t\t}\n\t\t\t\tvCard.workPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homeFax) {\n\t\t\t\tif(!Array.isArray(vCard.homeFax)){\n\t\t\t\t\tvCard.homeFax = [vCard.homeFax];\n\t\t\t\t}\n\t\t\t\tvCard.homeFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,home\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workFax) {\n\t\t\t\tif(!Array.isArray(vCard.workFax)){\n\t\t\t\t\tvCard.workFax = [vCard.workFax];\n\t\t\t\t}\n\t\t\t\tvCard.workFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherPhone) {\n\t\t\t\tif(!Array.isArray(vCard.otherPhone)){\n\t\t\t\t\tvCard.otherPhone = [vCard.otherPhone];\n\t\t\t\t}\n\t\t\t\tvCard.otherPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,other\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=OTHER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t[{\n\t\t\t\tdetails: vCard.homeAddress,\n\t\t\t\ttype: 'HOME'\n\t\t\t}, {\n\t\t\t\tdetails: vCard.workAddress,\n\t\t\t\ttype: 'WORK'\n\t\t\t}].forEach(\n\t\t\t\tfunction(address) {\n\t\t\t\t\tformattedVCardString += getFormattedAddress(encodingPrefix, address);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (vCard.title) {\n\t\t\t\tformattedVCardString += 'TITLE' + encodingPrefix + ':' + e(vCard.title) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.role) {\n\t\t\t\tformattedVCardString += 'ROLE' + encodingPrefix + ':' + e(vCard.role) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.organization) {\n\t\t\t\tformattedVCardString += 'ORG' + encodingPrefix + ':' + e(vCard.organization) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.url) {\n\t\t\t\tformattedVCardString += 'URL' + encodingPrefix + ':' + e(vCard.url) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.workUrl) {\n\t\t\t\tformattedVCardString += 'URL;type=WORK' + encodingPrefix + ':' + e(vCard.workUrl) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.note) {\n\t\t\t\tformattedVCardString += 'NOTE' + encodingPrefix + ':' + e(vCard.note) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.socialUrls) {\n\t\t\t\tfor (var key in vCard.socialUrls) {\n\t\t\t\t\tif (vCard.socialUrls.hasOwnProperty(key) &&\n\t\t\t\t\t\tvCard.socialUrls[key]) {\n\t\t\t\t\t\tformattedVCardString += 'X-SOCIALPROFILE' + encodingPrefix + ';TYPE=' + key + ':' + e(vCard.socialUrls[key]) + nl();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (vCard.source) {\n\t\t\t\tformattedVCardString += 'SOURCE' + encodingPrefix + ':' + e(vCard.source) + nl();\n\t\t\t}\n\n\t\t\tformattedVCardString += 'REV:' + (new Date()).toISOString() + nl();\n\t\t\t\n\t\t\tif (vCard.isOrganization) {\n\t\t\t\tformattedVCardString += 'X-ABShowAs:COMPANY' + nl();\n\t\t\t} \n\t\t\t\n\t\t\tformattedVCardString += 'END:VCARD' + nl();\n\t\t\treturn formattedVCardString;\n\t\t}\n\t};\n})();","/********************************************************************************\n vCards-js, Eric J Nesser, November 2014\n********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * Represents a contact that can be imported into Outlook, iOS, Mac OS, Android devices, and more\n */\nvar vCard = (function () {\n /**\n * Get photo object for storing photos in vCards\n */\n function getPhoto() {\n return {\n url: '',\n mediaType: '',\n base64: false,\n\n /**\n * Attach a photo from a URL\n * @param {string} url URL where photo can be found\n * @param {string} mediaType Media type of photo (JPEG, PNG, GIF)\n */\n attachFromUrl: function(url, mediaType) {\n this.url = url;\n this.mediaType = mediaType;\n this.base64 = false;\n },\n\n /**\n * Embed a photo from a file using base-64 encoding (not implemented yet)\n * @param {string} filename\n */\n embedFromFile: function(fileLocation) {\n var fs = require('fs');\n var path = require('path');\n this.mediaType = path.extname(fileLocation).toUpperCase().replace(/\\./g, \"\");\n var imgData = fs.readFileSync(fileLocation);\n this.url = imgData.toString('base64');\n this.base64 = true;\n },\n\n /**\n * Embed a photo from a base-64 string\n * @param {string} base64String\n */\n embedFromString: function(base64String, mediaType) {\n this.mediaType = mediaType;\n this.url = base64String;\n this.base64 = true;\n }\n };\n }\n\n /**\n * Get a mailing address to attach to a vCard.\n */\n function getMailingAddress() {\n return {\n /**\n * Represents the actual text that should be put on the mailing label when delivering a physical package\n * @type {String}\n */\n label: '',\n\n /**\n * Street address\n * @type {String}\n */\n street: '',\n\n /**\n * City\n * @type {String}\n */\n city: '',\n\n /**\n * State or province\n * @type {String}\n */\n stateProvince: '',\n\n /**\n * Postal code\n * @type {String}\n */\n postalCode: '',\n\n /**\n * Country or region\n * @type {String}\n */\n countryRegion: ''\n };\n }\n\n /**\n * Get social media URLs\n * @return {object} Social media URL hash group\n */\n function getSocialUrls() {\n return {\n 'facebook': '',\n 'linkedIn': '',\n 'twitter': '',\n 'flickr': ''\n };\n }\n\n /********************************************************************************\n * Public interface for vCard\n ********************************************************************************/\n return {\n\n /**\n * Specifies a value that represents a persistent, globally unique identifier associated with the vCard\n * @type {String}\n */\n uid: '',\n\n /**\n * Date of birth\n * @type {Datetime}\n */\n birthday: '',\n\n /**\n * Cell phone number\n * @type {String}\n */\n cellPhone: '',\n\n /**\n * Other cell phone number or pager\n * @type {String}\n */\n pagerPhone: '',\n\n /**\n * The address for private electronic mail communication\n * @type {String}\n */\n email: '',\n\n /**\n * The address for work-related electronic mail communication\n * @type {String}\n */\n workEmail: '',\n\n /**\n * First name\n * @type {String}\n */\n firstName: '',\n\n /**\n * Formatted name string associated with the vCard object (will automatically populate if not set)\n * @type {String}\n */\n formattedName: '',\n\n /**\n * Gender.\n * @type {String} Must be M or F for Male or Female\n */\n gender: '',\n\n /**\n * Home mailing address\n * @type {object}\n */\n homeAddress: getMailingAddress(),\n\n /**\n * Home phone\n * @type {String}\n */\n homePhone: '',\n\n /**\n * Home facsimile\n * @type {String}\n */\n homeFax: '',\n\n /**\n * Last name\n * @type {String}\n */\n lastName: '',\n\n /**\n * Logo\n * @type {object}\n */\n logo: getPhoto(),\n\n /**\n * Middle name\n * @type {String}\n */\n middleName: '',\n\n /**\n * Prefix for individual's name\n * @type {String}\n */\n namePrefix: '',\n\n /**\n * Suffix for individual's name\n * @type {String}\n */\n nameSuffix: '',\n\n /**\n * Nickname of individual\n * @type {String}\n */\n nickname: '',\n\n /**\n * Specifies supplemental information or a comment that is associated with the vCard\n * @type {String}\n */\n note: '',\n\n /**\n * The name and optionally the unit(s) of the organization associated with the vCard object\n * @type {String}\n */\n organization: '',\n\n /**\n * Individual's photo\n * @type {object}\n */\n photo: getPhoto(),\n\n /**\n * The role, occupation, or business category of the vCard object within an organization\n * @type {String}\n */\n role: '',\n\n /**\n * Social URLs attached to the vCard object (ex: Facebook, Twitter, LinkedIn)\n * @type {String}\n */\n socialUrls: getSocialUrls(),\n\n /**\n * A URL that can be used to get the latest version of this vCard\n * @type {String}\n */\n source: '',\n\n /**\n * Specifies the job title, functional position or function of the individual within an organization\n * @type {String}\n */\n title: '',\n\n /**\n * URL pointing to a website that represents the person in some way\n * @type {String}\n */\n url: '',\n\n /**\n * URL pointing to a website that represents the person's work in some way\n * @type {String}\n */\n workUrl: '',\n\n /**\n * Work mailing address\n * @type {object}\n */\n workAddress: getMailingAddress(),\n\n /**\n * Work phone\n * @type {String}\n */\n workPhone: '',\n\n /**\n * Work facsimile\n * @type {String}\n */\n workFax: '',\n\n /**\n * vCard version\n * @type {String}\n */\n version: '3.0',\n\n /**\n * Get major version of the vCard format\n * @return {integer}\n */\n getMajorVersion: function() {\n var majorVersionString = this.version ? this.version.split('.')[0] : '4';\n if (!isNaN(majorVersionString)) {\n return parseInt(majorVersionString);\n }\n return 4;\n },\n\n /**\n * Get formatted vCard\n * @return {String} Formatted vCard in VCF format\n */\n getFormattedString: function() {\n var vCardFormatter = require('./lib/vCardFormatter');\n return vCardFormatter.getFormattedString(this);\n },\n\n /**\n * Save formatted vCard to file\n * @param {String} filename\n */\n saveToFile: function(filename) {\n var vCardFormatter = require('./lib/vCardFormatter');\n var contents = vCardFormatter.getFormattedString(this);\n\n var fs = require('fs');\n fs.writeFileSync(filename, contents, { encoding: 'utf8' });\n }\n };\n});\n\nmodule.exports = vCard;\n","/**\n * vCard Property\n * @constructor\n * @memberOf vCard\n * @param {String} field\n * @param {String} value\n * @param {Object} params\n * @return {Property}\n */\nfunction Property( field, value, params ) {\n\n if( !(this instanceof Property) )\n return new Property( value )\n\n if( params != null )\n Object.assign( this, params )\n\n this._field = field\n this._data = value\n\n Object.defineProperty( this, '_field', { enumerable: false })\n Object.defineProperty( this, '_data', { enumerable: false })\n\n}\n\n/**\n * Constructs a vCard.Property from jCard data\n * @param {Array} data\n * @return {Property}\n */\nProperty.fromJSON = function( data ) {\n\n var field = data[0]\n var params = data[1]\n\n if( !/text/i.test( data[2] ) )\n params.value = data[2]\n\n var value = Array.isArray( data[3] ) ?\n data[3].join( ';' ) : data[3]\n\n return new Property( field, value, params )\n\n}\n\n/**\n * Turn a string into capitalized dash-case\n * @internal used by `Property#toString()`\n * @param {String} value\n * @return {String}\n * @ignore\n */\nfunction capitalDashCase( value ) {\n return value.replace( /([A-Z])/g, '-$1' ).toUpperCase()\n}\n\n/**\n * Property prototype\n * @type {Object}\n */\nProperty.prototype = {\n\n constructor: Property,\n\n /**\n * Check whether the property is of a given type\n * @param {String} type\n * @return {Boolean}\n */\n is: function( type ) {\n type = ( type + '' ).toLowerCase()\n return Array.isArray( this.type ) ?\n this.type.indexOf( type ) >= 0 :\n this.type === type\n },\n\n /**\n * Check whether the property is empty\n * @return {Boolean}\n */\n isEmpty: function() {\n return this._data == null &&\n Object.keys( this ).length === 0\n },\n\n /**\n * Clone the property\n * @return {Property}\n */\n clone: function() {\n return new Property( this._field, this._data, this )\n },\n\n /**\n * Format the property as vcf with given version\n * @param {String} version\n * @return {String}\n */\n toString: function( version ) {\n\n var propName = (this.group ? this.group + '.' : '') + capitalDashCase( this._field )\n var keys = Object.keys( this )\n var params = []\n\n for( var i = 0; i < keys.length; i++ ) {\n if (keys[i] === 'group') continue\n\n switch (propName) {\n case 'TEL':\n case 'ADR':\n case 'EMAIL':\n if (version === '2.1') {\n if (Array.isArray(this[keys[i]]))\n params.push(this[keys[i]].join(';'))\n else\n params.push(this[keys[i]])\n }\n else\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n break\n default:\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n }\n }\n\n if (version === '2.1' || version === '3.0')\n return propName +\n ( params.length ? ';' + params.join( ';' ).toUpperCase() : params.toString().toUpperCase() ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n else\n return propName +\n ( params.length ? ';' + params.join( ';' ) : params ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n\n },\n\n /**\n * Get the property's value\n * @return {String}\n */\n valueOf: function() {\n return this._data\n },\n\n /**\n * Format the property as jCard data\n * @return {Array}\n */\n toJSON: function() {\n\n var params = Object.assign({},this)\n\n if( params.value === 'text' ) {\n params.value = void 0\n delete params.value\n }\n\n var data = [ this._field, params, this.value || 'text' ]\n\n switch( this._field ) {\n default: data.push( this._data ); break\n case 'adr':\n case 'n':\n data.push( this._data.split( ';' ) )\n }\n\n return data\n\n },\n\n}\n\n// Exports\nmodule.exports = Property\n","var camelCase = require( 'camelcase' )\nvar Property = require( './property' )\n\nfunction set( object, key, value ) {\n if( Array.isArray( object[ key ] ) ) {\n object[ key ].push( value )\n } else if( object[ key ] != null ) {\n object[ key ] = [ object[ key ], value ]\n } else {\n object[ key ] = value\n }\n}\n\nfunction createParams( params, param ) {\n\n var parts = param.split( '=' )\n var k = camelCase( parts[0] )\n var value = parts[1]\n\n if( value == null || value === '' ) {\n value = parts[0]\n k = 'type'\n }\n\n if( k === 'type' ) {\n\n if (value[ 0 ] === '\"' && value[ value.length - 1 ] === '\"' && value.indexOf(',') !== -1)\n value = value.slice(1, -1)\n value.toLowerCase().split( ',' ).forEach( function( value ) {\n set( params, k, value )\n })\n\n return params\n\n }\n\n set( params, k, value )\n\n return params\n\n}\n\nfunction parseLines( lines ) {\n\n var data = {}\n\n // NOTE: Line format:\n // PROPERTY[;PARAMETER[=VALUE]]:Attribute[;Attribute]\n var line = null\n var pattern = /^([^;:]+)((?:;(?:[^;:]+))*)(?:\\:([\\s\\S]+))?$/i\n var len = lines.length - 1\n\n for( var i = 1; i < len; i++ ) {\n\n line = lines[i]\n\n var match = pattern.exec( line )\n if( !match ) continue;\n\n var name = match[1].split('.')\n var property = name.pop()\n var group = name.pop()\n var value = match[3]\n var params = match[2] ?\n match[2].replace( /^;|;$/g, '' ).split( ';' ) : []\n\n var propParams = params.reduce( createParams, group ? { group: group } : {})\n var propName = camelCase( property )\n var propVal = new Property( propName, value, propParams )\n\n set( data, propName, propVal )\n\n }\n\n return data\n\n}\n\nmodule.exports = parseLines\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import VCard from 'vcards-js'\r\nimport vcf from 'vcf'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface Address {\r\n streetAddress?: string\r\n locality?: string\r\n postalCode?: string\r\n stateProvince?: string\r\n region?: string\r\n country?: string\r\n}\r\n\r\nexport enum AddressType {\r\n Home = 'home',\r\n Work = 'work'\r\n}\r\n\r\nexport enum PhoneType {\r\n Home = 'home',\r\n Work = 'work',\r\n Cell = 'cell',\r\n Pager = 'pager'\r\n}\r\n\r\nexport enum SocialType {\r\n Messenger = 'messenger',\r\n Twitter = 'twitter',\r\n Facebook = 'facebook',\r\n LinkedIn = 'linkedin',\r\n SinaWeibo = 'weibo',\r\n Jabber = 'jabber',\r\n QQ = 'qq',\r\n GaduGadu = 'gadu-gadu'\r\n}\r\n\r\nexport interface Image {\r\n /** URL where photo can be found */\r\n url: string\r\n /** the media type */\r\n mediaType: string\r\n}\r\n\r\nexport interface VCardPluginOptions {\r\n data: {\r\n fullName: string\r\n name?: {\r\n first?: string\r\n last?: string\r\n middle?: string\r\n prefix?: string\r\n suffix?: string\r\n nick?: string\r\n }\r\n title?: string\r\n birthday?: Date\r\n photo?: Image\r\n phone?: Array<{ type?: `${PhoneType}`, value: string }>\r\n email?: Array<{ type?: `${AddressType}`, value: string }>\r\n\r\n address?: {\r\n work?: Address\r\n home?: Address\r\n }\r\n\r\n logo?: Image\r\n note?: string\r\n company?: string\r\n social?: Array<{ type: `${SocialType}`, value: string }>\r\n\r\n website?: {\r\n personal?: string\r\n company?: string\r\n }\r\n }\r\n}\r\n\r\nexport default class VCardPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: VCardPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateVCard()\r\n return options\r\n }\r\n\r\n private generateVCard() {\r\n const { data } = this.pluginOptions\r\n const card = VCard()\r\n card.version = '3.0'\r\n\r\n card.formattedName = data.fullName\r\n\r\n const extraProps = new Array<vcf.Property>()\r\n let groupCounter = 1\r\n const getGroup = () => `item${groupCounter++}`\r\n\r\n if (data.name) {\r\n const n = data.name\r\n if (n.first)\r\n card.firstName = n.first\r\n if (n.last)\r\n card.lastName = n.last\r\n if (n.middle)\r\n card.middleName = n.middle\r\n if (n.nick) {\r\n card.nickname = n.nick\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAndroidCustom',\r\n {},\r\n 'text',\r\n ['vnd.android.cursor.item/nickname', n.nick, '1', '', '', '', '', '', '', '', '', '', '', '', '', '']\r\n ]))\r\n }\r\n if (n.prefix)\r\n card.namePrefix = n.prefix\r\n if (n.suffix)\r\n card.nameSuffix = n.suffix\r\n }\r\n\r\n if (data.title)\r\n card.title = data.title\r\n\r\n if (data.birthday)\r\n card.birthday = data.birthday\r\n\r\n if (data.photo)\r\n card.photo.attachFromUrl(data.photo.url, data.photo.mediaType)\r\n\r\n data.phone?.forEach(el => {\r\n let key: 'workPhone' | 'cellPhone' | 'pagerPhone' | 'homePhone' | 'otherPhone' = 'otherPhone'\r\n switch (el.type) {\r\n case PhoneType.Work:\r\n key = 'workPhone'\r\n break\r\n\r\n case PhoneType.Cell:\r\n key = 'cellPhone'\r\n break\r\n\r\n case PhoneType.Pager:\r\n key = 'pagerPhone'\r\n break\r\n\r\n case PhoneType.Home:\r\n key = 'homePhone'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n data.email?.forEach(el => {\r\n let key: 'workEmail' | 'email' | 'otherEmail' = 'otherEmail'\r\n switch (el.type) {\r\n case AddressType.Work:\r\n key = 'workEmail'\r\n break\r\n\r\n case AddressType.Home:\r\n key = 'email'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n if (data.address) {\r\n Object.entries(data.address).forEach(([k, v]) => {\r\n let key: 'workAddress' | 'homeAddress' = 'homeAddress'\r\n switch (k) {\r\n case 'home':\r\n key = 'homeAddress'\r\n break\r\n\r\n case 'work':\r\n key = 'workAddress'\r\n break\r\n }\r\n if (v.streetAddress)\r\n card[key].street = v.streetAddress\r\n if (v.locality)\r\n card[key].city = v.locality\r\n if (v.postalCode)\r\n card[key].postalCode = v.postalCode\r\n if (v.stateProvince)\r\n card[key].stateProvince = v.stateProvince\r\n\r\n const cr = new Array<string>()\r\n if (v.region)\r\n cr.push(v.region)\r\n\r\n if (v.country)\r\n cr.push(v.country)\r\n\r\n const countryRegion = cr\r\n .map(p => p.trim())\r\n .filter(p => !!p)\r\n .join(', ')\r\n\r\n if (countryRegion)\r\n card[key].countryRegion = countryRegion\r\n })\r\n }\r\n\r\n if (data.logo)\r\n card.logo.attachFromUrl(data.logo.url, data.logo.mediaType)\r\n\r\n if (data.note)\r\n card.note = data.note\r\n\r\n if (data.company)\r\n card.organization = data.company\r\n\r\n const pushMsgProtocol = (username: string, type: string, protocol: string, service: string) => {\r\n let group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n type,\r\n {\r\n group\r\n },\r\n 'text',\r\n username\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n\r\n group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: service\r\n },\r\n 'text',\r\n `${protocol}:${username}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n }\r\n\r\n if (data.social)\r\n data.social.forEach((v) => {\r\n switch (v.type) {\r\n case SocialType.Messenger:\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xSocialprofile',\r\n {\r\n type: 'messenger',\r\n xUser: v.value\r\n },\r\n 'text',\r\n 'x-apple:messenger'\r\n ]))\r\n const group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: 'Facebook'\r\n },\r\n 'text',\r\n `xmpp:${v.value}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n 'Facebook'\r\n ]))\r\n break\r\n\r\n case SocialType.Twitter:\r\n case SocialType.Facebook:\r\n case SocialType.LinkedIn:\r\n case SocialType.SinaWeibo:\r\n const surl = getSocialUrl(v)\r\n if (surl)\r\n card.socialUrls[v.type] = surl\r\n break\r\n\r\n case SocialType.Jabber:\r\n pushMsgProtocol(v.value, 'xJabber', 'xmpp', 'Jabber')\r\n break\r\n\r\n case SocialType.QQ:\r\n pushMsgProtocol(v.value, 'xQq', 'x-apple', 'QQ')\r\n break\r\n\r\n case SocialType.GaduGadu:\r\n pushMsgProtocol(v.value, 'xGaduGadu', 'x-apple', 'GaduGadu')\r\n break\r\n }\r\n })\r\n\r\n if (data.website?.company)\r\n card.workUrl = data.website.company\r\n\r\n if (data.website?.personal)\r\n card.url = data.website.personal\r\n\r\n if (this.uuid)\r\n card.uid = this.uuid\r\n\r\n const parsed = vcf.parse(card.getFormattedString())[0]\r\n extraProps.forEach(prop => parsed.addProperty(prop))\r\n\r\n return parsed.toString('3.0')\r\n .replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi, 'X-SOCIALPROFILE;')\r\n .replace(/X-AB-LABEL/gi, 'X-ABLabel')\r\n .replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi, (tx, m) => tx.replace(m, m.toLowerCase().replace('type=messenger', 'type=Messenger')))\r\n .replace(/;TYPE=OTHER[^;:]*?([;:])/ig, (_, m) => m)\r\n }\r\n}\r\n\r\nconst socialUrls = {\r\n [SocialType.Twitter]: 'https://x.com/',\r\n [SocialType.Facebook]: 'https://www.facebook.com/',\r\n [SocialType.LinkedIn]: 'https://www.linkedin.com/in/',\r\n [SocialType.SinaWeibo]: 'https://weibo.com/n/',\r\n [SocialType.Messenger]: 'https://www.messenger.com/t/'\r\n}\r\n\r\nfunction getSocialUrl({ value, type }: { value: string, type: `${SocialType}` }) {\r\n let val = value?.trim()\r\n if (!val.match(/^https?:\\/\\//im)) {\r\n try {\r\n const u = new URL(socialUrls[type as keyof typeof socialUrls])\r\n u.pathname = (u.pathname + '/' + val).replace(/[\\/\\\\]+/g, '/')\r\n val = u.toString()\r\n } catch {\r\n return undefined\r\n }\r\n }\r\n return val\r\n}\r\n\r\n","/**\n * vCard\n * @constructor\n * @return {vCard}\n */\nfunction vCard() {\n\n if( !(this instanceof vCard) )\n return new vCard()\n\n /** @type {String} Version number */\n this.version = vCard.versions[ vCard.versions.length - 1 ]\n /** @type {Object} Card data */\n this.data = {}\n\n}\n\n/**\n * vCard MIME type\n * @type {String}\n */\nvCard.mimeType = 'text/vcard'\n\n/**\n * vCard file extension\n * @type {String}\n */\nvCard.extension = '.vcf'\n\n/**\n * vCard versions\n * @type {Array}\n */\nvCard.versions = [ '2.1', '3.0', '4.0' ]\n\n/**\n * VCF EOL character sequence\n * @type {String}\n */\nvCard.EOL = '\\r\\n'\n\n/**\n * Folds a long line according to the RFC 5322.\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n * @param {String} input\n * @param {Number} maxLength\n * @param {Boolean} hardWrap\n * @return {String}\n */\nvCard.foldLine = require( 'foldline' )\n\n/**\n * Normalizes input (cast to string, line folding, whitespace)\n * @param {String} input\n * @return {String}\n */\nvCard.normalize = function( input ) {\n return ( input + '' )\n // Trim whitespace\n .replace( /^[\\s\\r\\n]+|[\\s\\r\\n]+$/g, '' )\n // Trim blank lines\n .replace( /(\\r\\n)[\\x09\\x20]?(\\r\\n)|$/g, '$1' )\n // Unfold folded lines\n .replace( /\\r\\n[\\x20\\x09]/g, \"\" )\n}\n\n/**\n * Check whether a given version is supported\n * @param {String} version\n * @return {Boolean}\n */\nvCard.isSupported = function( version ) {\n return /^\\d\\.\\d$/.test( version ) &&\n vCard.versions.indexOf( version ) !== -1\n}\n\n/**\n * Parses a string or buffer into a vCard object\n * @param {String|Buffer} value\n * @return {Array<vCard>}\n */\nvCard.parse = function( value ) {\n\n var objects = ( value + '' ).split( /(?=BEGIN\\:VCARD)/gi )\n var cards = []\n\n for( var i = 0; i < objects.length; i++ ) {\n cards.push( new vCard().parse( objects[i] ) )\n }\n\n return cards\n\n}\n\n/**\n * Parse an array of vcf formatted lines\n * @internal used by `vCard#parse()`\n * @type {Function}\n */\nvCard.parseLines = require( './parse-lines' )\n\n/**\n * Constructs a vCard from jCard data\n * @param {Array} jcard\n * @return {vCard}\n */\nvCard.fromJSON = function( jcard ) {\n\n jcard = typeof jcard === 'string' ?\n JSON.parse( jcard ) : jcard\n\n if( jcard == null || !Array.isArray( jcard ) )\n return new vCard()\n\n if( !/vcard/i.test( jcard[0] ) )\n throw new Error( 'Object not in jCard format' )\n\n var card = new vCard()\n\n jcard[1].forEach( function( prop ) {\n card.addProperty( vCard.Property.fromJSON( prop ) )\n })\n\n return card\n\n}\n\n/**\n * Format a card object according to the given version\n * @param {vCard} card\n * @param {String} version\n * @return {String}\n */\nvCard.format = function( card, version ) {\n\n version = version || card.version ||\n vCard.versions[ vCard.versions.length - 1 ]\n\n if( !vCard.isSupported( version ) )\n throw new Error( 'Unsupported vCard version \"' + version + '\"' )\n\n var vcf = []\n\n vcf.push( 'BEGIN:VCARD' )\n vcf.push( 'VERSION:' + version )\n\n var props = Object.keys( card.data )\n var prop = ''\n\n for( var i = 0; i < props.length; i++ ) {\n if( props[i] === 'version' ) continue;\n prop = card.data[ props[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n if( prop[k].isEmpty() ) continue\n vcf.push( vCard.foldLine( prop[k].toString( version ), 75 ) )\n }\n } else if( !prop.isEmpty() ) {\n vcf.push( vCard.foldLine( prop.toString( version ), 75 ) )\n }\n }\n\n vcf.push( 'END:VCARD' )\n\n return vcf.join( vCard.EOL )\n\n}\n\n// vCard Property constructor\nvCard.Property = require( './property' )\n\n/**\n * vCard prototype\n * @type {Object}\n */\nvCard.prototype = {\n\n constructor: vCard,\n\n /**\n * Get a vCard property\n * @param {String} key\n * @return {Object|Array}\n */\n get: function( key ) {\n\n if( this.data[ key ] == null ) {\n return this.data[ key ]\n }\n\n if( Array.isArray( this.data[ key ] ) ) {\n return this.data[ key ].map( function( prop ) {\n return prop.clone()\n })\n } else {\n return this.data[ key ].clone()\n }\n\n },\n\n /**\n * Set a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n set: function( key, value, params ) {\n return this.setProperty( new vCard.Property( key, value, params ) )\n },\n\n /**\n * Add a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n add: function( key, value, params ) {\n var prop = new vCard.Property( key, value, params )\n this.addProperty( prop )\n return this\n },\n\n /**\n * Set a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n setProperty: function( prop ) {\n this.data[ prop._field ] = prop\n return this\n },\n\n /**\n * Add a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n addProperty: function( prop ) {\n\n var key = prop._field\n\n if( Array.isArray( this.data[ key ] ) ) {\n this.data[ key ].push( prop )\n } else if( this.data[ key ] != null ) {\n this.data[ key ] = [ this.data[ key ], prop ]\n } else {\n this.data[ key ] = prop\n }\n\n return this\n\n },\n\n /**\n * Parse a vcf formatted vCard\n * @param {String} value\n * @return {vCard}\n */\n parse: function( value ) {\n\n // Normalize & split\n var lines = vCard.normalize( value )\n .split( /\\r\\n/g )\n\n // Keep begin and end markers\n // for eventual error messages\n var begin = lines[0]\n var version = lines[1]\n var end = lines[ lines.length - 1 ]\n\n // Multiple used RegExp's\n const regexp_version = /VERSION:\\d\\.\\d/i\n\n if( !/BEGIN:VCARD/i.test( begin ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"BEGIN:VCARD\" but found \"'+ begin +'\"' )\n\n if( !/END:VCARD/i.test( end ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"END:VCARD\" but found \"'+ end +'\"' )\n\n if( !regexp_version.test( version ) ) {\n // VERSION mostly follows BEGIN, but it has only mandatory follow BEGIN, for version 4.0\n // Let's do the more expensive lookup for the lesser used version variant\n if( !(version = lines.find( line => regexp_version.test( line ) ) ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"VERSION:\\\\d.\\\\d\" but none found' )\n // TODO: Do we need to throw an error if version = 4.0 or != 3.0|2.1? (because not followed BEGIN)?\n }\n\n this.version = version.substring( 8, 11 )\n\n if( !vCard.isSupported( this.version ) )\n throw new Error( 'Unsupported version \"' + this.version + '\"' )\n\n this.data = vCard.parseLines( lines )\n\n return this\n\n },\n\n /**\n * Format the vCard as vcf with given version\n * @param {String} version\n * @param {String} charset\n * @return {String}\n */\n toString: function( version, charset ) {\n version = version || this.version\n return vCard.format( this, version )\n },\n\n /**\n * Format the card as jCard\n * @param {String} version='4.0'\n * @return {Array} jCard\n */\n toJCard: function( version ) {\n\n version = version || '4.0'\n\n var keys = Object.keys( this.data )\n var data = [ [ 'version', {}, 'text', version ] ]\n var prop = null\n\n for( var i = 0; i < keys.length; i++ ) {\n if( keys[i] === 'version' ) continue;\n prop = this.data[ keys[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n data.push( prop[k].toJSON() )\n }\n } else {\n data.push( prop.toJSON() )\n }\n }\n\n return [ 'vcard', data ]\n\n },\n\n /**\n * Format the card as jCard\n * @return {Array} jCard\n */\n toJSON: function() {\n return this.toJCard( this.version )\n },\n\n}\n\n// Exports\nmodule.exports = vCard\n","\nconst CRLF = '\\r\\n'\n\nconst SP = ' '\n\n\n/**\n * Maximum line length (excluding <CR><LF>)\n * There are two limits that RFC 5322 places on the number of\n * characters in a line. Each line of characters MUST be\n * no more than 998 characters, and SHOULD be no more\n * than 78 characters, excluding the <CR><LF>.\n * @type {Number}\n * @constant\n */\nconst MAX_LINE_LENGTH = 998\n\n/**\n * Default maximum line length (excluding <CR><LF>)\n * @type {Number}\n * @constant\n */\nconst DEFAULT_LINE_LENGTH = 78\n\n/**\n * Minimum `maxLength` that can be used\n * @type {Number}\n * @constant\n */\nconst MIN_LINE_LENGTH = 2\n\n/**\n * Folds a long line according to RFC 5322\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n *\n * @param {String} input - input string\n * @param {Number} maxLength - maximum line length (excluding CRLF)\n * @param {Boolean} hardWrap - whether to insert a hard break at `maxLength`\n * @returns {String}\n */\nfunction foldLine( input, maxLength, hardWrap ) {\n\n if( maxLength != null && maxLength < MIN_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not be less than ' + MIN_LINE_LENGTH )\n }\n\n if( maxLength != null && maxLength > MAX_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not exceed ' + MAX_LINE_LENGTH )\n }\n\n // RFC compliant default line length\n maxLength = maxLength || DEFAULT_LINE_LENGTH\n\n input = input.replace( /[\\r\\n]+/g, '' )\n\n // We really don't need to fold this\n if( input.length <= maxLength ) {\n return input\n }\n\n var output = ''\n var index = 0\n var nextIndex = 0\n var length = input.length\n var line = 0\n var trim = 0\n\n while( index < length ) {\n if( !hardWrap && ~( nextIndex = input.lastIndexOf( SP, index + maxLength ) ) ) {\n if( nextIndex > index ) {\n output += input.slice( index, nextIndex ) + CRLF + SP\n index = nextIndex\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n hardWrap = true\n }\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n }\n if( ( length - index ) < maxLength ) {\n output += input.slice( index )\n break\n }\n if( line === 0 ) {\n trim = 1\n }\n line++\n }\n\n return output\n\n}\n\nfoldLine.unfold = function unfold( input ) {\n return input.replace( /\\r\\n\\s/gm, '' )\n}\n\nmodule.exports = foldLine\n"],"names":["vCardFormatter$1","e","value","replace","nl","getFormattedPhoto","photoType","url","mediaType","base64","majorVersion","YYYYMMDD","date","getFullYear","getMonth","slice","getDate","vCardFormatterModule","getFormattedString","vCard","getMajorVersion","formattedVCardString","version","encodingPrefix","formattedName","firstName","middleName","lastName","forEach","name","namePrefix","nameSuffix","nickname","gender","uid","birthday","anniversary","email","Array","isArray","address","workEmail","otherEmail","logo","photo","cellPhone","number","pagerPhone","homePhone","workPhone","homeFax","workFax","otherPhone","details","homeAddress","type","workAddress","formattedAddress","label","street","city","stateProvince","postalCode","countryRegion","title","role","organization","workUrl","note","socialUrls","key","hasOwnProperty","source","toISOString","Date","isOrganization","vcardsJs","getPhoto","attachFromUrl","this","embedFromFile","fileLocation","fs","require$$0","require$$1","extname","toUpperCase","readFileSync","toString","embedFromString","base64String","facebook","linkedIn","twitter","flickr","majorVersionString","split","isNaN","parseInt","require$$2","saveToFile","filename","contents","writeFileSync","encoding","Property","field","params","Object","assign","_field","_data","defineProperty","enumerable","capitalDashCase","fromJSON","Property.fromJSON","data","test","join","prototype","constructor","is","toLowerCase","indexOf","isEmpty","keys","length","clone","propName","group","i","push","valueOf","toJSON","property","set","object","createParams","param","parts","k","camelCase","input","options","TypeError","pascalCase","map","x","trim","filter","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","_","p1","m","charAt","postProcess","camelcaseModule","exports","default","parseLines_1","parseLines","lines","line","pattern","len","match","exec","pop","propParams","reduce","propVal","AddressType","versions","mimeType","extension","EOL","foldLine","maxLength","hardWrap","MIN_LINE_LENGTH","Error","MAX_LINE_LENGTH","DEFAULT_LINE_LENGTH","output","index","nextIndex","lastIndexOf","SP","CRLF","unfold","foldLine.unfold","foldline","normalize","vCard.normalize","isSupported","vCard.isSupported","parse","vCard.parse","objects","cards","vCard.fromJSON","jcard","JSON","card","prop","addProperty","format","vCard.format","vcf","props","get","setProperty","add","begin","end","regexp_version","SyntaxError","find","substring","toJCard","vcard","Q","Home","Work","PhoneType","S","Cell","Pager","SocialType","U","Messenger","Twitter","Facebook","LinkedIn","SinaWeibo","Jabber","QQ","GaduGadu","VCardPlugin","pluginOptions","uuid","configure","generateVCard","VCard","fullName","extraProps","groupCounter","n","first","last","middle","nick","prefix","suffix","phone","el","v","entries","streetAddress","locality","region","cr","country","p","company","pushMsgProtocol","username","protocol","service","xServiceType","social","xUser","val","u","URL","pathname","getSocialUrl","surl","website","personal","parsed","tx"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6,7]}
1
+ {"version":3,"file":"vcard-plugin.js","sources":["../node_modules/vcards-js/lib/vCardFormatter.js","../node_modules/vcards-js/index.js","../node_modules/vcf/lib/property.js","../node_modules/vcf/lib/parse-lines.js","../node_modules/camelcase/index.js","../src/plugins/vcard.ts","../node_modules/vcf/lib/vcard.js","../node_modules/foldline/foldline.js"],"sourcesContent":["/********************************************************************************\n vCards-js, Eric J Nesser, November 2014,\n ********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * vCard formatter for formatting vCards in VCF format\n */\n(function vCardFormatter() {\n\tvar majorVersion = '3';\n\n\t/**\n\t * Encode string\n\t * @param {String} value to encode\n\t * @return {String} encoded string\n\t */\n\tfunction e(value) {\n\t\tif (value) {\n\t\t\tif (typeof(value) !== 'string') {\n\t\t\t\tvalue = '' + value;\n\t\t\t}\n\t\t\treturn value.replace(/\\n/g, '\\\\n').replace(/,/g, '\\\\,').replace(/;/g, '\\\\;');\n\t\t}\n\t\treturn '';\n\t}\n\n\t/**\n\t * Return new line characters\n\t * @return {String} new line characters\n\t */\n\tfunction nl() {\n\t\treturn '\\r\\n';\n\t}\n\n\t/**\n\t * Get formatted photo\n\t * @param {String} photoType Photo type (PHOTO, LOGO)\n\t * @param {String} url URL to attach photo from\n\t * @param {String} mediaType Media-type of photo (JPEG, PNG, GIF)\n\t * @return {String} Formatted photo\n\t */\n\tfunction getFormattedPhoto(photoType, url, mediaType, base64) {\n\n\t\tvar params;\n\n\t\tif (majorVersion >= 4) {\n\t\t\tparams = base64 ? ';ENCODING=b;MEDIATYPE=image/' : ';MEDIATYPE=image/';\n\t\t} else if (majorVersion === 3) {\n\t\t\tparams = base64 ? ';ENCODING=b;TYPE=' : ';TYPE=';\n\t\t} else {\n\t\t\tparams = base64 ? ';ENCODING=BASE64;' : ';';\n\t\t}\n\n\t\tvar formattedPhoto = photoType + params + mediaType + ':' + e(url) + nl();\n\t\treturn formattedPhoto;\n\t}\n\n\t/**\n\t * Get formatted address\n\t * @param {object} address\n\t * @param {object} encoding prefix\n\t * @return {String} Formatted address\n\t */\n\tfunction getFormattedAddress(encodingPrefix, address) {\n\n\t\tvar formattedAddress = '';\n\n\t\tif (address.details.label ||\n\t\t\taddress.details.street ||\n\t\t\taddress.details.city ||\n\t\t\taddress.details.stateProvince ||\n\t\t\taddress.details.postalCode ||\n\t\t\taddress.details.countryRegion) {\n\n\t\t\tif (majorVersion >= 4) {\n\t\t\t\tformattedAddress = 'ADR' + encodingPrefix + ';TYPE=' + address.type +\n\t\t\t\t\t(address.details.label ? ';LABEL=\"' + e(address.details.label) + '\"' : '') + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\t\t\t} else {\n\t\t\t\tif (address.details.label) {\n\t\t\t\t\tformattedAddress = 'LABEL' + encodingPrefix + ';TYPE=' + address.type + ':' + e(address.details.label) + nl();\n\t\t\t\t}\n\t\t\t\tformattedAddress += 'ADR' + encodingPrefix + ';TYPE=' + address.type + ':;;' +\n\t\t\t\t\te(address.details.street) + ';' +\n\t\t\t\t\te(address.details.city) + ';' +\n\t\t\t\t\te(address.details.stateProvince) + ';' +\n\t\t\t\t\te(address.details.postalCode) + ';' +\n\t\t\t\t\te(address.details.countryRegion) + nl();\n\n\t\t\t}\n\t\t}\n\n\t\treturn formattedAddress;\n\t}\n\n\t/**\n\t * Convert date to YYYYMMDD format\n\t * @param {Date} date to encode\n\t * @return {String} encoded date\n\t */\n\tfunction YYYYMMDD(date) {\n\t\treturn date.getFullYear() + ('0' + (date.getMonth()+1)).slice(-2) + ('0' + date.getDate()).slice(-2);\n\t}\n\n\tmodule.exports = {\n\n\t\t/**\n\t\t * Get formatted vCard in VCF format\n\t\t * @param {object} vCard object\n\t\t * @return {String} Formatted vCard in VCF format\n\t\t */\n\t\tgetFormattedString: function(vCard) {\n\n\t\t\tmajorVersion = vCard.getMajorVersion();\n\n\t\t\tvar formattedVCardString = '';\n\t\t\tformattedVCardString += 'BEGIN:VCARD' + nl();\n\t\t\tformattedVCardString += 'VERSION:' + vCard.version + nl();\n\n\t\t\tvar encodingPrefix = majorVersion >= 4 ? '' : ';CHARSET=UTF-8';\n\t\t\tvar formattedName = vCard.formattedName;\n\n\t\t\tif (!formattedName) {\n\t\t\t\tformattedName = '';\n\n\t\t\t\t[vCard.firstName, vCard.middleName, vCard.lastName]\n\t\t\t\t\t.forEach(function(name) {\n\t\t\t\t\t\tif (name) {\n\t\t\t\t\t\t\tif (formattedName) {\n\t\t\t\t\t\t\t\tformattedName += ' ';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tformattedName += name;\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\tformattedVCardString += 'FN' + encodingPrefix + ':' + e(formattedName) + nl();\n\t\t\tformattedVCardString += 'N' + encodingPrefix + ':' +\n\t\t\t\te(vCard.lastName) + ';' +\n\t\t\t\te(vCard.firstName) + ';' +\n\t\t\t\te(vCard.middleName) + ';' +\n\t\t\t\te(vCard.namePrefix) + ';' +\n\t\t\t\te(vCard.nameSuffix) + nl();\n\n\t\t\tif (vCard.nickname && majorVersion >= 3) {\n\t\t\t\tformattedVCardString += 'NICKNAME' + encodingPrefix + ':' + e(vCard.nickname) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.gender) {\n\t\t\t\tformattedVCardString += 'GENDER:' + e(vCard.gender) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.uid) {\n\t\t\t\tformattedVCardString += 'UID' + encodingPrefix + ':' + e(vCard.uid) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.birthday) {\n\t\t\t\tformattedVCardString += 'BDAY:' + YYYYMMDD(vCard.birthday) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.anniversary) {\n\t\t\t\tformattedVCardString += 'ANNIVERSARY:' + YYYYMMDD(vCard.anniversary) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.email) {\n\t\t\t\tif(!Array.isArray(vCard.email)){\n\t\t\t\t\tvCard.email = [vCard.email];\n\t\t\t\t}\n\t\t\t\tvCard.email.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=HOME,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';HOME;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workEmail) {\n\t\t\t\tif(!Array.isArray(vCard.workEmail)){\n\t\t\t\t\tvCard.workEmail = [vCard.workEmail];\n\t\t\t\t}\n\t\t\t\tvCard.workEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=WORK,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';WORK;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherEmail) {\n\t\t\t\tif(!Array.isArray(vCard.otherEmail)){\n\t\t\t\t\tvCard.otherEmail = [vCard.otherEmail];\n\t\t\t\t}\n\t\t\t\tvCard.otherEmail.forEach(\n\t\t\t\t\tfunction(address) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER:' + e(address) + nl();\n\t\t\t\t\t\t} else if (majorVersion >= 3 && majorVersion < 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';type=OTHER,INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'EMAIL' + encodingPrefix + ';OTHER;INTERNET:' + e(address) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.logo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('LOGO', vCard.logo.url, vCard.logo.mediaType, vCard.logo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.photo.url) {\n\t\t\t\tformattedVCardString += getFormattedPhoto('PHOTO', vCard.photo.url, vCard.photo.mediaType, vCard.photo.base64);\n\t\t\t}\n\n\t\t\tif (vCard.cellPhone) {\n\t\t\t\tif(!Array.isArray(vCard.cellPhone)){\n\t\t\t\t\tvCard.cellPhone = [vCard.cellPhone];\n\t\t\t\t}\n\t\t\t\tvCard.cellPhone.forEach(\n\t\t\t\t\tfunction(number){\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=CELL:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.pagerPhone) {\n\t\t\t\tif(!Array.isArray(vCard.pagerPhone)){\n\t\t\t\t\tvCard.pagerPhone = [vCard.pagerPhone];\n\t\t\t\t}\n\t\t\t\tvCard.pagerPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"pager,cell\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=PAGER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homePhone) {\n\t\t\t\tif(!Array.isArray(vCard.homePhone)){\n\t\t\t\t\tvCard.homePhone = [vCard.homePhone];\n\t\t\t\t}\n\t\t\t\tvCard.homePhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,home\":tel:' + e(number) + nl();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workPhone) {\n\t\t\t\tif(!Array.isArray(vCard.workPhone)){\n\t\t\t\t\tvCard.workPhone = [vCard.workPhone];\n\t\t\t\t}\n\t\t\t\tvCard.workPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,VOICE:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.homeFax) {\n\t\t\t\tif(!Array.isArray(vCard.homeFax)){\n\t\t\t\t\tvCard.homeFax = [vCard.homeFax];\n\t\t\t\t}\n\t\t\t\tvCard.homeFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,home\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=HOME,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.workFax) {\n\t\t\t\tif(!Array.isArray(vCard.workFax)){\n\t\t\t\t\tvCard.workFax = [vCard.workFax];\n\t\t\t\t}\n\t\t\t\tvCard.workFax.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"fax,work\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=WORK,FAX:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (vCard.otherPhone) {\n\t\t\t\tif(!Array.isArray(vCard.otherPhone)){\n\t\t\t\t\tvCard.otherPhone = [vCard.otherPhone];\n\t\t\t\t}\n\t\t\t\tvCard.otherPhone.forEach(\n\t\t\t\t\tfunction(number) {\n\t\t\t\t\t\tif (majorVersion >= 4) {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;VALUE=uri;TYPE=\"voice,other\":tel:' + e(number) + nl();\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tformattedVCardString += 'TEL;TYPE=OTHER:' + e(number) + nl();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t[{\n\t\t\t\tdetails: vCard.homeAddress,\n\t\t\t\ttype: 'HOME'\n\t\t\t}, {\n\t\t\t\tdetails: vCard.workAddress,\n\t\t\t\ttype: 'WORK'\n\t\t\t}].forEach(\n\t\t\t\tfunction(address) {\n\t\t\t\t\tformattedVCardString += getFormattedAddress(encodingPrefix, address);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (vCard.title) {\n\t\t\t\tformattedVCardString += 'TITLE' + encodingPrefix + ':' + e(vCard.title) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.role) {\n\t\t\t\tformattedVCardString += 'ROLE' + encodingPrefix + ':' + e(vCard.role) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.organization) {\n\t\t\t\tformattedVCardString += 'ORG' + encodingPrefix + ':' + e(vCard.organization) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.url) {\n\t\t\t\tformattedVCardString += 'URL' + encodingPrefix + ':' + e(vCard.url) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.workUrl) {\n\t\t\t\tformattedVCardString += 'URL;type=WORK' + encodingPrefix + ':' + e(vCard.workUrl) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.note) {\n\t\t\t\tformattedVCardString += 'NOTE' + encodingPrefix + ':' + e(vCard.note) + nl();\n\t\t\t}\n\n\t\t\tif (vCard.socialUrls) {\n\t\t\t\tfor (var key in vCard.socialUrls) {\n\t\t\t\t\tif (vCard.socialUrls.hasOwnProperty(key) &&\n\t\t\t\t\t\tvCard.socialUrls[key]) {\n\t\t\t\t\t\tformattedVCardString += 'X-SOCIALPROFILE' + encodingPrefix + ';TYPE=' + key + ':' + e(vCard.socialUrls[key]) + nl();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (vCard.source) {\n\t\t\t\tformattedVCardString += 'SOURCE' + encodingPrefix + ':' + e(vCard.source) + nl();\n\t\t\t}\n\n\t\t\tformattedVCardString += 'REV:' + (new Date()).toISOString() + nl();\n\t\t\t\n\t\t\tif (vCard.isOrganization) {\n\t\t\t\tformattedVCardString += 'X-ABShowAs:COMPANY' + nl();\n\t\t\t} \n\t\t\t\n\t\t\tformattedVCardString += 'END:VCARD' + nl();\n\t\t\treturn formattedVCardString;\n\t\t}\n\t};\n})();","/********************************************************************************\n vCards-js, Eric J Nesser, November 2014\n********************************************************************************/\n/*jslint node: true */\n'use strict';\n\n/**\n * Represents a contact that can be imported into Outlook, iOS, Mac OS, Android devices, and more\n */\nvar vCard = (function () {\n /**\n * Get photo object for storing photos in vCards\n */\n function getPhoto() {\n return {\n url: '',\n mediaType: '',\n base64: false,\n\n /**\n * Attach a photo from a URL\n * @param {string} url URL where photo can be found\n * @param {string} mediaType Media type of photo (JPEG, PNG, GIF)\n */\n attachFromUrl: function(url, mediaType) {\n this.url = url;\n this.mediaType = mediaType;\n this.base64 = false;\n },\n\n /**\n * Embed a photo from a file using base-64 encoding (not implemented yet)\n * @param {string} filename\n */\n embedFromFile: function(fileLocation) {\n var fs = require('fs');\n var path = require('path');\n this.mediaType = path.extname(fileLocation).toUpperCase().replace(/\\./g, \"\");\n var imgData = fs.readFileSync(fileLocation);\n this.url = imgData.toString('base64');\n this.base64 = true;\n },\n\n /**\n * Embed a photo from a base-64 string\n * @param {string} base64String\n */\n embedFromString: function(base64String, mediaType) {\n this.mediaType = mediaType;\n this.url = base64String;\n this.base64 = true;\n }\n };\n }\n\n /**\n * Get a mailing address to attach to a vCard.\n */\n function getMailingAddress() {\n return {\n /**\n * Represents the actual text that should be put on the mailing label when delivering a physical package\n * @type {String}\n */\n label: '',\n\n /**\n * Street address\n * @type {String}\n */\n street: '',\n\n /**\n * City\n * @type {String}\n */\n city: '',\n\n /**\n * State or province\n * @type {String}\n */\n stateProvince: '',\n\n /**\n * Postal code\n * @type {String}\n */\n postalCode: '',\n\n /**\n * Country or region\n * @type {String}\n */\n countryRegion: ''\n };\n }\n\n /**\n * Get social media URLs\n * @return {object} Social media URL hash group\n */\n function getSocialUrls() {\n return {\n 'facebook': '',\n 'linkedIn': '',\n 'twitter': '',\n 'flickr': ''\n };\n }\n\n /********************************************************************************\n * Public interface for vCard\n ********************************************************************************/\n return {\n\n /**\n * Specifies a value that represents a persistent, globally unique identifier associated with the vCard\n * @type {String}\n */\n uid: '',\n\n /**\n * Date of birth\n * @type {Datetime}\n */\n birthday: '',\n\n /**\n * Cell phone number\n * @type {String}\n */\n cellPhone: '',\n\n /**\n * Other cell phone number or pager\n * @type {String}\n */\n pagerPhone: '',\n\n /**\n * The address for private electronic mail communication\n * @type {String}\n */\n email: '',\n\n /**\n * The address for work-related electronic mail communication\n * @type {String}\n */\n workEmail: '',\n\n /**\n * First name\n * @type {String}\n */\n firstName: '',\n\n /**\n * Formatted name string associated with the vCard object (will automatically populate if not set)\n * @type {String}\n */\n formattedName: '',\n\n /**\n * Gender.\n * @type {String} Must be M or F for Male or Female\n */\n gender: '',\n\n /**\n * Home mailing address\n * @type {object}\n */\n homeAddress: getMailingAddress(),\n\n /**\n * Home phone\n * @type {String}\n */\n homePhone: '',\n\n /**\n * Home facsimile\n * @type {String}\n */\n homeFax: '',\n\n /**\n * Last name\n * @type {String}\n */\n lastName: '',\n\n /**\n * Logo\n * @type {object}\n */\n logo: getPhoto(),\n\n /**\n * Middle name\n * @type {String}\n */\n middleName: '',\n\n /**\n * Prefix for individual's name\n * @type {String}\n */\n namePrefix: '',\n\n /**\n * Suffix for individual's name\n * @type {String}\n */\n nameSuffix: '',\n\n /**\n * Nickname of individual\n * @type {String}\n */\n nickname: '',\n\n /**\n * Specifies supplemental information or a comment that is associated with the vCard\n * @type {String}\n */\n note: '',\n\n /**\n * The name and optionally the unit(s) of the organization associated with the vCard object\n * @type {String}\n */\n organization: '',\n\n /**\n * Individual's photo\n * @type {object}\n */\n photo: getPhoto(),\n\n /**\n * The role, occupation, or business category of the vCard object within an organization\n * @type {String}\n */\n role: '',\n\n /**\n * Social URLs attached to the vCard object (ex: Facebook, Twitter, LinkedIn)\n * @type {String}\n */\n socialUrls: getSocialUrls(),\n\n /**\n * A URL that can be used to get the latest version of this vCard\n * @type {String}\n */\n source: '',\n\n /**\n * Specifies the job title, functional position or function of the individual within an organization\n * @type {String}\n */\n title: '',\n\n /**\n * URL pointing to a website that represents the person in some way\n * @type {String}\n */\n url: '',\n\n /**\n * URL pointing to a website that represents the person's work in some way\n * @type {String}\n */\n workUrl: '',\n\n /**\n * Work mailing address\n * @type {object}\n */\n workAddress: getMailingAddress(),\n\n /**\n * Work phone\n * @type {String}\n */\n workPhone: '',\n\n /**\n * Work facsimile\n * @type {String}\n */\n workFax: '',\n\n /**\n * vCard version\n * @type {String}\n */\n version: '3.0',\n\n /**\n * Get major version of the vCard format\n * @return {integer}\n */\n getMajorVersion: function() {\n var majorVersionString = this.version ? this.version.split('.')[0] : '4';\n if (!isNaN(majorVersionString)) {\n return parseInt(majorVersionString);\n }\n return 4;\n },\n\n /**\n * Get formatted vCard\n * @return {String} Formatted vCard in VCF format\n */\n getFormattedString: function() {\n var vCardFormatter = require('./lib/vCardFormatter');\n return vCardFormatter.getFormattedString(this);\n },\n\n /**\n * Save formatted vCard to file\n * @param {String} filename\n */\n saveToFile: function(filename) {\n var vCardFormatter = require('./lib/vCardFormatter');\n var contents = vCardFormatter.getFormattedString(this);\n\n var fs = require('fs');\n fs.writeFileSync(filename, contents, { encoding: 'utf8' });\n }\n };\n});\n\nmodule.exports = vCard;\n","/**\n * vCard Property\n * @constructor\n * @memberOf vCard\n * @param {String} field\n * @param {String} value\n * @param {Object} params\n * @return {Property}\n */\nfunction Property( field, value, params ) {\n\n if( !(this instanceof Property) )\n return new Property( value )\n\n if( params != null )\n Object.assign( this, params )\n\n this._field = field\n this._data = value\n\n Object.defineProperty( this, '_field', { enumerable: false })\n Object.defineProperty( this, '_data', { enumerable: false })\n\n}\n\n/**\n * Constructs a vCard.Property from jCard data\n * @param {Array} data\n * @return {Property}\n */\nProperty.fromJSON = function( data ) {\n\n var field = data[0]\n var params = data[1]\n\n if( !/text/i.test( data[2] ) )\n params.value = data[2]\n\n var value = Array.isArray( data[3] ) ?\n data[3].join( ';' ) : data[3]\n\n return new Property( field, value, params )\n\n}\n\n/**\n * Turn a string into capitalized dash-case\n * @internal used by `Property#toString()`\n * @param {String} value\n * @return {String}\n * @ignore\n */\nfunction capitalDashCase( value ) {\n return value.replace( /([A-Z])/g, '-$1' ).toUpperCase()\n}\n\n/**\n * Property prototype\n * @type {Object}\n */\nProperty.prototype = {\n\n constructor: Property,\n\n /**\n * Check whether the property is of a given type\n * @param {String} type\n * @return {Boolean}\n */\n is: function( type ) {\n type = ( type + '' ).toLowerCase()\n return Array.isArray( this.type ) ?\n this.type.indexOf( type ) >= 0 :\n this.type === type\n },\n\n /**\n * Check whether the property is empty\n * @return {Boolean}\n */\n isEmpty: function() {\n return this._data == null &&\n Object.keys( this ).length === 0\n },\n\n /**\n * Clone the property\n * @return {Property}\n */\n clone: function() {\n return new Property( this._field, this._data, this )\n },\n\n /**\n * Format the property as vcf with given version\n * @param {String} version\n * @return {String}\n */\n toString: function( version ) {\n\n var propName = (this.group ? this.group + '.' : '') + capitalDashCase( this._field )\n var keys = Object.keys( this )\n var params = []\n\n for( var i = 0; i < keys.length; i++ ) {\n if (keys[i] === 'group') continue\n\n switch (propName) {\n case 'TEL':\n case 'ADR':\n case 'EMAIL':\n if (version === '2.1') {\n if (Array.isArray(this[keys[i]]))\n params.push(this[keys[i]].join(';'))\n else\n params.push(this[keys[i]])\n }\n else\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n break\n default:\n params.push(capitalDashCase(keys[i]) + '=' + this[keys[i]])\n }\n }\n\n if (version === '2.1' || version === '3.0')\n return propName +\n ( params.length ? ';' + params.join( ';' ).toUpperCase() : params.toString().toUpperCase() ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n else\n return propName +\n ( params.length ? ';' + params.join( ';' ) : params ) + ':' +\n ( Array.isArray( this._data ) ? this._data.join( ';' ) : this._data )\n\n },\n\n /**\n * Get the property's value\n * @return {String}\n */\n valueOf: function() {\n return this._data\n },\n\n /**\n * Format the property as jCard data\n * @return {Array}\n */\n toJSON: function() {\n\n var params = Object.assign({},this)\n\n if( params.value === 'text' ) {\n params.value = void 0\n delete params.value\n }\n\n var data = [ this._field, params, this.value || 'text' ]\n\n switch( this._field ) {\n default: data.push( this._data ); break\n case 'adr':\n case 'n':\n data.push( this._data.split( ';' ) )\n }\n\n return data\n\n },\n\n}\n\n// Exports\nmodule.exports = Property\n","var camelCase = require( 'camelcase' )\nvar Property = require( './property' )\n\nfunction set( object, key, value ) {\n if( Array.isArray( object[ key ] ) ) {\n object[ key ].push( value )\n } else if( object[ key ] != null ) {\n object[ key ] = [ object[ key ], value ]\n } else {\n object[ key ] = value\n }\n}\n\nfunction createParams( params, param ) {\n\n var parts = param.split( '=' )\n var k = camelCase( parts[0] )\n var value = parts[1]\n\n if( value == null || value === '' ) {\n value = parts[0]\n k = 'type'\n }\n\n if( k === 'type' ) {\n\n if (value[ 0 ] === '\"' && value[ value.length - 1 ] === '\"' && value.indexOf(',') !== -1)\n value = value.slice(1, -1)\n value.toLowerCase().split( ',' ).forEach( function( value ) {\n set( params, k, value )\n })\n\n return params\n\n }\n\n set( params, k, value )\n\n return params\n\n}\n\nfunction parseLines( lines ) {\n\n var data = {}\n\n // NOTE: Line format:\n // PROPERTY[;PARAMETER[=VALUE]]:Attribute[;Attribute]\n var line = null\n var pattern = /^([^;:]+)((?:;(?:[^;:]+))*)(?:\\:([\\s\\S]+))?$/i\n var len = lines.length - 1\n\n for( var i = 1; i < len; i++ ) {\n\n line = lines[i]\n\n var match = pattern.exec( line )\n if( !match ) continue;\n\n var name = match[1].split('.')\n var property = name.pop()\n var group = name.pop()\n var value = match[3]\n var params = match[2] ?\n match[2].replace( /^;|;$/g, '' ).split( ';' ) : []\n\n var propParams = params.reduce( createParams, group ? { group: group } : {})\n var propName = camelCase( property )\n var propVal = new Property( propName, value, propParams )\n\n set( data, propName, propVal )\n\n }\n\n return data\n\n}\n\nmodule.exports = parseLines\n","'use strict';\n\nconst preserveCamelCase = string => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && /[a-zA-Z]/.test(character) && character.toUpperCase() === character) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && /[a-zA-Z]/.test(character) && character.toLowerCase() === character) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = character.toLowerCase() === character && character.toUpperCase() !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = character.toUpperCase() === character && character.toLowerCase() !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = Object.assign({\n\t\tpascalCase: false\n\t}, options);\n\n\tconst postProcess = x => options.pascalCase ? x.charAt(0).toUpperCase() + x.slice(1) : x;\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? input.toUpperCase() : input.toLowerCase();\n\t}\n\n\tconst hasUpperCase = input !== input.toLowerCase();\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input);\n\t}\n\n\tinput = input\n\t\t.replace(/^[_.\\- ]+/, '')\n\t\t.toLowerCase()\n\t\t.replace(/[_.\\- ]+(\\w|$)/g, (_, p1) => p1.toUpperCase())\n\t\t.replace(/\\d+(\\w|$)/g, m => m.toUpperCase());\n\n\treturn postProcess(input);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import VCard from 'vcards-js'\r\nimport vcf from 'vcf'\r\nimport { Options, Plugin } from '../utils/options.js'\r\n\r\nexport interface Address {\r\n streetAddress?: string\r\n locality?: string\r\n postalCode?: string\r\n stateProvince?: string\r\n region?: string\r\n country?: string\r\n}\r\n\r\nexport enum AddressType {\r\n Home = 'home',\r\n Work = 'work'\r\n}\r\n\r\nexport enum PhoneType {\r\n Home = 'home',\r\n Work = 'work',\r\n Cell = 'cell',\r\n Pager = 'pager'\r\n}\r\n\r\nexport enum SocialType {\r\n Messenger = 'messenger',\r\n Twitter = 'twitter',\r\n Facebook = 'facebook',\r\n LinkedIn = 'linkedin',\r\n SinaWeibo = 'weibo',\r\n Jabber = 'jabber',\r\n QQ = 'qq',\r\n GaduGadu = 'gadu-gadu'\r\n}\r\n\r\nfunction toDate(val?: string | Date) {\r\n if (!val)\r\n return\r\n if (typeof val == 'string')\r\n return new Date(val)\r\n return val\r\n}\r\n\r\nexport interface VCardPluginOptions {\r\n data: {\r\n fullName: string\r\n name?: {\r\n first?: string\r\n last?: string\r\n middle?: string\r\n prefix?: string\r\n suffix?: string\r\n nick?: string\r\n }\r\n title?: string\r\n birthday?: Date | string\r\n phone?: Array<{ type?: `${PhoneType}`, value: string }>\r\n email?: Array<{ type?: `${AddressType}`, value: string }>\r\n address?: {\r\n work?: Address\r\n home?: Address\r\n }\r\n note?: string\r\n company?: string\r\n social?: Array<{ type: `${SocialType}`, value: string }>\r\n website?: {\r\n personal?: string\r\n company?: string\r\n }\r\n }\r\n}\r\n\r\nexport default class VCardPlugin implements Plugin {\r\n\r\n constructor(\r\n private readonly pluginOptions: VCardPluginOptions,\r\n private readonly uuid?: string\r\n ) { }\r\n\r\n configure(options: Options): Options | undefined | void {\r\n options.data = this.generateVCard()\r\n return options\r\n }\r\n\r\n private generateVCard() {\r\n const { data } = this.pluginOptions\r\n const card = VCard()\r\n card.version = '3.0'\r\n\r\n card.formattedName = data.fullName\r\n\r\n const extraProps = new Array<vcf.Property>()\r\n let groupCounter = 1\r\n const getGroup = () => `item${groupCounter++}`\r\n\r\n if (data.name) {\r\n const n = data.name\r\n if (n.first)\r\n card.firstName = n.first\r\n if (n.last)\r\n card.lastName = n.last\r\n if (n.middle)\r\n card.middleName = n.middle\r\n if (n.nick) {\r\n card.nickname = n.nick\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAndroidCustom',\r\n {},\r\n 'text',\r\n ['vnd.android.cursor.item/nickname', n.nick, '1', '', '', '', '', '', '', '', '', '', '', '', '', '']\r\n ]))\r\n }\r\n if (n.prefix)\r\n card.namePrefix = n.prefix\r\n if (n.suffix)\r\n card.nameSuffix = n.suffix\r\n }\r\n\r\n if (data.title)\r\n card.title = data.title\r\n\r\n if (data.birthday)\r\n card.birthday = toDate(data.birthday)!\r\n\r\n data.phone?.forEach(el => {\r\n let key: 'workPhone' | 'cellPhone' | 'pagerPhone' | 'homePhone' | 'otherPhone' = 'otherPhone'\r\n switch (el.type) {\r\n case PhoneType.Work:\r\n key = 'workPhone'\r\n break\r\n\r\n case PhoneType.Cell:\r\n key = 'cellPhone'\r\n break\r\n\r\n case PhoneType.Pager:\r\n key = 'pagerPhone'\r\n break\r\n\r\n case PhoneType.Home:\r\n key = 'homePhone'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n data.email?.forEach(el => {\r\n let key: 'workEmail' | 'email' | 'otherEmail' = 'otherEmail'\r\n switch (el.type) {\r\n case AddressType.Work:\r\n key = 'workEmail'\r\n break\r\n\r\n case AddressType.Home:\r\n key = 'email'\r\n break\r\n }\r\n const v = card[key]\r\n if (Array.isArray(v))\r\n v.push(el.value)\r\n else\r\n card[key] = [el.value]\r\n })\r\n\r\n if (data.address) {\r\n Object.entries(data.address).forEach(([k, v]) => {\r\n let key: 'workAddress' | 'homeAddress' = 'homeAddress'\r\n switch (k) {\r\n case 'home':\r\n key = 'homeAddress'\r\n break\r\n\r\n case 'work':\r\n key = 'workAddress'\r\n break\r\n }\r\n if (v.streetAddress)\r\n card[key].street = v.streetAddress\r\n if (v.locality)\r\n card[key].city = v.locality\r\n if (v.postalCode)\r\n card[key].postalCode = v.postalCode\r\n if (v.stateProvince)\r\n card[key].stateProvince = v.stateProvince\r\n\r\n const cr = new Array<string>()\r\n if (v.region)\r\n cr.push(v.region)\r\n\r\n if (v.country)\r\n cr.push(v.country)\r\n\r\n const countryRegion = cr\r\n .map(p => p.trim())\r\n .filter(p => !!p)\r\n .join(', ')\r\n\r\n if (countryRegion)\r\n card[key].countryRegion = countryRegion\r\n })\r\n }\r\n\r\n if (data.note)\r\n card.note = data.note\r\n\r\n if (data.company)\r\n card.organization = data.company\r\n\r\n const pushMsgProtocol = (username: string, type: string, protocol: string, service: string) => {\r\n let group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n type,\r\n {\r\n group\r\n },\r\n 'text',\r\n username\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n\r\n group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: service\r\n },\r\n 'text',\r\n `${protocol}:${username}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n service\r\n ]))\r\n }\r\n\r\n if (data.social)\r\n data.social.forEach((v) => {\r\n switch (v.type) {\r\n case SocialType.Messenger:\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xSocialprofile',\r\n {\r\n type: 'messenger',\r\n xUser: v.value\r\n },\r\n 'text',\r\n 'x-apple:messenger'\r\n ]))\r\n const group = getGroup()\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'impp',\r\n {\r\n group,\r\n xServiceType: 'Facebook'\r\n },\r\n 'text',\r\n `xmpp:${v.value}`\r\n ]))\r\n extraProps.push(vcf.Property.fromJSON([\r\n 'xAbLabel',\r\n {\r\n group\r\n },\r\n 'text',\r\n 'Facebook'\r\n ]))\r\n break\r\n\r\n case SocialType.Twitter:\r\n case SocialType.Facebook:\r\n case SocialType.LinkedIn:\r\n case SocialType.SinaWeibo:\r\n const surl = getSocialUrl(v)\r\n if (surl)\r\n card.socialUrls[v.type] = surl\r\n break\r\n\r\n case SocialType.Jabber:\r\n pushMsgProtocol(v.value, 'xJabber', 'xmpp', 'Jabber')\r\n break\r\n\r\n case SocialType.QQ:\r\n pushMsgProtocol(v.value, 'xQq', 'x-apple', 'QQ')\r\n break\r\n\r\n case SocialType.GaduGadu:\r\n pushMsgProtocol(v.value, 'xGaduGadu', 'x-apple', 'GaduGadu')\r\n break\r\n }\r\n })\r\n\r\n if (data.website?.company)\r\n card.workUrl = data.website.company\r\n\r\n if (data.website?.personal)\r\n card.url = data.website.personal\r\n\r\n if (this.uuid)\r\n card.uid = this.uuid\r\n\r\n const parsed = vcf.parse(card.getFormattedString())[0]\r\n extraProps.forEach(prop => parsed.addProperty(prop))\r\n\r\n return parsed.toString('3.0')\r\n .replace(/X-SOCIALPROFILE;CHARSET=UTF-8;/gi, 'X-SOCIALPROFILE;')\r\n .replace(/X-AB-LABEL/gi, 'X-ABLabel')\r\n .replace(/X-SOCIALPROFILE;(TYPE=[^:]*?):/gi, (tx, m) => tx.replace(m, m.toLowerCase().replace('type=messenger', 'type=Messenger')))\r\n .replace(/;TYPE=OTHER[^;:]*?([;:])/ig, (_, m) => m)\r\n }\r\n}\r\n\r\nconst socialUrls = {\r\n [SocialType.Twitter]: 'https://x.com/',\r\n [SocialType.Facebook]: 'https://www.facebook.com/',\r\n [SocialType.LinkedIn]: 'https://www.linkedin.com/in/',\r\n [SocialType.SinaWeibo]: 'https://weibo.com/n/',\r\n [SocialType.Messenger]: 'https://www.messenger.com/t/'\r\n}\r\n\r\nfunction getSocialUrl({ value, type }: { value: string, type: `${SocialType}` }) {\r\n let val = value?.trim()\r\n if (!val.match(/^https?:\\/\\//im)) {\r\n try {\r\n const u = new URL(socialUrls[type as keyof typeof socialUrls])\r\n u.pathname = (u.pathname + '/' + val).replace(/[\\/\\\\]+/g, '/')\r\n val = u.toString()\r\n } catch {\r\n return undefined\r\n }\r\n }\r\n return val\r\n}\r\n\r\n","/**\n * vCard\n * @constructor\n * @return {vCard}\n */\nfunction vCard() {\n\n if( !(this instanceof vCard) )\n return new vCard()\n\n /** @type {String} Version number */\n this.version = vCard.versions[ vCard.versions.length - 1 ]\n /** @type {Object} Card data */\n this.data = {}\n\n}\n\n/**\n * vCard MIME type\n * @type {String}\n */\nvCard.mimeType = 'text/vcard'\n\n/**\n * vCard file extension\n * @type {String}\n */\nvCard.extension = '.vcf'\n\n/**\n * vCard versions\n * @type {Array}\n */\nvCard.versions = [ '2.1', '3.0', '4.0' ]\n\n/**\n * VCF EOL character sequence\n * @type {String}\n */\nvCard.EOL = '\\r\\n'\n\n/**\n * Folds a long line according to the RFC 5322.\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n * @param {String} input\n * @param {Number} maxLength\n * @param {Boolean} hardWrap\n * @return {String}\n */\nvCard.foldLine = require( 'foldline' )\n\n/**\n * Normalizes input (cast to string, line folding, whitespace)\n * @param {String} input\n * @return {String}\n */\nvCard.normalize = function( input ) {\n return ( input + '' )\n // Trim whitespace\n .replace( /^[\\s\\r\\n]+|[\\s\\r\\n]+$/g, '' )\n // Trim blank lines\n .replace( /(\\r\\n)[\\x09\\x20]?(\\r\\n)|$/g, '$1' )\n // Unfold folded lines\n .replace( /\\r\\n[\\x20\\x09]/g, \"\" )\n}\n\n/**\n * Check whether a given version is supported\n * @param {String} version\n * @return {Boolean}\n */\nvCard.isSupported = function( version ) {\n return /^\\d\\.\\d$/.test( version ) &&\n vCard.versions.indexOf( version ) !== -1\n}\n\n/**\n * Parses a string or buffer into a vCard object\n * @param {String|Buffer} value\n * @return {Array<vCard>}\n */\nvCard.parse = function( value ) {\n\n var objects = ( value + '' ).split( /(?=BEGIN\\:VCARD)/gi )\n var cards = []\n\n for( var i = 0; i < objects.length; i++ ) {\n cards.push( new vCard().parse( objects[i] ) )\n }\n\n return cards\n\n}\n\n/**\n * Parse an array of vcf formatted lines\n * @internal used by `vCard#parse()`\n * @type {Function}\n */\nvCard.parseLines = require( './parse-lines' )\n\n/**\n * Constructs a vCard from jCard data\n * @param {Array} jcard\n * @return {vCard}\n */\nvCard.fromJSON = function( jcard ) {\n\n jcard = typeof jcard === 'string' ?\n JSON.parse( jcard ) : jcard\n\n if( jcard == null || !Array.isArray( jcard ) )\n return new vCard()\n\n if( !/vcard/i.test( jcard[0] ) )\n throw new Error( 'Object not in jCard format' )\n\n var card = new vCard()\n\n jcard[1].forEach( function( prop ) {\n card.addProperty( vCard.Property.fromJSON( prop ) )\n })\n\n return card\n\n}\n\n/**\n * Format a card object according to the given version\n * @param {vCard} card\n * @param {String} version\n * @return {String}\n */\nvCard.format = function( card, version ) {\n\n version = version || card.version ||\n vCard.versions[ vCard.versions.length - 1 ]\n\n if( !vCard.isSupported( version ) )\n throw new Error( 'Unsupported vCard version \"' + version + '\"' )\n\n var vcf = []\n\n vcf.push( 'BEGIN:VCARD' )\n vcf.push( 'VERSION:' + version )\n\n var props = Object.keys( card.data )\n var prop = ''\n\n for( var i = 0; i < props.length; i++ ) {\n if( props[i] === 'version' ) continue;\n prop = card.data[ props[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n if( prop[k].isEmpty() ) continue\n vcf.push( vCard.foldLine( prop[k].toString( version ), 75 ) )\n }\n } else if( !prop.isEmpty() ) {\n vcf.push( vCard.foldLine( prop.toString( version ), 75 ) )\n }\n }\n\n vcf.push( 'END:VCARD' )\n\n return vcf.join( vCard.EOL )\n\n}\n\n// vCard Property constructor\nvCard.Property = require( './property' )\n\n/**\n * vCard prototype\n * @type {Object}\n */\nvCard.prototype = {\n\n constructor: vCard,\n\n /**\n * Get a vCard property\n * @param {String} key\n * @return {Object|Array}\n */\n get: function( key ) {\n\n if( this.data[ key ] == null ) {\n return this.data[ key ]\n }\n\n if( Array.isArray( this.data[ key ] ) ) {\n return this.data[ key ].map( function( prop ) {\n return prop.clone()\n })\n } else {\n return this.data[ key ].clone()\n }\n\n },\n\n /**\n * Set a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n set: function( key, value, params ) {\n return this.setProperty( new vCard.Property( key, value, params ) )\n },\n\n /**\n * Add a vCard property\n * @param {String} key\n * @param {String} value\n * @param {Object} params\n */\n add: function( key, value, params ) {\n var prop = new vCard.Property( key, value, params )\n this.addProperty( prop )\n return this\n },\n\n /**\n * Set a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n setProperty: function( prop ) {\n this.data[ prop._field ] = prop\n return this\n },\n\n /**\n * Add a vCard property from an already\n * constructed vCard.Property\n * @param {vCard.Property} prop\n */\n addProperty: function( prop ) {\n\n var key = prop._field\n\n if( Array.isArray( this.data[ key ] ) ) {\n this.data[ key ].push( prop )\n } else if( this.data[ key ] != null ) {\n this.data[ key ] = [ this.data[ key ], prop ]\n } else {\n this.data[ key ] = prop\n }\n\n return this\n\n },\n\n /**\n * Parse a vcf formatted vCard\n * @param {String} value\n * @return {vCard}\n */\n parse: function( value ) {\n\n // Normalize & split\n var lines = vCard.normalize( value )\n .split( /\\r\\n/g )\n\n // Keep begin and end markers\n // for eventual error messages\n var begin = lines[0]\n var version = lines[1]\n var end = lines[ lines.length - 1 ]\n\n // Multiple used RegExp's\n const regexp_version = /VERSION:\\d\\.\\d/i\n\n if( !/BEGIN:VCARD/i.test( begin ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"BEGIN:VCARD\" but found \"'+ begin +'\"' )\n\n if( !/END:VCARD/i.test( end ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"END:VCARD\" but found \"'+ end +'\"' )\n\n if( !regexp_version.test( version ) ) {\n // VERSION mostly follows BEGIN, but it has only mandatory follow BEGIN, for version 4.0\n // Let's do the more expensive lookup for the lesser used version variant\n if( !(version = lines.find( line => regexp_version.test( line ) ) ) )\n throw new SyntaxError( 'Invalid vCard: Expected \"VERSION:\\\\d.\\\\d\" but none found' )\n // TODO: Do we need to throw an error if version = 4.0 or != 3.0|2.1? (because not followed BEGIN)?\n }\n\n this.version = version.substring( 8, 11 )\n\n if( !vCard.isSupported( this.version ) )\n throw new Error( 'Unsupported version \"' + this.version + '\"' )\n\n this.data = vCard.parseLines( lines )\n\n return this\n\n },\n\n /**\n * Format the vCard as vcf with given version\n * @param {String} version\n * @param {String} charset\n * @return {String}\n */\n toString: function( version, charset ) {\n version = version || this.version\n return vCard.format( this, version )\n },\n\n /**\n * Format the card as jCard\n * @param {String} version='4.0'\n * @return {Array} jCard\n */\n toJCard: function( version ) {\n\n version = version || '4.0'\n\n var keys = Object.keys( this.data )\n var data = [ [ 'version', {}, 'text', version ] ]\n var prop = null\n\n for( var i = 0; i < keys.length; i++ ) {\n if( keys[i] === 'version' ) continue;\n prop = this.data[ keys[i] ]\n if( Array.isArray( prop ) ) {\n for( var k = 0; k < prop.length; k++ ) {\n data.push( prop[k].toJSON() )\n }\n } else {\n data.push( prop.toJSON() )\n }\n }\n\n return [ 'vcard', data ]\n\n },\n\n /**\n * Format the card as jCard\n * @return {Array} jCard\n */\n toJSON: function() {\n return this.toJCard( this.version )\n },\n\n}\n\n// Exports\nmodule.exports = vCard\n","\nconst CRLF = '\\r\\n'\n\nconst SP = ' '\n\n\n/**\n * Maximum line length (excluding <CR><LF>)\n * There are two limits that RFC 5322 places on the number of\n * characters in a line. Each line of characters MUST be\n * no more than 998 characters, and SHOULD be no more\n * than 78 characters, excluding the <CR><LF>.\n * @type {Number}\n * @constant\n */\nconst MAX_LINE_LENGTH = 998\n\n/**\n * Default maximum line length (excluding <CR><LF>)\n * @type {Number}\n * @constant\n */\nconst DEFAULT_LINE_LENGTH = 78\n\n/**\n * Minimum `maxLength` that can be used\n * @type {Number}\n * @constant\n */\nconst MIN_LINE_LENGTH = 2\n\n/**\n * Folds a long line according to RFC 5322\n * @see http://tools.ietf.org/html/rfc5322#section-2.1.1\n *\n * @param {String} input - input string\n * @param {Number} maxLength - maximum line length (excluding CRLF)\n * @param {Boolean} hardWrap - whether to insert a hard break at `maxLength`\n * @returns {String}\n */\nfunction foldLine( input, maxLength, hardWrap ) {\n\n if( maxLength != null && maxLength < MIN_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not be less than ' + MIN_LINE_LENGTH )\n }\n\n if( maxLength != null && maxLength > MAX_LINE_LENGTH ) {\n throw new Error( 'Maximum length must not exceed ' + MAX_LINE_LENGTH )\n }\n\n // RFC compliant default line length\n maxLength = maxLength || DEFAULT_LINE_LENGTH\n\n input = input.replace( /[\\r\\n]+/g, '' )\n\n // We really don't need to fold this\n if( input.length <= maxLength ) {\n return input\n }\n\n var output = ''\n var index = 0\n var nextIndex = 0\n var length = input.length\n var line = 0\n var trim = 0\n\n while( index < length ) {\n if( !hardWrap && ~( nextIndex = input.lastIndexOf( SP, index + maxLength ) ) ) {\n if( nextIndex > index ) {\n output += input.slice( index, nextIndex ) + CRLF + SP\n index = nextIndex\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n hardWrap = true\n }\n } else {\n output += input.slice( index, index + maxLength - trim ) + CRLF + SP\n index = index + maxLength - trim\n }\n if( ( length - index ) < maxLength ) {\n output += input.slice( index )\n break\n }\n if( line === 0 ) {\n trim = 1\n }\n line++\n }\n\n return output\n\n}\n\nfoldLine.unfold = function unfold( input ) {\n return input.replace( /\\r\\n\\s/gm, '' )\n}\n\nmodule.exports = foldLine\n"],"names":["vCardFormatter$1","e","value","replace","nl","getFormattedPhoto","photoType","url","mediaType","base64","majorVersion","YYYYMMDD","date","getFullYear","getMonth","slice","getDate","vCardFormatterModule","getFormattedString","vCard","getMajorVersion","formattedVCardString","version","encodingPrefix","formattedName","firstName","middleName","lastName","forEach","name","namePrefix","nameSuffix","nickname","gender","uid","birthday","anniversary","email","Array","isArray","address","workEmail","otherEmail","logo","photo","cellPhone","number","pagerPhone","homePhone","workPhone","homeFax","workFax","otherPhone","details","homeAddress","type","workAddress","formattedAddress","label","street","city","stateProvince","postalCode","countryRegion","title","role","organization","workUrl","note","socialUrls","key","hasOwnProperty","source","toISOString","Date","isOrganization","vcardsJs","getPhoto","attachFromUrl","this","embedFromFile","fileLocation","require$$1","extname","toUpperCase","require$$0","readFileSync","toString","embedFromString","base64String","facebook","linkedIn","twitter","flickr","majorVersionString","split","parseInt","require$$2","saveToFile","filename","contents","writeFileSync","encoding","Property","field","params","Object","assign","_field","_data","defineProperty","enumerable","capitalDashCase","fromJSON","Property.fromJSON","data","test","join","prototype","constructor","is","toLowerCase","indexOf","isEmpty","keys","length","clone","propName","group","i","push","valueOf","toJSON","property","set","object","createParams","param","parts","k","camelCase","input","options","TypeError","pascalCase","map","x","trim","filter","string","isLastCharLower","isLastCharUpper","isLastLastCharUpper","character","preserveCamelCase","_","p1","m","charAt","postProcess","camelcaseModule","exports","default","parseLines_1","parseLines","lines","line","pattern","len","match","exec","pop","propParams","reduce","propVal","AddressType","versions","mimeType","extension","EOL","foldLine","maxLength","hardWrap","MIN_LINE_LENGTH","Error","MAX_LINE_LENGTH","DEFAULT_LINE_LENGTH","output","index","nextIndex","lastIndexOf","SP","CRLF","unfold","foldLine.unfold","foldline","normalize","vCard.normalize","isSupported","vCard.isSupported","parse","vCard.parse","objects","cards","vCard.fromJSON","jcard","JSON","card","prop","addProperty","format","vCard.format","vcf","props","get","setProperty","add","begin","end","regexp_version","SyntaxError","find","substring","toJCard","vcard","na","Home","Work","PhoneType","X","Cell","Pager","SocialType","Z","Messenger","Twitter","Facebook","LinkedIn","SinaWeibo","Jabber","QQ","GaduGadu","pluginOptions","uuid","configure","generateVCard","VCard","fullName","extraProps","groupCounter","n","first","last","middle","nick","prefix","suffix","toDate","val","phone","el","v","entries","streetAddress","locality","cr","region","country","p","company","pushMsgProtocol","username","protocol","service","xServiceType","social","xUser","getSocialUrl","u","URL","pathname","surl","website","personal","parsed","tx"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,6,7]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liquid-js/qr-code-styling",
3
- "version": "5.5.0-0",
3
+ "version": "5.5.0-1",
4
4
  "description": "Generate styled QR codes on web or in Node",
5
5
  "type": "module",
6
6
  "main": "./lib/qr-code-styling-node.js",